From ec8619a9808b9b6e721334af8e6b5248ccbea8b5 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sat, 17 Sep 2011 17:21:43 -0700
Subject: [PATCH 001/576] update docs to remove old stuff, update to all new
 classes; no more backwards compatibility

---
 bootstrap.css            |  90 ++++-----------
 bootstrap.min.css        |  47 ++++----
 docs/index.html          | 236 +++++++++++++++++++++------------------
 docs/javascript.html     |   8 +-
 js/bootstrap-dropdown.js |   4 +-
 lib/patterns.less        |  46 +-------
 6 files changed, 180 insertions(+), 251 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8b6fe3eb42..6d3c15390a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Sep 16 14:07:03 PDT 2011
+ * Date: Sat Sep 17 17:21:25 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here	that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1238,16 +1238,13 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   color: #bfbfbf;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
-.topbar h3 a:hover, .topbar .brand a:hover, .topbar ul .active > a {
+.topbar .brand a:hover, .topbar ul .active > a {
   background-color: #333;
   background-color: rgba(255, 255, 255, 0.05);
   color: #ffffff;
   text-decoration: none;
 }
-.topbar h3 {
-  position: relative;
-}
-.topbar h3 a, .topbar .brand {
+.topbar .brand {
   float: left;
   display: block;
   padding: 8px 20px 12px;
@@ -1322,7 +1319,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
   box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
 }
-.topbar-inner, .topbar .fill {
+.topbar-inner {
   background-color: #222;
   background-color: #222222;
   background-repeat: repeat-x;
@@ -1338,92 +1335,59 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -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);
 }
-.topbar div > ul, .nav {
+.nav {
   display: block;
   float: left;
   margin: 0 10px 0 0;
   position: relative;
   left: 0;
 }
-.topbar div > ul > li, .nav > li {
+.nav > li {
   display: block;
   float: left;
 }
-.topbar div > ul a, .nav a {
+.nav a {
   display: block;
   float: none;
   padding: 10px 10px 11px;
   line-height: 19px;
   text-decoration: none;
 }
-.topbar div > ul a:hover, .nav a:hover {
+.nav a:hover {
   color: #ffffff;
   text-decoration: none;
 }
-.topbar div > ul .active > a, .nav .active > a {
+.nav .active > a {
   background-color: #222;
   background-color: rgba(0, 0, 0, 0.5);
 }
-.topbar div > ul.secondary-nav, .nav.secondary-nav {
+.nav.secondary-nav {
   float: right;
   margin-left: 10px;
   margin-right: 0;
 }
-.topbar div > ul.secondary-nav .menu-dropdown,
-.nav.secondary-nav .menu-dropdown,
-.topbar div > ul.secondary-nav .dropdown-menu,
 .nav.secondary-nav .dropdown-menu {
   right: 0;
   border: 0;
 }
-.topbar div > ul a.menu:hover,
-.nav a.menu:hover,
-.topbar div > ul li.open .menu,
-.nav li.open .menu,
-.topbar div > ul .dropdown-toggle:hover,
-.nav .dropdown-toggle:hover,
-.topbar div > ul .dropdown.open .dropdown-toggle,
-.nav .dropdown.open .dropdown-toggle {
+.nav .dropdown-toggle:hover, .nav .dropdown.open .dropdown-toggle {
   background: #444;
   background: rgba(255, 255, 255, 0.05);
 }
-.topbar div > ul .menu-dropdown,
-.nav .menu-dropdown,
-.topbar div > ul .dropdown-menu,
 .nav .dropdown-menu {
   background-color: #333;
 }
-.topbar div > ul .menu-dropdown a.menu,
-.nav .menu-dropdown a.menu,
-.topbar div > ul .dropdown-menu a.menu,
-.nav .dropdown-menu a.menu,
-.topbar div > ul .menu-dropdown .dropdown-toggle,
-.nav .menu-dropdown .dropdown-toggle,
-.topbar div > ul .dropdown-menu .dropdown-toggle,
 .nav .dropdown-menu .dropdown-toggle {
   color: #ffffff;
 }
-.topbar div > ul .menu-dropdown a.menu.open,
-.nav .menu-dropdown a.menu.open,
-.topbar div > ul .dropdown-menu a.menu.open,
-.nav .dropdown-menu a.menu.open,
-.topbar div > ul .menu-dropdown .dropdown-toggle.open,
-.nav .menu-dropdown .dropdown-toggle.open,
-.topbar div > ul .dropdown-menu .dropdown-toggle.open,
 .nav .dropdown-menu .dropdown-toggle.open {
   background: #444;
   background: rgba(255, 255, 255, 0.05);
 }
-.topbar div > ul .menu-dropdown li a,
-.nav .menu-dropdown li a,
-.topbar div > ul .dropdown-menu li a,
 .nav .dropdown-menu li a {
   color: #999;
   text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
 }
-.topbar div > ul .menu-dropdown li a:hover,
-.nav .menu-dropdown li a:hover,
-.topbar div > ul .dropdown-menu li a:hover,
 .nav .dropdown-menu li a:hover {
   background-color: #191919;
   background-repeat: repeat-x;
@@ -1437,26 +1401,20 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);
   color: #ffffff;
 }
-.topbar div > ul .menu-dropdown .active a,
-.nav .menu-dropdown .active a,
-.topbar div > ul .dropdown-menu .active a,
 .nav .dropdown-menu .active a {
   color: #ffffff;
 }
-.topbar div > ul .menu-dropdown .divider,
-.nav .menu-dropdown .divider,
-.topbar div > ul .dropdown-menu .divider,
 .nav .dropdown-menu .divider {
   background-color: #222;
   border-color: #444;
 }
-.topbar ul .menu-dropdown li a, .topbar ul .dropdown-menu li a {
+.topbar ul .dropdown-menu li a {
   padding: 4px 15px;
 }
-li.menu, .dropdown {
+.dropdown {
   position: relative;
 }
-a.menu:after, .dropdown-toggle:after {
+.dropdown-toggle:after {
   width: 0;
   height: 0;
   display: inline-block;
@@ -1473,7 +1431,7 @@ a.menu:after, .dropdown-toggle:after {
   -moz-opacity: 0.5;
   opacity: 0.5;
 }
-.menu-dropdown, .dropdown-menu {
+.dropdown-menu {
   background-color: #ffffff;
   float: left;
   display: none;
@@ -1501,12 +1459,12 @@ a.menu:after, .dropdown-toggle:after {
   -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
-.menu-dropdown li, .dropdown-menu li {
+.dropdown-menu li {
   float: none;
   display: block;
   background-color: none;
 }
-.menu-dropdown .divider, .dropdown-menu .divider {
+.dropdown-menu .divider {
   height: 1px;
   margin: 5px 0;
   overflow: hidden;
@@ -1539,17 +1497,11 @@ a.menu:after, .dropdown-toggle:after {
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
 }
-.open .menu,
-.dropdown.open .menu,
-.open .dropdown-toggle,
 .dropdown.open .dropdown-toggle {
   color: #ffffff;
   background: #ccc;
   background: rgba(0, 0, 0, 0.3);
 }
-.open .menu-dropdown,
-.dropdown.open .menu-dropdown,
-.open .dropdown-menu,
 .dropdown.open .dropdown-menu {
   display: block;
 }
@@ -1606,22 +1558,22 @@ a.menu:after, .dropdown-toggle:after {
   border: 1px solid #ddd;
   border-bottom-color: transparent;
 }
-.tabs .menu-dropdown, .tabs .dropdown-menu {
+.tabs .dropdown-menu {
   top: 35px;
   border-width: 1px;
   -webkit-border-radius: 0 6px 6px 6px;
   -moz-border-radius: 0 6px 6px 6px;
   border-radius: 0 6px 6px 6px;
 }
-.tabs a.menu:after, .tabs .dropdown-toggle:after {
+.tabs .dropdown-toggle:after {
   border-top-color: #999;
   margin-top: 15px;
   margin-left: 5px;
 }
-.tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
+.tabs .open.dropdown .dropdown-toggle {
   border-color: #999;
 }
-.tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
+.tabs .dropdown.open .dropdown-toggle:after {
   border-top-color: #555;
 }
 .tab-content {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index aabdf2428b..4a3b6485bb 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -209,9 +209,8 @@ table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc
 table .purple{color:#7a43b6;border-bottom-color:#7a43b6;}
 table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;}
 .topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.topbar h3 a:hover,.topbar .brand a:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
-.topbar h3{position:relative;}
-.topbar h3 a,.topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
+.topbar .brand a:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
+.topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
 .topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;}
 .topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
 .topbar form.pull-right{float:right;}
@@ -219,33 +218,33 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .topbar input::-webkit-input-placeholder{color:#e6e6e6;}
 .topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
 .topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
-.topbar-inner,.topbar .fill{background-color:#222;background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);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);}
-.topbar div>ul,.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.topbar div>ul>li,.nav>li{display:block;float:left;}
-.topbar div>ul a,.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.topbar div>ul a:hover,.nav a:hover{color:#ffffff;text-decoration:none;}
-.topbar div>ul .active>a,.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
-.topbar div>ul.secondary-nav,.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.topbar div>ul.secondary-nav .menu-dropdown,.nav.secondary-nav .menu-dropdown,.topbar div>ul.secondary-nav .dropdown-menu,.nav.secondary-nav .dropdown-menu{right:0;border:0;}
-.topbar div>ul a.menu:hover,.nav a.menu:hover,.topbar div>ul li.open .menu,.nav li.open .menu,.topbar div>ul .dropdown-toggle:hover,.nav .dropdown-toggle:hover,.topbar div>ul .dropdown.open .dropdown-toggle,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
-.topbar div>ul .menu-dropdown,.nav .menu-dropdown,.topbar div>ul .dropdown-menu,.nav .dropdown-menu{background-color:#333;}.topbar div>ul .menu-dropdown a.menu,.nav .menu-dropdown a.menu,.topbar div>ul .dropdown-menu a.menu,.nav .dropdown-menu a.menu,.topbar div>ul .menu-dropdown .dropdown-toggle,.nav .menu-dropdown .dropdown-toggle,.topbar div>ul .dropdown-menu .dropdown-toggle,.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.topbar div>ul .menu-dropdown a.menu.open,.nav .menu-dropdown a.menu.open,.topbar div>ul .dropdown-menu a.menu.open,.nav .dropdown-menu a.menu.open,.topbar div>ul .menu-dropdown .dropdown-toggle.open,.nav .menu-dropdown .dropdown-toggle.open,.topbar div>ul .dropdown-menu .dropdown-toggle.open,.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
-.topbar div>ul .menu-dropdown li a,.nav .menu-dropdown li a,.topbar div>ul .dropdown-menu li a,.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.topbar div>ul .menu-dropdown li a:hover,.nav .menu-dropdown li a:hover,.topbar div>ul .dropdown-menu li a:hover,.nav .dropdown-menu li a:hover{background-color:#191919;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
-.topbar div>ul .menu-dropdown .active a,.nav .menu-dropdown .active a,.topbar div>ul .dropdown-menu .active a,.nav .dropdown-menu .active a{color:#ffffff;}
-.topbar div>ul .menu-dropdown .divider,.nav .menu-dropdown .divider,.topbar div>ul .dropdown-menu .divider,.nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
-.topbar ul .menu-dropdown li a,.topbar ul .dropdown-menu li a{padding:4px 15px;}
-li.menu,.dropdown{position:relative;}
-a.menu:after,.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;}
-.menu-dropdown,.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.menu-dropdown li,.dropdown-menu li{float:none;display:block;background-color:none;}
-.menu-dropdown .divider,.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
+.topbar-inner{background-color:#222;background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);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);}
+.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
+.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
+.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
+.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
+.nav .dropdown-toggle:hover,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
+.nav .dropdown-menu{background-color:#333;}.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
+.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
+.nav .dropdown-menu .active a{color:#ffffff;}
+.nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
+.topbar ul .dropdown-menu li a{padding:4px 15px;}
+.dropdown{position:relative;}
+.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;}
+.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
+.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
 .topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
-.open .menu,.dropdown.open .menu,.open .dropdown-toggle,.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
-.open .menu-dropdown,.dropdown.open .menu-dropdown,.open .dropdown-menu,.dropdown.open .dropdown-menu{display:block;}
+.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
+.dropdown.open .dropdown-menu{display:block;}
 .tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
 .tabs{float:left;width:100%;border-bottom:1px solid #ddd;}.tabs>li{position:relative;top:1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
 .tabs>li.active>a{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;}
-.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
-.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
-.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
-.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
+.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
+.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
+.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
+.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
 .tab-content{clear:both;}
 .pills a{margin:5px 3px 5px 0;padding:0 15px;text-shadow:0 1px 1px #ffffff;line-height:30px;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{background:#00438a;color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
 .pills .active a{background:#0069d6;color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
diff --git a/docs/index.html b/docs/index.html
index f99b756fe1..5c5162471a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -6,7 +6,7 @@
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
     <!--[if lt IE 9]>
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
@@ -37,22 +37,42 @@
 
     <!-- Topbar
     ================================================== -->
-    <div class="topbar" data-scrollspy="scrollspy" >
+    <div class="topbar" data-scrollspy="scrollspy">
       <div class="topbar-inner">
         <div class="container">
           <a class="brand" href="#">Bootstrap</a>
           <ul class="nav">
             <li class="active"><a href="#overview">Overview</a></li>
             <li><a href="#about">About</a></li>
-            <li><a href="#grid-system">Grid</a></li>
-            <li><a href="#layouts">Layouts</a></li>
-            <li><a href="#typography">Type</a></li>
-            <li><a href="#media">Media</a></li>
-            <li><a href="#tables">Tables</a></li>
-            <li><a href="#forms">Forms</a></li>
-            <li><a href="#navigation">Navigation</a></li>
-            <li><a href="#alerts">Alerts</a></li>
-            <li><a href="#popovers">Popovers</a></li>
+
+            <li class="dropdown" data-dropdown="dropdown">
+              <a href="#" class="dropdown-toggle">Scaffolding</a>
+              <ul class="dropdown-menu">
+                <li><a href="#grid-system">Grid</a></li>
+                <li><a href="#layouts">Layouts</a></li>
+              </ul>
+            </li>
+
+            <li class="dropdown" data-dropdown="dropdown">
+              <a href="#" class="dropdown-toggle">CSS</a>
+              <ul class="dropdown-menu">
+                <li><a href="#typography">Type</a></li>
+                <li><a href="#tables">Tables</a></li>
+                <li><a href="#forms">Forms</a></li>
+              </ul>
+            </li>
+
+            <li class="dropdown" data-dropdown="dropdown">
+              <a href="#" class="dropdown-toggle">Patterns</a>
+              <ul class="dropdown-menu">
+                <li><a href="#media">Media</a></li>
+                <li><a href="#navigation">Navigation</a></li>
+                <li><a href="#alerts">Alerts</a></li>
+                <li><a href="#popovers">Popovers</a></li>
+              </ul>
+            </li>
+
+
             <li><a href="#javascript">Javascript</a></li>
             <li><a href="#less">Less</a></li>
           </ul>
@@ -718,102 +738,6 @@
 
 
 
-<!-- Media
-================================================== -->
-<section id="media">
-  <div class="page-header">
-    <h1>Media <small>Displaying images and videos</small></h1>
-  </div>
-  <!-- Table structure -->
-  <div class="row">
-    <div class="span4">
-      <h2>Media grid</h2>
-      <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
-    </div>
-    <div class="span12">
-      <h3>Example thumbnails</h3>
-      <p>Thumbnails in the <code>.media-grid</code> can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the <code>.span2</code>, <code>.span4</code>, and <code>.span6</code> column sizes.</p>
-      <h4>Large</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
-          </a>
-        </li>
-      </ul>
-      <h4>Medium</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-      </ul>
-      <h4>Small</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
-          </a>
-        </li>
-      </ul>
-      <h4>Coding them</h4>
-      <p>Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.</p>
-<pre class="prettyprint linenums">
-&lt;ul class="media-grid"&gt;
-  &lt;li&gt;
-    &lt;a href="#"&gt;
-      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
-    &lt;/a&gt;
-  &lt;/li&gt;
-  &lt;li&gt;
-    &lt;a href="#"&gt;
-      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
-    &lt;/a&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;
-</pre>
-    </div>
-  </div><!-- /row -->
-</section>
-
-
-
 <!-- Tables
 ================================================== -->
 <section id="tables">
@@ -1295,6 +1219,102 @@
 
 
 
+<!-- Media
+================================================== -->
+<section id="media">
+  <div class="page-header">
+    <h1>Media <small>Displaying images and videos</small></h1>
+  </div>
+  <!-- Table structure -->
+  <div class="row">
+    <div class="span4">
+      <h2>Media grid</h2>
+      <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
+    </div>
+    <div class="span12">
+      <h3>Example thumbnails</h3>
+      <p>Thumbnails in the <code>.media-grid</code> can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the <code>.span2</code>, <code>.span4</code>, and <code>.span6</code> column sizes.</p>
+      <h4>Large</h4>
+      <ul class="media-grid">
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+          </a>
+        </li>
+      </ul>
+      <h4>Medium</h4>
+      <ul class="media-grid">
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+      </ul>
+      <h4>Small</h4>
+      <ul class="media-grid">
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+          </a>
+        </li>
+      </ul>
+      <h4>Coding them</h4>
+      <p>Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="media-grid"&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;
+      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
+    &lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;
+      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
+    &lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
+</section>
+
+
+
 <!-- Navigation
 ================================================== -->
 <section id="navigation">
@@ -1306,7 +1326,7 @@
     <div class="topbar" data-dropdown="dropdown" >
       <div class="topbar-inner">
         <div class="container">
-          <h3><a href="#">Project Name</a></h3>
+          <a class="brand" href="#">Project Name</a>
           <ul class="nav">
             <li class="active"><a href="#">Home</a></li>
             <li><a href="#">Link</a></li>
diff --git a/docs/javascript.html b/docs/javascript.html
index f001ad8083..dc35e4a374 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -39,11 +39,11 @@
 
     <!-- Topbar
     ================================================== -->
-    <div class="topbar" data-scrollspy="scrollspy" >
-      <div class="fill">
+    <div class="topbar" data-scrollspy="scrollspy">
+      <div class="topbar-inner">
         <div class="container">
-          <h3><a href="#">Bootstrap JS</a></h3>
-          <ul>
+          <a class="brand" href="#">Bootstrap JS</a>
+          <ul class="nav">
             <li><a href="#overview">Overview</a></li>
             <li><a href="#modal">Modals</a></li>
             <li><a href="#dropdown">Dropdown</a></li>
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index ca2daf1f56..75320c0f87 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -20,7 +20,7 @@
 
 (function( $ ){
 
-  var d = 'a.menu, .dropdown-toggle'
+  var d = '.dropdown-toggle'
 
   function clearMenus() {
     $(d).parent('li').removeClass('open')
@@ -28,7 +28,7 @@
 
   $(function () {
     $('html').bind("click", clearMenus)
-    $('body').dropdown( '[data-dropdown] a.menu, [data-dropdown] .dropdown-toggle' )
+    $('body').dropdown( '[data-dropdown] .dropdown-toggle' )
   })
 
   /* DROPDOWN PLUGIN DEFINITION
diff --git a/lib/patterns.less b/lib/patterns.less
index ce387614e9..1ba218c36b 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -23,8 +23,6 @@
   }
 
   // Hover and active states
-  // h3 for backwards compatibility
-  h3 a:hover,
   .brand a:hover,
   ul .active > a {
     background-color: #333;
@@ -33,12 +31,7 @@
     text-decoration: none;
   }
 
-  // Website name
-  // h3 left for backwards compatibility
-  h3 {
-    position: relative;
-  }
-  h3 a,
+  // Website or project name
   .brand {
     float: left;
     display: block;
@@ -112,9 +105,7 @@
 }
 
 // gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
-// For backwards compatibility, include .topbar .fill
-.topbar-inner,
-.topbar .fill {
+.topbar-inner {
   background-color: #222;
   #gradient > .vertical(#333, #222);
   @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
@@ -127,8 +118,6 @@
 
 // Topbar Nav
 // ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
-// For backwards compatibility, leave in .topbar div > ul
-.topbar div > ul,
 .nav {
   display: block;
   float: left;
@@ -160,28 +149,19 @@
     float: right;
     margin-left: 10px;
     margin-right: 0;
-    // backwards compatibility
-    .menu-dropdown,
     .dropdown-menu {
       right: 0;
       border: 0;
     }
   }
   // Dropdowns within the .nav
-  // a.menu:hover and li.open .menu for backwards compatibility
-  a.menu:hover,
-  li.open .menu,
   .dropdown-toggle:hover,
   .dropdown.open .dropdown-toggle {
     background: #444;
     background: rgba(255,255,255,.05);
   }
-  // .menu-dropdown for backwards compatibility
-  .menu-dropdown,
   .dropdown-menu {
     background-color: #333;
-    // a.menu for backwards compatibility
-    a.menu,
     .dropdown-toggle {
       color: @white;
       &.open {
@@ -207,22 +187,16 @@
   }
 }
 
-// For backwards compatibility with new dropdowns, redeclare dropdown link padding
-.topbar ul .menu-dropdown li a,
 .topbar ul .dropdown-menu li a {
   padding: 4px 15px;
 }
 
 // Dropdown Menus
 // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
-// li.menu for backwards compatibility
-li.menu,
 .dropdown {
   position: relative;
 }
 // The link that is clicked to toggle the dropdown
-// a.menu for backwards compatibility
-a.menu:after,
 .dropdown-toggle:after {
   width: 0;
   height: 0;
@@ -238,8 +212,6 @@ a.menu:after,
   .opacity(50);
 }
 // The dropdown menu (ul)
-// .menu-dropdown for backwards compatibility
-.menu-dropdown,
 .dropdown-menu {
   background-color: @white;
   float: left;
@@ -300,18 +272,12 @@ a.menu:after,
 }
 
 // Open state for the dropdown
-// .open for backwards compatibility
-.open,
 .dropdown.open {
-  // .menu for backwards compatibility
-  .menu,
   .dropdown-toggle {
     color: @white;
     background: #ccc;
     background: rgba(0,0,0,.3);
   }
-  // .menu-dropdown for backwards compatibility
-  .menu-dropdown,
   .dropdown-menu {
     display: block;
   }
@@ -360,27 +326,19 @@ a.menu:after,
       border-bottom-color: transparent;
     }
   }
-  // first one for backwards compatibility
-  .menu-dropdown,
   .dropdown-menu {
     top: 35px;
     border-width: 1px;
     .border-radius(0 6px 6px 6px);
   }
-  // first one for backwards compatibility
-  a.menu:after,
   .dropdown-toggle:after {
     border-top-color: #999;
     margin-top: 15px;
     margin-left: 5px;
   }
-  // first one for backwards compatibility
-  li.open.menu .menu,
   .open.dropdown .dropdown-toggle {
     border-color: #999;
   }
-  // first one for backwards compatibility
-  li.open a.menu:after,
   .dropdown.open .dropdown-toggle:after {
     border-top-color: #555;
   }
-- 
GitLab


From b5acabe4fd7dd2bb14424a88944152bbebd2e07d Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sat, 17 Sep 2011 22:55:29 -0700
Subject: [PATCH 002/576] fix broken topbars in javascript

---
 docs/javascript.html | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index dc35e4a374..d16926186e 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -242,8 +242,8 @@ $('#my-modal').bind('hidden', function () {
             <div id="topbar-example" class="topbar" data-dropdown="dropdown">
               <div class="topbar-inner">
                 <div class="container">
-                  <h3><a href="#">Project Name</a></h3>
-                  <ul>
+                  <a class="brand" href="#">Project Name</a>
+                  <ul class="nav">
                     <li><a href="#">Link</a></li>
                     <li><a href="#">Link</a></li>
                   </ul>
@@ -251,18 +251,18 @@ $('#my-modal').bind('hidden', function () {
                     <input type="text" placeholder="Search" />
                   </form>
                   <ul class="nav secondary-nav">
-                    <li class="menu">
-                      <a href="#" class="menu">Dropdown 1</a>
-                      <ul class="menu-dropdown">
+                    <li class="dropdown">
+                      <a href="#" class="dropdown-toggle">Dropdown 1</a>
+                      <ul class="dropdown-menu">
                         <li><a href="#">Secondary link</a></li>
                         <li><a href="#">Something else here</a></li>
                         <li class="divider"></li>
                         <li><a href="#">Another link</a></li>
                       </ul>
                     </li>
-                    <li class="menu">
-                      <a href="#" class="menu">Dropdown 2</a>
-                      <ul class="menu-dropdown">
+                    <li class="dropdown">
+                      <a href="#" class="dropdown-toggle">Dropdown 2</a>
+                      <ul class="dropdown-menu">
                         <li><a href="#">Secondary link</a></li>
                         <li><a href="#">Something else here</a></li>
                         <li class="divider"></li>
-- 
GitLab


From 6d541a6066d46bff19833707deeca8f41279b180 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 28 Sep 2011 19:06:10 -0700
Subject: [PATCH 003/576] pulling out more stuff and fixing file name at top of
 file

---
 bootstrap.css     |  4 ++--
 docs/index.html   | 18 ++++++------------
 lib/mixins.less   |  2 +-
 lib/patterns.less |  6 ++----
 4 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6d3c15390a..babe50a210 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Sep 17 17:21:25 PDT 2011
+ * Date: Wed Sep 28 19:05:53 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here	that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -173,7 +173,7 @@ textarea {
 /* Variables.less
  * Variables to customize the look and feel of Bootstrap
  * ----------------------------------------------------- */
-/* Variables.less
+/* Mixins.less
  * Snippets of reusable CSS to develop faster and keep code readable
  * ----------------------------------------------------------------- */
 /*
diff --git a/docs/index.html b/docs/index.html
index 5c5162471a..857af24486 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -84,14 +84,12 @@
     ================================================== -->
     <header class="jumbotron masthead" id="overview">
       <div class="inner">
-        <div class="container">
-          <h1>Bootstrap, from Twitter</h1>
-          <p class="lead">
-            Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.<br />
-            It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<br />
-          </p>
-          <p><strong>Nerd alert:</strong> Bootstrap is <a href="#less" title="Read about using Bootstrap with Less">built with Less</a> and was designed to work out of the gate with modern browsers in mind.</p>
-        </div><!-- /container -->
+        <h1>Bootstrap, from Twitter</h1>
+        <p class="lead">
+          Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.<br />
+          It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<br />
+        </p>
+        <p><strong>Nerd alert:</strong> Bootstrap is <a href="#less" title="Read about using Bootstrap with Less">built with Less</a> and was designed to work out of the gate with modern browsers in mind.</p>
       </div>
     </header>
 
@@ -140,10 +138,6 @@
       <h3>History</h3>
       <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
       <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
-      <p>
-        <a href="http://twitter.com/twbootstrap" class="twitter-follow-button">Follow @twbootstrap</a>
-        <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
-      </p>
     </div>
     <div class="span-one-third">
       <h3>Browser support</h3>
diff --git a/lib/mixins.less b/lib/mixins.less
index ca7893dafe..929618a409 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -1,4 +1,4 @@
-/* Variables.less
+/* Mixins.less
  * Snippets of reusable CSS to develop faster and keep code readable
  * ----------------------------------------------------------------- */
 
diff --git a/lib/patterns.less b/lib/patterns.less
index 1ba218c36b..eae09a5963 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -350,7 +350,7 @@
 // Basic pill nav
 .pills {
   a {
-      margin: 5px 3px 5px 0;
+    margin: 5px 3px 5px 0;
     padding: 0 15px;
     text-shadow: 0 1px 1px @white;
     line-height: 30px;
@@ -376,7 +376,7 @@
 
 .tab-content > .active,
 .pill-content > .active {
-  display:block;
+  display: block;
 }
 
 
@@ -398,8 +398,6 @@
     padding: 0 5px;
     color: @grayLight;
   }
-  a {
-  }
   .active a {
     color: @grayDark;
   }
-- 
GitLab


From 1b21d5e321ec77c6381becae2e2d7d1c4ab14d9a Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 28 Sep 2011 19:15:31 -0700
Subject: [PATCH 004/576] updated forms.less to have better comments while
 pulling out all the old classes for input elements

---
 bootstrap.css     | 35 ++++---------------
 bootstrap.min.css | 13 ++++----
 lib/forms.less    | 85 +++++++++++++++++++++--------------------------
 3 files changed, 51 insertions(+), 82 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index babe50a210..993533e110 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Sep 28 19:05:53 PDT 2011
+ * Date: Wed Sep 28 19:14:58 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here	that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -747,45 +747,24 @@ form div.clearfix.error .input-prepend span.add-on, form div.clearfix.error .inp
   border-color: #c87872;
   color: #b9554d;
 }
-.input-mini,
-input.mini,
-textarea.mini,
-select.mini {
+.input-mini {
   width: 60px;
 }
-.input-small,
-input.small,
-textarea.small,
-select.small {
+.input-small {
   width: 90px;
 }
-.input-medium,
-input.medium,
-textarea.medium,
-select.medium {
+.input-medium {
   width: 150px;
 }
-.input-large,
-input.large,
-textarea.large,
-select.large {
+.input-large {
   width: 210px;
 }
-.input-xlarge,
-input.xlarge,
-textarea.xlarge,
-select.xlarge {
+.input-xlarge {
   width: 270px;
 }
-.input-xxlarge,
-input.xxlarge,
-textarea.xxlarge,
-select.xxlarge {
+.input-xxlarge {
   width: 530px;
 }
-textarea.xxlarge {
-  overflow-y: auto;
-}
 input.span1, textarea.span1, select.span1 {
   display: inline-block;
   float: none;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4a3b6485bb..f290fbd325 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -128,13 +128,12 @@ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shado
 form div.clearfix.error{background:#fae5e3;padding:10px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}form div.clearfix.error>label,form div.clearfix.error span.help-inline,form div.clearfix.error span.help-block{color:#9d261d;}
 form div.clearfix.error input,form div.clearfix.error textarea{border-color:#c87872;-webkit-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);-moz-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);box-shadow:0 0 3px rgba(171, 41, 32, 0.25);}form div.clearfix.error input:focus,form div.clearfix.error textarea:focus{border-color:#b9554d;-webkit-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);-moz-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);box-shadow:0 0 6px rgba(171, 41, 32, 0.5);}
 form div.clearfix.error .input-prepend span.add-on,form div.clearfix.error .input-append span.add-on{background:#f4c8c5;border-color:#c87872;color:#b9554d;}
-.input-mini,input.mini,textarea.mini,select.mini{width:60px;}
-.input-small,input.small,textarea.small,select.small{width:90px;}
-.input-medium,input.medium,textarea.medium,select.medium{width:150px;}
-.input-large,input.large,textarea.large,select.large{width:210px;}
-.input-xlarge,input.xlarge,textarea.xlarge,select.xlarge{width:270px;}
-.input-xxlarge,input.xxlarge,textarea.xxlarge,select.xxlarge{width:530px;}
-textarea.xxlarge{overflow-y:auto;}
+.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.span1,textarea.span1,select.span1{display:inline-block;float:none;width:30px;margin-left:0;}
 input.span2,textarea.span2,select.span2{display:inline-block;float:none;width:90px;margin-left:0;}
 input.span3,textarea.span3,select.span3{display:inline-block;float:none;width:150px;margin-left:0;}
diff --git a/lib/forms.less b/lib/forms.less
index 0da4037df7..91aca77fe7 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -3,8 +3,8 @@
  * ------------------------------------------------------------- */
 
 
-// FORM STYLES
-// -----------
+// GENERAL STYLES
+// --------------
 
 form {
   margin-bottom: @baseline;
@@ -189,47 +189,17 @@ form div.clearfix.error {
   }
 }
 
-// Form element sizes
-// TODO v2: remove duplication here and just stick to .input-[size] in light of adding .spanN sizes
-.input-mini,
-input.mini,
-textarea.mini,
-select.mini {
-  width: 60px;
-}
-.input-small,
-input.small,
-textarea.small,
-select.small {
-  width: 90px;
-}
-.input-medium,
-input.medium,
-textarea.medium,
-select.medium {
-  width: 150px;
-}
-.input-large,
-input.large,
-textarea.large,
-select.large {
-  width: 210px;
-}
-.input-xlarge,
-input.xlarge,
-textarea.xlarge,
-select.xlarge {
-  width: 270px;
-}
-.input-xxlarge,
-input.xxlarge,
-textarea.xxlarge,
-select.xxlarge {
-  width: 530px;
-}
-textarea.xxlarge {
-  overflow-y: auto;
-}
+
+// INPUT SIZES
+// -----------
+
+// General classes for quick sizes
+.input-mini       { width: 60px; }
+.input-small      { width: 90px; }
+.input-medium     { width: 150px; }
+.input-large      { width: 210px; }
+.input-xlarge     { width: 270px; }
+.input-xxlarge    { width: 530px; }
 
 // Grid style input sizes
 // This is a duplication of the main grid .columns() mixin, but subtracts 10px to account for input padding and border
@@ -261,6 +231,10 @@ select {
   &.span16    { .formColumns(16); }
 }
 
+
+// INPUT STATES
+// ------------
+
 // Disabled and read-only inputs
 input[disabled],
 select[disabled],
@@ -292,7 +266,10 @@ textarea[readonly] {
   }
 }
 
-// Help Text
+
+// HELP TEXT
+// ---------
+
 .help-inline,
 .help-block {
   font-size: @basefont - 2;
@@ -311,7 +288,10 @@ textarea[readonly] {
   max-width: 600px;
 }
 
-// Inline Fields (input fields that appear as inline objects
+
+// INLINE FIELDS
+// ---------
+
 .inline-inputs {
   color: @gray;
   span, input {
@@ -328,6 +308,10 @@ textarea[readonly] {
   }
 }
 
+
+// INPUTS GROUPS
+// -------------
+
 // Allow us to put symbols and text within the input field for a cleaner look
 .input-prepend,
 .input-append {
@@ -375,6 +359,10 @@ textarea[readonly] {
   }
 }
 
+
+// LISTS OF CONTROLS
+// -----------------
+
 // Stacked options for forms (radio buttons or checkboxes)
 .inputs-list {
   margin: 0 0 5px;
@@ -417,7 +405,10 @@ textarea[readonly] {
   }
 }
 
-// Stacked forms
+
+// STACKED FORMS
+// -------------
+
 .form-stacked {
   padding-left: 20px;
   fieldset {
@@ -462,4 +453,4 @@ textarea[readonly] {
     margin-left: -20px;
     padding-left: 20px;
   }
-}
+}
\ No newline at end of file
-- 
GitLab


From 2d81d65533ded88c76712e787edbd745d38e403e Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 28 Sep 2011 20:21:09 -0700
Subject: [PATCH 005/576] initial idea for handling closing of modals from
 whatever element you want with .js-dismiss class

---
 docs/index.html       | 4 ++--
 docs/javascript.html  | 6 +++---
 js/bootstrap-modal.js | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index 857af24486..b24999c623 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1644,7 +1644,7 @@
         <!-- Modal -->
         <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
           <div class="modal-header">
-            <a href="#" class="close">&times;</a>
+            <a href="#" class="close js-dismiss">&times;</a>
             <h3>Modal Heading</h3>
           </div>
           <div class="modal-body">
@@ -1652,7 +1652,7 @@
           </div>
           <div class="modal-footer">
             <a href="#" class="btn primary">Primary</a>
-            <a href="#" class="btn secondary">Secondary</a>
+            <a href="#" class="btn">Secondary</a>
           </div>
         </div>
       </div>
diff --git a/docs/javascript.html b/docs/javascript.html
index d16926186e..d5eb987392 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -182,15 +182,15 @@ $('#my-modal').bind('hidden', function () {
           <!-- sample modal content -->
           <div id="modal-from-dom" class="modal hide fade">
             <div class="modal-header">
-              <a href="#" class="close">&times;</a>
+              <a href="#" class="close js-dismiss">&times;</a>
               <h3>Modal Heading</h3>
             </div>
             <div class="modal-body">
               <p>One fine body…</p>
             </div>
             <div class="modal-footer">
-              <a href="#" class="btn primary">Primary</a>
-              <a href="#" class="btn secondary">Secondary</a>
+              <a href="#" class="btn primary">Save changes</a>
+              <a href="#" class="btn js-dismiss">Close</a>
             </div>
           </div>
 
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index da67060731..5c38a7477b 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -55,7 +55,7 @@
   var Modal = function ( content, options ) {
     this.settings = $.extend({}, $.fn.modal.defaults)
     this.$element = $(content)
-      .delegate('.close', 'click.modal', $.proxy(this.hide, this))
+      .delegate('.js-dismiss', 'click.modal', $.proxy(this.hide, this))
 
     if ( options ) {
       $.extend( this.settings, options )
-- 
GitLab


From f919f6f94f3e8405d7653a5f16f8b3d587c47f4c Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 29 Sep 2011 01:40:27 -0700
Subject: [PATCH 006/576] huge update to forms, docs for the new forms, added a
 new link for js example to tabs/pills, add some new mixins

---
 bootstrap.css            | 342 ++++++++++------------------
 bootstrap.min.css        | 116 +++++-----
 docs/assets/css/docs.css |  10 +-
 docs/index.html          | 475 ++++++++++++++-------------------------
 lib/forms.less           | 325 +++++++++++----------------
 lib/mixins.less          |  92 +++++---
 lib/reset.less           |   2 +-
 lib/type.less            |   7 +-
 lib/variables.less       |   8 +-
 9 files changed, 560 insertions(+), 817 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 993533e110..d3bb942cda 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,10 +6,10 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Sep 28 19:14:58 PDT 2011
+ * Date: Thu Sep 29 01:39:48 PDT 2011
  */
 /* Reset.less
- * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here	that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
+ * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
  * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
 html, body {
   margin: 0;
@@ -189,7 +189,7 @@ body {
   font-size: 13px;
   font-weight: normal;
   line-height: 18px;
-  color: #404040;
+  color: #333333;
 }
 .container {
   width: 940px;
@@ -400,7 +400,7 @@ p {
 }
 p small {
   font-size: 11px;
-  color: #bfbfbf;
+  color: #777777;
 }
 h1,
 h2,
@@ -409,7 +409,7 @@ h4,
 h5,
 h6 {
   font-weight: bold;
-  color: #404040;
+  color: #333333;
 }
 h1 small,
 h2 small,
@@ -417,7 +417,7 @@ h3 small,
 h4 small,
 h5 small,
 h6 small {
-  color: #bfbfbf;
+  color: #777777;
 }
 h1 {
   margin-bottom: 18px;
@@ -434,18 +434,16 @@ h2 {
 h2 small {
   font-size: 14px;
 }
-h3,
-h4,
-h5,
-h6 {
-  line-height: 36px;
-}
 h3 {
+  line-height: 36px;
   font-size: 18px;
 }
 h3 small {
   font-size: 14px;
 }
+h4, h5, h6 {
+  line-height: 18px;
+}
 h4 {
   font-size: 16px;
 }
@@ -457,7 +455,7 @@ h5 {
 }
 h6 {
   font-size: 13px;
-  color: #bfbfbf;
+  color: #777777;
   text-transform: uppercase;
 }
 ul, ol {
@@ -477,7 +475,7 @@ ol {
 }
 li {
   line-height: 18px;
-  color: #808080;
+  color: #555555;
 }
 ul.unstyled {
   list-style: none;
@@ -510,7 +508,7 @@ em {
   line-height: inherit;
 }
 .muted {
-  color: #bfbfbf;
+  color: #777777;
 }
 blockquote {
   margin-bottom: 18px;
@@ -528,7 +526,7 @@ blockquote small {
   font-size: 12px;
   font-weight: 300;
   line-height: 18px;
-  color: #bfbfbf;
+  color: #777777;
 }
 blockquote small:before {
   content: '\2014 \00A0';
@@ -573,35 +571,14 @@ pre {
 form {
   margin-bottom: 18px;
 }
-fieldset {
-  margin-bottom: 18px;
-  padding-top: 18px;
-}
-fieldset legend {
+legend {
   display: block;
-  padding-left: 150px;
+  width: 100%;
+  margin-bottom: 27px;
   font-size: 19.5px;
-  line-height: 1;
-  color: #404040;
-  *padding: 0 0 5px 145px;
-  /* IE6-7 */
-
-  *line-height: 1.5;
-  /* IE6-7 */
-
-}
-form .clearfix {
-  margin-bottom: 18px;
-  zoom: 1;
-}
-form .clearfix:before, form .clearfix:after {
-  display: table;
-  content: "";
-  zoom: 1;
-  *display: inline;
-}
-form .clearfix:after {
-  clear: both;
+  line-height: 36px;
+  color: #333333;
+  border-bottom: 1px solid #eee;
 }
 label,
 input,
@@ -610,19 +587,12 @@ textarea {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   font-weight: normal;
-  line-height: normal;
-}
-label {
-  padding-top: 6px;
-  font-size: 13px;
   line-height: 18px;
-  float: left;
-  width: 130px;
-  text-align: right;
-  color: #404040;
 }
-form .input {
-  margin-left: 150px;
+label {
+  display: block;
+  margin-bottom: 5px;
+  color: #333333;
 }
 input[type=checkbox], input[type=radio] {
   cursor: pointer;
@@ -637,13 +607,13 @@ select,
   padding: 4px;
   font-size: 13px;
   line-height: 18px;
-  color: #808080;
+  color: #555555;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
 }
-/* mini reset for non-html5 file types */
+/* Mini reset for unique input types */
 input[type=checkbox], input[type=radio] {
   width: auto;
   height: auto;
@@ -681,21 +651,6 @@ select[multiple] {
 textarea {
   height: auto;
 }
-.uneditable-input {
-  background-color: #ffffff;
-  display: block;
-  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-placeholder {
-  color: #bfbfbf;
-}
-::-webkit-input-placeholder {
-  color: #bfbfbf;
-}
 input, textarea {
   -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
   -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
@@ -719,34 +674,6 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus {
   box-shadow: none;
   outline: 1px dotted #666;
 }
-form div.clearfix.error {
-  background: #fae5e3;
-  padding: 10px 0;
-  margin: -10px 0 10px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
-form div.clearfix.error > label, form div.clearfix.error span.help-inline, form div.clearfix.error span.help-block {
-  color: #9d261d;
-}
-form div.clearfix.error input, form div.clearfix.error textarea {
-  border-color: #c87872;
-  -webkit-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
-  -moz-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
-  box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
-}
-form div.clearfix.error input:focus, form div.clearfix.error textarea:focus {
-  border-color: #b9554d;
-  -webkit-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
-  -moz-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
-  box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
-}
-form div.clearfix.error .input-prepend span.add-on, form div.clearfix.error .input-append span.add-on {
-  background: #f4c8c5;
-  border-color: #c87872;
-  color: #b9554d;
-}
 .input-mini {
   width: 60px;
 }
@@ -871,31 +798,63 @@ textarea[readonly] {
   border-color: #ddd;
   cursor: not-allowed;
 }
-.actions {
-  background: #f5f5f5;
+.has-error {
+  background: #f8dcda;
+  padding: 9px 0;
+  margin: -10px 0 10px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.has-error > label, .has-error span.help-inline, .has-error span.help-block {
+  color: #9d261d;
+}
+.has-error input, .has-error textarea, .has-error select {
+  border-color: #c87872;
+  -webkit-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
+  -moz-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
+  box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
+}
+.has-error input:focus, .has-error textarea:focus, .has-error select:focus {
+  border-color: #b9554d;
+  -webkit-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
+  -moz-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
+  box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
+}
+.has-error .input-prepend span.add-on, .has-error .input-append span.add-on {
+  background: #f4c8c5;
+  border-color: #c87872;
+  color: #b9554d;
+}
+.form-actions {
+  padding: 17px 20px 18px;
   margin-top: 18px;
   margin-bottom: 18px;
-  padding: 17px 20px 18px 150px;
+  background-color: #f5f5f5;
   border-top: 1px solid #ddd;
-  -webkit-border-radius: 0 0 3px 3px;
-  -moz-border-radius: 0 0 3px 3px;
-  border-radius: 0 0 3px 3px;
 }
-.actions .secondary-action {
-  float: right;
+.uneditable-input {
+  background-color: #ffffff;
+  display: block;
+  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;
 }
-.actions .secondary-action a {
-  line-height: 30px;
+:-moz-placeholder {
+  color: #777777;
 }
-.actions .secondary-action a:hover {
-  text-decoration: underline;
+::-webkit-input-placeholder {
+  color: #777777;
 }
-.help-inline, .help-block {
-  font-size: 11px;
-  line-height: 18px;
-  color: #bfbfbf;
+.help-text {
+  margin-top: 5px;
+  margin-bottom: 0;
+  color: #777777;
 }
 .help-inline {
+  display: inline;
   padding-left: 5px;
   *position: relative;
   /* IE6-7 */
@@ -909,7 +868,7 @@ textarea[readonly] {
   max-width: 600px;
 }
 .inline-inputs {
-  color: #808080;
+  color: #555555;
 }
 .inline-inputs span, .inline-inputs input {
   display: inline-block;
@@ -942,7 +901,7 @@ textarea[readonly] {
   margin-right: -1px;
   font-weight: normal;
   line-height: 18px;
-  color: #bfbfbf;
+  color: #777777;
   text-align: center;
   text-shadow: 0 1px 0 #ffffff;
   -webkit-border-radius: 3px 0 0 3px;
@@ -971,89 +930,36 @@ textarea[readonly] {
   margin-right: 0;
   margin-left: -1px;
 }
-.inputs-list {
-  margin: 0 0 5px;
-  width: 100%;
-}
-.inputs-list li {
-  display: block;
-  padding: 0;
-  width: 100%;
-}
-.inputs-list label {
-  display: block;
-  float: none;
-  width: auto;
-  padding: 0;
-  line-height: 18px;
-  text-align: left;
-  white-space: normal;
-}
-.inputs-list label strong {
-  color: #808080;
-}
-.inputs-list label small {
-  font-size: 11px;
-  font-weight: normal;
-}
-.inputs-list .inputs-list {
-  margin-left: 25px;
-  margin-bottom: 10px;
-  padding-top: 0;
-}
-.inputs-list:first-child {
-  padding-top: 6px;
-}
-.inputs-list li + li {
-  padding-top: 2px;
-}
-.inputs-list input[type=radio], .inputs-list input[type=checkbox] {
-  margin-bottom: 0;
-}
-.form-stacked {
-  padding-left: 20px;
-}
-.form-stacked fieldset {
-  padding-top: 9px;
-}
-.form-stacked legend {
-  padding-left: 0;
+.control-group {
+  margin-bottom: 18px;
 }
-.form-stacked label {
-  display: block;
-  float: none;
-  width: auto;
+.control-group > label {
   font-weight: bold;
-  text-align: left;
-  line-height: 20px;
-  padding-top: 0;
-}
-.form-stacked .clearfix {
-  margin-bottom: 9px;
 }
-.form-stacked .clearfix div.input {
-  margin-left: 0;
-}
-.form-stacked .inputs-list {
-  margin-bottom: 0;
+.form-horizontal .control-group > label {
+  float: left;
+  width: 130px;
+  padding-top: 5px;
+  text-align: right;
 }
-.form-stacked .inputs-list li {
-  padding-top: 0;
+.form-horizontal .controls {
+  margin-left: 150px;
 }
-.form-stacked .inputs-list li label {
-  font-weight: normal;
-  padding-top: 0;
+.form-horizontal .control-list {
+  padding-top: 6px;
 }
-.form-stacked div.clearfix.error {
-  padding-top: 10px;
-  padding-bottom: 10px;
-  padding-left: 10px;
-  margin-top: 0;
-  margin-left: -10px;
+.form-horizontal .form-actions {
+  padding-left: 150px;
 }
-.form-stacked .actions {
-  margin-left: -20px;
-  padding-left: 20px;
+.radial-test {
+  background-color: #009900;
+  background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(#990000), to(#009900));
+  background-image: -webkit-radial-gradient(circle, #990000, #009900);
+  background-image: -moz-radial-gradient(circle, #990000, #009900);
+  background-image: -ms-radial-gradient(circle, #990000, #009900);
+  background-repeat: no-repeat;
+  width: 100%;
+  height: 940px;
 }
 /*
  * Tables.less
@@ -1214,7 +1120,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   overflow: visible;
 }
 .topbar a {
-  color: #bfbfbf;
+  color: #777777;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
 .topbar .brand a:hover, .topbar ul .active > a {
@@ -1277,20 +1183,20 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   transition: none;
 }
 .topbar input:-moz-placeholder {
-  color: #e6e6e6;
+  color: #cccccc;
 }
 .topbar input::-webkit-input-placeholder {
-  color: #e6e6e6;
+  color: #cccccc;
 }
 .topbar input:hover {
-  background-color: #bfbfbf;
+  background-color: #777777;
   background-color: rgba(255, 255, 255, 0.5);
   color: #ffffff;
 }
 .topbar input:focus, .topbar input.focused {
   outline: 0;
   background-color: #ffffff;
-  color: #404040;
+  color: #333333;
   text-shadow: 0 1px 0 #ffffff;
   border: 0;
   padding: 5px 10px;
@@ -1301,7 +1207,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 .topbar-inner {
   background-color: #222;
   background-color: #222222;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
   background-image: -moz-linear-gradient(top, #333333, #222222);
   background-image: -ms-linear-gradient(top, #333333, #222222);
@@ -1309,6 +1214,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   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);
   -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);
@@ -1369,7 +1275,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 }
 .nav .dropdown-menu li a:hover {
   background-color: #191919;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));
   background-image: -moz-linear-gradient(top, #292929, #191919);
   background-image: -ms-linear-gradient(top, #292929, #191919);
@@ -1377,6 +1282,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-image: -webkit-linear-gradient(top, #292929, #191919);
   background-image: -o-linear-gradient(top, #292929, #191919);
   background-image: linear-gradient(top, #292929, #191919);
+  background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);
   color: #ffffff;
 }
@@ -1456,12 +1362,11 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   clear: both;
   font-weight: normal;
   line-height: 18px;
-  color: #808080;
+  color: #555555;
   text-shadow: 0 1px 0 #ffffff;
 }
 .topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
   background-color: #dddddd;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
   background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
   background-image: -ms-linear-gradient(top, #eeeeee, #dddddd);
@@ -1469,8 +1374,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
   background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
   background-image: linear-gradient(top, #eeeeee, #dddddd);
+  background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
-  color: #404040;
+  color: #333333;
   text-decoration: none;
   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
@@ -1532,7 +1438,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   border-color: #eee #eee #ddd;
 }
 .tabs > li.active > a {
-  color: #808080;
+  color: #555555;
   background-color: #ffffff;
   border: 1px solid #ddd;
   border-bottom-color: transparent;
@@ -1588,7 +1494,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   margin: 0 0 18px;
   padding: 7px 14px;
   background-color: #f5f5f5;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
   background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
@@ -1596,6 +1501,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
   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;
@@ -1611,10 +1517,10 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 }
 .breadcrumb .divider {
   padding: 0 5px;
-  color: #bfbfbf;
+  color: #777777;
 }
 .breadcrumb .active a {
-  color: #404040;
+  color: #333333;
 }
 .hero-unit {
   background-color: #f5f5f5;
@@ -1673,7 +1579,6 @@ footer {
 .btn.error,
 .alert-message.error {
   background-color: #c43c35;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
@@ -1681,6 +1586,7 @@ footer {
   background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
   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);
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #c43c35 #c43c35 #882a25;
@@ -1688,7 +1594,6 @@ footer {
 }
 .btn.success, .alert-message.success {
   background-color: #57a957;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
   background-image: -ms-linear-gradient(top, #62c462, #57a957);
@@ -1696,6 +1601,7 @@ footer {
   background-image: -webkit-linear-gradient(top, #62c462, #57a957);
   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);
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #57a957 #57a957 #3d773d;
@@ -1703,7 +1609,6 @@ footer {
 }
 .btn.info, .alert-message.info {
   background-color: #339bb9;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
@@ -1711,6 +1616,7 @@ footer {
   background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
   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);
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #339bb9 #339bb9 #22697d;
@@ -1720,13 +1626,13 @@ footer {
   cursor: pointer;
   display: inline-block;
   background-color: #e6e6e6;
-  background-repeat: no-repeat;
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
   background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
   background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-repeat: no-repeat;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
   padding: 5px 14px 6px;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
@@ -1758,7 +1664,6 @@ footer {
 .btn.primary {
   color: #ffffff;
   background-color: #0064cd;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
   background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
   background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
@@ -1766,6 +1671,7 @@ footer {
   background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
   background-image: -o-linear-gradient(top, #049cdb, #0064cd);
   background-image: linear-gradient(top, #049cdb, #0064cd);
+  background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #0064cd #0064cd #003f81;
@@ -1843,9 +1749,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   position: relative;
   padding: 7px 15px;
   margin-bottom: 18px;
-  color: #404040;
+  color: #333333;
   background-color: #eedc94;
-  background-repeat: repeat-x;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
   background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
   background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
@@ -1853,6 +1758,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
   background-image: -o-linear-gradient(top, #fceec1, #eedc94);
   background-image: linear-gradient(top, #fceec1, #eedc94);
+  background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #eedc94 #eedc94 #e4c652;
@@ -1905,13 +1811,13 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   margin-bottom: 0;
 }
 .alert-message.block-message li {
-  color: #404040;
+  color: #333333;
 }
 .alert-message.block-message .alert-actions {
   margin-top: 5px;
 }
 .alert-message.block-message.error, .alert-message.block-message.success, .alert-message.block-message.info {
-  color: #404040;
+  color: #333333;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
 .alert-message.block-message.error {
@@ -1962,7 +1868,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .pagination .disabled a, .pagination .disabled a:hover {
   background-color: transparent;
-  color: #bfbfbf;
+  color: #777777;
 }
 .pagination .next a {
   border: 0;
@@ -2232,7 +2138,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .label {
   padding: 1px 3px 2px;
-  background-color: #bfbfbf;
+  background-color: #777777;
   font-size: 9.75px;
   font-weight: bold;
   color: #ffffff;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f290fbd325..bb31375dd1 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -21,7 +21,7 @@ input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box
 input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
 html,body{background-color:#ffffff;}
-body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;color:#404040;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;color:#333333;}
 .container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;*display:inline;}
 .container:after{clear:both;}
 .container-fluid{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";zoom:1;*display:inline;}
@@ -76,20 +76,20 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .span-two-thirds{width:620px;}
 .offset-one-third{margin-left:340px;}
 .offset-two-thirds{margin-left:660px;}
-p{font-size:13px;font-weight:normal;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
-h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
+p{font-size:13px;font-weight:normal;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#777777;}
+h1,h2,h3,h4,h5,h6{font-weight:bold;color:#333333;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#777777;}
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
 h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
-h3,h4,h5,h6{line-height:36px;}
-h3{font-size:18px;}h3 small{font-size:14px;}
+h3{line-height:36px;font-size:18px;}h3 small{font-size:14px;}
+h4,h5,h6{line-height:18px;}
 h4{font-size:16px;}h4 small{font-size:12px;}
 h5{font-size:14px;}
-h6{font-size:13px;color:#bfbfbf;text-transform:uppercase;}
+h6{font-size:13px;color:#777777;text-transform:uppercase;}
 ul,ol{margin:0 0 18px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
-li{line-height:18px;color:#808080;}
+li{line-height:18px;color:#555555;}
 ul.unstyled{list-style:none;margin-left:0;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
@@ -97,37 +97,28 @@ dl dd{margin-left:9px;}
 hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
-.muted{color:#bfbfbf;}
+.muted{color:#777777;}
 blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;}
-blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
+blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#777777;}blockquote small:before{content:'\2014 \00A0';}
 address{display:block;line-height:18px;margin-bottom:18px;}
 code,pre{padding:0 3px 2px;font-family:Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
 pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
 form{margin-bottom:18px;}
-fieldset{margin-bottom:18px;padding-top:18px;}fieldset legend{display:block;padding-left:150px;font-size:19.5px;line-height:1;color:#404040;*padding:0 0 5px 145px;*line-height:1.5;}
-form .clearfix{margin-bottom:18px;zoom:1;}form .clearfix:before,form .clearfix:after{display:table;content:"";zoom:1;*display:inline;}
-form .clearfix:after{clear:both;}
-label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:normal;}
-label{padding-top:6px;font-size:13px;line-height:18px;float:left;width:130px;text-align:right;color:#404040;}
-form .input{margin-left:150px;}
+legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;}
+label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
+label{display:block;margin-bottom:5px;color:#333333;}
 input[type=checkbox],input[type=radio]{cursor:pointer;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;}
 input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-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:27px;line-height:27px;*margin-top:4px;}
 select[multiple]{height:inherit;}
 textarea{height:auto;}
-.uneditable-input{background-color:#ffffff;display:block;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-placeholder{color:#bfbfbf;}
-::-webkit-input-placeholder{color:#bfbfbf;}
 input,textarea{-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;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);}
 input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);}
 input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
-form div.clearfix.error{background:#fae5e3;padding:10px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}form div.clearfix.error>label,form div.clearfix.error span.help-inline,form div.clearfix.error span.help-block{color:#9d261d;}
-form div.clearfix.error input,form div.clearfix.error textarea{border-color:#c87872;-webkit-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);-moz-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);box-shadow:0 0 3px rgba(171, 41, 32, 0.25);}form div.clearfix.error input:focus,form div.clearfix.error textarea:focus{border-color:#b9554d;-webkit-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);-moz-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);box-shadow:0 0 6px rgba(171, 41, 32, 0.5);}
-form div.clearfix.error .input-prepend span.add-on,form div.clearfix.error .input-append span.add-on{background:#f4c8c5;border-color:#c87872;color:#b9554d;}
 .input-mini{width:60px;}
 .input-small{width:90px;}
 .input-medium{width:150px;}
@@ -151,34 +142,33 @@ input.span14,textarea.span14,select.span14{display:inline-block;float:none;width
 input.span15,textarea.span15,select.span15{display:inline-block;float:none;width:870px;margin-left:0;}
 input.span16,textarea.span16,select.span16{display:inline-block;float:none;width:930px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
-.actions{background:#f5f5f5;margin-top:18px;margin-bottom:18px;padding:17px 20px 18px 150px;border-top:1px solid #ddd;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}.actions .secondary-action{float:right;}.actions .secondary-action a{line-height:30px;}.actions .secondary-action a:hover{text-decoration:underline;}
-.help-inline,.help-block{font-size:11px;line-height:18px;color:#bfbfbf;}
-.help-inline{padding-left:5px;*position:relative;*top:-5px;}
+.has-error{background:#f8dcda;padding:9px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.has-error>label,.has-error span.help-inline,.has-error span.help-block{color:#9d261d;}
+.has-error input,.has-error textarea,.has-error select{border-color:#c87872;-webkit-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);-moz-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);box-shadow:0 0 3px rgba(171, 41, 32, 0.25);}.has-error input:focus,.has-error textarea:focus,.has-error select:focus{border-color:#b9554d;-webkit-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);-moz-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);box-shadow:0 0 6px rgba(171, 41, 32, 0.5);}
+.has-error .input-prepend span.add-on,.has-error .input-append span.add-on{background:#f4c8c5;border-color:#c87872;color:#b9554d;}
+.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
+.uneditable-input{background-color:#ffffff;display:block;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-placeholder{color:#777777;}
+::-webkit-input-placeholder{color:#777777;}
+.help-text{margin-top:5px;margin-bottom:0;color:#777777;}
+.help-inline{display:inline;padding-left:5px;*position:relative;*top:-5px;}
 .help-block{display:block;max-width:600px;}
-.inline-inputs{color:#808080;}.inline-inputs span,.inline-inputs input{display:inline-block;}
+.inline-inputs{color:#555555;}.inline-inputs span,.inline-inputs input{display:inline-block;}
 .inline-inputs input.mini{width:60px;}
 .inline-inputs input.small{width:90px;}
 .inline-inputs span{padding:0 2px 0 1px;}
 .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#777777;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
-.inputs-list{margin:0 0 5px;width:100%;}.inputs-list li{display:block;padding:0;width:100%;}
-.inputs-list label{display:block;float:none;width:auto;padding:0;line-height:18px;text-align:left;white-space:normal;}.inputs-list label strong{color:#808080;}
-.inputs-list label small{font-size:11px;font-weight:normal;}
-.inputs-list .inputs-list{margin-left:25px;margin-bottom:10px;padding-top:0;}
-.inputs-list:first-child{padding-top:6px;}
-.inputs-list li+li{padding-top:2px;}
-.inputs-list input[type=radio],.inputs-list input[type=checkbox]{margin-bottom:0;}
-.form-stacked{padding-left:20px;}.form-stacked fieldset{padding-top:9px;}
-.form-stacked legend{padding-left:0;}
-.form-stacked label{display:block;float:none;width:auto;font-weight:bold;text-align:left;line-height:20px;padding-top:0;}
-.form-stacked .clearfix{margin-bottom:9px;}.form-stacked .clearfix div.input{margin-left:0;}
-.form-stacked .inputs-list{margin-bottom:0;}.form-stacked .inputs-list li{padding-top:0;}.form-stacked .inputs-list li label{font-weight:normal;padding-top:0;}
-.form-stacked div.clearfix.error{padding-top:10px;padding-bottom:10px;padding-left:10px;margin-top:0;margin-left:-10px;}
-.form-stacked .actions{margin-left:-20px;padding-left:20px;}
+.control-group{margin-bottom:18px;}
+.control-group>label{font-weight:bold;}
+.form-horizontal .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
+.form-horizontal .controls{margin-left:150px;}
+.form-horizontal .control-list{padding-top:6px;}
+.form-horizontal .form-actions{padding-left:150px;}
+.radial-test{background-color:#009900;background-image:-webkit-gradient(radial, center center, 0, center center, 460, from(#990000), to(#009900));background-image:-webkit-radial-gradient(circle, #990000, #009900);background-image:-moz-radial-gradient(circle, #990000, #009900);background-image:-ms-radial-gradient(circle, #990000, #009900);background-repeat:no-repeat;width:100%;height:940px;}
 table{width:100%;margin-bottom:18px;padding:0;border-collapse:separate;*border-collapse:collapse;font-size:13px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
 table th{padding-top:9px;font-weight:bold;vertical-align:middle;border-bottom:1px solid #ddd;}
 table td{vertical-align:top;}
@@ -207,24 +197,24 @@ table .orange{color:#f89406;border-bottom-color:#f89406;}
 table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;}
 table .purple{color:#7a43b6;border-bottom-color:#7a43b6;}
 table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;}
-.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
+.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#777777;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
 .topbar .brand a:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
 .topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
 .topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;}
 .topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
 .topbar form.pull-right{float:right;}
-.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#e6e6e6;}
-.topbar input::-webkit-input-placeholder{color:#e6e6e6;}
-.topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
-.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
-.topbar-inner{background-color:#222;background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);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);}
+.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#cccccc;}
+.topbar input::-webkit-input-placeholder{color:#cccccc;}
+.topbar input:hover{background-color:#777777;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
+.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#333333;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
+.topbar-inner{background-color:#222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
 .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
 .nav .dropdown-toggle:hover,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
 .nav .dropdown-menu{background-color:#333;}.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
-.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
+.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
 .nav .dropdown-menu .active a{color:#ffffff;}
 .nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
 .topbar ul .dropdown-menu li a{padding:4px 15px;}
@@ -232,14 +222,14 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;}
 .dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
-.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
+.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#333333;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
 .tabs{float:left;width:100%;border-bottom:1px solid #ddd;}.tabs>li{position:relative;top:1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
-.tabs>li.active>a{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;}
+.tabs>li.active>a{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;}
 .tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
 .tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs .open.dropdown .dropdown-toggle{border-color:#999;}
@@ -249,20 +239,20 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .pills .active a{background:#0069d6;color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
 .tab-content>*,.pill-content>*{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
-.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
-.breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
-.breadcrumb .active a{color:#404040;}
+.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb .divider{padding:0 5px;color:#777777;}
+.breadcrumb .active a{color:#333333;}
 .hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
 .page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;}
 .btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
-.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success,.alert-message.success{background-color:#57a957;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info,.alert-message.info{background-color:#339bb9;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-repeat:no-repeat;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
+.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;background-color:#0064cd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.primary{color:#ffffff;background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
@@ -271,16 +261,16 @@ footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
 .close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-khtml-opacity:0.2;-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#333333;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
 .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
 .alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
 .alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
 .alert-message.block-message ul{margin-bottom:0;}
-.alert-message.block-message li{color:#404040;}
+.alert-message.block-message li{color:#333333;}
 .alert-message.block-message .alert-actions{margin-top:5px;}
-.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#333333;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
 .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
 .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
@@ -288,7 +278,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
-.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
+.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#777777;}
 .pagination .next a{border:0;}
 .well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
@@ -317,7 +307,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
 .popover .content{background-color:#ffffff;padding:14px;-webkit-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;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
 .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;}.fade.in{opacity:1;}
-.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;background-color:#777777;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index fb727a900a..a17fd5692b 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -310,8 +310,16 @@ img.large-bird {
   opacity: .1;
 }
 
+
 /* Pretty Print
 -------------------------------------------------- */
 pre.prettyprint {
   overflow: hidden;
-}
\ No newline at end of file
+}
+
+
+/* Wells
+-------------------------------------------------- */
+.well form {
+  margin-bottom: 0;
+}
diff --git a/docs/index.html b/docs/index.html
index b24999c623..75a18ea409 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -884,331 +884,198 @@
   <div class="page-header">
     <h1>Forms</h1>
   </div>
+  <div class="row">
+    <div class="span-one-third">
+      <h3>Four types of forms</h3>
+      <p>With 2.0, we now have four types of forms to choose from:</p>
+      <ul>
+        <li>Search form for a super-rounded input and optional button</li>
+        <li>Inline form for a series of elements on one line</li>
+        <li>Horizontal form for left-aligned labels</li>
+        <li>Vertical form for stacked labels and inputs</li>
+      </ul>
+    </div>
+    <div class="span-one-third">
+      <h3></h3>
+    </div>
+  </div>
   <div class="row">
     <div class="span4">
-      <h2>Default styles</h2>
-      <p>All forms are given default styles to present them in a readable and scalable way. Styles are provided for text inputs, select lists, textareas, radio buttons and checkboxes, and buttons.</p>
+      <h2>Search form</h2>
     </div>
     <div class="span12">
-      <form>
-        <fieldset>
-          <legend>Example form legend</legend>
-          <div class="clearfix">
-            <label for="xlInput">X-Large input</label>
-            <div class="input">
-              <input class="xlarge" id="xlInput" name="xlInput" size="30" type="text" />
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="normalSelect">Select</label>
-            <div class="input">
-              <select name="normalSelect" id="normalSelect">
-                <option>1</option>
-                <option>2</option>
-                <option>3</option>
-                <option>4</option>
-                <option>5</option>
-              </select>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="mediumSelect">Select</label>
-            <div class="input">
-              <select class="medium" name="mediumSelect" id="mediumSelect">
-                <option>1</option>
-                <option>2</option>
-                <option>3</option>
-                <option>4</option>
-                <option>5</option>
-              </select>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="multiSelect">Multiple select</label>
-            <div class="input">
-              <select class="medium" multiple="multiple" name="multiSelect" id="multiSelect">
-                <option>1</option>
-                <option>2</option>
-                <option>3</option>
-                <option>4</option>
-                <option>5</option>
-              </select>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label>Uneditable input</label>
-            <div class="input">
-              <span class="uneditable-input">Some value here</span>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="disabledInput">Disabled input</label>
-            <div class="input">
-              <input class="xlarge disabled" id="disabledInput" name="disabledInput" size="30" type="text" placeholder="Disabled input here… carry on." disabled />
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="disabledInput">Disabled textarea</label>
-            <div class="input">
-              <textarea class="xxlarge" name="textarea" id="textarea" rows="3" disabled></textarea>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix error">
-            <label for="xlInput2">X-Large input</label>
-            <div class="input">
-              <input class="xlarge error" id="xlInput2" name="xlInput2" size="30" type="text" />
-              <span class="help-inline">Small snippet of help text</span>
-            </div>
-          </div><!-- /clearfix -->
-        </fieldset>
-        <fieldset>
-          <legend>Example form legend</legend>
-          <div class="clearfix">
-            <label for="prependedInput">Prepended text</label>
-            <div class="input">
-              <div class="input-prepend">
-                <span class="add-on">@</span>
-                <input class="medium" id="prependedInput" name="prependedInput" size="16" type="text" />
-              </div>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="prependedInput2">Prepended checkbox</label>
-            <div class="input">
-              <div class="input-prepend">
-                <label class="add-on"><input type="checkbox" name="" id="" value="" /></label>
-                <input class="mini" id="prependedInput2" name="prependedInput2" size="16" type="text" />
-              </div>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="appendedInput">Appended checkbox</label>
-            <div class="input">
-              <div class="input-append">
-                <input class="mini" id="appendedInput" name="appendedInput" size="16" type="text" />
-                <label class="add-on active"><input type="checkbox" name="" id="" value="" checked="checked" /></label>
-              </div>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="fileInput">File input</label>
-            <div class="input">
-              <input class="input-file" id="fileInput" name="fileInput" type="file" />
-            </div>
-          </div><!-- /clearfix -->
-        </fieldset>
-        <fieldset>
-          <legend>Example form legend</legend>
-          <div class="clearfix">
-            <label id="optionsCheckboxes">List of options</label>
-            <div class="input">
-              <ul class="inputs-list">
-                <li>
-                  <label>
-                    <input type="checkbox" name="optionsCheckboxes" value="option1" />
-                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
-                  </label>
-                </li>
-                <li>
-                  <label>
-                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
-                    <span>Option two can also be checked and included in form results</span>
-                  </label>
-                </li>
-                <li>
-                  <label>
-                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
-                    <span>Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results</span>
-                  </label>
-                </li>
-                <li>
-                  <label class="disabled">
-                    <input type="checkbox" name="optionsCheckboxes" value="option2" disabled />
-                    <span>Option four cannot be checked as it is disabled.</span>
-                  </label>
-                </li>
-              </ul>
-              <span class="help-block">
-                <strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.
-              </span>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label>Date range</label>
-            <div class="input">
-              <div class="inline-inputs">
-                <input class="small" type="text" value="May 1, 2011" />
-                <input class="mini" type="text" value="12:00am" />
-                to
-                <input class="small" type="text" value="May 8, 2011" />
-                <input class="mini" type="text" value="11:59pm" />
-                <span class="help-inline">All times are shown as Pacific Standard Time (GMT -08:00).</span>
-              </div>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="textarea">Textarea</label>
-            <div class="input">
-              <textarea class="xxlarge" id="textarea2" name="textarea2" rows="3"></textarea>
-              <span class="help-block">
-                Block of help text to describe the field above if need be.
-              </span>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label id="optionsRadio">List of options</label>
-            <div class="input">
-              <ul class="inputs-list">
-                <li>
-                  <label>
-                    <input type="radio" checked name="optionsRadios" value="option1" />
-                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
-                  </label>
-                </li>
-                <li>
-                  <label>
-                    <input type="radio" name="optionsRadios" value="option2" />
-                    <span>Option two can is something else and selecting it will deselect options 1</span>
-                  </label>
-                </li>
-              </ul>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="actions">
-            <input type="submit" class="btn primary" value="Save changes">&nbsp;<button type="reset" class="btn">Cancel</button>
-          </div>
-        </fieldset>
-      </form>
+      <div class="well">
+        <form class="form-search">
+          <input type="text" class="search-query">
+          <button type="submit" class="btn">Search</button>
+        </form>
+      </div><!--/well-->
     </div>
-  </div><!-- /row -->
-
-  <br />
-
+  </div>
   <div class="row">
     <div class="span4">
-      <h2>Stacked forms</h2>
-      <p>Add <code>.form-stacked</code> to your form’s HTML and you’ll have labels on top of their fields instead of to their left. This works great if your forms are short or you have two columns of inputs for heavier forms.</p>
+      <h2>Inline form</h2>
     </div>
     <div class="span12">
-      <form action="" class="form-stacked">
-        <fieldset>
-          <legend>Example form legend</legend>
-          <div class="clearfix">
-            <label for="xlInput3">X-Large input</label>
-            <div class="input">
-              <input class="xlarge" id="xlInput3" name="xlInput3" size="30" type="text" />
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label for="stackedSelect">Select</label>
-            <div class="input">
-              <select name="stackedSelect" id="stackedSelect">
-                <option>1</option>
-                <option>2</option>
-                <option>3</option>
-                <option>4</option>
-                <option>5</option>
-              </select>
-            </div>
-          </div><!-- /clearfix -->
-        </fieldset>
-        <fieldset>
-          <legend>Example form legend</legend>
-          <div class="clearfix error">
-            <label for="xlInput4">X-Large input</label>
-            <div class="input">
-              <input class="xlarge error" id="xlInput4" name="xlInput4" size="30" type="text" />
-              <span class="help-inline">Small snippet of help text</span>
-            </div>
-          </div><!-- /clearfix -->
-          <div class="clearfix">
-            <label id="optionsCheckboxes">List of options</label>
-            <div class="input">
-              <ul class="inputs-list">
-                <li>
-                  <label>
-                    <input type="checkbox" name="optionsCheckboxes" value="option1" />
-                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
-                  </label>
-                </li>
-                <li>
-                  <label>
-                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
-                    <span>Option two can also be checked and included in form results</span>
-                  </label>
-                </li>
-              </ul>
-              <span class="help-block">
-                <strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.
-              </span>
-            </div>
-          </div><!-- /clearfix -->
-        </fieldset>
-        <div class="actions">
-          <button type="submit" class="btn primary">Save changes</button>&nbsp;<button type="reset" class="btn">Cancel</button>
-        </div>
-      </form>
+      <div class="well">
+        <form class="form-inline">
+          <h4>Some directional text</h4>
+          <p>And maybe some kind of optional supporting text right here.</p>
+          <input type="text" class="input-medium">
+          <input type="text" class="input-medium">
+          <input type="text" class="input-medium">
+          <button type="submit" class="btn">Search</button>
+        </form>
+      </div><!--/well-->
     </div>
-  </div><!-- /row -->
-
+  </div>
   <div class="row">
     <div class="span4">
-      <h2>Form field sizes</h2>
-      <p>Customize any form <code>input</code>, <code>select</code>, or <code>textarea</code> width by adding just a few classes to your markup.</p>
-      <p>As of v1.3.0, we have added the grid-based sizing classes for form elements. <strong>Please use the these over the existing <code>.mini</code>, <code>.small</code>, etc classes.</strong></p>
+      <h2>Horizontal form</h2>
     </div>
     <div class="span12">
-      <form action="">
-        <div class="clearfix"><input class="span2" id="" name="" type="text" placeholder=".span2" /></div>
-        <div class="clearfix"><input class="span3" id="" name="" type="text" placeholder=".span3" /></div>
-        <div class="clearfix"><input class="span4" id="" name="" type="text" placeholder=".span4" /></div>
-        <div class="clearfix"><input class="span5" id="" name="" type="text" placeholder=".span5" /></div>
-        <div class="clearfix"><input class="span6" id="" name="" type="text" placeholder=".span6" /></div>
-        <div class="clearfix"><input class="span7" id="" name="" type="text" placeholder=".span7" /></div>
-        <div class="clearfix"><input class="span8" id="" name="" type="text" placeholder=".span8" /></div>
-        <div class="clearfix"><input class="span9" id="" name="" type="text" placeholder=".span9" /></div>
-        <div class="clearfix"><input class="span10" id="" name="" type="text" placeholder=".span10" /></div>
-        <div class="clearfix"><input class="span11" id="" name="" type="text" placeholder=".span11" /></div>
-        <div class="clearfix"><input class="span12" id="" name="" type="text" placeholder=".span12" /></div>
+      <form class="form-horizontal">
+        <legend>Example form</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="input01">Text input</label>
+          <div class="controls">
+            <input type="text" class="xlarge" name="input01">
+            <p class="help-text">Help text here. Be sure to fill this out like so, or else!</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="select01">Select list</label>
+          <div class="controls">
+            <select name="select01">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="multiSelect">Multi-select</label>
+          <div class="controls">
+            <select multiple="multiple" name="multiSelect">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+          </div>
+        </fieldset>
+        <legend>Example form</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="fileInput">File input</label>
+          <div class="controls">
+            <input class="input-file" id="fileInput" name="fileInput" type="file" />
+          </div>
+        </fieldset>
+        <fieldset class="control-group has-error">
+          <label class="control-label" for="inputError">Input with error</label>
+          <div class="controls">
+            <input type="text" name="inputError">
+          </div>
+        </fieldset>
+        <fieldset class="control-group has-error">
+          <label class="control-label" for="textareaError">Textarea with error</label>
+          <div class="controls">
+            <textarea class="input-xxlarge" rows="3"></textarea>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
+          <div class="controls">
+            <div class="control-list">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option1">
+                Option one is this and that&mdash;be sure to include why it’s great
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option2">
+                Option two can also be checked and included in form results
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option3">
+                Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option4">
+                Option four cannot be checked as it is disabled
+              </label>
+            </div>
+            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsRadios">Radio buttons</label>
+          <div class="controls">
+            <div class="control-list">
+              <label>
+                <input type="radio" checked name="optionsRadios" value="option1" />
+                <span>Option one is this and that&mdash;be sure to include why it’s great</span>
+              </label>
+              <label>
+                <input type="radio" name="optionsRadios" value="option2" />
+                <span>Option two can is something else and selecting it will deselect options 1</span>
+              </label>
+            </div>
+            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+          </div>
+        </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
       </form>
     </div>
   </div>
-
   <div class="row">
     <div class="span4">
-      <h2>Buttons</h2>
-      <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
-      <p>All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue <code>.primary</code> class, a light-blue <code>.info</code> class, a green <code>.success</code> class, and a red <code>.danger</code> class.</p>
+      <h2>Vertical form</h2>
     </div>
     <div class="span12">
-      <h3>Example buttons</h3>
-      <p>Button styles can be applied to anything with the <code>.btn</code> applied. Typically you’ll want to apply these to only <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, and select <code>&lt;input&gt;</code> elements. Here’s how it looks:</p>
-      <div class="well" style="padding: 14px 19px;">
-        <button class="btn primary">Primary</button>&nbsp;<button class="btn">Default</button>&nbsp;<button class="btn info">Info</button>&nbsp;<button class="btn success">Success</button>&nbsp;<button class="btn danger">Danger</button>
-      </div>
-      <h3>Alternate sizes</h3>
-      <p>Fancy larger or smaller buttons? Have at it!</p>
-      <div class="well">
-        <a href="#" class="btn large primary">Primary action</a>
-        <a href="#" class="btn large">Action</a>
-      </div>
-      <div class="well" style="padding: 16px 19px;">
-        <a href="#" class="btn small primary">Primary action</a>
-        <a href="#" class="btn small">Action</a>
-      </div>
-      <h3>Disabled state</h3>
-      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
-      <h4>Links</h4>
-      <div class="well">
-        <a href="#" class="btn large primary disabled">Primary action</a>
-        <a href="#" class="btn large disabled">Action</a>
-      </div>
-      <h4>Buttons</h4>
-      <div class="well">
-        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
-      </div>
+      <form class="form-vertical">
+        <legend>Example form</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="input01">Label</label>
+          <div class="controls">
+            <input type="text" class="xlarge" name="input01">
+            <p class="help-text">Be sure to fill this out like so, or else!</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="select01">Label</label>
+          <div class="controls">
+            <select name="select01"></select>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="input02">Label</label>
+          <div class="controls">
+            <div class="control-list">
+              <label class="checkbox">
+                <input type="checkbox"> Something something something something something
+              </label>
+              <label class="checkbox">
+                <input type="checkbox"> Something something something something
+              </label>
+              <label class="checkbox">
+                <input type="checkbox"> Something something something
+              </label>
+            </div>
+          </div>
+        </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
     </div>
-  </div><!-- /row -->
+  </div>
 </section>
 
 
@@ -1378,6 +1245,7 @@
       <h2>Tabs and pills</h2>
       <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
       <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
+      <p><a class="btn js-btn" href="./javascript.html#tabs">Get the javascript &raquo;</a></p>
     </div>
     <div class="span12">
       <ul class="tabs">
@@ -1929,6 +1797,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 </section>
 
 
+<div class="radial-test"></div>
 
     </div><!-- /container -->
 
diff --git a/lib/forms.less b/lib/forms.less
index 91aca77fe7..fd46fc71e8 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -6,29 +6,20 @@
 // GENERAL STYLES
 // --------------
 
+// Make all forms have space below them
 form {
   margin-bottom: @baseline;
 }
 
 // Groups of fields with labels on top (legends)
-fieldset {
-  margin-bottom: @baseline;
-  padding-top: @baseline;
-  legend {
-    display: block;
-    padding-left: 150px;
-    font-size: @basefont * 1.5;
-    line-height: 1;
-    color: @grayDark;
-    *padding: 0 0 5px 145px; /* IE6-7 */
-    *line-height: 1.5; /* IE6-7 */
-  }
-}
-
-// Parent element that clears floats and wraps labels and fields together
-form .clearfix {
-  margin-bottom: @baseline;
-  .clearfix()
+legend {
+  display: block;
+  width: 100%;
+  margin-bottom: @baseline * 1.5;
+  font-size: @basefont * 1.5;
+  line-height: @baseline * 2;
+  color: @grayDark;
+  border-bottom: 1px solid #eee;
 }
 
 // Set font for forms
@@ -36,25 +27,16 @@ label,
 input,
 select,
 textarea {
-  #font > .sans-serif(normal,13px,normal);
+  #font > .sans-serif(normal,@basefont,@baseline);
 }
 
-// Float labels left
+// Identify controls by their labels
 label {
-  padding-top: 6px;
-  font-size: @basefont;
-  line-height: @baseline;
-  float: left;
-  width: 130px;
-  text-align: right;
+  display: block;
+  margin-bottom: 5px;
   color: @grayDark;
 }
 
-// Shift over the inside div to align all label's relevant content
-form .input {
-  margin-left: 150px;
-}
-
 // Checkboxs and radio buttons
 input[type=checkbox],
 input[type=radio] {
@@ -77,7 +59,7 @@ select,
   .border-radius(3px);
 }
 
-/* mini reset for non-html5 file types */
+/* Mini reset for unique input types */
 input[type=checkbox],
 input[type=radio] {
   width: auto;
@@ -89,6 +71,7 @@ input[type=radio] {
   border: none;
 }
 
+// Reset the file input to browser defaults
 input[type=file] {
   background-color: @white;
   padding: initial;
@@ -97,6 +80,7 @@ input[type=file] {
   .box-shadow(none);
 }
 
+// Help out input buttons
 input[type=button],
 input[type=reset],
 input[type=submit] {
@@ -120,24 +104,11 @@ textarea {
   height: auto;
 }
 
-// For text that needs to appear as an input but should not be an input
-.uneditable-input {
-  background-color: @white;
-  display: block;
-  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
-:-moz-placeholder {
-  color: @grayLight;
-}
-::-webkit-input-placeholder {
-  color: @grayLight;
-}
 
-// Focus states
+// FOCUS STATE
+// -----------
+
 input,
 textarea {
   @transition: border linear .2s, box-shadow linear .2s;
@@ -158,36 +129,6 @@ select:focus {
   outline: 1px dotted #666; // Selet elements don't get box-shadow styles, so instead we do outline
 }
 
-// Error styles
-form div.clearfix.error {
-  background: lighten(@red, 57%);
-  padding: 10px 0;
-  margin: -10px 0 10px;
-  .border-radius(4px);
-  @error-text: desaturate(lighten(@red, 25%), 25%);
-  > label,
-  span.help-inline,
-  span.help-block {
-    color: @red;
-  }
-  input,
-  textarea {
-    border-color: @error-text;
-    .box-shadow(0 0 3px rgba(171,41,32,.25));
-    &:focus {
-      border-color: darken(@error-text, 10%);
-      .box-shadow(0 0 6px rgba(171,41,32,.5));
-    }
-  }
-  .input-prepend,
-  .input-append {
-    span.add-on {
-      background: lighten(@red, 50%);
-      border-color: @error-text;
-      color: darken(@error-text, 10%);
-    }
-  }
-}
 
 
 // INPUT SIZES
@@ -232,8 +173,9 @@ select {
 }
 
 
-// INPUT STATES
-// ------------
+
+// DISABLED STATE
+// --------------
 
 // Disabled and read-only inputs
 input[disabled],
@@ -247,36 +189,89 @@ textarea[readonly] {
   cursor: not-allowed;
 }
 
-// Actions (the buttons)
-.actions {
-  background: #f5f5f5;
+
+
+// ERROR STATE
+// -----------
+
+// Set color of error text
+@error-text: desaturate(lighten(@red, 25%), 25%);
+
+// Style the background of control-groups with errors
+.has-error {
+  background: lighten(@red, 55%);
+  padding: (@baseline / 2) 0;
+  margin: -10px 0 10px;
+  .border-radius(4px);
+  > label,
+  span.help-inline,
+  span.help-block {
+    color: @red;
+  }
+  input,
+  textarea,
+  select {
+    border-color: @error-text;
+    .box-shadow(0 0 3px rgba(171,41,32,.25));
+    &:focus {
+      border-color: darken(@error-text, 10%);
+      .box-shadow(0 0 6px rgba(171,41,32,.5));
+    }
+  }
+  .input-prepend,
+  .input-append {
+    span.add-on {
+      background: lighten(@red, 50%);
+      border-color: @error-text;
+      color: darken(@error-text, 10%);
+    }
+  }
+}
+
+
+
+// FORM ACTIONS
+// ------------
+
+.form-actions {
+  padding: (@baseline - 1) 20px @baseline;
   margin-top: @baseline;
   margin-bottom: @baseline;
-  padding: (@baseline - 1) 20px @baseline 150px;
+  background-color: #f5f5f5;
   border-top: 1px solid #ddd;
-  .border-radius(0 0 3px 3px);
-  .secondary-action {
-    float: right;
-    a {
-      line-height: 30px;
-      &:hover {
-        text-decoration: underline;
-      }
-    }
-  }
 }
 
 
+// For text that needs to appear as an input but should not be an input
+.uneditable-input {
+  background-color: @white;
+  display: block;
+  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
+:-moz-placeholder {
+  color: @grayLight;
+}
+::-webkit-input-placeholder {
+  color: @grayLight;
+}
+
+
+
 // HELP TEXT
 // ---------
 
-.help-inline,
-.help-block {
-  font-size: @basefont - 2;
-  line-height: @baseline;
+.help-text {
+  margin-top: 5px;
+  margin-bottom: 0;
   color: @grayLight;
 }
+
 .help-inline {
+  display: inline;
   padding-left: 5px;
   *position: relative; /* IE6-7 */
   *top: -5px; /* IE6-7 */
@@ -290,7 +285,7 @@ textarea[readonly] {
 
 
 // INLINE FIELDS
-// ---------
+// -------------
 
 .inline-inputs {
   color: @gray;
@@ -309,8 +304,8 @@ textarea[readonly] {
 }
 
 
-// INPUTS GROUPS
-// -------------
+// INPUT GROUPS
+// ------------
 
 // Allow us to put symbols and text within the input field for a cleaner look
 .input-prepend,
@@ -360,97 +355,49 @@ textarea[readonly] {
 }
 
 
-// LISTS OF CONTROLS
+
+
+// HORIZONTAL & VERTICAL FORMS
+// ---------------------------
+
+
+// Common properties
 // -----------------
 
-// Stacked options for forms (radio buttons or checkboxes)
-.inputs-list {
-  margin: 0 0 5px;
-  width: 100%;
-  li {
-    display: block;
-    padding: 0;
-    width: 100%;
-  }
-  label {
-    display: block;
-    float: none;
-    width: auto;
-    padding: 0;
-    line-height: @baseline;
-    text-align: left;
-    white-space: normal;
-    strong {
-      color: @gray;
-    }
-    small {
-      font-size: @basefont - 2;
-      font-weight: normal;
-    }
-  }
-  .inputs-list {
-    margin-left: 25px;
-    margin-bottom: 10px;
-    padding-top: 0;
-  }
-  &:first-child {
-    padding-top: 6px;
-  }
-  li + li {
-    padding-top: 2px;
-  }
-  input[type=radio],
-  input[type=checkbox] {
-    margin-bottom: 0;
-  }
+// Margin to space out fieldsets
+.control-group {
+  margin-bottom: @baseline;
 }
 
+// Bold the labels so they stand out
+.control-group > label {
+  font-weight: bold;
+}
 
-// STACKED FORMS
-// -------------
+// Lists of controls (checkboxes and radios)
+.control-list {
+}
 
-.form-stacked {
-  padding-left: 20px;
-  fieldset {
-    padding-top: @baseline / 2;
-  }
-  legend {
-    padding-left: 0;
-  }
-  label {
-    display: block;
-    float: none;
-    width: auto;
-    font-weight: bold;
-    text-align: left;
-    line-height: 20px;
-    padding-top: 0;
-  }
-  .clearfix {
-    margin-bottom: @baseline / 2;
-    div.input {
-      margin-left: 0;
-    }
-  }
-  .inputs-list {
-    margin-bottom: 0;
-    li {
-      padding-top: 0;
-      label {
-        font-weight: normal;
-        padding-top: 0;
-      }
-    }
-  }
-  div.clearfix.error {
-    padding-top: 10px;
-    padding-bottom: 10px;
-    padding-left: 10px;
-    margin-top: 0;
-    margin-left: -10px;
-  }
-  .actions {
-    margin-left: -20px;
-    padding-left: 20px;
-  }
-}
\ No newline at end of file
+
+// Horizontal-specific styles
+// --------------------------
+
+// Float the labels left
+.form-horizontal .control-group > label {
+  float: left;
+  width: 130px;
+  padding-top: 5px;
+  text-align: right;
+}
+// Move over all input controls and content
+.form-horizontal .controls {
+  margin-left: 150px;
+}
+// Move the options list down to align with labels
+.form-horizontal .control-list {
+  padding-top: 6px; // has to be padding because margin collaspes
+}
+// Move over buttons in .form-actions to align with .controls
+.form-horizontal .form-actions {
+  padding-left: 150px;
+}
diff --git a/lib/mixins.less b/lib/mixins.less
index 929618a409..b0ecf03d37 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -6,32 +6,32 @@
 // Clearfix for clearing floats like a boss h5bp.com/q
 .clearfix() {
   zoom: 1;
-	&:before,
+  &:before,
   &:after {
     display: table;
     content: "";
     zoom: 1;
     *display: inline;
-	}
-	&:after {
+  }
+  &:after {
     clear: both;
-	}
+  }
 }
 
 // Center-align a block level element
 .center-block() {
-	display: block;
+  display: block;
   margin-left: auto;
   margin-right: auto;
 }
 
 // Sizing shortcuts
 .size(@height: 5px, @width: 5px) {
-	height: @height;
-	width: @width;
+  height: @height;
+  width: @width;
 }
 .square(@size: 5px) {
-	.size(@size, @size);
+  .size(@size, @size);
 }
 
 // Input placeholder text
@@ -112,27 +112,40 @@
 
 // Transitions
 .transition(@transition) {
-	-webkit-transition: @transition;
-	   -moz-transition: @transition;
- 	    -ms-transition: @transition;
-	     -o-transition: @transition;
-	        transition: @transition;
+  -webkit-transition: @transition;
+     -moz-transition: @transition;
+      -ms-transition: @transition;
+       -o-transition: @transition;
+          transition: @transition;
+}
+
+// Transform for scale and rotate
+// translate, rotate, scale -- need to finalize
+.rotation(@degrees: 5deg) {
+  -webkit-transform: rotate(@degrees);
+     -moz-transform: rotate(@degrees);
+          transform: rotate(@degrees);
+}
+.scale(@value: 1.5) {
+  -webkit-transform: scale(@value);
+     -moz-transform: scale(@value);
+          transform: scale(@value);
 }
 
 // Background clipping
 .background-clip(@clip) {
-	-webkit-background-clip: @clip;
-	   -moz-background-clip: @clip;
-	        background-clip: @clip;
+  -webkit-background-clip: @clip;
+     -moz-background-clip: @clip;
+          background-clip: @clip;
 }
 
 // CSS3 Content Columns
 .content-columns(@columnCount, @columnGap: 20px) {
-	-webkit-column-count: @columnCount;
-	   -moz-column-count: @columnCount;
+  -webkit-column-count: @columnCount;
+     -moz-column-count: @columnCount;
           column-count: @columnCount;
   -webkit-column-gap: @columnGap;
-	   -moz-column-gap: @columnGap;
+     -moz-column-gap: @columnGap;
           column-gap: @columnGap;
 }
 
@@ -140,11 +153,11 @@
 #translucent {
   .background(@color: @white, @alpha: 1) {
     background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
-	}
-	.border(@color: @white, @alpha: 1) {
-		border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
-		background-clip: padding-box;
-	}
+  }
+  .border(@color: @white, @alpha: 1) {
+    border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
+    background-clip: padding-box;
+  }
 }
 
 // Gradient Bar Colors for buttons and allerts
@@ -157,9 +170,8 @@
 
 // Gradients
 #gradient {
-  .horizontal (@startColor: #555, @endColor: #333) {
+  .horizontal(@startColor: #555, @endColor: #333) {
     background-color: @endColor;
-    background-repeat: repeat-x;
     background-image: -khtml-gradient(linear, left top, right top, from(@startColor), to(@endColor)); // Konqueror
     background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
     background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10
@@ -167,11 +179,11 @@
     background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
     background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
     background-image: linear-gradient(left, @startColor, @endColor); // Le standard
+    background-repeat: repeat-x;
     filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); // IE9 and down
   }
-  .vertical (@startColor: #555, @endColor: #333) {
+  .vertical(@startColor: #555, @endColor: #333) {
     background-color: @endColor;
-    background-repeat: repeat-x;
     background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
     background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
     background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10
@@ -179,9 +191,10 @@
     background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
     background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
     background-image: linear-gradient(top, @startColor, @endColor); // The standard
-    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down
+    background-repeat: repeat-x;
+   filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down
   }
-  .directional (@startColor: #555, @endColor: #333, @deg: 45deg) {
+  .directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
     background-color: @endColor;
     background-repeat: repeat-x;
     background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
@@ -192,15 +205,24 @@
   }
   .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
     background-color: @endColor;
-    background-repeat: no-repeat;
     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
     background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
     background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
     background-image: -ms-linear-gradient(@startColor, @midColor @colorStop, @endColor);
     background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
     background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
+    background-repeat: no-repeat;
     filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback
   }
+  .radial(@centerColor: #555, @outsideColor: #333)  {
+    background-color: @outsideColor;
+    background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@centerColor), to(@outsideColor));
+    background-image: -webkit-radial-gradient(circle, @centerColor, @outsideColor);
+    background-image: -moz-radial-gradient(circle, @centerColor, @outsideColor);
+    background-image: -ms-radial-gradient(circle, @centerColor, @outsideColor);
+    background-repeat: no-repeat;
+    // Opera cannot do radial gradients yet
+  }
 }
 
 // Reset filters for IE
@@ -210,8 +232,8 @@
 
 // Opacity
 .opacity(@opacity: 100) {
-	filter: e(%("alpha(opacity=%d)", @opacity));
-	-khtml-opacity: @opacity / 100;
-	  -moz-opacity: @opacity / 100;
-	       opacity: @opacity / 100;
+  filter: e(%("alpha(opacity=%d)", @opacity));
+  -khtml-opacity: @opacity / 100;
+    -moz-opacity: @opacity / 100;
+         opacity: @opacity / 100;
 }
\ No newline at end of file
diff --git a/lib/reset.less b/lib/reset.less
index 6be76fdba6..983f14f3dc 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -1,5 +1,5 @@
 /* Reset.less
- * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here	that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
+ * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
  * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
 
 
diff --git a/lib/type.less b/lib/type.less
index 077ae9d8f7..88b320459f 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -41,15 +41,16 @@ h2 {
     font-size: 14px;
   }
 }
-h3, h4, h5, h6 {
-  line-height: @baseline * 2;
-}
 h3 {
+  line-height: @baseline * 2;
   font-size: 18px;
   small {
     font-size: 14px;
   }
 }
+h4, h5, h6 {
+  line-height: @baseline;
+}
 h4 {
   font-size: 16px;
   small {
diff --git a/lib/variables.less b/lib/variables.less
index 34000d0669..dcb0a8ebf0 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -9,10 +9,10 @@
 
 // Grays
 @black:             #000;
-@grayDark:          lighten(@black, 25%);
-@gray:              lighten(@black, 50%);
-@grayLight:         lighten(@black, 75%);
-@grayLighter:       lighten(@black, 90%);
+@grayDark:          #333;
+@gray:              #555;
+@grayLight:         #777;
+@grayLighter:       #ccc;
 @white:             #fff;
 
 // Accent Colors
-- 
GitLab


From ecdba931ec4a6eced099026c1aeab503567a4e0a Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 29 Sep 2011 01:41:03 -0700
Subject: [PATCH 007/576] remove that test gradient

---
 docs/index.html | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index 75a18ea409..d24bb1afda 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1796,9 +1796,6 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 
 </section>
 
-
-<div class="radial-test"></div>
-
     </div><!-- /container -->
 
     <footer class="footer">
-- 
GitLab


From 4e9849966d0f7b18cd4b8a22f6ef98c6900a2099 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 29 Sep 2011 01:43:14 -0700
Subject: [PATCH 008/576] update topbar dropdown arrow to match link and hover
 colors

---
 bootstrap.css     | 28 ++++++++++++----------------
 bootstrap.min.css |  4 ++--
 lib/patterns.less |  7 +++++--
 3 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index d3bb942cda..33cc011f94 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Sep 29 01:39:48 PDT 2011
+ * Date: Thu Sep 29 01:42:34 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -951,16 +951,6 @@ textarea[readonly] {
 .form-horizontal .form-actions {
   padding-left: 150px;
 }
-.radial-test {
-  background-color: #009900;
-  background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(#990000), to(#009900));
-  background-image: -webkit-radial-gradient(circle, #990000, #009900);
-  background-image: -moz-radial-gradient(circle, #990000, #009900);
-  background-image: -ms-radial-gradient(circle, #990000, #009900);
-  background-repeat: no-repeat;
-  width: 100%;
-  height: 940px;
-}
 /*
  * Tables.less
  * Tables for, you guessed it, tabular data
@@ -1307,14 +1297,20 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   text-indent: -99999px;
   vertical-align: top;
   margin-top: 8px;
-  margin-left: 4px;
+  margin-left: 6px;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
   border-top: 4px solid #ffffff;
-  filter: alpha(opacity=50);
-  -khtml-opacity: 0.5;
-  -moz-opacity: 0.5;
-  opacity: 0.5;
+  filter: alpha(opacity=30);
+  -khtml-opacity: 0.3;
+  -moz-opacity: 0.3;
+  opacity: 0.3;
+}
+.dropdown:hover .dropdown-toggle:after {
+  filter: alpha(opacity=100);
+  -khtml-opacity: 1;
+  -moz-opacity: 1;
+  opacity: 1;
 }
 .dropdown-menu {
   background-color: #ffffff;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index bb31375dd1..ef0f69f1f0 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -168,7 +168,6 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .form-horizontal .controls{margin-left:150px;}
 .form-horizontal .control-list{padding-top:6px;}
 .form-horizontal .form-actions{padding-left:150px;}
-.radial-test{background-color:#009900;background-image:-webkit-gradient(radial, center center, 0, center center, 460, from(#990000), to(#009900));background-image:-webkit-radial-gradient(circle, #990000, #009900);background-image:-moz-radial-gradient(circle, #990000, #009900);background-image:-ms-radial-gradient(circle, #990000, #009900);background-repeat:no-repeat;width:100%;height:940px;}
 table{width:100%;margin-bottom:18px;padding:0;border-collapse:separate;*border-collapse:collapse;font-size:13px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
 table th{padding-top:9px;font-weight:bold;vertical-align:middle;border-bottom:1px solid #ddd;}
 table td{vertical-align:top;}
@@ -219,7 +218,8 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
 .topbar ul .dropdown-menu li a{padding:4px 15px;}
 .dropdown{position:relative;}
-.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;}
+.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-khtml-opacity:0.3;-moz-opacity:0.3;opacity:0.3;}
+.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
 .dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
 .topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#333333;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
diff --git a/lib/patterns.less b/lib/patterns.less
index eae09a5963..ec40641d39 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -205,11 +205,14 @@
   text-indent: -99999px;
   vertical-align: top;
   margin-top: 8px;
-  margin-left: 4px;
+  margin-left: 6px;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
   border-top: 4px solid @white;
-  .opacity(50);
+  .opacity(30);
+}
+.dropdown:hover .dropdown-toggle:after {
+  .opacity(100);
 }
 // The dropdown menu (ul)
 .dropdown-menu {
-- 
GitLab


From 00204a80cf1c45cb9d7d80986756401d304a3944 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 29 Sep 2011 01:44:51 -0700
Subject: [PATCH 009/576] change h4 back to lineheight * 2

---
 bootstrap.css     | 8 ++++----
 bootstrap.min.css | 7 +++----
 lib/type.less     | 6 +++---
 3 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 33cc011f94..acc05c7174 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Sep 29 01:42:34 PDT 2011
+ * Date: Thu Sep 29 01:44:42 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -441,20 +441,20 @@ h3 {
 h3 small {
   font-size: 14px;
 }
-h4, h5, h6 {
-  line-height: 18px;
-}
 h4 {
   font-size: 16px;
+  line-height: 36px;
 }
 h4 small {
   font-size: 12px;
 }
 h5 {
   font-size: 14px;
+  line-height: 18px;
 }
 h6 {
   font-size: 13px;
+  line-height: 18px;
   color: #777777;
   text-transform: uppercase;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index ef0f69f1f0..5be71dd4a4 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -81,10 +81,9 @@ h1,h2,h3,h4,h5,h6{font-weight:bold;color:#333333;}h1 small,h2 small,h3 small,h4
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
 h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
 h3{line-height:36px;font-size:18px;}h3 small{font-size:14px;}
-h4,h5,h6{line-height:18px;}
-h4{font-size:16px;}h4 small{font-size:12px;}
-h5{font-size:14px;}
-h6{font-size:13px;color:#777777;text-transform:uppercase;}
+h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
+h5{font-size:14px;line-height:18px;}
+h6{font-size:13px;line-height:18px;color:#777777;text-transform:uppercase;}
 ul,ol{margin:0 0 18px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
diff --git a/lib/type.less b/lib/type.less
index 88b320459f..ea1f289e72 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -48,20 +48,20 @@ h3 {
     font-size: 14px;
   }
 }
-h4, h5, h6 {
-  line-height: @baseline;
-}
 h4 {
   font-size: 16px;
+  line-height: @baseline * 2;
   small {
     font-size: 12px;
   }
 }
 h5 {
   font-size: 14px;
+  line-height: @baseline;
 }
 h6 {
   font-size: 13px;
+  line-height: @baseline;
   color: @grayLight;
   text-transform: uppercase;
 }
-- 
GitLab


From f54568fa31396556a0df7bf8e2b180885e2b1c3f Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 29 Sep 2011 01:47:55 -0700
Subject: [PATCH 010/576] round the corners on the search form inputs like a
 boss

---
 bootstrap.css     | 7 ++++++-
 bootstrap.min.css | 1 +
 lib/forms.less    | 9 +++++++++
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index acc05c7174..6758ea7eb9 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Sep 29 01:44:42 PDT 2011
+ * Date: Thu Sep 29 01:47:26 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -930,6 +930,11 @@ textarea[readonly] {
   margin-right: 0;
   margin-left: -1px;
 }
+.form-search .search-query {
+  -webkit-border-radius: 14px;
+  -moz-border-radius: 14px;
+  border-radius: 14px;
+}
 .control-group {
   margin-bottom: 18px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 5be71dd4a4..cf290c8e1e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -161,6 +161,7 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
+.form-search .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
 .form-horizontal .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
diff --git a/lib/forms.less b/lib/forms.less
index fd46fc71e8..56325daa9c 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -357,6 +357,15 @@ textarea[readonly] {
 
 
 
+// SEARCH FORM
+// -----------
+
+.form-search .search-query {
+  .border-radius(14px);
+}
+
+
+
 // HORIZONTAL & VERTICAL FORMS
 // ---------------------------
 
-- 
GitLab


From 0a6d8c30db0600ab8d33e14ead0ff120cd03ac9d Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 29 Sep 2011 02:21:02 -0700
Subject: [PATCH 011/576] adding button groups and toolbars like a boss

---
 bootstrap.css     | 58 +++++++++++++++++++++++++++++++-
 bootstrap.min.css |  8 +++++
 docs/index.html   | 85 ++++++++++++++++++++++++++++++++++++++++++++---
 lib/mixins.less   | 17 ++++++++++
 lib/patterns.less | 48 ++++++++++++++++++++++++++
 5 files changed, 210 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6758ea7eb9..92da336f65 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Sep 29 01:47:26 PDT 2011
+ * Date: Thu Sep 29 02:20:34 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1726,6 +1726,62 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding: 0;
   border: 0;
 }
+.btn-toolbar {
+  zoom: 1;
+}
+.btn-toolbar:before, .btn-toolbar:after {
+  display: table;
+  content: "";
+  zoom: 1;
+  *display: inline;
+}
+.btn-toolbar:after {
+  clear: both;
+}
+.btn-toolbar .btn-group {
+  float: left;
+  margin-right: 10px;
+}
+.btn-group {
+  zoom: 1;
+}
+.btn-group:before, .btn-group:after {
+  display: table;
+  content: "";
+  zoom: 1;
+  *display: inline;
+}
+.btn-group:after {
+  clear: both;
+}
+.btn-group .btn {
+  position: relative;
+  float: left;
+  margin-left: -1px;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.btn-group .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;
+  -moz-border-radius-bottomleft: 4px;
+  border-bottom-left-radius: 4px;
+}
+.btn-group .btn:last-child {
+  -webkit-border-top-right-radius: 4px;
+  -moz-border-radius-topright: 4px;
+  border-top-right-radius: 4px;
+  -webkit-border-bottom-right-radius: 4px;
+  -moz-border-radius-bottomright: 4px;
+  border-bottom-right-radius: 4px;
+}
+.btn-group .btn:hover, .btn-group .btn:focus, .btn-group .btn:active {
+  z-index: 2;
+}
 .close {
   float: right;
   color: #000000;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index cf290c8e1e..a6052c7666 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -260,6 +260,14 @@ footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
+.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;content:"";zoom:1;*display:inline;}
+.btn-toolbar:after{clear:both;}
+.btn-toolbar .btn-group{float:left;margin-right:10px;}
+.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";zoom:1;*display:inline;}
+.btn-group:after{clear:both;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
+.btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
+.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-khtml-opacity:0.2;-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
 .alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#333333;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
diff --git a/docs/index.html b/docs/index.html
index d24bb1afda..137144991f 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -898,7 +898,7 @@
     <div class="span-one-third">
       <h3></h3>
     </div>
-  </div>
+  </div><!-- /row -->
   <div class="row">
     <div class="span4">
       <h2>Search form</h2>
@@ -911,7 +911,7 @@
         </form>
       </div><!--/well-->
     </div>
-  </div>
+  </div><!-- /row -->
   <div class="row">
     <div class="span4">
       <h2>Inline form</h2>
@@ -928,7 +928,7 @@
         </form>
       </div><!--/well-->
     </div>
-  </div>
+  </div><!-- /row -->
   <div class="row">
     <div class="span4">
       <h2>Horizontal form</h2>
@@ -1032,7 +1032,7 @@
         </fieldset>
       </form>
     </div>
-  </div>
+  </div><!-- /row -->
   <div class="row">
     <div class="span4">
       <h2>Vertical form</h2>
@@ -1075,7 +1075,82 @@
         </fieldset>
       </form>
     </div>
-  </div>
+  </div><!-- /row -->
+
+  <div class="row">
+    <div class="span4">
+      <h2>Buttons</h2>
+      <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
+      <p>All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue <code>.primary</code> class, a light-blue <code>.info</code> class, a green <code>.success</code> class, and a red <code>.danger</code> class.</p>
+    </div>
+    <div class="span12">
+      <h3>Example buttons</h3>
+      <p>Button styles can be applied to anything with the <code>.btn</code> applied. Typically you’ll want to apply these to only <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, and select <code>&lt;input&gt;</code> elements. Here’s how it looks:</p>
+      <div class="well" style="padding: 14px 19px;">
+        <button class="btn primary">Primary</button>&nbsp;<button class="btn">Default</button>&nbsp;<button class="btn info">Info</button>&nbsp;<button class="btn success">Success</button>&nbsp;<button class="btn danger">Danger</button>
+      </div>
+      <h3>Alternate sizes</h3>
+      <p>Fancy larger or smaller buttons? Have at it!</p>
+      <div class="well">
+        <a href="#" class="btn large primary">Primary action</a>
+        <a href="#" class="btn large">Action</a>
+      </div>
+      <div class="well" style="padding: 16px 19px;">
+        <a href="#" class="btn small primary">Primary action</a>
+        <a href="#" class="btn small">Action</a>
+      </div>
+      <h3>Disabled state</h3>
+      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
+      <h4>Links</h4>
+      <div class="well">
+        <a href="#" class="btn large primary disabled">Primary action</a>
+        <a href="#" class="btn large disabled">Action</a>
+      </div>
+      <h4>Buttons</h4>
+      <div class="well">
+        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
+      </div>
+    </div>
+  </div><!-- /row -->
+
+  <div class="row">
+    <div class="span4">
+      <h2>Button groups</h2>
+    </div>
+    <div class="span12">
+      <h3>Example</h3>
+      <div class="well">
+        <div class="btn-group">
+          <a class="btn" href="#">Left</a>
+          <a class="btn" href="#">Middle</a>
+          <a class="btn" href="#">Right</a>
+        </div>
+      </div>
+      <div class="well">
+        <div class="btn-toolbar">
+          <div class="btn-group">
+            <a class="btn" href="#">1</a>
+            <a class="btn" href="#">2</a>
+            <a class="btn" href="#">3</a>
+            <a class="btn" href="#">4</a>
+            <a class="btn" href="#">5</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">6</a>
+            <a class="btn" href="#">7</a>
+            <a class="btn" href="#">8</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">9</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">10</a>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div><!-- /row -->
+
 </section>
 
 
diff --git a/lib/mixins.less b/lib/mixins.less
index b0ecf03d37..131d142783 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -102,6 +102,23 @@
      -moz-border-radius: @radius;
           border-radius: @radius;
 }
+.border-radius-custom(@topLeft, @topRight, @bottomRight, @bottomLeft) {
+  -webkit-border-top-left-radius: @topLeft;
+      -moz-border-radius-topleft: @topLeft;
+          border-top-left-radius: @topLeft;
+  -webkit-border-top-right-radius: @topRight;
+      -moz-border-radius-topright: @topRight;
+          border-top-right-radius: @topRight;
+  -webkit-border-bottom-right-radius: @bottomRight;
+      -moz-border-radius-bottomright: @bottomRight;
+          border-bottom-right-radius: @bottomRight;
+  -webkit-border-bottom-left-radius: @bottomLeft;
+      -moz-border-radius-bottomleft: @bottomLeft;
+          border-bottom-left-radius: @bottomLeft;
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding;
+          background-clip: padding-box;
+}
 
 // Drop shadows
 .box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) {
diff --git a/lib/patterns.less b/lib/patterns.less
index ec40641d39..8add82c166 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -565,6 +565,54 @@ input[type=submit].btn {
   }
 }
 
+// Button groups
+// -------------
+
+// Group multiple button groups together for a toolbar
+.btn-toolbar {
+  .clearfix();
+  .btn-group {
+    float: left;
+    margin-right: 10px;
+  }
+}
+
+// Clear the float
+.btn-group {
+  .clearfix();
+}
+// Float them, remove border radius, then re-add to first and last elements
+.btn-group .btn {
+  position: relative;
+  float: left;
+  margin-left: -1px;
+  .border-radius(0);
+  &: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;
+        -moz-border-radius-bottomleft: 4px;
+            border-bottom-left-radius: 4px;
+  }
+  &:last-child {
+       -webkit-border-top-right-radius: 4px;
+           -moz-border-radius-topright: 4px;
+               border-top-right-radius: 4px;
+    -webkit-border-bottom-right-radius: 4px;
+        -moz-border-radius-bottomright: 4px;
+            border-bottom-right-radius: 4px;
+  }
+}
+// On hover/focus/active, bring the proper btn to front
+.btn-group .btn:hover,
+.btn-group .btn:focus,
+.btn-group .btn:active {
+  z-index: 2;
+}
+
+
 
 // CLOSE ICONS
 // -----------
-- 
GitLab


From 96dd7a2903aa5213ddb364b385660e26396dc670 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 4 Oct 2011 00:20:38 -0700
Subject: [PATCH 012/576] update variables to inlude @baseFontSize,
 @baseFontFamily, @baseLineHeight for easier customization; added placeholder
 for @primaryButtonColor, but didn't implement

---
 bootstrap.css        | 69 ++++++++++++++++++++++----------------------
 bootstrap.min.css    | 60 +++++++++++++++++++-------------------
 lib/forms.less       | 30 +++++++++----------
 lib/mixins.less      | 10 +++----
 lib/patterns.less    | 34 +++++++++++-----------
 lib/scaffolding.less |  4 ++-
 lib/tables.less      |  6 ++--
 lib/type.less        | 50 +++++++++++++++++---------------
 lib/variables.less   | 49 +++++++++++++++++++------------
 9 files changed, 164 insertions(+), 148 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 92da336f65..75928c7490 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Sep 29 02:20:34 PDT 2011
+ * Date: Tue Oct  4 00:16:55 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -187,9 +187,8 @@ body {
   margin: 0;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
-  font-weight: normal;
   line-height: 18px;
-  color: #333333;
+  color: #404040;
 }
 .container {
   width: 940px;
@@ -393,14 +392,14 @@ a:hover {
  * Headings, body text, lists, code, and more for a versatile and durable typography system
  * ---------------------------------------------------------------------------------------- */
 p {
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
-  font-weight: normal;
   line-height: 18px;
   margin-bottom: 9px;
 }
 p small {
   font-size: 11px;
-  color: #777777;
+  color: #bfbfbf;
 }
 h1,
 h2,
@@ -409,7 +408,7 @@ h4,
 h5,
 h6 {
   font-weight: bold;
-  color: #333333;
+  color: #404040;
 }
 h1 small,
 h2 small,
@@ -417,7 +416,7 @@ h3 small,
 h4 small,
 h5 small,
 h6 small {
-  color: #777777;
+  color: #bfbfbf;
 }
 h1 {
   margin-bottom: 18px;
@@ -455,7 +454,7 @@ h5 {
 h6 {
   font-size: 13px;
   line-height: 18px;
-  color: #777777;
+  color: #bfbfbf;
   text-transform: uppercase;
 }
 ul, ol {
@@ -475,7 +474,7 @@ ol {
 }
 li {
   line-height: 18px;
-  color: #555555;
+  color: #808080;
 }
 ul.unstyled {
   list-style: none;
@@ -508,7 +507,7 @@ em {
   line-height: inherit;
 }
 .muted {
-  color: #777777;
+  color: #bfbfbf;
 }
 blockquote {
   margin-bottom: 18px;
@@ -526,7 +525,7 @@ blockquote small {
   font-size: 12px;
   font-weight: 300;
   line-height: 18px;
-  color: #777777;
+  color: #bfbfbf;
 }
 blockquote small:before {
   content: '\2014 \00A0';
@@ -538,7 +537,7 @@ address {
 }
 code, pre {
   padding: 0 3px 2px;
-  font-family: Monaco, Andale Mono, Courier New, monospace;
+  font-family: Menlo, Monaco, Andale Mono, Courier New, monospace;
   font-size: 12px;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
@@ -577,7 +576,7 @@ legend {
   margin-bottom: 27px;
   font-size: 19.5px;
   line-height: 36px;
-  color: #333333;
+  color: #404040;
   border-bottom: 1px solid #eee;
 }
 label,
@@ -592,7 +591,7 @@ textarea {
 label {
   display: block;
   margin-bottom: 5px;
-  color: #333333;
+  color: #404040;
 }
 input[type=checkbox], input[type=radio] {
   cursor: pointer;
@@ -607,7 +606,7 @@ select,
   padding: 4px;
   font-size: 13px;
   line-height: 18px;
-  color: #555555;
+  color: #808080;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
@@ -843,15 +842,15 @@ textarea[readonly] {
   cursor: not-allowed;
 }
 :-moz-placeholder {
-  color: #777777;
+  color: #bfbfbf;
 }
 ::-webkit-input-placeholder {
-  color: #777777;
+  color: #bfbfbf;
 }
 .help-text {
   margin-top: 5px;
   margin-bottom: 0;
-  color: #777777;
+  color: #bfbfbf;
 }
 .help-inline {
   display: inline;
@@ -868,7 +867,7 @@ textarea[readonly] {
   max-width: 600px;
 }
 .inline-inputs {
-  color: #555555;
+  color: #808080;
 }
 .inline-inputs span, .inline-inputs input {
   display: inline-block;
@@ -901,7 +900,7 @@ textarea[readonly] {
   margin-right: -1px;
   font-weight: normal;
   line-height: 18px;
-  color: #777777;
+  color: #bfbfbf;
   text-align: center;
   text-shadow: 0 1px 0 #ffffff;
   -webkit-border-radius: 3px 0 0 3px;
@@ -1115,7 +1114,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   overflow: visible;
 }
 .topbar a {
-  color: #777777;
+  color: #bfbfbf;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
 .topbar .brand a:hover, .topbar ul .active > a {
@@ -1178,20 +1177,20 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   transition: none;
 }
 .topbar input:-moz-placeholder {
-  color: #cccccc;
+  color: #e6e6e6;
 }
 .topbar input::-webkit-input-placeholder {
-  color: #cccccc;
+  color: #e6e6e6;
 }
 .topbar input:hover {
-  background-color: #777777;
+  background-color: #bfbfbf;
   background-color: rgba(255, 255, 255, 0.5);
   color: #ffffff;
 }
 .topbar input:focus, .topbar input.focused {
   outline: 0;
   background-color: #ffffff;
-  color: #333333;
+  color: #404040;
   text-shadow: 0 1px 0 #ffffff;
   border: 0;
   padding: 5px 10px;
@@ -1363,7 +1362,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   clear: both;
   font-weight: normal;
   line-height: 18px;
-  color: #555555;
+  color: #808080;
   text-shadow: 0 1px 0 #ffffff;
 }
 .topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
@@ -1377,7 +1376,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-image: linear-gradient(top, #eeeeee, #dddddd);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
-  color: #333333;
+  color: #404040;
   text-decoration: none;
   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
@@ -1439,7 +1438,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   border-color: #eee #eee #ddd;
 }
 .tabs > li.active > a {
-  color: #555555;
+  color: #808080;
   background-color: #ffffff;
   border: 1px solid #ddd;
   border-bottom-color: transparent;
@@ -1518,10 +1517,10 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 }
 .breadcrumb .divider {
   padding: 0 5px;
-  color: #777777;
+  color: #bfbfbf;
 }
 .breadcrumb .active a {
-  color: #333333;
+  color: #404040;
 }
 .hero-unit {
   background-color: #f5f5f5;
@@ -1806,7 +1805,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   position: relative;
   padding: 7px 15px;
   margin-bottom: 18px;
-  color: #333333;
+  color: #404040;
   background-color: #eedc94;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
   background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
@@ -1868,13 +1867,13 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   margin-bottom: 0;
 }
 .alert-message.block-message li {
-  color: #333333;
+  color: #404040;
 }
 .alert-message.block-message .alert-actions {
   margin-top: 5px;
 }
 .alert-message.block-message.error, .alert-message.block-message.success, .alert-message.block-message.info {
-  color: #333333;
+  color: #404040;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
 .alert-message.block-message.error {
@@ -1925,7 +1924,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .pagination .disabled a, .pagination .disabled a:hover {
   background-color: transparent;
-  color: #777777;
+  color: #bfbfbf;
 }
 .pagination .next a {
   border: 0;
@@ -2195,7 +2194,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .label {
   padding: 1px 3px 2px;
-  background-color: #777777;
+  background-color: #bfbfbf;
   font-size: 9.75px;
   font-weight: bold;
   color: #ffffff;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index a6052c7666..4ba50158e6 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -21,7 +21,7 @@ input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box
 input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
 html,body{background-color:#ffffff;}
-body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;color:#333333;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;}
 .container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;*display:inline;}
 .container:after{clear:both;}
 .container-fluid{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";zoom:1;*display:inline;}
@@ -76,19 +76,19 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .span-two-thirds{width:620px;}
 .offset-one-third{margin-left:340px;}
 .offset-two-thirds{margin-left:660px;}
-p{font-size:13px;font-weight:normal;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#777777;}
-h1,h2,h3,h4,h5,h6{font-weight:bold;color:#333333;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#777777;}
+p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
+h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
 h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
 h3{line-height:36px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
-h6{font-size:13px;line-height:18px;color:#777777;text-transform:uppercase;}
+h6{font-size:13px;line-height:18px;color:#bfbfbf;text-transform:uppercase;}
 ul,ol{margin:0 0 18px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
-li{line-height:18px;color:#555555;}
+li{line-height:18px;color:#808080;}
 ul.unstyled{list-style:none;margin-left:0;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
@@ -96,19 +96,19 @@ dl dd{margin-left:9px;}
 hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
-.muted{color:#777777;}
+.muted{color:#bfbfbf;}
 blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;}
-blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#777777;}blockquote small:before{content:'\2014 \00A0';}
+blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 address{display:block;line-height:18px;margin-bottom:18px;}
-code,pre{padding:0 3px 2px;font-family:Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
 pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
 form{margin-bottom:18px;}
-legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;}
+legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
-label{display:block;margin-bottom:5px;color:#333333;}
+label{display:block;margin-bottom:5px;color:#404040;}
 input[type=checkbox],input[type=radio]{cursor:pointer;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;}
 input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
@@ -146,17 +146,17 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .has-error .input-prepend span.add-on,.has-error .input-append span.add-on{background:#f4c8c5;border-color:#c87872;color:#b9554d;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{background-color:#ffffff;display:block;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-placeholder{color:#777777;}
-::-webkit-input-placeholder{color:#777777;}
-.help-text{margin-top:5px;margin-bottom:0;color:#777777;}
+:-moz-placeholder{color:#bfbfbf;}
+::-webkit-input-placeholder{color:#bfbfbf;}
+.help-text{margin-top:5px;margin-bottom:0;color:#bfbfbf;}
 .help-inline{display:inline;padding-left:5px;*position:relative;*top:-5px;}
 .help-block{display:block;max-width:600px;}
-.inline-inputs{color:#555555;}.inline-inputs span,.inline-inputs input{display:inline-block;}
+.inline-inputs{color:#808080;}.inline-inputs span,.inline-inputs input{display:inline-block;}
 .inline-inputs input.mini{width:60px;}
 .inline-inputs input.small{width:90px;}
 .inline-inputs span{padding:0 2px 0 1px;}
 .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#777777;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
@@ -196,16 +196,16 @@ table .orange{color:#f89406;border-bottom-color:#f89406;}
 table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;}
 table .purple{color:#7a43b6;border-bottom-color:#7a43b6;}
 table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;}
-.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#777777;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
+.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
 .topbar .brand a:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
 .topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
 .topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;}
 .topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
 .topbar form.pull-right{float:right;}
-.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#cccccc;}
-.topbar input::-webkit-input-placeholder{color:#cccccc;}
-.topbar input:hover{background-color:#777777;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
-.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#333333;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
+.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#e6e6e6;}
+.topbar input::-webkit-input-placeholder{color:#e6e6e6;}
+.topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
+.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
 .topbar-inner{background-color:#222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
@@ -222,14 +222,14 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
 .dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
-.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#333333;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
+.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
 .tabs{float:left;width:100%;border-bottom:1px solid #ddd;}.tabs>li{position:relative;top:1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
-.tabs>li.active>a{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;}
+.tabs>li.active>a{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;}
 .tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
 .tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs .open.dropdown .dropdown-toggle{border-color:#999;}
@@ -240,8 +240,8 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .tab-content>*,.pill-content>*{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
 .breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
-.breadcrumb .divider{padding:0 5px;color:#777777;}
-.breadcrumb .active a{color:#333333;}
+.breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
+.breadcrumb .active a{color:#404040;}
 .hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
@@ -269,16 +269,16 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-khtml-opacity:0.2;-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#333333;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
 .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
 .alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
 .alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
 .alert-message.block-message ul{margin-bottom:0;}
-.alert-message.block-message li{color:#333333;}
+.alert-message.block-message li{color:#404040;}
 .alert-message.block-message .alert-actions{margin-top:5px;}
-.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#333333;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
 .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
 .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
@@ -286,7 +286,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
-.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#777777;}
+.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
 .pagination .next a{border:0;}
 .well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
@@ -315,7 +315,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
 .popover .content{background-color:#ffffff;padding:14px;-webkit-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;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
 .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;}.fade.in{opacity:1;}
-.label{padding:1px 3px 2px;background-color:#777777;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
diff --git a/lib/forms.less b/lib/forms.less
index 56325daa9c..b657e53d65 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -8,16 +8,16 @@
 
 // Make all forms have space below them
 form {
-  margin-bottom: @baseline;
+  margin-bottom: @baseLineHeight;
 }
 
 // Groups of fields with labels on top (legends)
 legend {
   display: block;
   width: 100%;
-  margin-bottom: @baseline * 1.5;
-  font-size: @basefont * 1.5;
-  line-height: @baseline * 2;
+  margin-bottom: @baseLineHeight * 1.5;
+  font-size: @baseFontSize * 1.5;
+  line-height: @baseLineHeight * 2;
   color: @grayDark;
   border-bottom: 1px solid #eee;
 }
@@ -27,7 +27,7 @@ label,
 input,
 select,
 textarea {
-  #font > .sans-serif(normal,@basefont,@baseline);
+  #font > .sans-serif(normal,@baseFontSize,@baseLineHeight);
 }
 
 // Identify controls by their labels
@@ -50,10 +50,10 @@ select,
 .uneditable-input {
   display: inline-block;
   width: 210px;
-  height: @baseline;
+  height: @baseLineHeight;
   padding: 4px;
-  font-size: @basefont;
-  line-height: @baseline;
+  font-size: @baseFontSize;
+  line-height: @baseLineHeight;
   color: @gray;
   border: 1px solid #ccc;
   .border-radius(3px);
@@ -90,8 +90,8 @@ input[type=submit] {
 
 select,
 input[type=file] {
-  height: @baseline * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size
-  line-height: @baseline * 1.5;
+  height: @baseLineHeight * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size
+  line-height: @baseLineHeight * 1.5;
   *margin-top: 4px; /* For IE7, add top margin to align select with labels */
 }
 
@@ -200,7 +200,7 @@ textarea[readonly] {
 // Style the background of control-groups with errors
 .has-error {
   background: lighten(@red, 55%);
-  padding: (@baseline / 2) 0;
+  padding: (@baseLineHeight / 2) 0;
   margin: -10px 0 10px;
   .border-radius(4px);
   > label,
@@ -234,9 +234,9 @@ textarea[readonly] {
 // ------------
 
 .form-actions {
-  padding: (@baseline - 1) 20px @baseline;
-  margin-top: @baseline;
-  margin-bottom: @baseline;
+  padding: (@baseLineHeight - 1) 20px @baseLineHeight;
+  margin-top: @baseLineHeight;
+  margin-bottom: @baseLineHeight;
   background-color: #f5f5f5;
   border-top: 1px solid #ddd;
 }
@@ -375,7 +375,7 @@ textarea[readonly] {
 
 // Margin to space out fieldsets
 .control-group {
-  margin-bottom: @baseline;
+  margin-bottom: @baseLineHeight;
 }
 
 // Bold the labels so they stand out
diff --git a/lib/mixins.less b/lib/mixins.less
index 131d142783..c43f166328 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -46,25 +46,25 @@
 
 // Font Stacks
 #font {
-  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
+  .shorthand(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
     font-size: @size;
     font-weight: @weight;
     line-height: @lineHeight;
   }
-  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
+  .sans-serif(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
     font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
     font-size: @size;
     font-weight: @weight;
     line-height: @lineHeight;
   }
-  .serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
+  .serif(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
     font-family: "Georgia", Times New Roman, Times, serif;
     font-size: @size;
     font-weight: @weight;
     line-height: @lineHeight;
   }
-  .monospace(@weight: normal, @size: 12px, @lineHeight: 20px) {
-    font-family: "Monaco", Courier New, monospace;
+  .monospace(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
+    font-family: Menlo, Monaco, Andale Mono, Courier New, monospace;
     font-size: @size;
     font-weight: @weight;
     line-height: @lineHeight;
diff --git a/lib/patterns.less b/lib/patterns.less
index 8add82c166..1b27b71847 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -313,7 +313,7 @@
     > a {
       padding: 0 15px;
       margin-right: 2px;
-      line-height: @baseline * 2;
+      line-height: @baseLineHeight * 2;
       border: 1px solid transparent;
       .border-radius(4px 4px 0 0);
       &:hover {
@@ -387,7 +387,7 @@
 // -----------
 
 .breadcrumb {
-  margin: 0 0 @baseline;
+  margin: 0 0 @baseLineHeight;
   padding: 7px 14px;
   #gradient > .vertical(#ffffff, #f5f5f5);
   border: 1px solid #ddd;
@@ -424,12 +424,12 @@
   p {
     font-size: 18px;
     font-weight: 200;
-    line-height: @baseline * 1.5;
+    line-height: @baseLineHeight * 1.5;
   }
 }
 footer {
-  margin-top: @baseline - 1;
-  padding-top: @baseline - 1;
+  margin-top: @baseLineHeight - 1;
+  padding-top: @baseLineHeight - 1;
   border-top: 1px solid #eee;
 }
 
@@ -438,11 +438,11 @@ footer {
 // ------------
 
 .page-header {
-  margin-bottom: @baseline - 1;
+  margin-bottom: @baseLineHeight - 1;
   border-bottom: 1px solid #ddd;
   .box-shadow(0 1px 0 rgba(255,255,255,.5));
   h1 {
-    margin-bottom: (@baseline / 2) - 1px;
+    margin-bottom: (@baseLineHeight / 2) - 1px;
   }
 }
 
@@ -488,7 +488,7 @@ footer {
   padding: 5px 14px 6px;
   text-shadow: 0 1px 1px rgba(255,255,255,.75);
   color: #333;
-  font-size: @basefont;
+  font-size: @baseFontSize;
   line-height: normal;
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
@@ -540,14 +540,14 @@ footer {
 
   // Button Sizes
   &.large {
-    font-size: @basefont + 2px;
+    font-size: @baseFontSize + 2px;
     line-height: normal;
     padding: 9px 14px 9px;
     .border-radius(6px);
   }
   &.small {
     padding: 7px 9px 7px;
-    font-size: @basefont - 2px;
+    font-size: @baseFontSize - 2px;
   }
 }
 // Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons
@@ -621,7 +621,7 @@ input[type=submit].btn {
   color: @black;
   font-size: 20px;
   font-weight: bold;
-  line-height: @baseline * .75;
+  line-height: @baseLineHeight * .75;
   text-shadow: 0 1px 0 rgba(255,255,255,1);
   .opacity(20);
   &:hover {
@@ -639,7 +639,7 @@ input[type=submit].btn {
 .alert-message {
   position: relative;
   padding: 7px 15px;
-  margin-bottom: @baseline;
+  margin-bottom: @baseLineHeight;
   color: @grayDark;
   .gradientBar(#fceec1, #eedc94); // warning by default
   text-shadow: 0 1px 0 rgba(255,255,255,.5);
@@ -655,7 +655,7 @@ input[type=submit].btn {
 
   // Remove extra margin from content
   h5 {
-    line-height: @baseline;
+    line-height: @baseLineHeight;
   }
   p {
     margin-bottom: 0;
@@ -715,8 +715,8 @@ input[type=submit].btn {
 // ----------
 
 .pagination {
-  height: @baseline * 2;
-  margin: @baseline 0;
+  height: @baseLineHeight * 2;
+  margin: @baseLineHeight 0;
   ul {
     float: left;
     margin: 0;
@@ -731,7 +731,7 @@ input[type=submit].btn {
   a {
     float: left;
     padding: 0 14px;
-    line-height: (@baseline * 2) - 2;
+    line-height: (@baseLineHeight * 2) - 2;
     border-right: 1px solid;
     border-right-color: #ddd;
     border-right-color: rgba(0,0,0,.15);
@@ -972,7 +972,7 @@ input[type=submit].btn {
 .label {
   padding: 1px 3px 2px;
   background-color: @grayLight;
-  font-size: @basefont * .75;
+  font-size: @baseFontSize * .75;
   font-weight: bold;
   color: @white;
   text-transform: uppercase;
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 26bb0cc059..b6852535c9 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -12,7 +12,9 @@ html, body {
 }
 body {
   margin: 0;
-  #font > .sans-serif(normal,@basefont,@baseline);
+  font-family: @baseFontFamily;
+  font-size: @baseFontSize;
+  line-height: @baseLineHeight;
   color: @grayDark;
 }
 
diff --git a/lib/tables.less b/lib/tables.less
index 988483f0ef..8a786ffd2a 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -9,16 +9,16 @@
 
 table {
   width: 100%;
-  margin-bottom: @baseline;
+  margin-bottom: @baseLineHeight;
   padding: 0;
   border-collapse: separate; // Done so we can round those corners!
   *border-collapse: collapse; /* IE7, collapse table to remove spacing */
-  font-size: @basefont;
+  font-size: @baseFontSize;
   border: 1px solid #ddd;
   .border-radius(4px);
   th, td {
     padding: 10px 10px 9px;
-    line-height: @baseline;
+    line-height: @baseLineHeight;
     text-align: left;
   }
   th {
diff --git a/lib/type.less b/lib/type.less
index ea1f289e72..4232a24dff 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -7,10 +7,12 @@
 // ---------
 
 p {
-  #font > .shorthand(normal,@basefont,@baseline);
-  margin-bottom: @baseline / 2;
+  font-family: @baseFontFamily;
+  font-size: @baseFontSize;
+  line-height: @baseLineHeight;
+  margin-bottom: @baseLineHeight / 2;
   small {
-    font-size: @basefont - 2;
+    font-size: @baseFontSize - 2;
     color: @grayLight;
   }
 }
@@ -27,22 +29,22 @@ h1, h2, h3, h4, h5, h6 {
   }
 }
 h1 {
-  margin-bottom: @baseline;
+  margin-bottom: @baseLineHeight;
   font-size: 30px;
-  line-height: @baseline * 2;
+  line-height: @baseLineHeight * 2;
   small {
     font-size: 18px;
   }
 }
 h2 {
   font-size: 24px;
-  line-height: @baseline * 2;
+  line-height: @baseLineHeight * 2;
   small {
     font-size: 14px;
   }
 }
 h3 {
-  line-height: @baseline * 2;
+  line-height: @baseLineHeight * 2;
   font-size: 18px;
   small {
     font-size: 14px;
@@ -50,18 +52,18 @@ h3 {
 }
 h4 {
   font-size: 16px;
-  line-height: @baseline * 2;
+  line-height: @baseLineHeight * 2;
   small {
     font-size: 12px;
   }
 }
 h5 {
   font-size: 14px;
-  line-height: @baseline;
+  line-height: @baseLineHeight;
 }
 h6 {
   font-size: 13px;
-  line-height: @baseline;
+  line-height: @baseLineHeight;
   color: @grayLight;
   text-transform: uppercase;
 }
@@ -72,7 +74,7 @@ h6 {
 
 // Unordered and Ordered lists
 ul, ol {
-  margin: 0 0 @baseline 25px;
+  margin: 0 0 @baseLineHeight 25px;
 }
 ul ul,
 ul ol,
@@ -87,7 +89,7 @@ ol {
   list-style: decimal;
 }
 li {
-  line-height: @baseline;
+  line-height: @baseLineHeight;
   color: @gray;
 }
 ul.unstyled {
@@ -97,15 +99,15 @@ ul.unstyled {
 
 // Description Lists
 dl {
-  margin-bottom: @baseline;
+  margin-bottom: @baseLineHeight;
   dt, dd {
-    line-height: @baseline;
+    line-height: @baseLineHeight;
   }
   dt {
     font-weight: bold;
   }
   dd {
-    margin-left: @baseline / 2;
+    margin-left: @baseLineHeight / 2;
   }
 }
 
@@ -135,16 +137,16 @@ em {
 
 // Blockquotes
 blockquote {
-  margin-bottom: @baseline;
+  margin-bottom: @baseLineHeight;
   border-left: 5px solid #eee;
   padding-left: 15px;
   p {
-    #font > .shorthand(300,14px,@baseline);
+    #font > .shorthand(300,14px,@baseLineHeight);
     margin-bottom: 0;
   }
   small {
     display: block;
-    #font > .shorthand(300,12px,@baseline);
+    #font > .shorthand(300,12px,@baseLineHeight);
     color: @grayLight;
     &:before {
       content: '\2014 \00A0';
@@ -155,14 +157,14 @@ blockquote {
 // Addresses
 address {
   display: block;
-  line-height: @baseline;
-  margin-bottom: @baseline;
+  line-height: @baseLineHeight;
+  margin-bottom: @baseLineHeight;
 }
 
 // Inline and block code styles
 code, pre {
   padding: 0 3px 2px;
-  font-family: Monaco, Andale Mono, Courier New, monospace;
+  font-family: Menlo, Monaco, Andale Mono, Courier New, monospace;
   font-size: 12px;
   .border-radius(3px);
 }
@@ -174,9 +176,9 @@ code {
 pre {
   background-color: #f5f5f5;
   display: block;
-  padding: (@baseline - 1) / 2;
-  margin: 0 0 @baseline;
-  line-height: @baseline;
+  padding: (@baseLineHeight - 1) / 2;
+  margin: 0 0 @baseLineHeight;
+  line-height: @baseLineHeight;
   font-size: 12px;
   border: 1px solid #ccc;
   border: 1px solid rgba(0,0,0,.15);
diff --git a/lib/variables.less b/lib/variables.less
index dcb0a8ebf0..864dbe8c03 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -3,19 +3,27 @@
  * ----------------------------------------------------- */
 
 
-// Links
+// LINK COLORS
+// -----------
+
 @linkColor:         #0069d6;
 @linkColorHover:    darken(@linkColor, 15);
 
-// Grays
+
+// GRAYS
+// -----
+
 @black:             #000;
-@grayDark:          #333;
-@gray:              #555;
-@grayLight:         #777;
-@grayLighter:       #ccc;
+@grayDark:          lighten(@black, 25%);
+@gray:              lighten(@black, 50%);
+@grayLight:         lighten(@black, 75%);
+@grayLighter:       lighten(@black, 90%);
 @white:             #fff;
 
-// Accent Colors
+
+// ACCENT COLORS
+// -------------
+
 @blue:              #049CDB;
 @blueDark:          #0064CD;
 @green:             #46a546;
@@ -25,11 +33,10 @@
 @pink:              #c3325f;
 @purple:            #7a43b6;
 
-// Baseline grid
-@basefont:          13px;
-@baseline:          18px;
 
-// Griditude
+// GRID
+// ----
+
 // Modify the grid styles in mixins.less
 @gridColumns:       16;
 @gridColumnWidth:   40px;
@@ -37,7 +44,10 @@
 @extraSpace:        (@gridGutterWidth * 2); // For our grid calculations
 @siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
 
-// Color Scheme
+
+// COLOR SCHEME
+// ------------
+
 // Use this to roll your own color schemes if you like (unused by Bootstrap by default)
 @baseColor:         @blue;                  // Set a base color
 @complement:        spin(@baseColor, 180);  // Determine a complementary color
@@ -51,10 +61,13 @@
 @analog2:           spin(@baseColor, -22);
 
 
+// THEME VARIABLES
+// ---------------
+
+// Typography
+@baseFontSize:          13px;
+@baseFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
+@baseLineHeight:        18px;
 
-// More variables coming soon:
-// - @basefont to @baseFontSize
-// - @baseline to @baseLineHeight
-// - @baseFontFamily
-// - @primaryButtonColor
-// - anything else? File an issue on GitHub
\ No newline at end of file
+// Visuals
+@primaryButtonColor:    @blue;
-- 
GitLab


From cde17c94919ef26093145e5412c6d425d3199d9f Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 4 Oct 2011 00:48:31 -0700
Subject: [PATCH 013/576] adding placeholder font-face mixin which doesn't work
 yet

---
 bootstrap.css   |  2 +-
 lib/mixins.less | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 75928c7490..2b0e88c86d 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Oct  4 00:16:55 PDT 2011
+ * Date: Tue Oct  4 00:48:20 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
diff --git a/lib/mixins.less b/lib/mixins.less
index c43f166328..47eb1a1c38 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -71,6 +71,20 @@
   }
 }
 
+// Font face generator
+.font-face(@fontFamily, @fileName, @style, @weight) {
+  @font-face {
+    font-family: @fontFamily;
+    font-style: @style;
+    font-weight: @weight;
+    src: url('@{fileName}.eot');
+    src: url('@{fileName}.eot?#iefix') format('embedded-opentype'),
+         url('@{fileName}.woff') format('woff'),
+         url('@{fileName}.ttf') format('truetype'),
+         url('@{fileName}.svg#@{fontFamily}') format('svg');
+  }
+}
+
 // Grid System
 .fixed-container() {
   width: @siteWidth;
-- 
GitLab


From bdbc35206630645e6cc6655ec9e50aa70081a2fb Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 4 Oct 2011 00:55:35 -0700
Subject: [PATCH 014/576] adding new mixins

---
 lib/mixins.less | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/lib/mixins.less b/lib/mixins.less
index 47eb1a1c38..9c27346c2a 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -155,13 +155,24 @@
 .rotation(@degrees: 5deg) {
   -webkit-transform: rotate(@degrees);
      -moz-transform: rotate(@degrees);
+      -ms-transform: rotate(@degrees);
+       -o-transform: rotate(@degrees);
           transform: rotate(@degrees);
 }
 .scale(@value: 1.5) {
   -webkit-transform: scale(@value);
      -moz-transform: scale(@value);
+      -ms-transform: scale(@value);
+       -o-transform: scale(@value);
           transform: scale(@value);
 }
+.translate(@x: 0, @y: 0) {
+  -webkit-transform: translate(@x, @y);
+     -moz-transform: translate(@x, @y);
+      -ms-transform: translate(@x, @y);
+       -o-transform: translate(@x, @y);
+          transform: translate(@x, @y);
+}
 
 // Background clipping
 .background-clip(@clip) {
-- 
GitLab


From 913338f930736a1b186178469c6eafb55c1dbea8 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 4 Oct 2011 01:15:31 -0700
Subject: [PATCH 015/576] fixing multi select on chromium ubuntu by setting
 background color explicitly

---
 bootstrap.css     | 3 ++-
 bootstrap.min.css | 2 +-
 lib/forms.less    | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 2b0e88c86d..ab96f6c7c6 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Oct  4 00:48:20 PDT 2011
+ * Date: Tue Oct  4 01:15:08 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -645,6 +645,7 @@ select, input[type=file] {
 
 }
 select[multiple] {
+  background-color: #ffffff;
   height: inherit;
 }
 textarea {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4ba50158e6..9a241d80d0 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -113,7 +113,7 @@ input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3
 input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-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:27px;line-height:27px;*margin-top:4px;}
-select[multiple]{height:inherit;}
+select[multiple]{background-color:#ffffff;height:inherit;}
 textarea{height:auto;}
 input,textarea{-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;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);}
 input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);}
diff --git a/lib/forms.less b/lib/forms.less
index b657e53d65..4bdddc3a2e 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -97,6 +97,7 @@ input[type=file] {
 
 // Make multiple select elements height not fixed
 select[multiple] {
+  background-color: @white; // Fixes Chromium bug?
   height: inherit;
 }
 
-- 
GitLab


From a91a407bd60a266f928b5fea70d3c4332394b3c8 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 4 Oct 2011 21:48:53 -0700
Subject: [PATCH 016/576] start updating to data- driven js

---
 js/bootstrap-alerts.js   |  6 ++--
 js/bootstrap-dropdown.js | 27 ++++++++-------
 js/bootstrap-modal.js    | 71 +++++++++++++++++++++++++---------------
 js/bootstrap-popover.js  |  6 ++--
 js/bootstrap-tabs.js     | 18 ++++++----
 js/bootstrap-twipsy.js   |  4 +--
 6 files changed, 80 insertions(+), 52 deletions(-)

diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index 82bcac5246..4498270cb9 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -53,7 +53,7 @@
 
   var Alert = function ( content, selector ) {
     this.$element = $(content)
-      .delegate(selector || '.close', 'click', this.close)
+      .delegate('[data-alert-dismiss]', 'click', this.close)
   }
 
   Alert.prototype = {
@@ -62,6 +62,8 @@
       var $element = $(this).parent('.alert-message')
 
       e && e.preventDefault()
+      e && e.stopPropagation()
+
       $element.removeClass('in')
 
       function removeElement () {
@@ -98,7 +100,7 @@
   }
 
   $(document).ready(function () {
-    new Alert($('body'), '.alert-message[data-alert] .close')
+    new Alert($('body'))
   })
 
 })( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 75320c0f87..6379653c56 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -20,23 +20,14 @@
 
 (function( $ ){
 
-  var d = '.dropdown-toggle'
-
-  function clearMenus() {
-    $(d).parent('li').removeClass('open')
-  }
-
-  $(function () {
-    $('html').bind("click", clearMenus)
-    $('body').dropdown( '[data-dropdown] .dropdown-toggle' )
-  })
+  var d = '[data-dropdown]'
 
   /* DROPDOWN PLUGIN DEFINITION
    * ========================== */
 
-  $.fn.dropdown = function ( selector ) {
+  $.fn.dropdown = function () {
     return this.each(function () {
-      $(this).delegate(selector || d, 'click', function (e) {
+      $(this).delegate(d, 'click', function (e) {
         var li = $(this).parent('li')
           , isActive = li.hasClass('open')
 
@@ -47,4 +38,16 @@
     })
   }
 
+  /* APPLY TO STANDARD DROPDOWN ELEMENTS
+   * =================================== */
+
+  function clearMenus() {
+    $(d).parent('li').removeClass('open')
+  }
+
+  $(function () {
+    $('html').bind("click", clearMenus)
+    $('body').dropdown()
+  })
+
 })( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 5c38a7477b..c8d41a50b2 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -18,7 +18,7 @@
  * ========================================================= */
 
 
-(function( $ ){
+!function( $ ){
 
  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
   * ======================================================= */
@@ -53,16 +53,12 @@
   * ============================= */
 
   var Modal = function ( content, options ) {
-    this.settings = $.extend({}, $.fn.modal.defaults)
+    this.settings = $.extend({}, $.fn.modal.defaults, options)
     this.$element = $(content)
-      .delegate('.js-dismiss', 'click.modal', $.proxy(this.hide, this))
+      .delegate('[data-modal-dismiss]', $.proxy(this.hide, this))
 
-    if ( options ) {
-      $.extend( this.settings, options )
-
-      if ( options.show ) {
-        this.show()
-      }
+    if ( this.settings.show ) {
+      this.show()
     }
 
     return this
@@ -81,15 +77,23 @@
 
         escape.call(this)
         backdrop.call(this, function () {
+          var transition = $.support.transition && that.$element.hasClass('fade')
+
           that.$element
             .appendTo(document.body)
             .show()
 
-          setTimeout(function () {
-            that.$element
-              .addClass('in')
-              .trigger('shown')
-          }, 1)
+          if (transition) {
+            that.$element[0].offsetWidth // force reflow
+          }
+
+          that.$element
+            .addClass('in')
+
+          transition ?
+            that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
+            that.$element.trigger('shown')
+
         })
 
         return this
@@ -98,6 +102,10 @@
     , hide: function (e) {
         e && e.preventDefault()
 
+        if ( !this.isShown ) {
+          return this
+        }
+
         var that = this
         this.isShown = false
 
@@ -132,16 +140,25 @@
     var that = this
       , animate = this.$element.hasClass('fade') ? 'fade' : ''
     if ( this.isShown && this.settings.backdrop ) {
+      var doAnimate = $.support.transition && animate
+
       this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
-        .click($.proxy(this.hide, this))
         .appendTo(document.body)
 
-      setTimeout(function () {
-        that.$backdrop && that.$backdrop.addClass('in')
-        $.support.transition && that.$backdrop.hasClass('fade') ?
-          that.$backdrop.one(transitionEnd, callback) :
-          callback()
-      })
+      if ( this.settings.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(transitionEnd, callback) :
+        callback()
+
     } else if ( !this.isShown && this.$backdrop ) {
       this.$backdrop.removeClass('in')
 
@@ -161,13 +178,13 @@
   function escape() {
     var that = this
     if ( this.isShown && this.settings.keyboard ) {
-      $('body').bind('keyup.modal', function ( e ) {
+      $(document).bind('keyup.modal', function ( e ) {
         if ( e.which == 27 ) {
           that.hide()
         }
       })
     } else if ( !this.isShown ) {
-      $('body').unbind('keyup.modal')
+      $(document).unbind('keyup.modal')
     }
   }
 
@@ -209,12 +226,12 @@
   $.fn.modal.defaults = {
     backdrop: false
   , keyboard: false
-  , show: true
+  , show: false
   }
 
 
- /* MODAL DATA- IMPLEMENTATION
-  * ========================== */
+ /* MODAL DATA-IMPLEMENTATION
+  * ========================= */
 
   $(document).ready(function () {
     $('body').delegate('[data-controls-modal]', 'click', function (e) {
@@ -224,4 +241,4 @@
     })
   })
 
-})( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index e41090a3b3..1cf4b8917a 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -18,7 +18,7 @@
  * =========================================================== */
 
 
-(function( $ ) {
+!function( $ ) {
 
   var Popover = function ( element, options ) {
     this.$element = $(element)
@@ -40,7 +40,7 @@
     }
 
   , getContent: function () {
-      var contentvar
+      var content
        , $e = this.$element
        , o = this.options
 
@@ -74,4 +74,4 @@
 
   $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, { content: 'data-content', placement: 'right'})
 
-})( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index 807b366a35..b94adfc25d 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -18,30 +18,36 @@
  * ======================================================== */
 
 
-(function( $ ){
+!function( $ ){
 
   function activate ( element, container ) {
-    container.find('.active').removeClass('active')
+    container.find('> .active').removeClass('active')
     element.addClass('active')
   }
 
   function tab( e ) {
     var $this = $(this)
+      , $ul = $this.closest('ul')
       , href = $this.attr('href')
-      , $ul = $(e.liveFired)
-      , $controlled
+      , previous
 
     if (/^#\w+/.test(href)) {
       e.preventDefault()
 
-      if ($this.hasClass('active')) {
+      if ($this.parent('li').hasClass('active')) {
         return
       }
 
+      previous = $ul.find('.active a')[0]
       $href = $(href)
 
       activate($this.parent('li'), $ul)
       activate($href, $href.parent())
+
+      $this.trigger({
+        type: 'change'
+      , relatedTarget: previous
+      })
     }
   }
 
@@ -59,4 +65,4 @@
     $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
   })
 
-})( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index bc92f97fe1..0144c48158 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -19,7 +19,7 @@
  * ========================================================== */
 
 
-(function( $ ) {
+!function( $ ) {
 
  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
   * ======================================================= */
@@ -304,4 +304,4 @@
     return $.metadata ? $.extend({}, options, $(ele).metadata()) : options
   }
 
-})( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery || window.ender );
\ No newline at end of file
-- 
GitLab


From c9669be1ec2862b88ffdb296191e82fed79f56a4 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 5 Oct 2011 00:14:55 -0700
Subject: [PATCH 017/576] get modal working with new data-attrs

---
 docs/javascript.html  | 21 +++++++++------------
 js/bootstrap-modal.js |  2 +-
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index d5eb987392..9f2b138763 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -12,7 +12,7 @@
     <![endif]-->
 
     <!-- Le javascript -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
     <script src="../js/bootstrap-modal.js"></script>
@@ -182,7 +182,7 @@ $('#my-modal').bind('hidden', function () {
           <!-- sample modal content -->
           <div id="modal-from-dom" class="modal hide fade">
             <div class="modal-header">
-              <a href="#" class="close js-dismiss">&times;</a>
+              <a href="#" class="close" data-modal-dismiss="true" >&times;</a>
               <h3>Modal Heading</h3>
             </div>
             <div class="modal-body">
@@ -190,12 +190,10 @@ $('#my-modal').bind('hidden', function () {
             </div>
             <div class="modal-footer">
               <a href="#" class="btn primary">Save changes</a>
-              <a href="#" class="btn js-dismiss">Close</a>
+              <a href="#" class="btn" data-modal-dismiss="true" >Close</a>
             </div>
           </div>
-
           <button data-controls-modal="modal-from-dom" data-backdrop="true" data-keyboard="true" class="btn danger">Launch Modal</button>
-
         </div>
       </div>
     </section>
@@ -221,7 +219,7 @@ $('#my-modal').bind('hidden', function () {
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
   &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li class="dropdown" data-dropdown="dropdown" &gt;
+  &lt;li class="dropdown" data-dropdown="true" &gt;
     &lt;a href="#" class="dropdown-toggle"&gt;Dropdown&lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
       &lt;li&gt;&lt;a href="#"&gt;Secondary link&lt;/a&gt;&lt;/li&gt;
@@ -231,7 +229,6 @@ $('#my-modal').bind('hidden', function () {
     &lt;/ul&gt;
   &lt;/li&gt;
 &lt;/ul&gt;</pre>
-          <p><span class="label notice">Notice</span> If your ui has several dropdowns, consider adding the <code>data-dropdown</code> attribute to a more significant container element like <code>.tabs</code> or <code>.topbar</code>.
           <h3>Methods</h3>
           <h4>$().dropdown()</h4>
           <p>
@@ -239,7 +236,7 @@ $('#my-modal').bind('hidden', function () {
           </p>
           <h3>Demo</h3>
           <div class="topbar-wrapper">
-            <div id="topbar-example" class="topbar" data-dropdown="dropdown">
+            <div id="topbar-example" class="topbar">
               <div class="topbar-inner">
                 <div class="container">
                   <a class="brand" href="#">Project Name</a>
@@ -252,7 +249,7 @@ $('#my-modal').bind('hidden', function () {
                   </form>
                   <ul class="nav secondary-nav">
                     <li class="dropdown">
-                      <a href="#" class="dropdown-toggle">Dropdown 1</a>
+                      <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 1</a>
                       <ul class="dropdown-menu">
                         <li><a href="#">Secondary link</a></li>
                         <li><a href="#">Something else here</a></li>
@@ -261,7 +258,7 @@ $('#my-modal').bind('hidden', function () {
                       </ul>
                     </li>
                     <li class="dropdown">
-                      <a href="#" class="dropdown-toggle">Dropdown 2</a>
+                      <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 2</a>
                       <ul class="dropdown-menu">
                         <li><a href="#">Secondary link</a></li>
                         <li><a href="#">Something else here</a></li>
@@ -645,11 +642,11 @@ $('#my-modal').bind('hidden', function () {
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
           <h3>Demo</h3>
           <div class="alert-message warning fade in" data-alert="alert" >
-            <a class="close" href="#">&times;</a>
+            <a class="close" data-alert-dismiss="true" href="#">&times;</a>
             <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
           </div>
           <div class="alert-message block-message error fade in" data-alert="alert" >
-            <a class="close" href="#">&times;</a>
+            <a class="close" data-alert-dismiss="true" href="#">&times;</a>
             <p><strong>Oh snap! You got an error!</strong> Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
             <div class="alert-actions">
               <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index c8d41a50b2..60b83d58fd 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -55,7 +55,7 @@
   var Modal = function ( content, options ) {
     this.settings = $.extend({}, $.fn.modal.defaults, options)
     this.$element = $(content)
-      .delegate('[data-modal-dismiss]', $.proxy(this.hide, this))
+      .delegate('[data-modal-dismiss]', 'click', $.proxy(this.hide, this))
 
     if ( this.settings.show ) {
       this.show()
-- 
GitLab


From f61fe3c4746ec09ff64756797fe6314be5f53b30 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 9 Oct 2011 21:13:26 -0700
Subject: [PATCH 018/576] refactor fluid layout to be more specific to not
 interfere with modal content while adding right sidebar option

---
 bootstrap.css               |  49 +++++++-------
 bootstrap.min.css           |  22 ++++---
 docs/index.html             |   2 +-
 examples/fluid-reverse.html | 126 ++++++++++++++++++++++++++++++++++++
 examples/fluid.html         |   8 +--
 lib/patterns.less           |  85 ++++++++++++------------
 lib/scaffolding.less        |  26 +++++---
 7 files changed, 229 insertions(+), 89 deletions(-)
 create mode 100644 examples/fluid-reverse.html

diff --git a/bootstrap.css b/bootstrap.css
index ab96f6c7c6..8022cf2a00 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Oct  4 01:15:08 PDT 2011
+ * Date: Sun Oct  9 21:12:03 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -205,29 +205,38 @@ body {
 .container:after {
   clear: both;
 }
-.container-fluid {
+.fluid-container {
   position: relative;
   min-width: 940px;
   padding-left: 20px;
   padding-right: 20px;
   zoom: 1;
 }
-.container-fluid:before, .container-fluid:after {
+.fluid-container:before, .fluid-container:after {
   display: table;
   content: "";
   zoom: 1;
   *display: inline;
 }
-.container-fluid:after {
+.fluid-container:after {
   clear: both;
 }
-.container-fluid > .sidebar {
-  float: left;
+.fluid-sidebar-left, .fluid-sidebar-right {
   width: 220px;
 }
-.container-fluid > .content {
+.fluid-sidebar-left {
+  float: left;
+}
+.fluid-sidebar-right {
+  float: right;
+}
+.fluid-content {
   margin-left: 240px;
 }
+.fluid-container.reverse .fluid-content {
+  margin-left: 0;
+  margin-right: 240px;
+}
 a {
   color: #0069d6;
   text-decoration: none;
@@ -1142,19 +1151,12 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-color: transparent;
   color: #ffffff;
 }
-.topbar form {
-  float: left;
-  margin: 5px 0 0 0;
+.topbar .form-search {
   position: relative;
-  filter: alpha(opacity=100);
-  -khtml-opacity: 1;
-  -moz-opacity: 1;
-  opacity: 1;
-}
-.topbar form.pull-right {
-  float: right;
+  margin-top: 5px;
+  margin-bottom: 0;
 }
-.topbar input {
+.topbar .form-search input {
   background-color: #444;
   background-color: rgba(255, 255, 255, 0.3);
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -1177,18 +1179,18 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -o-transition: none;
   transition: none;
 }
-.topbar input:-moz-placeholder {
+.topbar .form-search input:-moz-placeholder {
   color: #e6e6e6;
 }
-.topbar input::-webkit-input-placeholder {
+.topbar .form-search input::-webkit-input-placeholder {
   color: #e6e6e6;
 }
-.topbar input:hover {
+.topbar .form-search input:hover {
   background-color: #bfbfbf;
   background-color: rgba(255, 255, 255, 0.5);
   color: #ffffff;
 }
-.topbar input:focus, .topbar input.focused {
+.topbar .form-search input:focus, .topbar .form-search input.focused {
   outline: 0;
   background-color: #ffffff;
   color: #404040;
@@ -1199,6 +1201,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
   box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
 }
+.topbar .pull-right {
+  float: right;
+}
 .topbar-inner {
   background-color: #222;
   background-color: #222222;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9a241d80d0..325c50e92b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -24,10 +24,13 @@ html,body{background-color:#ffffff;}
 body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;}
 .container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;*display:inline;}
 .container:after{clear:both;}
-.container-fluid{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";zoom:1;*display:inline;}
-.container-fluid:after{clear:both;}
-.container-fluid>.sidebar{float:left;width:220px;}
-.container-fluid>.content{margin-left:240px;}
+.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";zoom:1;*display:inline;}
+.fluid-container:after{clear:both;}
+.fluid-sidebar-left,.fluid-sidebar-right{width:220px;}
+.fluid-sidebar-left{float:left;}
+.fluid-sidebar-right{float:right;}
+.fluid-content{margin-left:240px;}
+.fluid-container.reverse .fluid-content{margin-left:0;margin-right:240px;}
 a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;}
 .pull-right{float:right;}
 .pull-left{float:left;}
@@ -200,12 +203,11 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .topbar .brand a:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
 .topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
 .topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;}
-.topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
-.topbar form.pull-right{float:right;}
-.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#e6e6e6;}
-.topbar input::-webkit-input-placeholder{color:#e6e6e6;}
-.topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
-.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
+.topbar .form-search{position:relative;margin-top:5px;margin-bottom:0;}.topbar .form-search input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar .form-search input:-moz-placeholder{color:#e6e6e6;}
+.topbar .form-search input::-webkit-input-placeholder{color:#e6e6e6;}
+.topbar .form-search input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
+.topbar .form-search input:focus,.topbar .form-search input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
+.topbar .pull-right{float:right;}
 .topbar-inner{background-color:#222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
diff --git a/docs/index.html b/docs/index.html
index 137144991f..194111b780 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1278,7 +1278,7 @@
               </ul>
             </li>
           </ul>
-          <form class="pull-left" action="">
+          <form class="form-search pull-left" action="">
             <input type="text" placeholder="Search" />
           </form>
           <ul class="nav secondary-nav">
diff --git a/examples/fluid-reverse.html b/examples/fluid-reverse.html
new file mode 100644
index 0000000000..7c13a44530
--- /dev/null
+++ b/examples/fluid-reverse.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <style type="text/css">
+      body {
+        padding-top: 60px;
+      }
+    </style>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+  </head>
+
+  <body>
+
+    <div class="topbar">
+      <div class="topbar-inner">
+        <div class="fluid-container">
+          <a class="brand" href="#">Project name</a>
+          <ul class="nav">
+            <li class="active"><a href="#">Home</a></li>
+            <li><a href="#about">About</a></li>
+            <li><a href="#contact">Contact</a></li>
+          </ul>
+          <p class="pull-right">Logged in as <a href="#">username</a></p>
+        </div>
+      </div>
+    </div>
+
+    <div class="fluid-container reverse">
+      <div class="fluid-sidebar-right">
+        <div class="well">
+          <h5>Sidebar</h5>
+          <ul>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+          </ul>
+          <h5>Sidebar</h5>
+          <ul>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+          </ul>
+          <h5>Sidebar</h5>
+          <ul>
+            <li><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+          </ul>
+        </div>
+      </div>
+      <div class="fluid-content">
+        <!-- Main hero unit for a primary marketing message or call to action -->
+        <div class="hero-unit">
+          <h1>Hello, world!</h1>
+          <p>Vestibulum id ligula porta felis euismod semper. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+          <p><a class="btn primary large">Learn more &raquo;</a></p>
+        </div>
+
+        <!-- Example row of columns -->
+        <div class="row">
+          <div class="span6">
+            <h2>Heading</h2>
+            <p>Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+            <p><a class="btn" href="#">View details &raquo;</a></p>
+          </div>
+          <div class="span5">
+            <h2>Heading</h2>
+             <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
+            <p><a class="btn" href="#">View details &raquo;</a></p>
+         </div>
+          <div class="span5">
+            <h2>Heading</h2>
+            <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
+            <p><a class="btn" href="#">View details &raquo;</a></p>
+          </div>
+        </div>
+
+        <hr>
+
+        <!-- Example row of columns -->
+        <div class="row">
+          <div class="span6">
+            <h2>Heading</h2>
+            <p>Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+            <p><a class="btn" href="#">View details &raquo;</a></p>
+          </div>
+          <div class="span5">
+            <h2>Heading</h2>
+             <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
+            <p><a class="btn" href="#">View details &raquo;</a></p>
+         </div>
+          <div class="span5">
+            <h2>Heading</h2>
+            <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
+            <p><a class="btn" href="#">View details &raquo;</a></p>
+          </div>
+        </div>
+
+        <footer>
+          <p>&copy; Company 2011</p>
+        </footer>
+      </div>
+    </div>
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/examples/fluid.html b/examples/fluid.html
index eacb5c3d2d..c6387846b6 100644
--- a/examples/fluid.html
+++ b/examples/fluid.html
@@ -30,7 +30,7 @@
 
     <div class="topbar">
       <div class="topbar-inner">
-        <div class="container-fluid">
+        <div class="fluid-container">
           <a class="brand" href="#">Project name</a>
           <ul class="nav">
             <li class="active"><a href="#">Home</a></li>
@@ -42,8 +42,8 @@
       </div>
     </div>
 
-    <div class="container-fluid">
-      <div class="sidebar">
+    <div class="fluid-container">
+      <div class="fluid-sidebar-left">
         <div class="well">
           <h5>Sidebar</h5>
           <ul>
@@ -68,7 +68,7 @@
           </ul>
         </div>
       </div>
-      <div class="content">
+      <div class="fluid-content">
         <!-- Main hero unit for a primary marketing message or call to action -->
         <div class="hero-unit">
           <h1>Hello, world!</h1>
diff --git a/lib/patterns.less b/lib/patterns.less
index 1b27b71847..8ceffaa996 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -54,54 +54,53 @@
   }
 
   // Search Form
-  form {
-    float: left;
-    margin: 5px 0 0 0;
+  .form-search {
     position: relative;
-    .opacity(100);
+    margin-top: 5px;
+    margin-bottom: 0;
+    input {
+      background-color: #444;
+      background-color: rgba(255,255,255,.3);
+      #font > .sans-serif(13px, normal, 1);
+      padding: 4px 9px;
+      color: @white;
+      color: rgba(255,255,255,.75);
+      border: 1px solid #111;
+      .border-radius(4px);
+      @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
+      .box-shadow(@shadow);
+      .transition(none);
+
+      // Placeholder text gets special styles; can't be bundled together though for some reason
+      &:-moz-placeholder {
+        color: @grayLighter;
+      }
+      &::-webkit-input-placeholder {
+        color: @grayLighter;
+      }
+      // Hover states
+      &:hover {
+        background-color: @grayLight;
+        background-color: rgba(255,255,255,.5);
+        color: @white;
+      }
+      // Focus states (we use .focused since IE8 and down doesn't support :focus)
+      &:focus,
+      &.focused {
+        outline: 0;
+        background-color: @white;
+        color: @grayDark;
+        text-shadow: 0 1px 0 @white;
+        border: 0;
+        padding: 5px 10px;
+        .box-shadow(0 0 3px rgba(0,0,0,.15));
+      }
+    }
   }
   // Todo: remove from v2.0 when ready, added for legacy
-  form.pull-right {
+  .pull-right {
     float: right;
   }
-  input {
-    background-color: #444;
-    background-color: rgba(255,255,255,.3);
-    #font > .sans-serif(13px, normal, 1);
-    padding: 4px 9px;
-    color: @white;
-    color: rgba(255,255,255,.75);
-    border: 1px solid #111;
-    .border-radius(4px);
-    @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
-    .box-shadow(@shadow);
-    .transition(none);
-
-    // Placeholder text gets special styles; can't be bundled together though for some reason
-    &:-moz-placeholder {
-      color: @grayLighter;
-    }
-    &::-webkit-input-placeholder {
-      color: @grayLighter;
-    }
-    // Hover states
-    &:hover {
-      background-color: @grayLight;
-      background-color: rgba(255,255,255,.5);
-      color: @white;
-    }
-    // Focus states (we use .focused since IE8 and down doesn't support :focus)
-    &:focus,
-    &.focused {
-      outline: 0;
-      background-color: @white;
-      color: @grayDark;
-      text-shadow: 0 1px 0 @white;
-      border: 0;
-      padding: 5px 10px;
-      .box-shadow(0 0 3px rgba(0,0,0,.15));
-    }
-  }
 }
 
 // gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index b6852535c9..00a8ee3b35 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -24,20 +24,28 @@ body {
 }
 
 // Fluid layouts (left aligned, with sidebar, min- & max-width content)
-.container-fluid {
+.fluid-container {
   position: relative;
   min-width: 940px;
   padding-left: 20px;
   padding-right: 20px;
   .clearfix();
-  > .sidebar {
-    float: left;
-    width: 220px;
-  }
-  // TODO in v2: rename this and .popover .content to be more specific
-  > .content {
-    margin-left: 240px;
-  }
+}
+// Sidebars (left and right options)
+.fluid-sidebar-left,
+.fluid-sidebar-right {
+  width: 220px;
+}
+.fluid-sidebar-left   { float: left; }
+.fluid-sidebar-right  { float: right; }
+// The main content area
+.fluid-content {
+  margin-left: 240px;
+}
+// Reverse layout for sidebar on right
+.fluid-container.reverse .fluid-content {
+  margin-left: 0;
+  margin-right: 240px;
 }
 
 
-- 
GitLab


From dd1efdf0d5ec2469978a65c845cc5dfd16b74899 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 9 Oct 2011 21:25:28 -0700
Subject: [PATCH 019/576] update input prepend and append to use baseline
 variable

---
 bootstrap.css  | 2 +-
 lib/forms.less | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8022cf2a00..cd74091985 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct  9 21:12:03 PDT 2011
+ * Date: Sun Oct  9 21:24:37 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
diff --git a/lib/forms.less b/lib/forms.less
index 4bdddc3a2e..4b2bb80166 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -323,11 +323,11 @@ textarea[readonly] {
     display: block;
     width: auto;
     min-width: 16px;
-    height: 18px;
+    height: @baseLineHeight;
     padding: 4px 4px 4px 5px;
     margin-right: -1px;
     font-weight: normal;
-    line-height: 18px;
+    line-height: @baseLineHeight;
     color: @grayLight;
     text-align: center;
     text-shadow: 0 1px 0 @white;
-- 
GitLab


From 8ba005d38dd7a79ea3e90efb6efc7ac9ebcadc26 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 11 Oct 2011 09:44:51 -0700
Subject: [PATCH 020/576] new navbar introduced to replace topbar

---
 bootstrap.css        |  84 +++++++++++++----------
 bootstrap.min.css    |  23 ++++---
 docs/index.html      |  90 +++++++++++++------------
 docs/javascript.html |  68 ++++++++++---------
 lib/patterns.less    | 154 ++++++++++++++++++++++++-------------------
 5 files changed, 224 insertions(+), 195 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index cd74091985..728590ba26 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct  9 21:24:37 PDT 2011
+ * Date: Tue Oct 11 09:43:00 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1114,26 +1114,37 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 /* Patterns.less
  * Repeatable UI elements outside the base styles provided from the scaffolding
  * ---------------------------------------------------------------------------- */
-.topbar {
+.navbar {
   height: 40px;
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  z-index: 10000;
   overflow: visible;
 }
-.topbar a {
+.navbar-inner {
+  background-color: #222222;
+  background-color: #222222;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);
+  -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);
+}
+.navbar a {
   color: #bfbfbf;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
-.topbar .brand a:hover, .topbar ul .active > a {
-  background-color: #333;
+.navbar .brand a:hover, .navbar ul .active > a {
+  background-color: #333333;
   background-color: rgba(255, 255, 255, 0.05);
   color: #ffffff;
   text-decoration: none;
 }
-.topbar .brand {
+.navbar .brand {
   float: left;
   display: block;
   padding: 8px 20px 12px;
@@ -1143,20 +1154,21 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   font-weight: 200;
   line-height: 1;
 }
-.topbar p {
+.navbar p {
   margin: 0;
   line-height: 40px;
 }
-.topbar p a:hover {
+.navbar p a:hover {
   background-color: transparent;
   color: #ffffff;
 }
-.topbar .form-search {
+.navbar-search {
   position: relative;
   margin-top: 5px;
   margin-bottom: 0;
+  float: left;
 }
-.topbar .form-search input {
+.navbar-search input {
   background-color: #444;
   background-color: rgba(255, 255, 255, 0.3);
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -1179,18 +1191,18 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -o-transition: none;
   transition: none;
 }
-.topbar .form-search input:-moz-placeholder {
+.navbar-search input:-moz-placeholder {
   color: #e6e6e6;
 }
-.topbar .form-search input::-webkit-input-placeholder {
+.navbar-search input::-webkit-input-placeholder {
   color: #e6e6e6;
 }
-.topbar .form-search input:hover {
+.navbar-search input:hover {
   background-color: #bfbfbf;
   background-color: rgba(255, 255, 255, 0.5);
   color: #ffffff;
 }
-.topbar .form-search input:focus, .topbar .form-search input.focused {
+.navbar-search input:focus, .navbar-search input.focused {
   outline: 0;
   background-color: #ffffff;
   color: #404040;
@@ -1201,24 +1213,24 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
   box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
 }
-.topbar .pull-right {
-  float: right;
+.navbar-static {
+  margin-bottom: 18px;
 }
-.topbar-inner {
-  background-color: #222;
-  background-color: #222222;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
-  background-image: -moz-linear-gradient(top, #333333, #222222);
-  background-image: -ms-linear-gradient(top, #333333, #222222);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);
-  -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);
+.navbar-static .navbar-inner {
+  margin-left: -20px;
+  margin-right: -20px;
+  padding-left: 20px;
+  padding-right: 20px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.navbar-fixed {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  z-index: 10000;
 }
 .nav {
   display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 325c50e92b..0e949c6038 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -199,16 +199,19 @@ table .orange{color:#f89406;border-bottom-color:#f89406;}
 table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;}
 table .purple{color:#7a43b6;border-bottom-color:#7a43b6;}
 table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;}
-.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.topbar .brand a:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
-.topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
-.topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;}
-.topbar .form-search{position:relative;margin-top:5px;margin-bottom:0;}.topbar .form-search input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar .form-search input:-moz-placeholder{color:#e6e6e6;}
-.topbar .form-search input::-webkit-input-placeholder{color:#e6e6e6;}
-.topbar .form-search input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
-.topbar .form-search input:focus,.topbar .form-search input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
-.topbar .pull-right{float:right;}
-.topbar-inner{background-color:#222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
+.navbar{height:40px;overflow:visible;}
+.navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
+.navbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
+.navbar .brand a:hover,.navbar ul .active>a{background-color:#333333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
+.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
+.navbar p{margin:0;line-height:40px;}.navbar p a:hover{background-color:transparent;color:#ffffff;}
+.navbar-search{position:relative;margin-top:5px;margin-bottom:0;float:left;}.navbar-search input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search input:-moz-placeholder{color:#e6e6e6;}
+.navbar-search input::-webkit-input-placeholder{color:#e6e6e6;}
+.navbar-search input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
+.navbar-search input:focus,.navbar-search input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-static{margin-bottom:18px;}
+.navbar-static .navbar-inner{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.navbar-fixed{position:fixed;top:0;left:0;right:0;z-index:10000;}
 .nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
diff --git a/docs/index.html b/docs/index.html
index 194111b780..7e9d6c1d06 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -37,24 +37,24 @@
 
     <!-- Topbar
     ================================================== -->
-    <div class="topbar" data-scrollspy="scrollspy">
-      <div class="topbar-inner">
+    <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
+      <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="#">Bootstrap</a>
           <ul class="nav">
             <li class="active"><a href="#overview">Overview</a></li>
             <li><a href="#about">About</a></li>
 
-            <li class="dropdown" data-dropdown="dropdown">
-              <a href="#" class="dropdown-toggle">Scaffolding</a>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-dropdown="true">Scaffolding</a>
               <ul class="dropdown-menu">
                 <li><a href="#grid-system">Grid</a></li>
                 <li><a href="#layouts">Layouts</a></li>
               </ul>
             </li>
 
-            <li class="dropdown" data-dropdown="dropdown">
-              <a href="#" class="dropdown-toggle">CSS</a>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-dropdown="true">CSS</a>
               <ul class="dropdown-menu">
                 <li><a href="#typography">Type</a></li>
                 <li><a href="#tables">Tables</a></li>
@@ -62,8 +62,8 @@
               </ul>
             </li>
 
-            <li class="dropdown" data-dropdown="dropdown">
-              <a href="#" class="dropdown-toggle">Patterns</a>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
               <ul class="dropdown-menu">
                 <li><a href="#media">Media</a></li>
                 <li><a href="#navigation">Navigation</a></li>
@@ -1258,44 +1258,42 @@
     <h1>Navigation</h1>
   </div>
   <h2>Fixed topbar</h2>
-  <div class="topbar-wrapper" style="z-index: 5;">
-    <div class="topbar" data-dropdown="dropdown" >
-      <div class="topbar-inner">
-        <div class="container">
-          <a class="brand" href="#">Project Name</a>
-          <ul class="nav">
-            <li class="active"><a href="#">Home</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle">Dropdown</a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Secondary link</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Another link</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="form-search pull-left" action="">
-            <input type="text" placeholder="Search" />
-          </form>
-          <ul class="nav secondary-nav">
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle">Dropdown</a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Secondary link</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Another link</a></li>
-              </ul>
-            </li>
-          </ul>
-        </div>
-      </div><!-- /topbar-inner -->
-    </div><!-- /topbar -->
-  </div><!-- /topbar-wrapper -->
+  <div class="navbar navbar-static" data-dropdown="dropdown">
+    <div class="navbar-inner">
+      <div class="container">
+        <a class="brand" href="#">Project Name</a>
+        <ul class="nav">
+          <li class="active"><a href="#">Home</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Another link</a></li>
+            </ul>
+          </li>
+        </ul>
+        <form class="form-search navbar-search pull-left" action="">
+          <input type="text" placeholder="Search">
+        </form>
+        <ul class="nav secondary-nav">
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Another link</a></li>
+            </ul>
+          </li>
+        </ul>
+      </div>
+    </div><!-- /topbar-inner -->
+  </div><!-- /topbar -->
 
   <div class="row">
     <div class="span5">
diff --git a/docs/javascript.html b/docs/javascript.html
index 9f2b138763..dd4c2d03a3 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -39,8 +39,8 @@
 
     <!-- Topbar
     ================================================== -->
-    <div class="topbar" data-scrollspy="scrollspy">
-      <div class="topbar-inner">
+    <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
+      <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="#">Bootstrap JS</a>
           <ul class="nav">
@@ -235,39 +235,37 @@ $('#my-modal').bind('hidden', function () {
           A programatic api for activating menus for a given topbar or tabbed navigation.
           </p>
           <h3>Demo</h3>
-          <div class="topbar-wrapper">
-            <div id="topbar-example" class="topbar">
-              <div class="topbar-inner">
-                <div class="container">
-                  <a class="brand" href="#">Project Name</a>
-                  <ul class="nav">
-                    <li><a href="#">Link</a></li>
-                    <li><a href="#">Link</a></li>
-                  </ul>
-                  <form action="">
-                    <input type="text" placeholder="Search" />
-                  </form>
-                  <ul class="nav secondary-nav">
-                    <li class="dropdown">
-                      <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 1</a>
-                      <ul class="dropdown-menu">
-                        <li><a href="#">Secondary link</a></li>
-                        <li><a href="#">Something else here</a></li>
-                        <li class="divider"></li>
-                        <li><a href="#">Another link</a></li>
-                      </ul>
-                    </li>
-                    <li class="dropdown">
-                      <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 2</a>
-                      <ul class="dropdown-menu">
-                        <li><a href="#">Secondary link</a></li>
-                        <li><a href="#">Something else here</a></li>
-                        <li class="divider"></li>
-                        <li><a href="#">Another link</a></li>
-                      </ul>
-                    </li>
-                  </ul>
-                </div>
+          <div id="topbar-example" class="navbar navbar-static">
+            <div class="navbar-inner">
+              <div class="container" style="width: auto;">
+                <a class="brand" href="#">Project Name</a>
+                <ul class="nav">
+                  <li><a href="#">Link</a></li>
+                  <li><a href="#">Link</a></li>
+                </ul>
+                <form action="" class="search-form navbar-search">
+                  <input type="text" placeholder="Search">
+                </form>
+                <ul class="nav secondary-nav">
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 1</a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Secondary link</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Another link</a></li>
+                    </ul>
+                  </li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 2</a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Secondary link</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Another link</a></li>
+                    </ul>
+                  </li>
+                </ul>
               </div>
             </div>
           </div>
diff --git a/lib/patterns.less b/lib/patterns.less
index 8ceffaa996..a82e2856d5 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -3,34 +3,41 @@
  * ---------------------------------------------------------------------------- */
 
 
-// TOPBAR
-// ------
+// NAVBAR (FIXED AND STATIC)
+// -------------------------
 
-// Topbar for Branding and Nav
-.topbar {
-  height: 40px;
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  z-index: 10000;
-  overflow: visible;
+// Navbar variables
+@navBarHeight: 40px;
+@navBarBgStart: #333;
+@navBarBgEnd: #222;
 
-  // Links get text shadow
+// Common styles
+.navbar {
+  height: @navBarHeight;
+  overflow: visible;
+}
+// gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
+.navbar-inner {
+  background-color: @navBarBgEnd;
+  #gradient > .vertical(@navBarBgStart, @navBarBgEnd);
+  @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
+  .box-shadow(@shadow);
+}
+// Text and links
+.navbar {
+  // Links get text-shadow
   a {
     color: @grayLight;
     text-shadow: 0 -1px 0 rgba(0,0,0,.25);
   }
-
   // Hover and active states
   .brand a:hover,
   ul .active > a {
-    background-color: #333;
+    background-color: @navBarBgStart;
     background-color: rgba(255,255,255,.05);
     color: @white;
     text-decoration: none;
   }
-
   // Website or project name
   .brand {
     float: left;
@@ -42,7 +49,6 @@
     font-weight: 200;
     line-height: 1;
   }
-
   // Plain text in topbar
   p {
     margin: 0;
@@ -52,70 +58,82 @@
       color: @white;
     }
   }
+}
 
-  // Search Form
-  .form-search {
-    position: relative;
-    margin-top: 5px;
-    margin-bottom: 0;
-    input {
-      background-color: #444;
-      background-color: rgba(255,255,255,.3);
-      #font > .sans-serif(13px, normal, 1);
-      padding: 4px 9px;
-      color: @white;
-      color: rgba(255,255,255,.75);
-      border: 1px solid #111;
-      .border-radius(4px);
-      @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
-      .box-shadow(@shadow);
-      .transition(none);
+// Navbar search
+.navbar-search {
+  position: relative;
+  margin-top: 5px;
+  margin-bottom: 0;
+  float: left;
+  input {
+    background-color: #444;
+    background-color: rgba(255,255,255,.3);
+    #font > .sans-serif(13px, normal, 1);
+    padding: 4px 9px;
+    color: @white;
+    color: rgba(255,255,255,.75);
+    border: 1px solid #111;
+    .border-radius(4px);
+    @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
+    .box-shadow(@shadow);
+    .transition(none);
 
-      // Placeholder text gets special styles; can't be bundled together though for some reason
-      &:-moz-placeholder {
-        color: @grayLighter;
-      }
-      &::-webkit-input-placeholder {
-        color: @grayLighter;
-      }
-      // Hover states
-      &:hover {
-        background-color: @grayLight;
-        background-color: rgba(255,255,255,.5);
-        color: @white;
-      }
-      // Focus states (we use .focused since IE8 and down doesn't support :focus)
-      &:focus,
-      &.focused {
-        outline: 0;
-        background-color: @white;
-        color: @grayDark;
-        text-shadow: 0 1px 0 @white;
-        border: 0;
-        padding: 5px 10px;
-        .box-shadow(0 0 3px rgba(0,0,0,.15));
-      }
+    // Placeholder text gets special styles; can't be bundled together though for some reason
+    &:-moz-placeholder {
+      color: @grayLighter;
+    }
+    &::-webkit-input-placeholder {
+      color: @grayLighter;
+    }
+    // Hover states
+    &:hover {
+      background-color: @grayLight;
+      background-color: rgba(255,255,255,.5);
+      color: @white;
+    }
+    // Focus states (we use .focused since IE8 and down doesn't support :focus)
+    &:focus,
+    &.focused {
+      outline: 0;
+      background-color: @white;
+      color: @grayDark;
+      text-shadow: 0 1px 0 @white;
+      border: 0;
+      padding: 5px 10px;
+      .box-shadow(0 0 3px rgba(0,0,0,.15));
     }
-  }
-  // Todo: remove from v2.0 when ready, added for legacy
-  .pull-right {
-    float: right;
   }
 }
 
-// gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
-.topbar-inner {
-  background-color: #222;
-  #gradient > .vertical(#333, #222);
-  @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
-  .box-shadow(@shadow);
+
+// Static navbar
+.navbar-static {
+  margin-bottom: @baseLineHeight;
+}
+.navbar-static .navbar-inner {
+  margin-left:  -20px;
+  margin-right: -20px;
+  padding-left:  20px;
+  padding-right: 20px;
+  .border-radius(4px);
+}
+
+// Fixed navbar
+.navbar-fixed {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  z-index: 10000;
 }
 
 
+
 // NAVIGATION
 // ----------
 
-// Topbar Nav
+// Nav for navbar and topbar
 // ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
 .nav {
   display: block;
-- 
GitLab


From 8c2bb99085816617704b5d537b9c901e26e03569 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 11 Oct 2011 09:46:02 -0700
Subject: [PATCH 021/576] share new navbar in examples

---
 examples/container-app.html | 6 +++---
 examples/fluid-reverse.html | 4 ++--
 examples/fluid.html         | 4 ++--
 examples/hero.html          | 4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/examples/container-app.html b/examples/container-app.html
index 75328e645f..28807bb05e 100644
--- a/examples/container-app.html
+++ b/examples/container-app.html
@@ -75,8 +75,8 @@
 
   <body>
 
-    <div class="topbar">
-      <div class="fill">
+    <div class="navbar">
+      <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="#">Project name</a>
           <ul class="nav">
@@ -84,7 +84,7 @@
             <li><a href="#about">About</a></li>
             <li><a href="#contact">Contact</a></li>
           </ul>
-          <form action="" class="pull-right">
+          <form action="" class="form-search navbar-form pull-right">
             <input class="input-small" type="text" placeholder="Username">
             <input class="input-small" type="password" placeholder="Password">
             <button class="btn" type="submit">Sign in</button>
diff --git a/examples/fluid-reverse.html b/examples/fluid-reverse.html
index 7c13a44530..a32291d46c 100644
--- a/examples/fluid-reverse.html
+++ b/examples/fluid-reverse.html
@@ -28,8 +28,8 @@
 
   <body>
 
-    <div class="topbar">
-      <div class="topbar-inner">
+    <div class="navbar">
+      <div class="navbar-inner">
         <div class="fluid-container">
           <a class="brand" href="#">Project name</a>
           <ul class="nav">
diff --git a/examples/fluid.html b/examples/fluid.html
index c6387846b6..3b8bb46a8d 100644
--- a/examples/fluid.html
+++ b/examples/fluid.html
@@ -28,8 +28,8 @@
 
   <body>
 
-    <div class="topbar">
-      <div class="topbar-inner">
+    <div class="navbar">
+      <div class="navbar-inner">
         <div class="fluid-container">
           <a class="brand" href="#">Project name</a>
           <ul class="nav">
diff --git a/examples/hero.html b/examples/hero.html
index 6ded6e1e95..d84eb88434 100644
--- a/examples/hero.html
+++ b/examples/hero.html
@@ -28,8 +28,8 @@
 
   <body>
 
-    <div class="topbar">
-      <div class="fill">
+    <div class="navbar">
+      <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="#">Project name</a>
           <ul class="nav">
-- 
GitLab


From b6443905411dcdcec54d7eaad2f998a582271728 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 11 Oct 2011 09:52:50 -0700
Subject: [PATCH 022/576] update navbar search form

---
 bootstrap.css        | 23 ++++++++++-------------
 bootstrap.min.css    |  8 ++++----
 docs/index.html      |  7 +------
 docs/javascript.html |  4 ++--
 lib/patterns.less    |  7 +++----
 5 files changed, 20 insertions(+), 29 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 728590ba26..0da6a96ec8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Oct 11 09:43:00 PDT 2011
+ * Date: Tue Oct 11 09:52:07 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1164,11 +1164,11 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 }
 .navbar-search {
   position: relative;
-  margin-top: 5px;
+  margin-top: 6px;
   margin-bottom: 0;
   float: left;
 }
-.navbar-search input {
+.navbar-search .search-query {
   background-color: #444;
   background-color: rgba(255, 255, 255, 0.3);
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -1179,30 +1179,27 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   color: #ffffff;
   color: rgba(255, 255, 255, 0.75);
   border: 1px solid #111;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25);
-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25);
-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25);
+  -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-transition: none;
   -moz-transition: none;
   -ms-transition: none;
   -o-transition: none;
   transition: none;
 }
-.navbar-search input:-moz-placeholder {
+.navbar-search .search-query:-moz-placeholder {
   color: #e6e6e6;
 }
-.navbar-search input::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #e6e6e6;
 }
-.navbar-search input:hover {
+.navbar-search .search-query:hover {
   background-color: #bfbfbf;
   background-color: rgba(255, 255, 255, 0.5);
   color: #ffffff;
 }
-.navbar-search input:focus, .navbar-search input.focused {
+.navbar-search .search-query:focus, .navbar-search .search-query.focused {
   outline: 0;
   background-color: #ffffff;
   color: #404040;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0e949c6038..45277ae40f 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -205,10 +205,10 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .navbar .brand a:hover,.navbar ul .active>a{background-color:#333333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{background-color:transparent;color:#ffffff;}
-.navbar-search{position:relative;margin-top:5px;margin-bottom:0;float:left;}.navbar-search input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search input:-moz-placeholder{color:#e6e6e6;}
-.navbar-search input::-webkit-input-placeholder{color:#e6e6e6;}
-.navbar-search input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
-.navbar-search input:focus,.navbar-search input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-search{position:relative;margin-top:6px;margin-bottom:0;float:left;}.navbar-search .search-query{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#e6e6e6;}
+.navbar-search .search-query:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;left:0;right:0;z-index:10000;}
diff --git a/docs/index.html b/docs/index.html
index 7e9d6c1d06..ced0c658fb 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -44,7 +44,6 @@
           <ul class="nav">
             <li class="active"><a href="#overview">Overview</a></li>
             <li><a href="#about">About</a></li>
-
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-dropdown="true">Scaffolding</a>
               <ul class="dropdown-menu">
@@ -52,7 +51,6 @@
                 <li><a href="#layouts">Layouts</a></li>
               </ul>
             </li>
-
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-dropdown="true">CSS</a>
               <ul class="dropdown-menu">
@@ -61,7 +59,6 @@
                 <li><a href="#forms">Forms</a></li>
               </ul>
             </li>
-
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
               <ul class="dropdown-menu">
@@ -71,8 +68,6 @@
                 <li><a href="#popovers">Popovers</a></li>
               </ul>
             </li>
-
-
             <li><a href="#javascript">Javascript</a></li>
             <li><a href="#less">Less</a></li>
           </ul>
@@ -1278,7 +1273,7 @@
           </li>
         </ul>
         <form class="form-search navbar-search pull-left" action="">
-          <input type="text" placeholder="Search">
+          <input type="text" class="search-query" placeholder="Search">
         </form>
         <ul class="nav secondary-nav">
           <li class="dropdown">
diff --git a/docs/javascript.html b/docs/javascript.html
index dd4c2d03a3..66caad10b4 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -243,8 +243,8 @@ $('#my-modal').bind('hidden', function () {
                   <li><a href="#">Link</a></li>
                   <li><a href="#">Link</a></li>
                 </ul>
-                <form action="" class="search-form navbar-search">
-                  <input type="text" placeholder="Search">
+                <form class="form-search navbar-search pull-left" action="">
+                  <input type="text" class="search-query" placeholder="Search">
                 </form>
                 <ul class="nav secondary-nav">
                   <li class="dropdown">
diff --git a/lib/patterns.less b/lib/patterns.less
index a82e2856d5..f2a0b7f0e5 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -63,10 +63,10 @@
 // Navbar search
 .navbar-search {
   position: relative;
-  margin-top: 5px;
+  margin-top: 6px;
   margin-bottom: 0;
   float: left;
-  input {
+  .search-query {
     background-color: #444;
     background-color: rgba(255,255,255,.3);
     #font > .sans-serif(13px, normal, 1);
@@ -74,8 +74,7 @@
     color: @white;
     color: rgba(255,255,255,.75);
     border: 1px solid #111;
-    .border-radius(4px);
-    @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
+    @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
     .box-shadow(@shadow);
     .transition(none);
 
-- 
GitLab


From fa8b1dc12dcfe993f1e4185f95ebe0981fbeb0f0 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 11 Oct 2011 19:31:25 -0700
Subject: [PATCH 023/576] remove color scheme variables, remove font-face mixin

---
 bootstrap.css      | 107 ++++++++++++++++++++++++++++++++++++++++++++-
 bootstrap.min.css  |  70 ++++++++++++++---------------
 lib/mixins.less    |  17 ++-----
 lib/variables.less |  16 -------
 4 files changed, 144 insertions(+), 66 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0da6a96ec8..d40c50c841 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Oct 11 09:52:07 PDT 2011
+ * Date: Tue Oct 11 19:31:11 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -551,6 +551,9 @@ code, pre {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 code {
   background-color: #fee9cc;
@@ -569,6 +572,9 @@ pre {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   white-space: pre;
   white-space: pre-wrap;
   word-wrap: break-word;
@@ -620,6 +626,9 @@ select,
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 /* Mini reset for unique input types */
 input[type=checkbox], input[type=radio] {
@@ -814,6 +823,9 @@ textarea[readonly] {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .has-error > label, .has-error span.help-inline, .has-error span.help-block {
   color: #9d261d;
@@ -895,6 +907,9 @@ textarea[readonly] {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .input-prepend .add-on, .input-append .add-on {
   position: relative;
@@ -916,6 +931,9 @@ textarea[readonly] {
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .input-prepend .active, .input-append .active {
   background: #a9dba9;
@@ -931,11 +949,17 @@ textarea[readonly] {
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .input-append .add-on {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   margin-right: 0;
   margin-left: -1px;
 }
@@ -943,6 +967,9 @@ textarea[readonly] {
   -webkit-border-radius: 14px;
   -moz-border-radius: 14px;
   border-radius: 14px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .control-group {
   margin-bottom: 18px;
@@ -982,6 +1009,9 @@ table {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 table th, table td {
   padding: 10px 10px 9px;
@@ -1007,21 +1037,33 @@ table tbody 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-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 table tbody 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-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 table tbody 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;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 table tbody 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-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .zebra-striped tbody tr:nth-child(odd) td {
   background-color: #f9f9f9;
@@ -1221,6 +1263,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .navbar-fixed {
   position: fixed;
@@ -1352,6 +1397,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 0 0 6px 6px;
   -moz-border-radius: 0 0 6px 6px;
   border-radius: 0 0 6px 6px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
   -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
@@ -1446,6 +1494,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 4px 4px 0 0;
   -moz-border-radius: 4px 4px 0 0;
   border-radius: 4px 4px 0 0;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .tabs > li > a:hover {
   text-decoration: none;
@@ -1464,6 +1515,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 0 6px 6px 6px;
   -moz-border-radius: 0 6px 6px 6px;
   border-radius: 0 6px 6px 6px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .tabs .dropdown-toggle:after {
   border-top-color: #999;
@@ -1487,6 +1541,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 15px;
   -moz-border-radius: 15px;
   border-radius: 15px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .pills a:hover {
   background: #00438a;
@@ -1522,6 +1579,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
   -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
@@ -1544,6 +1604,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .hero-unit h1 {
   margin-bottom: 0;
@@ -1659,6 +1722,9 @@ footer {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -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);
@@ -1728,6 +1794,9 @@ footer {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .btn.small {
   padding: 7px 9px 7px;
@@ -1775,6 +1844,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 0;
   -moz-border-radius: 0;
   border-radius: 0;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .btn-group .btn:first-child {
   margin-left: 0;
@@ -1840,6 +1912,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
   -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
@@ -1915,6 +1990,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -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);
@@ -1954,6 +2032,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -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);
@@ -1996,6 +2077,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -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);
@@ -2031,6 +2115,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 0 0 6px 6px;
   -moz-border-radius: 0 0 6px 6px;
   border-radius: 0 0 6px 6px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
   -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
@@ -2110,6 +2197,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .twipsy-arrow {
   position: absolute;
@@ -2170,6 +2260,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -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);
@@ -2181,6 +2274,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 3px 3px 0 0;
   -moz-border-radius: 3px 3px 0 0;
   border-radius: 3px 3px 0 0;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   border-bottom: 1px solid #eee;
 }
 .popover .content {
@@ -2190,6 +2286,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius: 0 0 3px 3px;
   border-radius: 0 0 3px 3px;
   -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
+  -webkit-background-clip: padding-box;
   -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
@@ -2217,6 +2316,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
 }
 .label.important {
   background-color: #c43c35;
@@ -2255,6 +2357,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
   -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);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 45277ae40f..d0662829a3 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -103,15 +103,15 @@ em{font-style:italic;font-weight:inherit;line-height:inherit;}
 blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;}
 blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 address{display:block;line-height:18px;margin-bottom:18px;}
-code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
-pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
+pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#404040;}
 input[type=checkbox],input[type=radio]{cursor:pointer;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;}
 input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
@@ -144,7 +144,7 @@ input.span14,textarea.span14,select.span14{display:inline-block;float:none;width
 input.span15,textarea.span15,select.span15{display:inline-block;float:none;width:870px;margin-left:0;}
 input.span16,textarea.span16,select.span16{display:inline-block;float:none;width:930px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
-.has-error{background:#f8dcda;padding:9px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.has-error>label,.has-error span.help-inline,.has-error span.help-block{color:#9d261d;}
+.has-error{background:#f8dcda;padding:9px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.has-error>label,.has-error span.help-inline,.has-error span.help-block{color:#9d261d;}
 .has-error input,.has-error textarea,.has-error select{border-color:#c87872;-webkit-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);-moz-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);box-shadow:0 0 3px rgba(171, 41, 32, 0.25);}.has-error input:focus,.has-error textarea:focus,.has-error select:focus{border-color:#b9554d;-webkit-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);-moz-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);box-shadow:0 0 6px rgba(171, 41, 32, 0.5);}
 .has-error .input-prepend span.add-on,.has-error .input-append span.add-on{background:#f4c8c5;border-color:#c87872;color:#b9554d;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
@@ -158,28 +158,28 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .inline-inputs input.mini{width:60px;}
 .inline-inputs input.small{width:90px;}
 .inline-inputs span{padding:0 2px 0 1px;}
-.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 .input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
-.input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
-.form-search .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
+.input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;margin-right:0;margin-left:-1px;}
+.form-search .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
 .form-horizontal .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
 .form-horizontal .controls{margin-left:150px;}
 .form-horizontal .control-list{padding-top:6px;}
 .form-horizontal .form-actions{padding-left:150px;}
-table{width:100%;margin-bottom:18px;padding:0;border-collapse:separate;*border-collapse:collapse;font-size:13px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
+table{width:100%;margin-bottom:18px;padding:0;border-collapse:separate;*border-collapse:collapse;font-size:13px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
 table th{padding-top:9px;font-weight:bold;vertical-align:middle;border-bottom:1px solid #ddd;}
 table td{vertical-align:top;}
 table th+th,table td+td{border-left:1px solid #ddd;}
 table tr+tr td{border-top:1px solid #ddd;}
-table tbody 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;}
-table tbody 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;}
-table tbody 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;}
-table tbody 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;}
+table tbody 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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+table tbody 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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+table tbody 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;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+table tbody 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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 .zebra-striped tbody tr:nth-child(odd) td{background-color:#f9f9f9;}
 .zebra-striped tbody tr:hover td{background-color:#f5f5f5;}
 .zebra-striped .header{cursor:pointer;}.zebra-striped .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
@@ -210,7 +210,7 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .navbar-search .search-query:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.navbar-static .navbar-inner{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 .navbar-fixed{position:fixed;top:0;left:0;right:0;z-index:10000;}
 .nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
@@ -225,7 +225,7 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .dropdown{position:relative;}
 .dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-khtml-opacity:0.3;-moz-opacity:0.3;opacity:0.3;}
 .dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
-.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
+.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
 .topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
@@ -233,21 +233,21 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
-.tabs{float:left;width:100%;border-bottom:1px solid #ddd;}.tabs>li{position:relative;top:1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
+.tabs{float:left;width:100%;border-bottom:1px solid #ddd;}.tabs>li{position:relative;top:1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
 .tabs>li.active>a{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;}
-.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
+.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 .tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs .open.dropdown .dropdown-toggle{border-color:#999;}
 .tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
 .tab-content{clear:both;}
-.pills a{margin:5px 3px 5px 0;padding:0 15px;text-shadow:0 1px 1px #ffffff;line-height:30px;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{background:#00438a;color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
+.pills a{margin:5px 3px 5px 0;padding:0 15px;text-shadow:0 1px 1px #ffffff;line-height:30px;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.pills a:hover{background:#00438a;color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
 .pills .active a{background:#0069d6;color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
 .tab-content>*,.pill-content>*{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
-.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
 .breadcrumb .active a{color:#404040;}
-.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
+.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
 .page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;}
@@ -255,13 +255,13 @@ footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
 .btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
+.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
 .btn:focus{outline:1px dotted #666;}
 .btn.primary{color:#ffffff;background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
+.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
@@ -270,11 +270,11 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-toolbar .btn-group{float:left;margin-right:10px;}
 .btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";zoom:1;*display:inline;}
 .btn-group:after{clear:both;}
-.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
 .btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-khtml-opacity:0.2;-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
 .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
@@ -287,21 +287,21 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
 .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
-.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
+.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
 .pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
 .pagination .next a{border:0;}
-.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
+.modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
 .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%;}
 .modal.fade.in{top:50%;}
 .modal-header{border-bottom:1px solid #eee;padding:5px 15px;}
 .modal-body{padding:15px;}
-.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;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;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;*display:inline;}
+.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;*display:inline;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
 .twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
@@ -309,23 +309,23 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
-.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
 .popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .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;}
 .popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{background-color:#000000;background-color:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-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);}
-.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
-.popover .content{background-color:#ffffff;padding:14px;-webkit-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;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
+.popover .inner{background-color:#000000;background-color:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}
+.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border-bottom:1px solid #eee;}
+.popover .content{background-color:#ffffff;padding:14px;-webkit-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;background-clip:padding-box;-webkit-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;}
 .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;}.fade.in{opacity:1;}
-.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
 .media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;*display:inline;}
 .media-grid:after{clear:both;}
 .media-grid li{display:inline;}
-.media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
+.media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
diff --git a/lib/mixins.less b/lib/mixins.less
index 9c27346c2a..22a30a1c86 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -71,20 +71,6 @@
   }
 }
 
-// Font face generator
-.font-face(@fontFamily, @fileName, @style, @weight) {
-  @font-face {
-    font-family: @fontFamily;
-    font-style: @style;
-    font-weight: @weight;
-    src: url('@{fileName}.eot');
-    src: url('@{fileName}.eot?#iefix') format('embedded-opentype'),
-         url('@{fileName}.woff') format('woff'),
-         url('@{fileName}.ttf') format('truetype'),
-         url('@{fileName}.svg#@{fontFamily}') format('svg');
-  }
-}
-
 // Grid System
 .fixed-container() {
   width: @siteWidth;
@@ -115,6 +101,9 @@
   -webkit-border-radius: @radius;
      -moz-border-radius: @radius;
           border-radius: @radius;
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding;
+          background-clip: padding-box;
 }
 .border-radius-custom(@topLeft, @topRight, @bottomRight, @bottomLeft) {
   -webkit-border-top-left-radius: @topLeft;
diff --git a/lib/variables.less b/lib/variables.less
index 864dbe8c03..f85e0ec859 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -45,22 +45,6 @@
 @siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
 
 
-// COLOR SCHEME
-// ------------
-
-// Use this to roll your own color schemes if you like (unused by Bootstrap by default)
-@baseColor:         @blue;                  // Set a base color
-@complement:        spin(@baseColor, 180);  // Determine a complementary color
-@split1:            spin(@baseColor, 158);  // Split complements
-@split2:            spin(@baseColor, -158);
-@triad1:            spin(@baseColor, 135);  // Triads colors
-@triad2:            spin(@baseColor, -135);
-@tetra1:            spin(@baseColor, 90);   // Tetra colors
-@tetra2:            spin(@baseColor, -90);
-@analog1:           spin(@baseColor, 22);   // Analogs colors
-@analog2:           spin(@baseColor, -22);
-
-
 // THEME VARIABLES
 // ---------------
 
-- 
GitLab


From f4fc56b1b3827254dd771536dcb2b711919f3867 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 12 Oct 2011 08:31:16 -0700
Subject: [PATCH 024/576] first pass at moving over the new tabs stuff to 2.0

---
 bootstrap.css        |  77 ++++++++++++++++++-----
 bootstrap.min.css    |  29 ++++++---
 docs/index.html      | 147 ++++++++++++++++++++++++++++++++++++++++++-
 docs/javascript.html |  38 +++++------
 lib/patterns.less    | 106 +++++++++++++++++++++++++------
 5 files changed, 332 insertions(+), 65 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index d40c50c841..abf43ed3d8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Oct 11 19:31:11 PDT 2011
+ * Date: Tue Oct 11 23:51:38 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1478,13 +1478,13 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   display: block;
 }
 .tabs {
-  float: left;
-  width: 100%;
-  border-bottom: 1px solid #ddd;
+  border-color: #ddd;
+  border-style: solid;
+  border-width: 0 0 1px;
 }
 .tabs > li {
   position: relative;
-  top: 1px;
+  margin-bottom: -1px;
 }
 .tabs > li > a {
   padding: 0 15px;
@@ -1503,13 +1503,56 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-color: #eee;
   border-color: #eee #eee #ddd;
 }
-.tabs > li.active > a {
+.tabs .active > a, .tabs .active > a:hover {
   color: #808080;
   background-color: #ffffff;
   border: 1px solid #ddd;
   border-bottom-color: transparent;
+  cursor: default;
+}
+.tabbable {
+  margin-bottom: 18px;
+}
+.tabbable .tabs {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tabbable .tab-content {
+  padding: 19px;
+  border: 1px solid #ddd;
+}
+.tabbable.tabs-bottom .tabs > li {
+  margin-top: -1px;
+  margin-bottom: 0;
+}
+.tabbable.tabs-bottom .tabs > li > a {
+  -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
+  border-radius: 0 0 4px 4px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
+}
+.tabbable.tabs-bottom .tabs > li > a:hover {
+  border-bottom-color: transparent;
+  border-top-color: #ddd;
+}
+.tabbable.tabs-bottom .tabs > .active > a, .tabbable.tabs-bottom .tabs > .active > a:hover {
+  border-color: transparent #ddd #ddd #ddd;
+}
+.tabbable.tabs-left .tabs {
+  float: left;
+}
+.tabbable.tabs-left .tabs > li {
+  float: none;
+}
+.tabbable.tabs-right .tabs {
+  float: right;
+}
+.tabbable.tabs-right .tabs > li {
+  float: none;
 }
-.tabs .dropdown-menu {
+.tabs .menu-dropdown, .tabs .dropdown-menu {
   top: 35px;
   border-width: 1px;
   -webkit-border-radius: 0 6px 6px 6px;
@@ -1519,25 +1562,22 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -moz-background-clip: padding;
   background-clip: padding-box;
 }
-.tabs .dropdown-toggle:after {
+.tabs a.menu:after, .tabs .dropdown-toggle:after {
   border-top-color: #999;
   margin-top: 15px;
   margin-left: 5px;
 }
-.tabs .open.dropdown .dropdown-toggle {
+.tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
   border-color: #999;
 }
-.tabs .dropdown.open .dropdown-toggle:after {
+.tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
   border-top-color: #555;
 }
-.tab-content {
-  clear: both;
-}
 .pills a {
   margin: 5px 3px 5px 0;
   padding: 0 15px;
-  text-shadow: 0 1px 1px #ffffff;
   line-height: 30px;
+  text-shadow: 0 1px 1px #ffffff;
   -webkit-border-radius: 15px;
   -moz-border-radius: 15px;
   border-radius: 15px;
@@ -1546,17 +1586,20 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-clip: padding-box;
 }
 .pills a:hover {
-  background: #00438a;
   color: #ffffff;
   text-decoration: none;
   text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  background-color: #00438a;
 }
 .pills .active a {
-  background: #0069d6;
   color: #ffffff;
   text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  background-color: #0069d6;
+}
+.pills-vertical > li {
+  float: none;
 }
-.tab-content > *, .pill-content > * {
+.tab-content > .tab-pane, .pill-content > .pill-pane {
   display: none;
 }
 .tab-content > .active, .pill-content > .active {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index d0662829a3..62be2279a3 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -233,16 +233,25 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
-.tabs{float:left;width:100%;border-bottom:1px solid #ddd;}.tabs>li{position:relative;top:1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
-.tabs>li.active>a{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;}
-.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
-.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
-.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
-.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.tab-content{clear:both;}
-.pills a{margin:5px 3px 5px 0;padding:0 15px;text-shadow:0 1px 1px #ffffff;line-height:30px;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.pills a:hover{background:#00438a;color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
-.pills .active a{background:#0069d6;color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);}
-.tab-content>*,.pill-content>*{display:none;}
+.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
+.tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
+.tabbable{margin-bottom:18px;}.tabbable .tabs{margin-bottom:0;border-bottom:0;}
+.tabbable .tab-content{padding:19px;border:1px solid #ddd;}
+.tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
+.tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
+.tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
+.tabbable.tabs-left .tabs{float:left;}
+.tabbable.tabs-left .tabs>li{float:none;}
+.tabbable.tabs-right .tabs{float:right;}
+.tabbable.tabs-right .tabs>li{float:none;}
+.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
+.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
+.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
+.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
+.pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
+.pills-vertical>li{float:none;}
+.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
 .breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
diff --git a/docs/index.html b/docs/index.html
index ced0c658fb..0d46084c18 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1313,9 +1313,10 @@
       <h2>Tabs and pills</h2>
       <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
       <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
-      <p><a class="btn js-btn" href="./javascript.html#tabs">Get the javascript &raquo;</a></p>
     </div>
     <div class="span12">
+      <h3>Basic tabs example</h3>
+      <p>Tabs can be used as regular navigation (loading external pages in the same tab) or as tabbable content areas for swapping out panes of content. We have a <a href="./javascript.html#tabs">tabs plugin</a> that can be used to integrate the latter.</p>
       <ul class="tabs">
         <li class="active"><a href="#">Home</a></li>
         <li><a href="#">Profile</a></li>
@@ -1341,6 +1342,141 @@
   &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 </pre>
+      <h3>Alternate tabs</h3>
+      <p>You can also use tabs that are stacked on either side of an element, or on the bottom.</p>
+      <div class="row">
+        <div class="span3">
+          <div class="clearfix">
+            <ul class="tabs tabs-left">
+              <li class="active"><a href="#">Active link</a></li>
+              <li><a href="#">Link</a></li>
+              <li><a href="#">Linky link</a></li>
+              <li><a href="#">What up link</a></li>
+            </ul>
+          </div>
+        </div>
+        <div class="span3">
+          <div class="clearfix">
+            <ul class="tabs tabs-right">
+              <li class="active"><a href="#">Active link</a></li>
+              <li><a href="#">Link</a></li>
+              <li><a href="#">Linky link</a></li>
+              <li><a href="#">What up link</a></li>
+            </ul>
+          </div>
+        </div>
+        <div class="span6">
+          <div class="clearfix">
+            <ul class="tabs tabs-bottom">
+              <li class="active"><a href="#">Active link</a></li>
+              <li><a href="#">Link</a></li>
+              <li><a href="#">Linky link</a></li>
+            </ul>
+          </div>
+        </div>
+      </div>
+      <h3>Tabbable tabs</h3>
+      <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>
+
+      <div class="tabbable">
+        <ul class="tabs" data-tabs="tabs">
+          <li class="active"><a href="#1">Section 1</a></li>
+          <li><a href="#2">Section 2</a></li>
+          <li><a href="#3">Section 3</a></li>
+          <li><a href="#4">Section 4</a></li>
+        </ul>
+        <div class="tab-content">
+          <div class="tab-pane active" id="1">
+            <p>Oh hai #1!</p>
+          </div>
+          <div class="tab-pane" id="2">
+            <p>Oh hai #2!</p>
+          </div>
+          <div class="tab-pane" id="3">
+            <p>Oh hai #3!</p>
+          </div>
+          <div class="tab-pane" id="4">
+            <p>Oh hai #4!</p>
+          </div>
+        </div>
+      </div>
+
+       <div class="row">
+        <div class="span6">
+          <div class="tabbable tabs-left">
+            <ul class="tabs" data-tabs="tabs">
+              <li class="active"><a href="#1">Section 1</a></li>
+              <li><a href="#2">Section 2</a></li>
+              <li><a href="#3">Section 3</a></li>
+            </ul>
+            <div class="tab-content" id="myTabContent2">
+              <div class="tab-pane active" id="1">
+                <h4>Section 1</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="2">
+                <h4>Section 2</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="3">
+                <h4>Section 3</h4>
+                <p>Oh hai!</p>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="span6">
+          <div class="tabbable tabs-right">
+            <ul class="tabs" data-tabs="tabs">
+              <li class="active"><a href="#1">Section 1</a></li>
+              <li><a href="#2">Section 2</a></li>
+              <li><a href="#3">Section 3</a></li>
+            </ul>
+            <div class="tab-content" id="myTabContent3">
+              <div class="tab-pane active" id="1">
+                <h4>Section 1</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="2">
+                <h4>Section 2</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="3">
+                <h4>Section 3</h4>
+                <p>Oh hai!</p>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div class="tabbable tabs-bottom">
+        <div class="tab-content">
+          <div class="tab-pane active" id="1">
+            <p>Oh hai #1!</p>
+          </div>
+          <div class="tab-pane" id="2">
+            <p>Oh hai #2!</p>
+          </div>
+          <div class="tab-pane" id="3">
+            <p>Oh hai #3!</p>
+          </div>
+          <div class="tab-pane" id="4">
+            <p>Oh hai #4!</p>
+          </div>
+        </div>
+        <ul class="tabs" data-tabs="tabs">
+          <li class="active"><a href="#1">Section 1</a></li>
+          <li><a href="#2">Section 2</a></li>
+          <li><a href="#3">Section 3</a></li>
+          <li><a href="#4">Section 4</a></li>
+        </ul>
+      </div>
+
+
+      <p>In addition to tabs, we have pills! Though a bit more limited in functionality, they share much of the same markup.</p>
+      <hr>
+      <h3>Basic pills example</h3>
       <ul class="pills">
         <li class="active"><a href="#">Home</a></li>
         <li><a href="#">Profile</a></li>
@@ -1357,6 +1493,15 @@
   &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 </pre>
+      <h3>Vertical pill nav</h3>
+      <p>With a pill-style nav, you can also stack the list items to have a simple sidebar. We don't offer left or right aligned versions here because that's easy enough to customize based on your own needs</p>
+      <ul class="pills pills-vertical span4">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+        <li><a href="#">Settings</a></li>
+        <li><a href="#">Contact</a></li>
+      </ul>
     </div>
   </div><!-- /row -->
 
diff --git a/docs/javascript.html b/docs/javascript.html
index 66caad10b4..b130511c3d 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -353,24 +353,26 @@ $('#my-modal').bind('hidden', function () {
 &lt;/script&gt;</pre>
           </p>
           <h3>Demo</h3>
-          <ul class="tabs" data-tabs="tabs" >
-            <li class="active"><a href="#home">Home</a></li>
-            <li><a href="#profile">Profile</a></li>
-            <li><a href="#messages">Messages</a></li>
-            <li><a href="#settings">Settings</a></li>
-          </ul>
-          <div id="my-tab-content" class="tab-content">
-            <div class="active" id="home">
-              <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
-            </div>
-            <div id="profile">
-              <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
-            </div>
-            <div id="messages">
-              <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
-            </div>
-            <div id="settings">
-              <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
+          <div class="tabbable">
+            <ul class="tabs" data-tabs="tabs">
+              <li class="active"><a href="#home">Home</a></li>
+              <li><a href="#profile">Profile</a></li>
+              <li><a href="#messages">Messages</a></li>
+              <li><a href="#settings">Settings</a></li>
+            </ul>
+            <div class="tab-content" id="myTabContent">
+              <div class="tab-pane active" id="home">
+                <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+              </div>
+              <div class="tab-pane" id="profile">
+                <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+              </div>
+              <div class="tab-pane" id="messages">
+                <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
+              </div>
+              <div class="tab-pane" id="settings">
+                <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
+              </div>
             </div>
           </div>
         </div>
diff --git a/lib/patterns.less b/lib/patterns.less
index f2a0b7f0e5..af898a5614 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -318,14 +318,14 @@
   }
 }
 
-// Basic Tabs
+// Tabs
 .tabs {
-  float: left;
-  width: 100%;
-  border-bottom: 1px solid #ddd;
+  border-color: #ddd;
+  border-style: solid;
+  border-width: 0 0 1px;
   > li {
     position: relative; // For the dropdowns mostly
-    top: 1px;
+    margin-bottom: -1px;
     > a {
       padding: 0 15px;
       margin-right: 2px;
@@ -338,61 +338,129 @@
         border-color: #eee #eee #ddd;
       }
     }
-    &.active > a {
-      color: @gray;
-      background-color: @white;
-      border: 1px solid #ddd;
+  }
+  // Active state, and it's :hover to override normal :hover
+  .active > a,
+  .active > a:hover {
+    color: @gray;
+    background-color: @white;
+    border: 1px solid #ddd;
+    border-bottom-color: transparent;
+    cursor: default;
+  }
+}
+
+.tabbable {
+  margin-bottom: @baseLineHeight;
+
+  // Tabs on top
+  .tabs {
+    margin-bottom: 0;
+    border-bottom: 0;
+  }
+  .tab-content {
+    padding: 19px;
+    border: 1px solid #ddd;
+  }
+
+  // Tabs on bottom
+  &.tabs-bottom .tabs > li {
+    margin-top: -1px;
+    margin-bottom: 0;
+  }
+  &.tabs-bottom .tabs > li > a {
+    .border-radius(0 0 4px 4px);
+    &:hover {
       border-bottom-color: transparent;
+      border-top-color: #ddd;
     }
   }
+  &.tabs-bottom .tabs > .active > a,
+  &.tabs-bottom .tabs > .active > a:hover {
+    border-color: transparent #ddd #ddd #ddd;
+  }
+
+  // Tabs on left
+  &.tabs-left .tabs {
+    float: left;
+  }
+  &.tabs-left .tabs > li {
+    float: none;
+  }
+
+  // Tabs on right
+  &.tabs-right .tabs {
+    float: right;
+  }
+  &.tabs-right .tabs > li {
+    float: none;
+  }
+}
+
+
+// Dropdowns in tabs
+.tabs {
+  // first one for backwards compatibility
+  .menu-dropdown,
   .dropdown-menu {
     top: 35px;
     border-width: 1px;
     .border-radius(0 6px 6px 6px);
   }
+  // first one for backwards compatibility
+  a.menu:after,
   .dropdown-toggle:after {
     border-top-color: #999;
     margin-top: 15px;
     margin-left: 5px;
   }
+  // first one for backwards compatibility
+  li.open.menu .menu,
   .open.dropdown .dropdown-toggle {
     border-color: #999;
   }
+  // first one for backwards compatibility
+  li.open a.menu:after,
   .dropdown.open .dropdown-toggle:after {
     border-top-color: #555;
   }
 }
-.tab-content {
-  clear: both;
-}
 
-// Basic pill nav
+// Pills
 .pills {
   a {
     margin: 5px 3px 5px 0;
     padding: 0 15px;
-    text-shadow: 0 1px 1px @white;
     line-height: 30px;
+    text-shadow: 0 1px 1px @white;
     .border-radius(15px);
     &:hover {
-      background: @linkColorHover;
       color: @white;
       text-decoration: none;
       text-shadow: 0 1px 1px rgba(0,0,0,.25);
+      background-color: @linkColorHover;
     }
   }
   .active a {
-    background: @linkColor;
     color: @white;
     text-shadow: 0 1px 1px rgba(0,0,0,.25);
+    background-color: @linkColor;
   }
 }
 
-.tab-content > *,
-.pill-content > * {
-  display: none;
+// Stacked pills
+.pills-vertical > li {
+  float: none;
 }
 
+// Tabbable areas
+.tab-content,
+.pill-content {
+}
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+  display: none;
+}
 .tab-content > .active,
 .pill-content > .active {
   display: block;
-- 
GitLab


From fbe22f05800a3ce4ae3a880914d8e03cb1e01d1b Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sat, 15 Oct 2011 17:21:39 -0700
Subject: [PATCH 025/576] updated index of docs to use html5 self closing tags,
 add responsive shell to bootstrap file

---
 bootstrap.css      |  8 +++++++-
 bootstrap.min.css  |  1 +
 docs/index.html    | 22 +++++++++++-----------
 lib/bootstrap.less |  5 ++++-
 4 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index abf43ed3d8..60cc8213f3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Oct 11 23:51:38 PDT 2011
+ * Date: Sat Oct 15 17:19:53 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -2416,3 +2416,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
   box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
 }
+/* Responsive.less
+ * For phone and tablet devices
+ * ------------------------------------------------------------- */
+@media (max-width: 480px) {
+  
+}
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 62be2279a3..770bd1dc66 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -338,3 +338,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
+@media (max-width: 480px){}
diff --git a/docs/index.html b/docs/index.html
index 0d46084c18..4dd45f5f96 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -81,8 +81,8 @@
       <div class="inner">
         <h1>Bootstrap, from Twitter</h1>
         <p class="lead">
-          Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.<br />
-          It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<br />
+          Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.<br>
+          It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<br>
         </p>
         <p><strong>Nerd alert:</strong> Bootstrap is <a href="#less" title="Read about using Bootstrap with Less">built with Less</a> and was designed to work out of the gate with modern browsers in mind.</p>
       </div>
@@ -491,15 +491,15 @@
       <div class="row">
         <div class="span4">
           <address>
-            <strong>Twitter, Inc.</strong><br />
-            795 Folsom Ave, Suite 600<br />
-            San Francisco, CA 94107<br />
+            <strong>Twitter, Inc.</strong><br>
+            795 Folsom Ave, Suite 600<br>
+            San Francisco, CA 94107<br>
             <abbr title="Phone">P:</abbr> (123) 456-7890
           </address>
         </div>
         <div class="span4">
           <address>
-            <strong>Full Name</strong><br />
+            <strong>Full Name</strong><br>
             <a mailto="">first.last@gmail.com</a>
           </address>
         </div>
@@ -966,7 +966,7 @@
         <fieldset class="control-group">
           <label class="control-label" for="fileInput">File input</label>
           <div class="controls">
-            <input class="input-file" id="fileInput" name="fileInput" type="file" />
+            <input class="input-file" id="fileInput" name="fileInput" type="file">
           </div>
         </fieldset>
         <fieldset class="control-group has-error">
@@ -1010,11 +1010,11 @@
           <div class="controls">
             <div class="control-list">
               <label>
-                <input type="radio" checked name="optionsRadios" value="option1" />
+                <input type="radio" checked name="optionsRadios" value="option1">
                 <span>Option one is this and that&mdash;be sure to include why it’s great</span>
               </label>
               <label>
-                <input type="radio" name="optionsRadios" value="option2" />
+                <input type="radio" name="optionsRadios" value="option2">
                 <span>Option two can is something else and selecting it will deselect options 1</span>
               </label>
             </div>
@@ -1306,7 +1306,7 @@
   </div>
   <p><strong>Note:</strong> When using the topbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>body</code>.</p>
 
-  <br />
+  <br>
 
   <div class="row">
     <div class="span4">
@@ -2015,7 +2015,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
       <div class="container">
         <p class="pull-right"><a href="#">Back to top</a></p>
         <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br />
+          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
           Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
         </p>
       </div>
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 62f2ce916d..9665306fd5 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -23,4 +23,7 @@
 @import "type.less";
 @import "forms.less";
 @import "tables.less";
-@import "patterns.less";
\ No newline at end of file
+@import "patterns.less";
+
+// Responsive
+@import "responsive.less";
\ No newline at end of file
-- 
GitLab


From 9e9109469e5c86c4232cc744639b286bcd9ef0ba Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 03:00:58 -0700
Subject: [PATCH 026/576] biiiiiig update coming for responsiveness

---
 bootstrap.css            | 422 ++++++++++++++++++++-------------------
 bootstrap.min.css        | 172 ++++++++--------
 docs/assets/css/docs.css |  71 ++++---
 docs/index.html          | 215 ++++++++------------
 lib/mixins.less          |   3 -
 lib/scaffolding.less     |  27 +--
 lib/variables.less       |   4 +-
 7 files changed, 433 insertions(+), 481 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 60cc8213f3..482d2878c8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Oct 15 17:19:53 PDT 2011
+ * Date: Sun Oct 16 02:59:54 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -261,7 +261,6 @@ a:hover {
 }
 .row {
   zoom: 1;
-  margin-left: -20px;
 }
 .row:before, .row:after {
   display: table;
@@ -277,125 +276,77 @@ a:hover {
   float: left;
   margin-left: 20px;
 }
+.row > [class*="span"]:first-child {
+  margin-left: 0;
+}
 .span1 {
-  width: 40px;
+  width: 60px;
 }
 .span2 {
-  width: 100px;
+  width: 140px;
 }
 .span3 {
-  width: 160px;
+  width: 220px;
 }
 .span4 {
-  width: 220px;
+  width: 300px;
 }
 .span5 {
-  width: 280px;
+  width: 380px;
 }
 .span6 {
-  width: 340px;
+  width: 460px;
 }
 .span7 {
-  width: 400px;
+  width: 540px;
 }
 .span8 {
-  width: 460px;
+  width: 620px;
 }
 .span9 {
-  width: 520px;
+  width: 700px;
 }
 .span10 {
-  width: 580px;
+  width: 780px;
 }
 .span11 {
-  width: 640px;
+  width: 860px;
 }
 .span12 {
-  width: 700px;
-}
-.span13 {
-  width: 760px;
-}
-.span14 {
-  width: 820px;
-}
-.span15 {
-  width: 880px;
-}
-.span16 {
   width: 940px;
 }
-.span17 {
-  width: 1000px;
-}
-.span18 {
-  width: 1060px;
-}
-.span19 {
-  width: 1120px;
-}
-.span20 {
-  width: 1180px;
-}
-.span21 {
-  width: 1240px;
-}
-.span22 {
-  width: 1300px;
-}
-.span23 {
-  width: 1360px;
-}
-.span24 {
-  width: 1420px;
-}
 .offset1 {
-  margin-left: 80px;
+  margin-left: 100px;
 }
 .offset2 {
-  margin-left: 140px;
+  margin-left: 180px;
 }
 .offset3 {
-  margin-left: 200px;
+  margin-left: 260px;
 }
 .offset4 {
-  margin-left: 260px;
+  margin-left: 340px;
 }
 .offset5 {
-  margin-left: 320px;
+  margin-left: 420px;
 }
 .offset6 {
-  margin-left: 380px;
+  margin-left: 500px;
 }
 .offset7 {
-  margin-left: 440px;
+  margin-left: 580px;
 }
 .offset8 {
-  margin-left: 500px;
+  margin-left: 660px;
 }
 .offset9 {
-  margin-left: 560px;
+  margin-left: 740px;
 }
 .offset10 {
-  margin-left: 620px;
+  margin-left: 820px;
 }
 .offset11 {
-  margin-left: 680px;
-}
-.offset12 {
-  margin-left: 740px;
-}
-.span-one-third {
-  width: 300px;
-}
-.span-two-thirds {
-  width: 620px;
-}
-.offset-one-third {
-  margin-left: 340px;
-}
-.offset-two-thirds {
-  margin-left: 660px;
+  margin-left: 900px;
 }
 /* Typography.less
  * Headings, body text, lists, code, and more for a versatile and durable typography system
@@ -551,9 +502,6 @@ code, pre {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 code {
   background-color: #fee9cc;
@@ -572,9 +520,6 @@ pre {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   white-space: pre;
   white-space: pre-wrap;
   word-wrap: break-word;
@@ -626,9 +571,6 @@ select,
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 /* Mini reset for unique input types */
 input[type=checkbox], input[type=radio] {
@@ -713,97 +655,97 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus {
 input.span1, textarea.span1, select.span1 {
   display: inline-block;
   float: none;
-  width: 30px;
+  width: 50px;
   margin-left: 0;
 }
 input.span2, textarea.span2, select.span2 {
   display: inline-block;
   float: none;
-  width: 90px;
+  width: 150px;
   margin-left: 0;
 }
 input.span3, textarea.span3, select.span3 {
   display: inline-block;
   float: none;
-  width: 150px;
+  width: 250px;
   margin-left: 0;
 }
 input.span4, textarea.span4, select.span4 {
   display: inline-block;
   float: none;
-  width: 210px;
+  width: 350px;
   margin-left: 0;
 }
 input.span5, textarea.span5, select.span5 {
   display: inline-block;
   float: none;
-  width: 270px;
+  width: 450px;
   margin-left: 0;
 }
 input.span6, textarea.span6, select.span6 {
   display: inline-block;
   float: none;
-  width: 330px;
+  width: 550px;
   margin-left: 0;
 }
 input.span7, textarea.span7, select.span7 {
   display: inline-block;
   float: none;
-  width: 390px;
+  width: 650px;
   margin-left: 0;
 }
 input.span8, textarea.span8, select.span8 {
   display: inline-block;
   float: none;
-  width: 450px;
+  width: 750px;
   margin-left: 0;
 }
 input.span9, textarea.span9, select.span9 {
   display: inline-block;
   float: none;
-  width: 510px;
+  width: 850px;
   margin-left: 0;
 }
 input.span10, textarea.span10, select.span10 {
   display: inline-block;
   float: none;
-  width: 570px;
+  width: 950px;
   margin-left: 0;
 }
 input.span11, textarea.span11, select.span11 {
   display: inline-block;
   float: none;
-  width: 630px;
+  width: 1050px;
   margin-left: 0;
 }
 input.span12, textarea.span12, select.span12 {
   display: inline-block;
   float: none;
-  width: 690px;
+  width: 1150px;
   margin-left: 0;
 }
 input.span13, textarea.span13, select.span13 {
   display: inline-block;
   float: none;
-  width: 750px;
+  width: 1250px;
   margin-left: 0;
 }
 input.span14, textarea.span14, select.span14 {
   display: inline-block;
   float: none;
-  width: 810px;
+  width: 1350px;
   margin-left: 0;
 }
 input.span15, textarea.span15, select.span15 {
   display: inline-block;
   float: none;
-  width: 870px;
+  width: 1450px;
   margin-left: 0;
 }
 input.span16, textarea.span16, select.span16 {
   display: inline-block;
   float: none;
-  width: 930px;
+  width: 1550px;
   margin-left: 0;
 }
 input[disabled],
@@ -823,9 +765,6 @@ textarea[readonly] {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .has-error > label, .has-error span.help-inline, .has-error span.help-block {
   color: #9d261d;
@@ -907,9 +846,6 @@ textarea[readonly] {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .input-prepend .add-on, .input-append .add-on {
   position: relative;
@@ -931,9 +867,6 @@ textarea[readonly] {
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .input-prepend .active, .input-append .active {
   background: #a9dba9;
@@ -949,17 +882,11 @@ textarea[readonly] {
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .input-append .add-on {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   margin-right: 0;
   margin-left: -1px;
 }
@@ -967,9 +894,6 @@ textarea[readonly] {
   -webkit-border-radius: 14px;
   -moz-border-radius: 14px;
   border-radius: 14px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .control-group {
   margin-bottom: 18px;
@@ -1009,9 +933,6 @@ table {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 table th, table td {
   padding: 10px 10px 9px;
@@ -1037,33 +958,21 @@ table tbody 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-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 table tbody 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-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 table tbody 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;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 table tbody 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-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .zebra-striped tbody tr:nth-child(odd) td {
   background-color: #f9f9f9;
@@ -1263,9 +1172,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .navbar-fixed {
   position: fixed;
@@ -1397,9 +1303,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 0 0 6px 6px;
   -moz-border-radius: 0 0 6px 6px;
   border-radius: 0 0 6px 6px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
   -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
@@ -1494,9 +1397,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 4px 4px 0 0;
   -moz-border-radius: 4px 4px 0 0;
   border-radius: 4px 4px 0 0;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .tabs > li > a:hover {
   text-decoration: none;
@@ -1529,9 +1429,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 0 0 4px 4px;
   -moz-border-radius: 0 0 4px 4px;
   border-radius: 0 0 4px 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .tabbable.tabs-bottom .tabs > li > a:hover {
   border-bottom-color: transparent;
@@ -1558,9 +1455,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 0 6px 6px 6px;
   -moz-border-radius: 0 6px 6px 6px;
   border-radius: 0 6px 6px 6px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .tabs a.menu:after, .tabs .dropdown-toggle:after {
   border-top-color: #999;
@@ -1581,9 +1475,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 15px;
   -moz-border-radius: 15px;
   border-radius: 15px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .pills a:hover {
   color: #ffffff;
@@ -1622,9 +1513,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
   -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
@@ -1647,9 +1535,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .hero-unit h1 {
   margin-bottom: 0;
@@ -1765,9 +1650,6 @@ footer {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -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);
@@ -1837,9 +1719,6 @@ footer {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .btn.small {
   padding: 7px 9px 7px;
@@ -1887,9 +1766,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 0;
   -moz-border-radius: 0;
   border-radius: 0;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .btn-group .btn:first-child {
   margin-left: 0;
@@ -1955,9 +1831,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
   -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
@@ -2033,9 +1906,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -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);
@@ -2075,9 +1945,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -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);
@@ -2120,9 +1987,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -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);
@@ -2158,9 +2022,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 0 0 6px 6px;
   -moz-border-radius: 0 0 6px 6px;
   border-radius: 0 0 6px 6px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
   -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
@@ -2240,9 +2101,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .twipsy-arrow {
   position: absolute;
@@ -2303,9 +2161,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -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);
@@ -2317,9 +2172,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 3px 3px 0 0;
   -moz-border-radius: 3px 3px 0 0;
   border-radius: 3px 3px 0 0;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   border-bottom: 1px solid #eee;
 }
 .popover .content {
@@ -2329,9 +2181,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius: 0 0 3px 3px;
   border-radius: 0 0 3px 3px;
   -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
-  -webkit-background-clip: padding-box;
   -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
@@ -2359,9 +2208,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
 }
 .label.important {
   background-color: #c43c35;
@@ -2400,9 +2246,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
   -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);
@@ -2420,5 +2263,184 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
  * For phone and tablet devices
  * ------------------------------------------------------------- */
 @media (max-width: 480px) {
-  
+  .container {
+    width: auto;
+    padding: 0 10px;
+  }
+  [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+  }
+}
+@media (min-width: 480px) and (max-width: 768px) {
+  .container {
+    width: auto;
+    padding: 0 10px;
+  }
+  [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+    margin: 0;
+  }
+}
+@media (min-width: 768px) and (max-width: 940px) {
+  .container {
+    width: 748px;
+  }
+  .span1 {
+    width: 28px;
+  }
+  .span2 {
+    width: 76px;
+  }
+  .span3 {
+    width: 124px;
+  }
+  .span4 {
+    width: 172px;
+  }
+  .span5 {
+    width: 220px;
+  }
+  .span6 {
+    width: 268px;
+  }
+  .span7 {
+    width: 316px;
+  }
+  .span8 {
+    width: 364px;
+  }
+  .span9 {
+    width: 412px;
+  }
+  .span10 {
+    width: 460px;
+  }
+  .span11 {
+    width: 508px;
+  }
+  .span12 {
+    width: 556px;
+  }
+  .offset1 {
+    margin-left: 68px;
+  }
+  .offset2 {
+    margin-left: 116px;
+  }
+  .offset3 {
+    margin-left: 164px;
+  }
+  .offset4 {
+    margin-left: 212px;
+  }
+  .offset5 {
+    margin-left: 260px;
+  }
+  .offset6 {
+    margin-left: 308px;
+  }
+  .offset7 {
+    margin-left: 356px;
+  }
+  .offset8 {
+    margin-left: 404px;
+  }
+  .offset9 {
+    margin-left: 452px;
+  }
+  .offset10 {
+    margin-left: 500px;
+  }
+  .offset11 {
+    margin-left: 548px;
+  }
+  .offset12 {
+    margin-left: 596px;
+  }
+}
+@media (min-width: 1170px) {
+  .container {
+    width: 1170px;
+  }
+  [class*="span"] {
+    display: inline;
+    float: left;
+    margin-left: 20px;
+  }
+  .span1 {
+    width: 70px;
+  }
+  .span2 {
+    width: 170px;
+  }
+  .span3 {
+    width: 270px;
+  }
+  .span4 {
+    width: 370px;
+  }
+  .span5 {
+    width: 470px;
+  }
+  .span6 {
+    width: 570px;
+  }
+  .span7 {
+    width: 670px;
+  }
+  .span8 {
+    width: 770px;
+  }
+  .span9 {
+    width: 870px;
+  }
+  .span10 {
+    width: 970px;
+  }
+  .span11 {
+    width: 1070px;
+  }
+  .span12 {
+    width: 1170px;
+  }
+  .offset1 {
+    margin-left: 130px;
+  }
+  .offset2 {
+    margin-left: 230px;
+  }
+  .offset3 {
+    margin-left: 330px;
+  }
+  .offset4 {
+    margin-left: 430px;
+  }
+  .offset5 {
+    margin-left: 530px;
+  }
+  .offset6 {
+    margin-left: 630px;
+  }
+  .offset7 {
+    margin-left: 730px;
+  }
+  .offset8 {
+    margin-left: 830px;
+  }
+  .offset9 {
+    margin-left: 930px;
+  }
+  .offset10 {
+    margin-left: 1030px;
+  }
+  .offset11 {
+    margin-left: 1130px;
+  }
+  .offset12 {
+    margin-left: 1230px;
+  }
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 770bd1dc66..04a992e322 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -36,49 +36,33 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .pull-left{float:left;}
 .hide{display:none;}
 .show{display:block;}
-.row{zoom:1;margin-left:-20px;}.row:before,.row:after{display:table;content:"";zoom:1;*display:inline;}
+.row{zoom:1;}.row:before,.row:after{display:table;content:"";zoom:1;*display:inline;}
 .row:after{clear:both;}
 [class*="span"]{display:inline;float:left;margin-left:20px;}
-.span1{width:40px;}
-.span2{width:100px;}
-.span3{width:160px;}
-.span4{width:220px;}
-.span5{width:280px;}
-.span6{width:340px;}
-.span7{width:400px;}
-.span8{width:460px;}
-.span9{width:520px;}
-.span10{width:580px;}
-.span11{width:640px;}
-.span12{width:700px;}
-.span13{width:760px;}
-.span14{width:820px;}
-.span15{width:880px;}
-.span16{width:940px;}
-.span17{width:1000px;}
-.span18{width:1060px;}
-.span19{width:1120px;}
-.span20{width:1180px;}
-.span21{width:1240px;}
-.span22{width:1300px;}
-.span23{width:1360px;}
-.span24{width:1420px;}
-.offset1{margin-left:80px;}
-.offset2{margin-left:140px;}
-.offset3{margin-left:200px;}
-.offset4{margin-left:260px;}
-.offset5{margin-left:320px;}
-.offset6{margin-left:380px;}
-.offset7{margin-left:440px;}
-.offset8{margin-left:500px;}
-.offset9{margin-left:560px;}
-.offset10{margin-left:620px;}
-.offset11{margin-left:680px;}
-.offset12{margin-left:740px;}
-.span-one-third{width:300px;}
-.span-two-thirds{width:620px;}
-.offset-one-third{margin-left:340px;}
-.offset-two-thirds{margin-left:660px;}
+.row>[class*="span"]:first-child{margin-left:0;}
+.span1{width:60px;}
+.span2{width:140px;}
+.span3{width:220px;}
+.span4{width:300px;}
+.span5{width:380px;}
+.span6{width:460px;}
+.span7{width:540px;}
+.span8{width:620px;}
+.span9{width:700px;}
+.span10{width:780px;}
+.span11{width:860px;}
+.span12{width:940px;}
+.offset1{margin-left:100px;}
+.offset2{margin-left:180px;}
+.offset3{margin-left:260px;}
+.offset4{margin-left:340px;}
+.offset5{margin-left:420px;}
+.offset6{margin-left:500px;}
+.offset7{margin-left:580px;}
+.offset8{margin-left:660px;}
+.offset9{margin-left:740px;}
+.offset10{margin-left:820px;}
+.offset11{margin-left:900px;}
 p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
@@ -103,15 +87,15 @@ em{font-style:italic;font-weight:inherit;line-height:inherit;}
 blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;}
 blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 address{display:block;line-height:18px;margin-bottom:18px;}
-code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
-pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
+pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#404040;}
 input[type=checkbox],input[type=radio]{cursor:pointer;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;}
 input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
@@ -127,24 +111,24 @@ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shado
 .input-large{width:210px;}
 .input-xlarge{width:270px;}
 .input-xxlarge{width:530px;}
-input.span1,textarea.span1,select.span1{display:inline-block;float:none;width:30px;margin-left:0;}
-input.span2,textarea.span2,select.span2{display:inline-block;float:none;width:90px;margin-left:0;}
-input.span3,textarea.span3,select.span3{display:inline-block;float:none;width:150px;margin-left:0;}
-input.span4,textarea.span4,select.span4{display:inline-block;float:none;width:210px;margin-left:0;}
-input.span5,textarea.span5,select.span5{display:inline-block;float:none;width:270px;margin-left:0;}
-input.span6,textarea.span6,select.span6{display:inline-block;float:none;width:330px;margin-left:0;}
-input.span7,textarea.span7,select.span7{display:inline-block;float:none;width:390px;margin-left:0;}
-input.span8,textarea.span8,select.span8{display:inline-block;float:none;width:450px;margin-left:0;}
-input.span9,textarea.span9,select.span9{display:inline-block;float:none;width:510px;margin-left:0;}
-input.span10,textarea.span10,select.span10{display:inline-block;float:none;width:570px;margin-left:0;}
-input.span11,textarea.span11,select.span11{display:inline-block;float:none;width:630px;margin-left:0;}
-input.span12,textarea.span12,select.span12{display:inline-block;float:none;width:690px;margin-left:0;}
-input.span13,textarea.span13,select.span13{display:inline-block;float:none;width:750px;margin-left:0;}
-input.span14,textarea.span14,select.span14{display:inline-block;float:none;width:810px;margin-left:0;}
-input.span15,textarea.span15,select.span15{display:inline-block;float:none;width:870px;margin-left:0;}
-input.span16,textarea.span16,select.span16{display:inline-block;float:none;width:930px;margin-left:0;}
+input.span1,textarea.span1,select.span1{display:inline-block;float:none;width:50px;margin-left:0;}
+input.span2,textarea.span2,select.span2{display:inline-block;float:none;width:150px;margin-left:0;}
+input.span3,textarea.span3,select.span3{display:inline-block;float:none;width:250px;margin-left:0;}
+input.span4,textarea.span4,select.span4{display:inline-block;float:none;width:350px;margin-left:0;}
+input.span5,textarea.span5,select.span5{display:inline-block;float:none;width:450px;margin-left:0;}
+input.span6,textarea.span6,select.span6{display:inline-block;float:none;width:550px;margin-left:0;}
+input.span7,textarea.span7,select.span7{display:inline-block;float:none;width:650px;margin-left:0;}
+input.span8,textarea.span8,select.span8{display:inline-block;float:none;width:750px;margin-left:0;}
+input.span9,textarea.span9,select.span9{display:inline-block;float:none;width:850px;margin-left:0;}
+input.span10,textarea.span10,select.span10{display:inline-block;float:none;width:950px;margin-left:0;}
+input.span11,textarea.span11,select.span11{display:inline-block;float:none;width:1050px;margin-left:0;}
+input.span12,textarea.span12,select.span12{display:inline-block;float:none;width:1150px;margin-left:0;}
+input.span13,textarea.span13,select.span13{display:inline-block;float:none;width:1250px;margin-left:0;}
+input.span14,textarea.span14,select.span14{display:inline-block;float:none;width:1350px;margin-left:0;}
+input.span15,textarea.span15,select.span15{display:inline-block;float:none;width:1450px;margin-left:0;}
+input.span16,textarea.span16,select.span16{display:inline-block;float:none;width:1550px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
-.has-error{background:#f8dcda;padding:9px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.has-error>label,.has-error span.help-inline,.has-error span.help-block{color:#9d261d;}
+.has-error{background:#f8dcda;padding:9px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.has-error>label,.has-error span.help-inline,.has-error span.help-block{color:#9d261d;}
 .has-error input,.has-error textarea,.has-error select{border-color:#c87872;-webkit-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);-moz-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);box-shadow:0 0 3px rgba(171, 41, 32, 0.25);}.has-error input:focus,.has-error textarea:focus,.has-error select:focus{border-color:#b9554d;-webkit-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);-moz-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);box-shadow:0 0 6px rgba(171, 41, 32, 0.5);}
 .has-error .input-prepend span.add-on,.has-error .input-append span.add-on{background:#f4c8c5;border-color:#c87872;color:#b9554d;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
@@ -158,28 +142,28 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .inline-inputs input.mini{width:60px;}
 .inline-inputs input.small{width:90px;}
 .inline-inputs span{padding:0 2px 0 1px;}
-.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
-.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
-.input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
-.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;margin-right:0;margin-left:-1px;}
-.form-search .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
+.form-search .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
 .form-horizontal .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
 .form-horizontal .controls{margin-left:150px;}
 .form-horizontal .control-list{padding-top:6px;}
 .form-horizontal .form-actions{padding-left:150px;}
-table{width:100%;margin-bottom:18px;padding:0;border-collapse:separate;*border-collapse:collapse;font-size:13px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
+table{width:100%;margin-bottom:18px;padding:0;border-collapse:separate;*border-collapse:collapse;font-size:13px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
 table th{padding-top:9px;font-weight:bold;vertical-align:middle;border-bottom:1px solid #ddd;}
 table td{vertical-align:top;}
 table th+th,table td+td{border-left:1px solid #ddd;}
 table tr+tr td{border-top:1px solid #ddd;}
-table tbody 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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
-table tbody 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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
-table tbody 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;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
-table tbody 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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+table tbody 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;}
+table tbody 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;}
+table tbody 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;}
+table tbody 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;}
 .zebra-striped tbody tr:nth-child(odd) td{background-color:#f9f9f9;}
 .zebra-striped tbody tr:hover td{background-color:#f5f5f5;}
 .zebra-striped .header{cursor:pointer;}.zebra-striped .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
@@ -210,7 +194,7 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .navbar-search .search-query:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.navbar-static .navbar-inner{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;left:0;right:0;z-index:10000;}
 .nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
@@ -225,7 +209,7 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .dropdown{position:relative;}
 .dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-khtml-opacity:0.3;-moz-opacity:0.3;opacity:0.3;}
 .dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
-.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
+.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
 .topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
@@ -233,30 +217,30 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
-.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
+.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
 .tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
 .tabbable{margin-bottom:18px;}.tabbable .tabs{margin-bottom:0;border-bottom:0;}
 .tabbable .tab-content{padding:19px;border:1px solid #ddd;}
 .tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
-.tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
+.tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
 .tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
 .tabbable.tabs-left .tabs{float:left;}
 .tabbable.tabs-left .tabs>li{float:none;}
 .tabbable.tabs-right .tabs{float:right;}
 .tabbable.tabs-right .tabs>li{float:none;}
-.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
 .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
 .tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
+.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
 .pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
 .pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
-.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
 .breadcrumb .active a{color:#404040;}
-.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
+.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
 .page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;}
@@ -264,13 +248,13 @@ footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
 .btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
+.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
 .btn:focus{outline:1px dotted #666;}
 .btn.primary{color:#ffffff;background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
@@ -279,11 +263,11 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-toolbar .btn-group{float:left;margin-right:10px;}
 .btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";zoom:1;*display:inline;}
 .btn-group:after{clear:both;}
-.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
 .btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-khtml-opacity:0.2;-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
 .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
@@ -296,21 +280,21 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
 .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
-.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}
+.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
 .pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
 .pagination .next a{border:0;}
-.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
+.modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
 .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%;}
 .modal.fade.in{top:50%;}
 .modal-header{border-bottom:1px solid #eee;padding:5px 15px;}
 .modal-body{padding:15px;}
-.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;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-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;*display:inline;}
+.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;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;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;*display:inline;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
 .twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
@@ -318,24 +302,24 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
-.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}
+.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
 .popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .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;}
 .popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{background-color:#000000;background-color:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}
-.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border-bottom:1px solid #eee;}
-.popover .content{background-color:#ffffff;padding:14px;-webkit-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;background-clip:padding-box;-webkit-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;}
+.popover .inner{background-color:#000000;background-color:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-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);}
+.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
+.popover .content{background-color:#ffffff;padding:14px;-webkit-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;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
 .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;}.fade.in{opacity:1;}
-.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
 .media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;*display:inline;}
 .media-grid:after{clear:both;}
 .media-grid li{display:inline;}
-.media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-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);}.media-grid a img{display:block;}
+.media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:28px;} .span2{width:76px;} .span3{width:124px;} .span4{width:172px;} .span5{width:220px;} .span6{width:268px;} .span7{width:316px;} .span8{width:364px;} .span9{width:412px;} .span10{width:460px;} .span11{width:508px;} .span12{width:556px;} .offset1{margin-left:68px;} .offset2{margin-left:116px;} .offset3{margin-left:164px;} .offset4{margin-left:212px;} .offset5{margin-left:260px;} .offset6{margin-left:308px;} .offset7{margin-left:356px;} .offset8{margin-left:404px;} .offset9{margin-left:452px;} .offset10{margin-left:500px;} .offset11{margin-left:548px;} .offset12{margin-left:596px;}}@media (min-width: 1170px){.container{width:1170px;} [class*="span"]{display:inline;float:left;margin-left:20px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:130px;} .offset2{margin-left:230px;} .offset3{margin-left:330px;} .offset4{margin-left:430px;} .offset5{margin-left:530px;} .offset6{margin-left:630px;} .offset7{margin-left:730px;} .offset8{margin-left:830px;} .offset9{margin-left:930px;} .offset10{margin-left:1030px;} .offset11{margin-left:1130px;} .offset12{margin-left:1230px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index a17fd5692b..52714d1991 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -8,8 +8,9 @@
 /* Body and structure
 -------------------------------------------------- */
 body {
-  background-color: #fff;
   position: relative;
+  padding-top: 40px;
+  background-color: #fff;
 }
 section {
   padding-top: 60px;
@@ -21,22 +22,29 @@ section > .row {
 
 /* Jumbotrons
 -------------------------------------------------- */
+.jumbotron,
+.jumbotron .inner {
+  -webkit-border-radius: 0 0 6px 6px;
+     -moz-border-radius: 0 0 6px 6px;
+          border-radius: 0 0 6px 6px;
+}
 .jumbotron {
-  min-width: 940px;
-  padding-top: 40px;
+  margin-bottom: 40px;
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.25);
+     -moz-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.25);
+          box-shadow: inset 0 -1px 0 rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.25);
 }
 .jumbotron .inner {
   background: transparent url(../img/grid-18px.png) top center;
-  padding: 45px 0;
-  -webkit-box-shadow: inset 0 10px 30px rgba(0,0,0,.3);
-     -moz-box-shadow: inset 0 10px 30px rgba(0,0,0,.3);
-/*          box-shadow: inset 0 10px 30px rgba(0,0,0,.3);
-*/}
+  padding: 36px 60px;
+  -webkit-box-shadow: inset 0 -15px 30px rgba(0,0,0,.1);
+     -moz-box-shadow: inset 0 -15px 30px rgba(0,0,0,.1);
+          box-shadow: inset 0 -15px 30px rgba(0,0,0,.1);
+}
 .jumbotron h1,
 .jumbotron p {
   margin-bottom: 9px;
   color: #fff;
-  text-align: center;
   text-shadow: 0 1px 1px rgba(0,0,0,.3);
 }
 .jumbotron h1 {
@@ -46,6 +54,7 @@ section > .row {
 }
 .jumbotron p {
   font-weight: 300;
+  margin-right: 25%;
 }
 .jumbotron .lead {
   font-size: 20px;
@@ -60,14 +69,14 @@ section > .row {
 ------------------------- */
 /* main docs page */
 .masthead {
-  background-color: #049cd9;
+  background-color: #004d9f;
   background-repeat: no-repeat;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#004D9F), to(#049cd9));
-  background-image: -webkit-linear-gradient(#004D9F, #049cd9);
-  background-image: -moz-linear-gradient(#004D9F, #049cd9);
-  background-image: -o-linear-gradient(top, #004D9F, #049cd9);
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#004D9F), to(#049cd9));
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#004D9F', endColorstr='#049cd9', GradientType=0); /* IE8 and down */
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#048ccd), to(#004d9f));
+  background-image: -webkit-linear-gradient(#048ccd, #004d9f);
+  background-image: -moz-linear-gradient(#048ccd, #004d9f);
+  background-image: -o-linear-gradient(top, #048ccd, #004d9f);
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#048ccd), to(#004d9f));
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#048ccd', endColorstr='#004d9f', GradientType=0); /* IE8 and down */
 }
 /* supporting docs pages */
 .subhead {
@@ -98,15 +107,9 @@ section > .row {
 /* Footer
 -------------------------------------------------- */
 .footer {
-  background-color: #eee;
-  min-width: 940px;
   padding: 30px 0;
-  text-shadow: 0 1px 0 #fff;
   border-top: 1px solid #e5e5e5;
-  -webkit-box-shadow: inset 0 5px 15px rgba(0,0,0,.025);
-     -moz-box-shadow: inset 0 5px 15px rgba(0,0,0,.025);
-/*          box-shadow: inset 0 5px 15px rgba(0,0,0,.025);
-*/}
+}
 .footer p {
   color: #555;
 }
@@ -323,3 +326,25 @@ pre.prettyprint {
 .well form {
   margin-bottom: 0;
 }
+
+
+/* Responsive Docs
+-------------------------------------------------- */
+
+/* Tablet to Medium Desktop
+------------------------- */
+
+@media (min-width: 768px) and (max-width: 900px) {
+
+  .footer,
+  .jumbotron {
+    min-width: 748px;
+  }
+  .jumbotron .inner h1,
+  .jumbotron .inner p {
+    margin-left: 40px;
+    margin-right: 40px;
+  }
+
+}
+
diff --git a/docs/index.html b/docs/index.html
index 4dd45f5f96..2db9719d1a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -75,40 +75,40 @@
       </div>
     </div>
 
-    <!-- Masthead (blueprinty thing)
-    ================================================== -->
-    <header class="jumbotron masthead" id="overview">
-      <div class="inner">
-        <h1>Bootstrap, from Twitter</h1>
-        <p class="lead">
-          Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.<br>
-          It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<br>
-        </p>
-        <p><strong>Nerd alert:</strong> Bootstrap is <a href="#less" title="Read about using Bootstrap with Less">built with Less</a> and was designed to work out of the gate with modern browsers in mind.</p>
-      </div>
-    </header>
+  <div class="container">
+
+    <div id="overview">
+      <!-- Masthead (blueprinty thing)
+      ================================================== -->
+      <header class="jumbotron masthead">
+        <div class="inner">
+          <h1>Bootstrap, from Twitter</h1>
+          <a href="#" class="btn btn-large pull-right">Download on GitHub</a>
+          <p class="lead">Bootstrap is a frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
+          <p><strong>Nerd alert:</strong> Bootstrap is <a href="#less" title="Read about using Bootstrap with Less">built with Less</a> and was designed with modern browsers in mind.</p>
+        </div>
+      </header>
 
-    <!-- Quickstart options
-    ================================================== -->
-    <div class="quickstart">
-      <div class="container">
+      <!-- Quickstart options
+      ================================================== -->
+      <div class="quickstart" style="display: none;">
         <div class="row">
-          <div class="span5">
+          <div class="span4">
             <h6>Hotlink the CSS</h6>
             <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
             <form>
               <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
             </form>
           </div>
-          <div class="span5">
+          <div class="span4">
             <h6>Use it with Less</h6>
             <p>A fan of using Less? No problem, just clone the repo and add these lines:</p>
             <form>
               <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+  &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
             </form>
           </div>
-          <div class="span5">
+          <div class="span4">
             <h6>Fork on GitHub</h6>
             <p>Download, fork, pull, file issues, and more with the official Bootstrap repo on Github.</p>
             <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
@@ -116,51 +116,40 @@
           </div>
         </div><!-- /row -->
       </div>
-    </div>
 
-    <div class="container">
-
-
-
-<!-- About Bootstrap
-================================================== -->
-<section id="about">
-  <div class="page-header">
-    <h1>About Bootstrap <small>Brief history, browser support, and more</small></h1>
-  </div>
-  <div class="row">
-    <div class="span-one-third">
-      <h3>History</h3>
-      <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
-      <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
-    </div>
-    <div class="span-one-third">
-      <h3>Browser support</h3>
-      <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
-      <img src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
-      <ul>
-        <li>Latest Safari</li>
-        <li>Latest Google Chrome</li>
-        <li>Firefox 4+</li>
-        <li>Internet Explorer 7+</li>
-        <li>Opera 11</li>
-      </ul>
-    </div>
-    <div class="span-one-third">
-      <h3>What's included</h3>
-      <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
-      <ul>
-        <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
-        <li>All original .less files</li>
-        <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
-        <li>Complete styleguide documentation</li>
-        <li>Three example pages with different layouts</li>
-      </ul>
-    </div>
-  </div><!-- /row -->
+      <!-- About Bootstrap
+      ================================================== -->
+      <div class="row">
+        <div class="span4">
+          <h2>Built for and by nerds</h2>
+          <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
+          <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
+        </div>
+        <div class="span4">
+          <h2>Cross-everything</h2>
+          <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
+          <img src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
+          <ul>
+            <li>Latest Safari</li>
+            <li>Latest Google Chrome</li>
+            <li>Firefox 4+</li>
+            <li>Internet Explorer 7+</li>
+            <li>Opera 11</li>
+          </ul>
+        </div>
+        <div class="span4">
+          <h2>What's included</h2>
+          <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
+          <ul>
+            <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
+            <li>All original .less files</li>
+            <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
+            <li>Complete styleguide documentation</li>
+            <li>Three example pages with different layouts</li>
+          </ul>
+        </div>
+      </div><!-- /row -->
 
-  <div class="row">
-    <div class="span12">
       <h3>Quick-start examples</h3>
       <p>Need some quick templates? Check out these basic examples we've put together:</p>
       <ul class="media-grid">
@@ -174,10 +163,8 @@
           <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" alt="Simple hanging container for apps"></a>
         </li>
       </ul>
-    </div>
-  </div><!-- /row -->
-</section>
 
+    </div><!-- /#overview -->
 
 
 <!-- Grid system
@@ -187,11 +174,11 @@
     <h1>Grid system <small>Rock the standard 940px or roll your own</small></h1>
   </div>
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Default grid</h2>
       <p>The default grid system provided as part of Bootstrap is a 940px wide 16-column grid. It’s a flavor of the popular 960 grid system, but without the additional margin/padding on the left and right sides.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Example grid markup</h3>
       <p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 16 foundational columns we defined as part of our grid system. See the examples below for more variations.</p>
 <pre class="prettyprint linenums">
@@ -206,11 +193,7 @@
 </pre>
     </div>
   </div><!-- /row -->
-  <div class="row show-grid" title="16 column layout">
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
+  <div class="row show-grid">
     <div class="span1">1</div>
     <div class="span1">1</div>
     <div class="span1">1</div>
@@ -223,56 +206,23 @@
     <div class="span1">1</div>
     <div class="span1">1</div>
     <div class="span1">1</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="8 column layout">
-    <div class="span2">2</div>
-    <div class="span2">2</div>
-    <div class="span2">2</div>
-    <div class="span2">2</div>
-    <div class="span2">2</div>
-    <div class="span2">2</div>
-    <div class="span2">2</div>
-    <div class="span2">2</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="Example uncommon layout">
-    <div class="span3">3</div>
-    <div class="span3">3</div>
-    <div class="span3">3</div>
-    <div class="span3">3</div>
-    <div class="span3">3</div>
-    <div class="span1 column">1</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="Four column layout">
-    <div class="span4">4</div>
+  </div>
+  <div class="row show-grid">
     <div class="span4">4</div>
     <div class="span4">4</div>
     <div class="span4">4</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="Default three column layout">
-    <div class="span-one-third">1/3</div>
-    <div class="span-one-third">1/3</div>
-    <div class="span-one-third">1/3</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="One-third and two-thirds layout">
-    <div class="span-one-third">1/3</div>
-    <div class="span-two-thirds">2/3</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="Irregular three column layout">
+  </div>
+  <div class="row show-grid">
     <div class="span4">4</div>
+    <div class="span8">8</div>
+  </div>
+  <div class="row show-grid">
     <div class="span6">6</div>
     <div class="span6">6</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="Half and half">
-    <div class="span8">8</div>
-    <div class="span8">8</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="Example uncommon two-column layout">
-    <div class="span5">5</div>
-    <div class="span11">11</div>
-  </div><!-- /row -->
-  <div class="row show-grid" title="Unnecessary single column layout">
-    <div class="span16">16</div>
-  </div><!-- /row -->
+  </div>
+  <div class="row show-grid">
+    <div class="span12">12</div>
+  </div>
 
   <br>
 
@@ -282,18 +232,11 @@
     <div class="span8 offset4">8 offset 4</div>
   </div><!-- /row -->
   <div class="row show-grid">
-    <div class="span-one-third offset-two-thirds">1/3 offset 2/3s</div>
+    <div class="span3 offset3">3 offset 3</div>
+    <div class="span3 offset3">3 offset 3</div>
   </div><!-- /row -->
   <div class="row show-grid">
-    <div class="span4 offset4">4 offset 4</div>
-    <div class="span4 offset4">4 offset 4</div>
-  </div><!-- /row -->
-  <div class="row show-grid">
-    <div class="span5 offset3">5 offset 3</div>
-    <div class="span5 offset3">5 offset 3</div>
-  </div><!-- /row -->
-  <div class="row show-grid">
-    <div class="span10 offset6">10 offset 6</div>
+    <div class="span8 offset4">8 offset 4</div>
   </div><!-- /row -->
 
   <br>
@@ -978,7 +921,7 @@
         <fieldset class="control-group has-error">
           <label class="control-label" for="textareaError">Textarea with error</label>
           <div class="controls">
-            <textarea class="input-xxlarge" rows="3"></textarea>
+            <textarea class="input-xlarge" rows="3"></textarea>
           </div>
         </fieldset>
         <fieldset class="control-group">
@@ -2009,17 +1952,17 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 
 </section>
 
-    </div><!-- /container -->
 
     <footer class="footer">
-      <div class="container">
-        <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-        </p>
-      </div>
+      <p class="pull-right"><a href="#">Back to top</a></p>
+      <p>
+        Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
+        Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
+      </p>
     </footer>
 
+    </div><!-- /container -->
+
+
   </body>
 </html>
diff --git a/lib/mixins.less b/lib/mixins.less
index 22a30a1c86..16ea91ba41 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -101,9 +101,6 @@
   -webkit-border-radius: @radius;
      -moz-border-radius: @radius;
           border-radius: @radius;
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding;
-          background-clip: padding-box;
 }
 .border-radius-custom(@topLeft, @topRight, @bottomRight, @bottomLeft) {
   -webkit-border-top-left-radius: @topLeft;
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 00a8ee3b35..01fcd9e772 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -84,10 +84,8 @@ a {
 // GRID SYSTEM
 // -----------
 // To customize the grid system, bring up the variables.less file and change the column count, size, and gutter there
-
 .row {
   .clearfix();
-  margin-left: -1 * @gridGutterWidth;
 }
 
 // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7)
@@ -95,6 +93,10 @@ a {
 [class*="span"] {
   .gridColumn();
 }
+// Kill the margin on the first column
+.row > [class*="span"]:first-child {
+  margin-left: 0;
+}
 
 // Default columns
 .span1     { .columns(1); }
@@ -109,20 +111,6 @@ a {
 .span10    { .columns(10); }
 .span11    { .columns(11); }
 .span12    { .columns(12); }
-.span13    { .columns(13); }
-.span14    { .columns(14); }
-.span15    { .columns(15); }
-.span16    { .columns(16); }
-
-// For optional 24-column grid
-.span17    { .columns(17); }
-.span18    { .columns(18); }
-.span19    { .columns(19); }
-.span20    { .columns(20); }
-.span21    { .columns(21); }
-.span22    { .columns(22); }
-.span23    { .columns(23); }
-.span24    { .columns(24); }
 
 // Offset column options
 .offset1   { .offset(1); }
@@ -136,10 +124,3 @@ a {
 .offset9   { .offset(9); }
 .offset10  { .offset(10); }
 .offset11  { .offset(11); }
-.offset12  { .offset(12); }
-
-// Unique column sizes for 16-column grid
-.span-one-third     { width: 300px; }
-.span-two-thirds    { width: 620px; }
-.offset-one-third   { margin-left: 340px; }
-.offset-two-thirds  { margin-left: 660px; }
diff --git a/lib/variables.less b/lib/variables.less
index f85e0ec859..24eb8b45a3 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -38,8 +38,8 @@
 // ----
 
 // Modify the grid styles in mixins.less
-@gridColumns:       16;
-@gridColumnWidth:   40px;
+@gridColumns:       12;
+@gridColumnWidth:   60px;
 @gridGutterWidth:   20px;
 @extraSpace:        (@gridGutterWidth * 2); // For our grid calculations
 @siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
-- 
GitLab


From be926a04bc7d1fec228b9cbd4c6d0bb0c75c30cd Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 03:08:14 -0700
Subject: [PATCH 027/576] fix uber size in responsive; remove @extraspace
 variable by changing grid to use :first-child over negative margin

---
 bootstrap.css      | 52 ++++++++++++++++++++++------------------------
 bootstrap.min.css  | 24 ++++++++++-----------
 lib/mixins.less    |  2 +-
 lib/variables.less |  1 -
 4 files changed, 38 insertions(+), 41 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 482d2878c8..887dbdd011 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 02:59:54 PDT 2011
+ * Date: Sun Oct 16 03:07:49 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -316,37 +316,37 @@ a:hover {
   width: 940px;
 }
 .offset1 {
-  margin-left: 100px;
+  margin-left: 80px;
 }
 .offset2 {
-  margin-left: 180px;
+  margin-left: 160px;
 }
 .offset3 {
-  margin-left: 260px;
+  margin-left: 240px;
 }
 .offset4 {
-  margin-left: 340px;
+  margin-left: 320px;
 }
 .offset5 {
-  margin-left: 420px;
+  margin-left: 400px;
 }
 .offset6 {
-  margin-left: 500px;
+  margin-left: 480px;
 }
 .offset7 {
-  margin-left: 580px;
+  margin-left: 560px;
 }
 .offset8 {
-  margin-left: 660px;
+  margin-left: 640px;
 }
 .offset9 {
-  margin-left: 740px;
+  margin-left: 720px;
 }
 .offset10 {
-  margin-left: 820px;
+  margin-left: 800px;
 }
 .offset11 {
-  margin-left: 900px;
+  margin-left: 880px;
 }
 /* Typography.less
  * Headings, body text, lists, code, and more for a versatile and durable typography system
@@ -2367,9 +2367,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: 1170px;
   }
   [class*="span"] {
-    display: inline;
-    float: left;
-    margin-left: 20px;
+    margin-left: 30px;
   }
   .span1 {
     width: 70px;
@@ -2408,39 +2406,39 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: 1170px;
   }
   .offset1 {
-    margin-left: 130px;
+    margin-left: 100px;
   }
   .offset2 {
-    margin-left: 230px;
+    margin-left: 200px;
   }
   .offset3 {
-    margin-left: 330px;
+    margin-left: 300px;
   }
   .offset4 {
-    margin-left: 430px;
+    margin-left: 400px;
   }
   .offset5 {
-    margin-left: 530px;
+    margin-left: 500px;
   }
   .offset6 {
-    margin-left: 630px;
+    margin-left: 600px;
   }
   .offset7 {
-    margin-left: 730px;
+    margin-left: 700px;
   }
   .offset8 {
-    margin-left: 830px;
+    margin-left: 800px;
   }
   .offset9 {
-    margin-left: 930px;
+    margin-left: 900px;
   }
   .offset10 {
-    margin-left: 1030px;
+    margin-left: 1000px;
   }
   .offset11 {
-    margin-left: 1130px;
+    margin-left: 1100px;
   }
   .offset12 {
-    margin-left: 1230px;
+    margin-left: 1200px;
   }
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 04a992e322..9c59687997 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -52,17 +52,17 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .span10{width:780px;}
 .span11{width:860px;}
 .span12{width:940px;}
-.offset1{margin-left:100px;}
-.offset2{margin-left:180px;}
-.offset3{margin-left:260px;}
-.offset4{margin-left:340px;}
-.offset5{margin-left:420px;}
-.offset6{margin-left:500px;}
-.offset7{margin-left:580px;}
-.offset8{margin-left:660px;}
-.offset9{margin-left:740px;}
-.offset10{margin-left:820px;}
-.offset11{margin-left:900px;}
+.offset1{margin-left:80px;}
+.offset2{margin-left:160px;}
+.offset3{margin-left:240px;}
+.offset4{margin-left:320px;}
+.offset5{margin-left:400px;}
+.offset6{margin-left:480px;}
+.offset7{margin-left:560px;}
+.offset8{margin-left:640px;}
+.offset9{margin-left:720px;}
+.offset10{margin-left:800px;}
+.offset11{margin-left:880px;}
 p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
@@ -322,4 +322,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:28px;} .span2{width:76px;} .span3{width:124px;} .span4{width:172px;} .span5{width:220px;} .span6{width:268px;} .span7{width:316px;} .span8{width:364px;} .span9{width:412px;} .span10{width:460px;} .span11{width:508px;} .span12{width:556px;} .offset1{margin-left:68px;} .offset2{margin-left:116px;} .offset3{margin-left:164px;} .offset4{margin-left:212px;} .offset5{margin-left:260px;} .offset6{margin-left:308px;} .offset7{margin-left:356px;} .offset8{margin-left:404px;} .offset9{margin-left:452px;} .offset10{margin-left:500px;} .offset11{margin-left:548px;} .offset12{margin-left:596px;}}@media (min-width: 1170px){.container{width:1170px;} [class*="span"]{display:inline;float:left;margin-left:20px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:130px;} .offset2{margin-left:230px;} .offset3{margin-left:330px;} .offset4{margin-left:430px;} .offset5{margin-left:530px;} .offset6{margin-left:630px;} .offset7{margin-left:730px;} .offset8{margin-left:830px;} .offset9{margin-left:930px;} .offset10{margin-left:1030px;} .offset11{margin-left:1130px;} .offset12{margin-left:1230px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:28px;} .span2{width:76px;} .span3{width:124px;} .span4{width:172px;} .span5{width:220px;} .span6{width:268px;} .span7{width:316px;} .span8{width:364px;} .span9{width:412px;} .span10{width:460px;} .span11{width:508px;} .span12{width:556px;} .offset1{margin-left:68px;} .offset2{margin-left:116px;} .offset3{margin-left:164px;} .offset4{margin-left:212px;} .offset5{margin-left:260px;} .offset6{margin-left:308px;} .offset7{margin-left:356px;} .offset8{margin-left:404px;} .offset9{margin-left:452px;} .offset10{margin-left:500px;} .offset11{margin-left:548px;} .offset12{margin-left:596px;}}@media (min-width: 1170px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
diff --git a/lib/mixins.less b/lib/mixins.less
index 16ea91ba41..47857f1faf 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -82,7 +82,7 @@
   width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
 }
 .offset(@columnOffset: 1) {
-  margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @extraSpace;
+  margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
 }
 // Necessary grid styles for every column to make them appear next to each other horizontally
 .gridColumn() {
diff --git a/lib/variables.less b/lib/variables.less
index 24eb8b45a3..92d09de709 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -41,7 +41,6 @@
 @gridColumns:       12;
 @gridColumnWidth:   60px;
 @gridGutterWidth:   20px;
-@extraSpace:        (@gridGutterWidth * 2); // For our grid calculations
 @siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
 
 
-- 
GitLab


From 3a4760637f3acca9cbd8af2819d163848852a23a Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 03:15:17 -0700
Subject: [PATCH 028/576] tweak navbar styles for static version to not cause
 problems on responsive layouts

---
 bootstrap.css     |   4 +-
 bootstrap.min.css |   2 +-
 docs/index.html   | 136 +++++++++++++++++++++++-----------------------
 lib/patterns.less |   2 -
 4 files changed, 70 insertions(+), 74 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 887dbdd011..8b487fb7e3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 03:07:49 PDT 2011
+ * Date: Sun Oct 16 03:14:23 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1165,8 +1165,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   margin-bottom: 18px;
 }
 .navbar-static .navbar-inner {
-  margin-left: -20px;
-  margin-right: -20px;
   padding-left: 20px;
   padding-right: 20px;
   -webkit-border-radius: 4px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9c59687997..cfec72ec12 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -194,7 +194,7 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .navbar-search .search-query:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;left:0;right:0;z-index:10000;}
 .nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
diff --git a/docs/index.html b/docs/index.html
index 2db9719d1a..0e49e9cbd2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -242,20 +242,20 @@
   <br>
 
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Nesting columns</h2>
       <p>Nest your content if you must by creating a <code>.row</code> within an existing column.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h4>Example of nested columns</h4>
       <div class="row show-grid">
-        <div class="span12">
+        <div class="span9">
           Level 1 of column
           <div class="row show-grid">
-            <div class="span6">
+            <div class="span4">
               Level 2
             </div>
-            <div class="span6">
+            <div class="span5">
               Level 2
             </div>
           </div>
@@ -282,11 +282,11 @@
   <br>
 
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Roll your own grid</h2>
       <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system. With a bit of customization, you can modify the size of columns, their gutters, and the container they reside in.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Inside the grid</h3>
       <p>The variables needed to modify the grid system currently all reside in <code>preboot.less</code>.</p>
       <table class="zebra-striped">
@@ -341,7 +341,7 @@
   </div>
 
   <div class="row">
-    <div class="span8">
+    <div class="span6">
       <h2>Fixed layout</h2>
       <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div.container&gt;</code>.</p>
       <div class="mini-layout">
@@ -355,7 +355,7 @@
 &lt;/body&gt;
 </pre>
     </div><!-- /col -->
-    <div class="span8">
+    <div class="span6">
       <h2>Fluid layout</h2>
       <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
       <div class="mini-layout fluid">
@@ -403,7 +403,7 @@
       <h5>h5. Heading 5</h5>
       <h6>h6. Heading 6</h6>
     </div>
-    <div class="span8">
+    <div class="span4">
       <h3>Example paragraph</h3>
       <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
       <h1>Example heading <small>Has sub-heading&hellip;</small></h1>
@@ -412,7 +412,7 @@
 
   <!-- Misc Elements -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Misc. elements</h2>
       <p>Using emphasis, addresses, &amp; abbreviations</p>
       <p>
@@ -422,7 +422,7 @@
         <code>&lt;abbr&gt;</code>
       </p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>When to use</h3>
       <p>Emphasis tags (<code>&lt;strong&gt;</code> and <code>&lt;em&gt;</code>) should be used to indicate additional importance or emphasis of a word or phrase relative to its surrounding copy. Use <code>&lt;strong&gt;</code> for importance and <code>&lt;em&gt;</code> for <em>stress</em> emphasis.</p>
       <h3>Emphasis in a paragraph</h3>
@@ -456,7 +456,7 @@
 
   <!-- Blockquotes -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Blockquotes</h2>
       <p>
         <code>&lt;blockquote&gt;</code>
@@ -464,7 +464,7 @@
         <code>&lt;small&gt;</code>
       </p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>How to quote</h3>
       <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around <code>&lt;p&gt;</code> and <code>&lt;small&gt;</code> tags. Use the <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it.</p>
       <blockquote>
@@ -482,7 +482,7 @@
 
   <h2>Lists</h2>
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h4>Unordered <code>&lt;ul&gt;</code></h4>
       <ul>
         <li>Lorem ipsum dolor sit amet</li>
@@ -502,7 +502,7 @@
         <li>Eget porttitor lorem</li>
       </ul>
     </div>
-    <div class="span4">
+    <div class="span3">
       <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
       <ul class="unstyled">
         <li>Lorem ipsum dolor sit amet</li>
@@ -522,7 +522,7 @@
         <li>Eget porttitor lorem</li>
       </ul>
     </div>
-    <div class="span4">
+    <div class="span3">
       <h4>Ordered <code>&lt;ol&gt;</code></h4>
       <ol>
         <li>Lorem ipsum dolor sit amet</li>
@@ -535,7 +535,7 @@
         <li>Eget porttitor lorem</li>
       </ol>
     </div>
-    <div class="span4">
+    <div class="span3">
       <h4>Description <code>dl</code></h4>
       <dl>
         <dt>Description lists</dt>
@@ -552,7 +552,7 @@
 
   <!-- Code -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Code</h2>
       <p>
         <code>&lt;code&gt;</code>
@@ -560,7 +560,7 @@
       </p>
       <p>Pimp your code in style with two simple tags. For even more awesomeness through javascript, drop in Google's code prettify library and you're set.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Presenting code</h3>
       <p>Code, blocks of or just snippets inline, can be displayed with style just by wrapping in the right tag. For blocks of code spanning multiple lines, use the <code>&lt;pre&gt;</code> element. For inline code, use the <code>&lt;code&gt;</code> element.</p>
       <table class="zebra-striped">
@@ -603,14 +603,14 @@
 
   <!-- Labels -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Inline labels</h2>
       <p>
         <code>&lt;span class="label"&gt;</code>
       </p>
       <p>Call attention to or flag any phrase in your body text.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Label anything</h3>
       <p>Ever needed one of those fancy <span class="label success">New!</span> or <span class="label important">Important</span> flags when writing code? Well, now you have them. Here's what's included by default:</p>
       <table class="zebra-striped">
@@ -678,7 +678,7 @@
   </div>
   <!-- Table structure -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Building tables</h2>
       <p>
         <code>&lt;table&gt;</code>
@@ -694,7 +694,7 @@
       <p>Always wrap your column headers in a <code>&lt;thead&gt;</code> such that hierarchy is <code>&lt;thead&gt;</code> > <code>&lt;tr&gt;</code> > <code>&lt;th&gt;</code>.</p>
       <p>Similar to the column headers, all your table’s body content should be wrapped in a <code>&lt;tbody&gt;</code> so your hierarchy is <code>&lt;tbody&gt;</code> > <code>&lt;tr&gt;</code> > <code>&lt;td&gt;</code>.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Example: Default table styles</h3>
       <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
       <table>
@@ -823,7 +823,7 @@
     <h1>Forms</h1>
   </div>
   <div class="row">
-    <div class="span-one-third">
+    <div class="span4">
       <h3>Four types of forms</h3>
       <p>With 2.0, we now have four types of forms to choose from:</p>
       <ul>
@@ -833,15 +833,15 @@
         <li>Vertical form for stacked labels and inputs</li>
       </ul>
     </div>
-    <div class="span-one-third">
+    <div class="span4">
       <h3></h3>
     </div>
   </div><!-- /row -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Search form</h2>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="well">
         <form class="form-search">
           <input type="text" class="search-query">
@@ -851,10 +851,10 @@
     </div>
   </div><!-- /row -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Inline form</h2>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="well">
         <form class="form-inline">
           <h4>Some directional text</h4>
@@ -868,10 +868,10 @@
     </div>
   </div><!-- /row -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Horizontal form</h2>
     </div>
-    <div class="span12">
+    <div class="span9">
       <form class="form-horizontal">
         <legend>Example form</legend>
         <fieldset class="control-group">
@@ -972,10 +972,10 @@
     </div>
   </div><!-- /row -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Vertical form</h2>
     </div>
-    <div class="span12">
+    <div class="span9">
       <form class="form-vertical">
         <legend>Example form</legend>
         <fieldset class="control-group">
@@ -1016,12 +1016,12 @@
   </div><!-- /row -->
 
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Buttons</h2>
       <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
       <p>All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue <code>.primary</code> class, a light-blue <code>.info</code> class, a green <code>.success</code> class, and a red <code>.danger</code> class.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Example buttons</h3>
       <p>Button styles can be applied to anything with the <code>.btn</code> applied. Typically you’ll want to apply these to only <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, and select <code>&lt;input&gt;</code> elements. Here’s how it looks:</p>
       <div class="well" style="padding: 14px 19px;">
@@ -1052,10 +1052,10 @@
   </div><!-- /row -->
 
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Button groups</h2>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Example</h3>
       <div class="well">
         <div class="btn-group">
@@ -1101,11 +1101,11 @@
   </div>
   <!-- Table structure -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Media grid</h2>
       <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Example thumbnails</h3>
       <p>Thumbnails in the <code>.media-grid</code> can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the <code>.span2</code>, <code>.span4</code>, and <code>.span6</code> column sizes.</p>
       <h4>Large</h4>
@@ -1234,15 +1234,15 @@
   </div><!-- /topbar -->
 
   <div class="row">
-    <div class="span5">
+    <div class="span4">
       <h4>What is it</h4>
       <p>Our topbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
     </div>
-    <div class="span5">
+    <div class="span4">
       <h4>Customizable</h4>
       <p>All elements within, and the entire topbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
     </div>
-    <div class="span6">
+    <div class="span4">
       <h4>Dropdowns included</h4>
       <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>li</code> tags also support <code>.active</code> for showing current page selection.</p>
     </div>
@@ -1252,12 +1252,12 @@
   <br>
 
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Tabs and pills</h2>
       <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
       <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <h3>Basic tabs example</h3>
       <p>Tabs can be used as regular navigation (loading external pages in the same tab) or as tabbable content areas for swapping out panes of content. We have a <a href="./javascript.html#tabs">tabs plugin</a> that can be used to integrate the latter.</p>
       <ul class="tabs">
@@ -1288,7 +1288,7 @@
       <h3>Alternate tabs</h3>
       <p>You can also use tabs that are stacked on either side of an element, or on the bottom.</p>
       <div class="row">
-        <div class="span3">
+        <div class="span2">
           <div class="clearfix">
             <ul class="tabs tabs-left">
               <li class="active"><a href="#">Active link</a></li>
@@ -1298,7 +1298,7 @@
             </ul>
           </div>
         </div>
-        <div class="span3">
+        <div class="span2">
           <div class="clearfix">
             <ul class="tabs tabs-right">
               <li class="active"><a href="#">Active link</a></li>
@@ -1308,7 +1308,7 @@
             </ul>
           </div>
         </div>
-        <div class="span6">
+        <div class="span5">
           <div class="clearfix">
             <ul class="tabs tabs-bottom">
               <li class="active"><a href="#">Active link</a></li>
@@ -1345,7 +1345,7 @@
       </div>
 
        <div class="row">
-        <div class="span6">
+        <div class="span4">
           <div class="tabbable tabs-left">
             <ul class="tabs" data-tabs="tabs">
               <li class="active"><a href="#1">Section 1</a></li>
@@ -1368,7 +1368,7 @@
             </div>
           </div>
         </div>
-        <div class="span6">
+        <div class="span5">
           <div class="tabbable tabs-right">
             <ul class="tabs" data-tabs="tabs">
               <li class="active"><a href="#1">Section 1</a></li>
@@ -1450,11 +1450,11 @@
 
   <!-- Breadcrumbs -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Breadcrumbs</h2>
       <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <ul class="breadcrumb">
         <li class="active">Home</li>
       </ul>
@@ -1486,11 +1486,11 @@
 
   <!-- Pagination -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Pagination</h2>
       <p>Ultra simplistic and minimally styled pagination inspired by Rdio. The large block is hard to miss, easily scalable, and provides large click areas.</p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="pagination">
         <ul>
           <li class="prev disabled"><a href="#">&larr; Previous</a></li>
@@ -1560,13 +1560,13 @@
   </div>
   <!-- Basic alert messages -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Basic alerts</h2>
       <p><code>.alert-message</code></p>
       <p>One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.</p>
       <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="alert-message warning">
         <a class="close" href="#">&times;</a>
         <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
@@ -1595,13 +1595,13 @@
   </div><!-- /row -->
   <!-- Block messages -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Block messages</h2>
       <p><code>.alert-message.block-message</code></p>
       <p>For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer error messages, warning a user of a pending action, or just presenting information for more emphasis on the page.</p>
       <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="alert-message block-message warning">
         <a class="close" href="#">&times;</a>
         <p><strong>Holy guacamole! This is a warning!</strong> 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.</p>
@@ -1658,12 +1658,12 @@
     <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
   </div>
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Modals</h2>
       <p>Modals&mdash;dialogs or lightboxes&mdash;are great for contextual actions in situations where it’s important that the background context be maintained.</p>
       <p><a class="btn js-btn" href="./javascript.html#modal">Get the javascript &raquo;</a></p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="well" style="background-color: #888; border: none; padding: 40px;">
         <!-- Modal -->
         <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
@@ -1685,12 +1685,12 @@
 
   <!-- Tooltips -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Tooltips</h2>
       <p>Twipsies are super useful for aiding a confused user and pointing them in the right direction.</p>
       <p><a class="btn js-btn" href="./javascript.html#twipsy">Get the javascript &raquo;</a></p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="twipsies well">
         <div style="position: relative">
           <p class="muted" style="margin-bottom: 0">
@@ -1703,12 +1703,12 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 
   <!-- Popovers -->
   <div class="row">
-    <div class="span4">
+    <div class="span3">
       <h2>Popovers</h2>
       <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
       <p><a class="btn js-btn" href="./javascript.html#popover">Get the javascript &raquo;</a></p>
     </div>
-    <div class="span12">
+    <div class="span9">
       <div class="well popover-well">
          <div class="popover-wrapper">
           <div class="popover left">
@@ -1736,12 +1736,12 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
      <h1>Using javascript with Bootstrap <small>An index of plugins to get you started</small></h1>
    </div>
    <div class="row">
-     <div class="span4">
+     <div class="span3">
        <h2>Getting started</h2>
        <p>Integrating javascript with the Bootstrap library is super easy. Below we go over the basics and provide you with some awesome plugins to get you started!</p>
        <p><a class="btn primary" href="./javascript.html">View javascript docs &raquo;</a></p>
      </div>
-     <div class="span12">
+     <div class="span9">
       <h3>What's included</h3>
        <p>Bring some of Bootstrap's primary components to life with new custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>. We encourage you to extend and modify them to fit your specific development needs.</p>
        <table class="zebra-striped">
@@ -1797,11 +1797,11 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
   <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
 </div>
 <div class="row">
-  <div class="span4">
+  <div class="span3">
     <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
     <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
   </div>
-  <div class="span12">
+  <div class="span9">
     <h2>How to use it</h2>
     <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
 <pre class="prettyprint linenums">
diff --git a/lib/patterns.less b/lib/patterns.less
index af898a5614..950ac2feb9 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -111,8 +111,6 @@
   margin-bottom: @baseLineHeight;
 }
 .navbar-static .navbar-inner {
-  margin-left:  -20px;
-  margin-right: -20px;
   padding-left:  20px;
   padding-right: 20px;
   .border-radius(4px);
-- 
GitLab


From d1d38079589f2cda2b28cc9f5a3da86cbfabbf25 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 03:15:36 -0700
Subject: [PATCH 029/576] add responsive.less file

---
 lib/responsive.less | 147 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 147 insertions(+)
 create mode 100644 lib/responsive.less

diff --git a/lib/responsive.less b/lib/responsive.less
new file mode 100644
index 0000000000..ee974d3e18
--- /dev/null
+++ b/lib/responsive.less
@@ -0,0 +1,147 @@
+/* Responsive.less
+ * For phone and tablet devices
+ * ------------------------------------------------------------- */
+
+
+@media (max-width: 480px) {
+  // Remove width from containers
+  .container {
+    width: auto;
+    padding: 0 10px;
+  }
+  // Make all columns even
+  [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+  }
+}
+
+
+@media (min-width: 480px) and (max-width: 768px) {
+  // Remove width from containers
+  .container {
+    width: auto;
+    padding: 0 10px;
+  }
+  // Make all columns even
+  [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+    margin: 0;
+  }
+}
+
+
+// TABLET TO MEDIUM DESKTOP
+// ------------------------
+
+@media (min-width: 768px) and (max-width: 940px) {
+
+  // Reset grid variables
+  @gridColumns:       16;
+  @gridColumnWidth:   28px;
+  @gridGutterWidth:   20px;
+  @siteWidth:         748px;
+  @extraSpace:        (@gridGutterWidth * 2);
+
+  // Bring grid mixins to recalculate widths
+  .columns(@columnSpan: 1) {
+    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+  }
+  .offset(@columnOffset: 1) {
+    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @extraSpace;
+  }
+
+  // 16cols at 30px wide with 16px gutters
+  .container {
+    width: @siteWidth;
+  }
+
+  // Default columns
+  .span1     { .columns(1); }
+  .span2     { .columns(2); }
+  .span3     { .columns(3); }
+  .span4     { .columns(4); }
+  .span5     { .columns(5); }
+  .span6     { .columns(6); }
+  .span7     { .columns(7); }
+  .span8     { .columns(8); }
+  .span9     { .columns(9); }
+  .span10    { .columns(10); }
+  .span11    { .columns(11); }
+  .span12    { .columns(12); }
+
+  // Offset column options
+  .offset1   { .offset(1); }
+  .offset2   { .offset(2); }
+  .offset3   { .offset(3); }
+  .offset4   { .offset(4); }
+  .offset5   { .offset(5); }
+  .offset6   { .offset(6); }
+  .offset7   { .offset(7); }
+  .offset8   { .offset(8); }
+  .offset9   { .offset(9); }
+  .offset10  { .offset(10); }
+  .offset11  { .offset(11); }
+  .offset12  { .offset(12); }
+
+}
+
+
+// LARGE DESKTOP
+// -------------
+
+@media (min-width: 1170px) {
+
+  // Reset grid variables
+  @gridColumns:       12;
+  @gridColumnWidth:   70px;
+  @gridGutterWidth:   30px;
+  @siteWidth:         1170px;
+
+  // Bring grid mixins to recalculate widths
+  .columns(@columnSpan: 1) {
+    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+  }
+  .offset(@columnOffset: 1) {
+    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
+  }
+
+  .container {
+    width: @siteWidth;
+  }
+  [class*="span"] {
+    margin-left: @gridGutterWidth;
+  }
+
+  // Default columns
+  .span1     { .columns(1); }
+  .span2     { .columns(2); }
+  .span3     { .columns(3); }
+  .span4     { .columns(4); }
+  .span5     { .columns(5); }
+  .span6     { .columns(6); }
+  .span7     { .columns(7); }
+  .span8     { .columns(8); }
+  .span9     { .columns(9); }
+  .span10    { .columns(10); }
+  .span11    { .columns(11); }
+  .span12    { .columns(12); }
+
+  // Offset column options
+  .offset1   { .offset(1); }
+  .offset2   { .offset(2); }
+  .offset3   { .offset(3); }
+  .offset4   { .offset(4); }
+  .offset5   { .offset(5); }
+  .offset6   { .offset(6); }
+  .offset7   { .offset(7); }
+  .offset8   { .offset(8); }
+  .offset9   { .offset(9); }
+  .offset10  { .offset(10); }
+  .offset11  { .offset(11); }
+  .offset12  { .offset(12); }
+
+}
\ No newline at end of file
-- 
GitLab


From 6f44a90edbfc897082dd69630983391bf6e57ba7 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 11:35:24 -0700
Subject: [PATCH 030/576] tweak line-height of h2 and h3 to not be gihugeous,
 updated responsive to improve tablet grid and phone styles

---
 bootstrap.css            | 74 +++++++++++++++++++++++++---------------
 bootstrap.min.css        |  6 ++--
 docs/assets/css/docs.css | 25 +++++++-------
 docs/index.html          |  2 +-
 lib/responsive.less      | 46 +++++++++++++++++++++----
 lib/type.less            |  4 +--
 6 files changed, 104 insertions(+), 53 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8b487fb7e3..dffa6a8249 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 03:14:23 PDT 2011
+ * Date: Sun Oct 16 11:34:52 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -388,13 +388,13 @@ h1 small {
 }
 h2 {
   font-size: 24px;
-  line-height: 36px;
+  line-height: 27px;
 }
 h2 small {
   font-size: 14px;
 }
 h3 {
-  line-height: 36px;
+  line-height: 27px;
   font-size: 18px;
 }
 h3 small {
@@ -2269,6 +2269,26 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     float: none;
     display: block;
     width: auto;
+    margin: 0;
+  }
+  .modal {
+    width: auto;
+    margin: 0;
+  }
+  .form-horizontal .control-group > label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+  .form-horizontal .control-list {
+    padding-top: 0;
+  }
+  .form-horizontal .form-actions {
+    padding-left: 0;
   }
 }
 @media (min-width: 480px) and (max-width: 768px) {
@@ -2288,76 +2308,76 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: 748px;
   }
   .span1 {
-    width: 28px;
+    width: 44px;
   }
   .span2 {
-    width: 76px;
+    width: 108px;
   }
   .span3 {
-    width: 124px;
+    width: 172px;
   }
   .span4 {
-    width: 172px;
+    width: 236px;
   }
   .span5 {
-    width: 220px;
+    width: 300px;
   }
   .span6 {
-    width: 268px;
+    width: 364px;
   }
   .span7 {
-    width: 316px;
+    width: 428px;
   }
   .span8 {
-    width: 364px;
+    width: 492px;
   }
   .span9 {
-    width: 412px;
+    width: 556px;
   }
   .span10 {
-    width: 460px;
+    width: 620px;
   }
   .span11 {
-    width: 508px;
+    width: 684px;
   }
   .span12 {
-    width: 556px;
+    width: 748px;
   }
   .offset1 {
-    margin-left: 68px;
+    margin-left: 64px;
   }
   .offset2 {
-    margin-left: 116px;
+    margin-left: 128px;
   }
   .offset3 {
-    margin-left: 164px;
+    margin-left: 192px;
   }
   .offset4 {
-    margin-left: 212px;
+    margin-left: 256px;
   }
   .offset5 {
-    margin-left: 260px;
+    margin-left: 320px;
   }
   .offset6 {
-    margin-left: 308px;
+    margin-left: 384px;
   }
   .offset7 {
-    margin-left: 356px;
+    margin-left: 448px;
   }
   .offset8 {
-    margin-left: 404px;
+    margin-left: 512px;
   }
   .offset9 {
-    margin-left: 452px;
+    margin-left: 576px;
   }
   .offset10 {
-    margin-left: 500px;
+    margin-left: 640px;
   }
   .offset11 {
-    margin-left: 548px;
+    margin-left: 704px;
   }
   .offset12 {
-    margin-left: 596px;
+    margin-left: 768px;
   }
 }
 @media (min-width: 1170px) {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index cfec72ec12..a6ef9baf53 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -66,8 +66,8 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
-h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
-h3{line-height:36px;font-size:18px;}h3 small{font-size:14px;}
+h2{font-size:24px;line-height:27px;}h2 small{font-size:14px;}
+h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
 h6{font-size:13px;line-height:18px;color:#bfbfbf;text-transform:uppercase;}
@@ -322,4 +322,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:28px;} .span2{width:76px;} .span3{width:124px;} .span4{width:172px;} .span5{width:220px;} .span6{width:268px;} .span7{width:316px;} .span8{width:364px;} .span9{width:412px;} .span10{width:460px;} .span11{width:508px;} .span12{width:556px;} .offset1{margin-left:68px;} .offset2{margin-left:116px;} .offset3{margin-left:164px;} .offset4{margin-left:212px;} .offset5{margin-left:260px;} .offset6{margin-left:308px;} .offset7{margin-left:356px;} .offset8{margin-left:404px;} .offset9{margin-left:452px;} .offset10{margin-left:500px;} .offset11{margin-left:548px;} .offset12{margin-left:596px;}}@media (min-width: 1170px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}@media (min-width: 1170px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 52714d1991..fb7482edc7 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -231,7 +231,7 @@ section > .row {
 .mini-layout .mini-layout-body {
   background-color: #dceaf4;
   margin: 0 auto;
-  width: 240px;
+  width: 70%;
   height: 240px;
 }
 .mini-layout.fluid .mini-layout-sidebar,
@@ -241,11 +241,11 @@ section > .row {
 }
 .mini-layout.fluid .mini-layout-sidebar {
   background-color: #bbd8e9;
-  width: 90px;
+  width: 20%;
   height: 240px;
 }
 .mini-layout.fluid .mini-layout-body {
-  width: 300px;
+  width: 60%;
   margin-left: 10px;
 }
 
@@ -328,23 +328,22 @@ pre.prettyprint {
 }
 
 
+.browser-support {
+  max-width: 100%;
+}
+
 /* Responsive Docs
 -------------------------------------------------- */
-
-/* Tablet to Medium Desktop
-------------------------- */
+@media (max-width: 480px) {
+  .large-bird {
+    display: none;
+  }
+}
 
 @media (min-width: 768px) and (max-width: 900px) {
-
   .footer,
   .jumbotron {
     min-width: 748px;
   }
-  .jumbotron .inner h1,
-  .jumbotron .inner p {
-    margin-left: 40px;
-    margin-right: 40px;
-  }
-
 }
 
diff --git a/docs/index.html b/docs/index.html
index 0e49e9cbd2..b9004e6bfd 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -128,7 +128,7 @@
         <div class="span4">
           <h2>Cross-everything</h2>
           <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
-          <img src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
+          <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
           <ul>
             <li>Latest Safari</li>
             <li>Latest Google Chrome</li>
diff --git a/lib/responsive.less b/lib/responsive.less
index ee974d3e18..5c8e0539e8 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -3,6 +3,9 @@
  * ------------------------------------------------------------- */
 
 
+// UP TO LANDSCAPE PHONE
+// ---------------------
+
 @media (max-width: 480px) {
   // Remove width from containers
   .container {
@@ -14,10 +17,40 @@
     float: none;
     display: block;
     width: auto;
+    margin: 0;
+  }
+  // Resize modals
+  .modal {
+    width: auto;
+    margin: 0;
   }
+
+  // Remove the horizontal form styles
+  .form-horizontal .control-group > 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: 0;
+  }
+
 }
 
 
+// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
+// --------------------------------------------------
+
 @media (min-width: 480px) and (max-width: 768px) {
   // Remove width from containers
   .container {
@@ -34,24 +67,23 @@
 }
 
 
-// TABLET TO MEDIUM DESKTOP
-// ------------------------
+// PORTRAIT TABLET TO DEFAULT DESKTOP
+// ----------------------------------
 
 @media (min-width: 768px) and (max-width: 940px) {
 
   // Reset grid variables
   @gridColumns:       16;
-  @gridColumnWidth:   28px;
+  @gridColumnWidth:   44px;
   @gridGutterWidth:   20px;
   @siteWidth:         748px;
-  @extraSpace:        (@gridGutterWidth * 2);
 
   // Bring grid mixins to recalculate widths
   .columns(@columnSpan: 1) {
     width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
   }
   .offset(@columnOffset: 1) {
-    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @extraSpace;
+    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
   }
 
   // 16cols at 30px wide with 16px gutters
@@ -90,8 +122,8 @@
 }
 
 
-// LARGE DESKTOP
-// -------------
+// LARGE DESKTOP & UP
+// ------------------
 
 @media (min-width: 1170px) {
 
diff --git a/lib/type.less b/lib/type.less
index 4232a24dff..7cf9e6ccd9 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -38,13 +38,13 @@ h1 {
 }
 h2 {
   font-size: 24px;
-  line-height: @baseLineHeight * 2;
+  line-height: @baseLineHeight * 1.5;
   small {
     font-size: 14px;
   }
 }
 h3 {
-  line-height: @baseLineHeight * 2;
+  line-height: @baseLineHeight * 1.5;
   font-size: 18px;
   small {
     font-size: 14px;
-- 
GitLab


From 756e7c8739266ec8594d545e7eec2a50ea06ce08 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 12:11:48 -0700
Subject: [PATCH 031/576] more tweaks to responsive

---
 bootstrap.css       | 127 ++++++++++++++++++--------------------------
 bootstrap.min.css   |   2 +-
 lib/responsive.less |   5 +-
 3 files changed, 56 insertions(+), 78 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index dffa6a8249..3c344e98b7 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 11:34:52 PDT 2011
+ * Date: Sun Oct 16 12:11:34 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -2380,83 +2380,60 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     margin-left: 768px;
   }
 }
+/*
+// LARGE DESKTOP & UP
+// ------------------
+
 @media (min-width: 1170px) {
-  .container {
-    width: 1170px;
-  }
-  [class*="span"] {
-    margin-left: 30px;
-  }
-  .span1 {
-    width: 70px;
-  }
-  .span2 {
-    width: 170px;
-  }
-  .span3 {
-    width: 270px;
-  }
-  .span4 {
-    width: 370px;
-  }
-  .span5 {
-    width: 470px;
-  }
-  .span6 {
-    width: 570px;
-  }
-  .span7 {
-    width: 670px;
-  }
-  .span8 {
-    width: 770px;
-  }
-  .span9 {
-    width: 870px;
-  }
-  .span10 {
-    width: 970px;
-  }
-  .span11 {
-    width: 1070px;
-  }
-  .span12 {
-    width: 1170px;
-  }
-  .offset1 {
-    margin-left: 100px;
-  }
-  .offset2 {
-    margin-left: 200px;
-  }
-  .offset3 {
-    margin-left: 300px;
-  }
-  .offset4 {
-    margin-left: 400px;
-  }
-  .offset5 {
-    margin-left: 500px;
-  }
-  .offset6 {
-    margin-left: 600px;
-  }
-  .offset7 {
-    margin-left: 700px;
-  }
-  .offset8 {
-    margin-left: 800px;
-  }
-  .offset9 {
-    margin-left: 900px;
+
+  // Reset grid variables
+  @gridColumns:       12;
+  @gridColumnWidth:   70px;
+  @gridGutterWidth:   30px;
+  @siteWidth:         1170px;
+
+  // Bring grid mixins to recalculate widths
+  .columns(@columnSpan: 1) {
+    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
   }
-  .offset10 {
-    margin-left: 1000px;
+  .offset(@columnOffset: 1) {
+    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
   }
-  .offset11 {
-    margin-left: 1100px;
+
+  .container {
+    width: @siteWidth;
   }
-  .offset12 {
-    margin-left: 1200px;
+  [class*="span"] {
+    margin-left: @gridGutterWidth;
   }
+
+  // Default columns
+  .span1     { .columns(1); }
+  .span2     { .columns(2); }
+  .span3     { .columns(3); }
+  .span4     { .columns(4); }
+  .span5     { .columns(5); }
+  .span6     { .columns(6); }
+  .span7     { .columns(7); }
+  .span8     { .columns(8); }
+  .span9     { .columns(9); }
+  .span10    { .columns(10); }
+  .span11    { .columns(11); }
+  .span12    { .columns(12); }
+
+  // Offset column options
+  .offset1   { .offset(1); }
+  .offset2   { .offset(2); }
+  .offset3   { .offset(3); }
+  .offset4   { .offset(4); }
+  .offset5   { .offset(5); }
+  .offset6   { .offset(6); }
+  .offset7   { .offset(7); }
+  .offset8   { .offset(8); }
+  .offset9   { .offset(9); }
+  .offset10  { .offset(10); }
+  .offset11  { .offset(11); }
+  .offset12  { .offset(12); }
+
 }
+*/
\ No newline at end of file
diff --git a/bootstrap.min.css b/bootstrap.min.css
index a6ef9baf53..e4dccdef93 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -322,4 +322,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}@media (min-width: 1170px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/responsive.less b/lib/responsive.less
index 5c8e0539e8..afd30f279e 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -121,7 +121,7 @@
 
 }
 
-
+/*
 // LARGE DESKTOP & UP
 // ------------------
 
@@ -176,4 +176,5 @@
   .offset11  { .offset(11); }
   .offset12  { .offset(12); }
 
-}
\ No newline at end of file
+}
+*/
\ No newline at end of file
-- 
GitLab


From 2a82b38cff142ec86a6e1dc4f9366205260d262d Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 18:01:05 -0700
Subject: [PATCH 032/576] tweak the h2s again for better spacing, adjust docs,
 remove white bg if possible on file input, few other tweaks

---
 bootstrap.css            | 11 ++---
 bootstrap.min.css        |  9 ++--
 docs/assets/css/docs.css | 99 +++++++++++++++++++++++++---------------
 docs/index.html          | 57 +++++++++++++++++------
 lib/forms.less           |  8 +---
 lib/type.less            |  4 +-
 6 files changed, 117 insertions(+), 71 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 3c344e98b7..3af3c1be78 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 12:11:34 PDT 2011
+ * Date: Sun Oct 16 18:00:58 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -388,7 +388,7 @@ h1 small {
 }
 h2 {
   font-size: 24px;
-  line-height: 27px;
+  line-height: 36px;
 }
 h2 small {
   font-size: 14px;
@@ -434,7 +434,7 @@ ol {
 }
 li {
   line-height: 18px;
-  color: #808080;
+  color: #404040;
 }
 ul.unstyled {
   list-style: none;
@@ -553,9 +553,6 @@ label {
   margin-bottom: 5px;
   color: #404040;
 }
-input[type=checkbox], input[type=radio] {
-  cursor: pointer;
-}
 input,
 textarea,
 select,
@@ -583,9 +580,11 @@ input[type=checkbox], input[type=radio] {
 
   line-height: normal;
   border: none;
+  cursor: pointer;
 }
 input[type=file] {
   background-color: #ffffff;
+  background-color: initial;
   padding: initial;
   border: initial;
   line-height: initial;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e4dccdef93..39bb7b8194 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -66,7 +66,7 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
-h2{font-size:24px;line-height:27px;}h2 small{font-size:14px;}
+h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
 h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
@@ -75,7 +75,7 @@ ul,ol{margin:0 0 18px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
-li{line-height:18px;color:#808080;}
+li{line-height:18px;color:#404040;}
 ul.unstyled{list-style:none;margin-left:0;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
@@ -94,10 +94,9 @@ form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#404040;}
-input[type=checkbox],input[type=radio]{cursor:pointer;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;}
-input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
+input[type=file]{background-color:#ffffff;background-color:initial;padding:initial;border:initial;line-height:initial;-webkit-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:27px;line-height:27px;*margin-top:4px;}
 select[multiple]{background-color:#ffffff;height:inherit;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index fb7482edc7..01b6f3cd7e 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -9,7 +9,7 @@
 -------------------------------------------------- */
 body {
   position: relative;
-  padding-top: 40px;
+  padding-top: 100px;
   background-color: #fff;
 }
 section {
@@ -19,65 +19,88 @@ section > .row {
   margin-bottom: 10px;
 }
 
+/* Tweak topbar brand link to be super sleek
+-------------------------------------------------- */
+.navbar .brand {
+  float: right;
+  font-weight: bold;
+  color: #000;
+  text-shadow: 0 1px 0 rgba(255,255,255,.1);
+}
+.navbar .brand:hover {
+  text-decoration: none;
+}
 
 /* Jumbotrons
 -------------------------------------------------- */
-.jumbotron,
-.jumbotron .inner {
-  -webkit-border-radius: 0 0 6px 6px;
-     -moz-border-radius: 0 0 6px 6px;
-          border-radius: 0 0 6px 6px;
-}
 .jumbotron {
-  margin-bottom: 40px;
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.25);
-     -moz-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.25);
-          box-shadow: inset 0 -1px 0 rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.25);
-}
-.jumbotron .inner {
-  background: transparent url(../img/grid-18px.png) top center;
-  padding: 36px 60px;
-  -webkit-box-shadow: inset 0 -15px 30px rgba(0,0,0,.1);
-     -moz-box-shadow: inset 0 -15px 30px rgba(0,0,0,.1);
-          box-shadow: inset 0 -15px 30px rgba(0,0,0,.1);
+  position: relative;
+  padding-bottom: 58px;
+  margin-bottom: 50px;
+  border-bottom: 2px solid #eee;
 }
 .jumbotron h1,
 .jumbotron p {
-  margin-bottom: 9px;
-  color: #fff;
-  text-shadow: 0 1px 1px rgba(0,0,0,.3);
+  margin-bottom: 10px;
+  text-shadow: 0 1px 0 #fff;
 }
 .jumbotron h1 {
-  font-size: 54px;
+  font-size: 90px;
   line-height: 1;
-  text-shadow: 0 1px 2px rgba(0,0,0,.5);
+  margin-right: 40%;
+  letter-spacing: -1px;
 }
 .jumbotron p {
   font-weight: 300;
-  margin-right: 25%;
+  margin-right: 32%;
 }
 .jumbotron .lead {
-  font-size: 20px;
-  line-height: 27px;
+  margin-bottom: 20px;
+  font-size: 25px;
+  line-height: 35px;
 }
 .jumbotron p a {
-  color: #fff;
   font-weight: bold;
 }
+.jumbotron .btn {
+  font-size: 20px;
+  padding: 12px 24px;
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
+}
+.benefits {
+  width: 250px;
+  position: absolute;
+  right: 0;
+  bottom: 60px;
+}
+.benefits ul {
+  list-style: none;
+  margin: 0;
+}
+.benefits li {
+  font-size: 16px;
+  font-weight: 300;
+  line-height: 40px;
+  color: #555;
+}
+.benefits li + li {
+  border-top: 1px solid #f5f5f5;
+}
+.benefits h4 {
+  color: #555;
+}
+.benefits span {
+  position: relative;
+  top: -2px;
+  padding-right: 5px;
+  color: #999;
+}
+
 
 /* Specific jumbotrons
 ------------------------- */
-/* main docs page */
-.masthead {
-  background-color: #004d9f;
-  background-repeat: no-repeat;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#048ccd), to(#004d9f));
-  background-image: -webkit-linear-gradient(#048ccd, #004d9f);
-  background-image: -moz-linear-gradient(#048ccd, #004d9f);
-  background-image: -o-linear-gradient(top, #048ccd, #004d9f);
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#048ccd), to(#004d9f));
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#048ccd', endColorstr='#004d9f', GradientType=0); /* IE8 and down */
-}
 /* supporting docs pages */
 .subhead {
   background-color: #767d80;
diff --git a/docs/index.html b/docs/index.html
index b9004e6bfd..f7818d7f55 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -16,16 +16,6 @@
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
-    <!-- Le javascript -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="assets/js/application.js"></script>
-
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
@@ -49,6 +39,7 @@
               <ul class="dropdown-menu">
                 <li><a href="#grid-system">Grid</a></li>
                 <li><a href="#layouts">Layouts</a></li>
+                <li><a href="#responsive">Resposive</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -62,14 +53,17 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
               <ul class="dropdown-menu">
-                <li><a href="#media">Media</a></li>
                 <li><a href="#navigation">Navigation</a></li>
+                <li><a href="#media">Media</a></li>
                 <li><a href="#alerts">Alerts</a></li>
                 <li><a href="#popovers">Popovers</a></li>
+                <li><a href="#autocomplete">Autocomplete</a></li>
+                <li><a href="#accordion">Accordion</a></li>
+                <li><a href="#datepicker">Datepicker</a></li>
               </ul>
             </li>
             <li><a href="#javascript">Javascript</a></li>
-            <li><a href="#less">Less</a></li>
+            <li><a href="#less">Using Less</a></li>
           </ul>
         </div>
       </div>
@@ -82,10 +76,21 @@
       ================================================== -->
       <header class="jumbotron masthead">
         <div class="inner">
+          <div class="benefits pull-right">
+            <h4>Feature highlights</h4>
+            <ul>
+              <li><span>&times;</span> Built on LESS</li>
+              <li><span>&times;</span> Complete styleguide</li>
+              <li><span>&times;</span> Fully responsive design</li>
+              <li><span>&times;</span> Small footprint (7kb gzipped)</li>
+              <li><span>&times;</span> Support for IE7 and up</li>
+              <li><span>&times;</span> Custom jQuery plugins</li>
+              <li><span>&times;</span> Dozens of components</li>
+            </ul>
+          </div>
           <h1>Bootstrap, from Twitter</h1>
-          <a href="#" class="btn btn-large pull-right">Download on GitHub</a>
           <p class="lead">Bootstrap is a frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
-          <p><strong>Nerd alert:</strong> Bootstrap is <a href="#less" title="Read about using Bootstrap with Less">built with Less</a> and was designed with modern browsers in mind.</p>
+          <a href="#" class="btn primary btn-large">Download on GitHub</a>
         </div>
       </header>
 
@@ -164,6 +169,19 @@
         </li>
       </ul>
 
+<!--
+      Quick links:
+      GitHub
+      Twitter
+      Roadmap
+      Changelog
+
+      Authors:
+      @mdo
+      @fat
+
+ -->
+
     </div><!-- /#overview -->
 
 
@@ -1964,5 +1982,16 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
     </div><!-- /container -->
 
 
+
+    <!-- Le javascript -->
+    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="assets/js/application.js"></script>
+
   </body>
 </html>
diff --git a/lib/forms.less b/lib/forms.less
index 4b2bb80166..6edf29e536 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -37,12 +37,6 @@ label {
   color: @grayDark;
 }
 
-// Checkboxs and radio buttons
-input[type=checkbox],
-input[type=radio] {
-  cursor: pointer;
-}
-
 // Inputs, Textareas, Selects
 input,
 textarea,
@@ -69,11 +63,13 @@ input[type=radio] {
   *margin-top: 0; /* IE6-7 */
   line-height: normal;
   border: none;
+  cursor: pointer;
 }
 
 // Reset the file input to browser defaults
 input[type=file] {
   background-color: @white;
+  background-color: initial;
   padding: initial;
   border: initial;
   line-height: initial;
diff --git a/lib/type.less b/lib/type.less
index 7cf9e6ccd9..c746a58af8 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -38,7 +38,7 @@ h1 {
 }
 h2 {
   font-size: 24px;
-  line-height: @baseLineHeight * 1.5;
+  line-height: @baseLineHeight * 2;
   small {
     font-size: 14px;
   }
@@ -90,7 +90,7 @@ ol {
 }
 li {
   line-height: @baseLineHeight;
-  color: @gray;
+  color: @grayDark;
 }
 ul.unstyled {
   list-style: none;
-- 
GitLab


From 1888511d676ced8f30743cc5b540f02257314bde Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 18:45:11 -0700
Subject: [PATCH 033/576] updated docs to include quick links and twitter
 buttons, added updated blueprint pattern to background

---
 docs/assets/css/docs.css             |  51 ++++++++++++++++++++------
 docs/assets/img/grid-18px-masked.png | Bin 0 -> 1621 bytes
 docs/index.html                      |  53 ++++++++++++++++-----------
 3 files changed, 71 insertions(+), 33 deletions(-)
 create mode 100644 docs/assets/img/grid-18px-masked.png

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 01b6f3cd7e..ee0b9c8a33 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -9,8 +9,10 @@
 -------------------------------------------------- */
 body {
   position: relative;
-  padding-top: 100px;
+  padding-top: 90px;
   background-color: #fff;
+  background-image: url(../img/grid-18px-masked.png);
+  background-repeat: repeat-x;
 }
 section {
   padding-top: 60px;
@@ -35,9 +37,6 @@ section > .row {
 -------------------------------------------------- */
 .jumbotron {
   position: relative;
-  padding-bottom: 58px;
-  margin-bottom: 50px;
-  border-bottom: 2px solid #eee;
 }
 .jumbotron h1,
 .jumbotron p {
@@ -57,23 +56,22 @@ section > .row {
 .jumbotron .lead {
   margin-bottom: 20px;
   font-size: 25px;
-  line-height: 35px;
-}
-.jumbotron p a {
-  font-weight: bold;
+  line-height: 36px;
 }
 .jumbotron .btn {
   font-size: 20px;
-  padding: 12px 24px;
+  padding: 14px 24px;
   -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
           border-radius: 6px;
 }
+
+/* Benefits list in masthead */
 .benefits {
   width: 250px;
   position: absolute;
   right: 0;
-  bottom: 60px;
+  bottom: 0;
 }
 .benefits ul {
   list-style: none;
@@ -82,7 +80,7 @@ section > .row {
 .benefits li {
   font-size: 16px;
   font-weight: 300;
-  line-height: 40px;
+  line-height: 35px;
   color: #555;
 }
 .benefits li + li {
@@ -127,6 +125,37 @@ section > .row {
 }
 
 
+/* Quick links
+-------------------------------------------------- */
+.quick-links {
+  padding: 5px 20px;
+  margin: 60px 0;
+  list-style: none;
+  text-align: center;
+  background-color: #eee;
+  -webkit-border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
+}
+.quick-links li {
+  display: inline;
+  margin: 0 5px;
+  line-height: 30px;
+}
+.quick-links .divider {
+  color: #999;
+}
+.quick-links strong {
+  font-weight: normal;
+  color: #999;
+}
+.quick-links .tweet-btn,
+.quick-links .follow-btn {
+  position: relative;
+  top: 5px;
+}
+
+
 /* Footer
 -------------------------------------------------- */
 .footer {
diff --git a/docs/assets/img/grid-18px-masked.png b/docs/assets/img/grid-18px-masked.png
new file mode 100644
index 0000000000000000000000000000000000000000..e531d5bc47b957b0ec8618482b27c1df0563188c
GIT binary patch
literal 1621
zcmcIkZA=?=96kzTIPKz$!2#KJ=|mHty}Q2OjWSAKpg;+MCU(_0kM?LgxEJpZT8bbq
z5wZlf5Orb8GSQhB!)8#L=!CH?WI-asHX6-f0w#+?l;MYk8E2gTD=#w<_Rah9e|w(i
z_xxUR$15v}<-0O>K@cQ&lvu04>Vcpnby_OeMZy#9V95||Zn2uJ6+<LXL1rIYL%|N3
z^ix$7>1%p@lFEmm<mZDfx9E136JC~9krGA~ra8cdp!~yOj`Y@1B3wiHgN#YBGIB)$
z2Yn{ROFAd&<SbMmSQ6o>>PUsl8>#c+KE>ezI6q7P0h$s?I84_w0ueST61oJ~OV@}3
zPC&#ulVZ)3+gS-)Se}A)Dpcu3^%$(zsxU2zYw<i-jbbQ*sS(tm#85(KAW#fm{}dn^
z@2e%MtoHR-;ABz+M3Ey9Boqp%LK+pz`w<MsaRgN(YPAv|ltL3Dl3^ty9NbW_Qi7Kc
za$=BWU`dgzVH-q~0yteuf#x=48DYIlpkPRt<Pc1SN-1psozBNYX?hbah*i`hzgr3m
zt|pE`swjbN;Ju)6wFjk89AV)pQe=4-%hqpHu`<AltPo&1*ix-iVX%|*1{vul!EibW
z2P23i<E0!{lLBa{f<Yf)G2#}DUZ=LBMjeLPP_q_CZAGZYhNDGA8ogzMYh}F+G{uM;
zT;C(EW?QZ_3^WHKTPZ%+NcrqMOT&qziQpDqbUL%$XtiP6>aBBqTX<RLZl4DN%pg*0
z|JCY^D=<IOc5`sSVRQ5;2FyDT2D^WRazl`8!eKSL!ZW}97%$Dmp6!bFeD5iJ@b^m2
zlF>Xm_*Tu&hPRI#2xpOdLbErEzj2jbQXOS&gCSa+9u!(vCQV<bWNHKLsq)OEKujjj
zj23pL2V#fV9DUxW^={dnz58na`#kXOqJR8@LVaGl(6d`3aZ-Ds1k5vFeo`BVmEI1y
zJ8ll8Ok>1ULRKq_4eUq+QpN_%xqb37H0#t=+}@ob2b4}bln?=L5-9sK@`>8<XN(hz
z==p?PTEY}~lOkQT>hrEW#@bg8#RF4a+1!aZX_s;t*wdCO1qHr9nx5l-?fxHQcV+j>
z%NEY|6;Irn?K!t|$C=T+ckkKjys_c;o-)iVLhBi}14j>EX?Z8?XqlVu`{jnJckEgm
zw--OBnQ{MKlO~nq?uARk!mWV8Gg$QCPAU_PCxP2v3!)!|+L!bTqi<YJK6*tsFT8qo
z_+rNLk#10-#l;Kv?@jlvPF6CY1qB&j#u-qr)yde4<0TE_e9nAU`WGi>P2YVSH?%gM
z$XLGqbo7j+`SS&P=iH5*y?yWd4N~`__v6W9#^&;4Vq5xR>)^{Be@>h(nEL63Q=vnR
ztKVX`@%=f=f3!rqOJ#}9&H2yG(aZK^HBl%vUS=w9$mQH)1(%DNW0B$Unfa@D!BBtv
z&DQ-xDG^H{a3(cjZAxVF$cG+NbJD)0vbH3M_t}0JIemRZ`q4XV71mFRUhDV={me)y

literal 0
HcmV?d00001

diff --git a/docs/index.html b/docs/index.html
index f7818d7f55..5002d9d46e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -90,10 +90,33 @@
           </div>
           <h1>Bootstrap, from Twitter</h1>
           <p class="lead">Bootstrap is a frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
-          <a href="#" class="btn primary btn-large">Download on GitHub</a>
+          <p class="download-info">
+            <a href="#" class="btn primary btn-large">Download on GitHub</a>
+            Currently v2.0.0
+          </p>
         </div>
       </header>
 
+      <ul class="quick-links">
+        <li><strong>Quick links</strong></li>
+        <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
+        <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
+        <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
+        <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+        <li class="divider">&middot;</li>
+        <li><strong>Authors</strong></li>
+        <li><a href="http://twitter.com/mdo">@mdo</a></li>
+        <li><a href="http://twitter.com/fat">@fat</a></li>
+        <li class="divider">&middot;</li>
+        <li class="follow-btn">
+          <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a><script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+        </li>
+        <li class="tweet-btn">
+          <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
+        </li>
+      </ul>
+
+
       <!-- Quickstart options
       ================================================== -->
       <div class="quickstart" style="display: none;">
@@ -169,19 +192,6 @@
         </li>
       </ul>
 
-<!--
-      Quick links:
-      GitHub
-      Twitter
-      Roadmap
-      Changelog
-
-      Authors:
-      @mdo
-      @fat
-
- -->
-
     </div><!-- /#overview -->
 
 
@@ -1971,18 +1981,17 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 </section>
 
 
-    <footer class="footer">
-      <p class="pull-right"><a href="#">Back to top</a></p>
-      <p>
-        Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-        Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-      </p>
-    </footer>
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>
+          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
+          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
+        </p>
+      </footer>
 
     </div><!-- /container -->
 
 
-
     <!-- Le javascript -->
     <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-- 
GitLab


From c62a0239bd30a12e9f0d8c1e45f5818460e9df90 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 19:12:33 -0700
Subject: [PATCH 034/576] update to responsive to fix new masthead

---
 bootstrap.css            | 129 +++++++++++++++++++++++----------------
 bootstrap.min.css        |   2 +-
 docs/assets/css/docs.css | 109 ++++++++++-----------------------
 docs/index.html          |  14 ++---
 lib/responsive.less      |   4 +-
 5 files changed, 117 insertions(+), 141 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 3af3c1be78..32ffc61205 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 18:00:58 PDT 2011
+ * Date: Sun Oct 16 19:08:43 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -2379,60 +2379,83 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     margin-left: 768px;
   }
 }
-/*
-// LARGE DESKTOP & UP
-// ------------------
-
-@media (min-width: 1170px) {
-
-  // Reset grid variables
-  @gridColumns:       12;
-  @gridColumnWidth:   70px;
-  @gridGutterWidth:   30px;
-  @siteWidth:         1170px;
-
-  // Bring grid mixins to recalculate widths
-  .columns(@columnSpan: 1) {
-    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
-  }
-  .offset(@columnOffset: 1) {
-    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
-  }
-
+@media (min-width: 1210px) {
   .container {
-    width: @siteWidth;
+    width: 1170px;
   }
   [class*="span"] {
-    margin-left: @gridGutterWidth;
+    margin-left: 30px;
+  }
+  .span1 {
+    width: 70px;
+  }
+  .span2 {
+    width: 170px;
+  }
+  .span3 {
+    width: 270px;
+  }
+  .span4 {
+    width: 370px;
+  }
+  .span5 {
+    width: 470px;
+  }
+  .span6 {
+    width: 570px;
+  }
+  .span7 {
+    width: 670px;
+  }
+  .span8 {
+    width: 770px;
+  }
+  .span9 {
+    width: 870px;
+  }
+  .span10 {
+    width: 970px;
+  }
+  .span11 {
+    width: 1070px;
+  }
+  .span12 {
+    width: 1170px;
+  }
+  .offset1 {
+    margin-left: 100px;
+  }
+  .offset2 {
+    margin-left: 200px;
+  }
+  .offset3 {
+    margin-left: 300px;
+  }
+  .offset4 {
+    margin-left: 400px;
+  }
+  .offset5 {
+    margin-left: 500px;
+  }
+  .offset6 {
+    margin-left: 600px;
+  }
+  .offset7 {
+    margin-left: 700px;
+  }
+  .offset8 {
+    margin-left: 800px;
+  }
+  .offset9 {
+    margin-left: 900px;
+  }
+  .offset10 {
+    margin-left: 1000px;
+  }
+  .offset11 {
+    margin-left: 1100px;
+  }
+  .offset12 {
+    margin-left: 1200px;
   }
-
-  // Default columns
-  .span1     { .columns(1); }
-  .span2     { .columns(2); }
-  .span3     { .columns(3); }
-  .span4     { .columns(4); }
-  .span5     { .columns(5); }
-  .span6     { .columns(6); }
-  .span7     { .columns(7); }
-  .span8     { .columns(8); }
-  .span9     { .columns(9); }
-  .span10    { .columns(10); }
-  .span11    { .columns(11); }
-  .span12    { .columns(12); }
-
-  // Offset column options
-  .offset1   { .offset(1); }
-  .offset2   { .offset(2); }
-  .offset3   { .offset(3); }
-  .offset4   { .offset(4); }
-  .offset5   { .offset(5); }
-  .offset6   { .offset(6); }
-  .offset7   { .offset(7); }
-  .offset8   { .offset(8); }
-  .offset9   { .offset(9); }
-  .offset10  { .offset(10); }
-  .offset11  { .offset(11); }
-  .offset12  { .offset(12); }
-
 }
-*/
\ No newline at end of file
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 39bb7b8194..6851a6cc2b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -321,4 +321,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}@media (min-width: 1210px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index ee0b9c8a33..7d36946dbb 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -37,34 +37,34 @@ section > .row {
 -------------------------------------------------- */
 .jumbotron {
   position: relative;
-}
-.jumbotron h1,
-.jumbotron p {
-  margin-bottom: 10px;
   text-shadow: 0 1px 0 #fff;
 }
 .jumbotron h1 {
-  font-size: 90px;
-  line-height: 1;
   margin-right: 40%;
+  margin-bottom: 10px;
+  font-size: 90px;
   letter-spacing: -1px;
+  line-height: 1;
 }
 .jumbotron p {
-  font-weight: 300;
   margin-right: 32%;
-}
-.jumbotron .lead {
   margin-bottom: 20px;
   font-size: 25px;
+  font-weight: 300;
   line-height: 36px;
 }
 .jumbotron .btn {
   font-size: 20px;
   padding: 14px 24px;
+  margin-right: 5px;
   -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
           border-radius: 6px;
 }
+.jumbotron .download-info {
+  font-size: 16px;
+  color: #999;
+}
 
 /* Benefits list in masthead */
 .benefits {
@@ -133,9 +133,9 @@ section > .row {
   list-style: none;
   text-align: center;
   background-color: #eee;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
+  -webkit-border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
 }
 .quick-links li {
   display: inline;
@@ -167,71 +167,6 @@ section > .row {
 }
 
 
-/* Quickstart section for getting le code
--------------------------------------------------- */
-.quickstart {
-  background-color: #f5f5f5;
-  background-repeat: repeat-x;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f5f5f5));
-  background-image: -moz-linear-gradient(#f9f9f9, #f5f5f5);
-  background-image: -ms-linear-gradient(#f9f9f9, #f5f5f5);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #f5f5f5));
-  background-image: -webkit-linear-gradient(#f9f9f9, #f5f5f5);
-  background-image: -o-linear-gradient(#f9f9f9, #f5f5f5);
-  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#f5f5f5', GradientType=0)";
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#f5f5f5', GradientType=0);
-  background-image: linear-gradient(#f9f9f9, #f5f5f5);
-  border-top: 1px solid #fff;
-  border-bottom: 1px solid #eee;
-}
-.quickstart .container {
-  margin-bottom: 0;
-}
-.quickstart .row {
-  margin: 0 -20px;
-  -webkit-box-shadow: 1px 0 0 #f9f9f9;
-     -moz-box-shadow: 1px 0 0 #f9f9f9;
-          box-shadow: 1px 0 0 #f9f9f9;
-}
-.quickstart [class*="span"] {
-  width: 285px;
-  height: 117px;
-  margin-left: 0;
-  padding: 17px 20px 26px;
-  border-left: 1px solid #eee;
-  -webkit-box-shadow: inset 1px 0 0 #f9f9f9;
-     -moz-box-shadow: inset 1px 0 0 #f9f9f9;
-          box-shadow: inset 1px 0 0 #f9f9f9;
-}
-.quickstart [class*="span"]:last-child {
-  border-right: 1px solid #eee;
-  width: 286px;
-}
-.quickstart h6,
-.quickstart p {
-  line-height: 18px;
-  text-align: center;
-  margin-bottom: 9px;
-  color: #333;
-}
-.quickstart .current-version,
-.quickstart .current-version a {
-  color: #999;
-}
-.quickstart h6 {
-  color: #999;
-}
-.quickstart textarea {
-  display: block;
-  width: 275px;
-  height: auto;
-  margin: 0 0 9px;
-  line-height: 21px;
-  white-space: nowrap;
-  overflow: hidden;
-}
-
-
 /* Special grid styles
 -------------------------------------------------- */
 .show-grid {
@@ -387,9 +322,29 @@ pre.prettyprint {
 /* Responsive Docs
 -------------------------------------------------- */
 @media (max-width: 480px) {
+
+  body > .navbar-fixed .nav {
+    display: none;
+  }
+
   .large-bird {
     display: none;
   }
+
+  .jumbotron h1 {
+    font-size: 36px;
+    margin-right: 0;
+  }
+  .jumbotron p {
+    margin-right: 0;
+    font-size: 18px;
+    line-height: 24px;
+  }
+  .jumbotron .benefits {
+    position: relative;
+    width: auto;
+    margin: 36px 0;
+  }
 }
 
 @media (min-width: 768px) and (max-width: 900px) {
diff --git a/docs/index.html b/docs/index.html
index 5002d9d46e..3bc72751e6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -76,7 +76,13 @@
       ================================================== -->
       <header class="jumbotron masthead">
         <div class="inner">
-          <div class="benefits pull-right">
+          <h1>Bootstrap,<br> from Twitter</h1>
+          <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
+          <p class="download-info">
+            <a href="#" class="btn primary btn-large">Download on GitHub</a>
+            Currently v2.0.0
+          </p>
+          <div class="benefits">
             <h4>Feature highlights</h4>
             <ul>
               <li><span>&times;</span> Built on LESS</li>
@@ -88,12 +94,6 @@
               <li><span>&times;</span> Dozens of components</li>
             </ul>
           </div>
-          <h1>Bootstrap, from Twitter</h1>
-          <p class="lead">Bootstrap is a frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
-          <p class="download-info">
-            <a href="#" class="btn primary btn-large">Download on GitHub</a>
-            Currently v2.0.0
-          </p>
         </div>
       </header>
 
diff --git a/lib/responsive.less b/lib/responsive.less
index afd30f279e..900df4c751 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -121,11 +121,10 @@
 
 }
 
-/*
 // LARGE DESKTOP & UP
 // ------------------
 
-@media (min-width: 1170px) {
+@media (min-width: 1210px) {
 
   // Reset grid variables
   @gridColumns:       12;
@@ -177,4 +176,3 @@
   .offset12  { .offset(12); }
 
 }
-*/
\ No newline at end of file
-- 
GitLab


From e7d2218b2043742f21c368d074d97a4bde275730 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 16 Oct 2011 23:04:31 -0700
Subject: [PATCH 035/576] few tweaks to responsive stuff, updated docs for grid
 system (still needs copy editing)

---
 bootstrap.css            | 159 ++++++++++++++++---------------------
 bootstrap.min.css        |  29 ++++---
 docs/assets/css/docs.css |  14 ++--
 docs/index.html          | 165 ++++++++++++++++++---------------------
 lib/mixins.less          |   9 ++-
 lib/patterns.less        |   6 +-
 lib/responsive.less      |   2 +
 lib/scaffolding.less     |   5 +-
 8 files changed, 177 insertions(+), 212 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 32ffc61205..89d55199e5 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 19:08:43 PDT 2011
+ * Date: Sun Oct 16 23:04:03 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -260,6 +260,7 @@ a:hover {
   display: block;
 }
 .row {
+  margin-left: -20px;
   zoom: 1;
 }
 .row:before, .row:after {
@@ -276,9 +277,6 @@ a:hover {
   float: left;
   margin-left: 20px;
 }
-.row > [class*="span"]:first-child {
-  margin-left: 0;
-}
 .span1 {
   width: 60px;
 }
@@ -316,37 +314,37 @@ a:hover {
   width: 940px;
 }
 .offset1 {
-  margin-left: 80px;
+  margin-left: 100px;
 }
 .offset2 {
-  margin-left: 160px;
+  margin-left: 180px;
 }
 .offset3 {
-  margin-left: 240px;
+  margin-left: 260px;
 }
 .offset4 {
-  margin-left: 320px;
+  margin-left: 340px;
 }
 .offset5 {
-  margin-left: 400px;
+  margin-left: 420px;
 }
 .offset6 {
-  margin-left: 480px;
+  margin-left: 500px;
 }
 .offset7 {
-  margin-left: 560px;
+  margin-left: 580px;
 }
 .offset8 {
-  margin-left: 640px;
+  margin-left: 660px;
 }
 .offset9 {
-  margin-left: 720px;
+  margin-left: 740px;
 }
 .offset10 {
-  margin-left: 800px;
+  margin-left: 820px;
 }
 .offset11 {
-  margin-left: 880px;
+  margin-left: 900px;
 }
 /* Typography.less
  * Headings, body text, lists, code, and more for a versatile and durable typography system
@@ -1550,14 +1548,14 @@ footer {
   border-top: 1px solid #eee;
 }
 .page-header {
-  margin-bottom: 17px;
-  border-bottom: 1px solid #ddd;
+  margin-bottom: 27px;
+  border-bottom: 1px solid #eee;
   -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
 .page-header h1 {
-  margin-bottom: 8px;
+  margin-bottom: 13.5px;
 }
 .btn.danger,
 .alert-message.danger,
@@ -2379,83 +2377,60 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     margin-left: 768px;
   }
 }
+/*
+// LARGE DESKTOP & UP
+// ------------------
+
 @media (min-width: 1210px) {
-  .container {
-    width: 1170px;
-  }
-  [class*="span"] {
-    margin-left: 30px;
-  }
-  .span1 {
-    width: 70px;
-  }
-  .span2 {
-    width: 170px;
-  }
-  .span3 {
-    width: 270px;
-  }
-  .span4 {
-    width: 370px;
-  }
-  .span5 {
-    width: 470px;
-  }
-  .span6 {
-    width: 570px;
-  }
-  .span7 {
-    width: 670px;
-  }
-  .span8 {
-    width: 770px;
-  }
-  .span9 {
-    width: 870px;
-  }
-  .span10 {
-    width: 970px;
-  }
-  .span11 {
-    width: 1070px;
-  }
-  .span12 {
-    width: 1170px;
-  }
-  .offset1 {
-    margin-left: 100px;
-  }
-  .offset2 {
-    margin-left: 200px;
-  }
-  .offset3 {
-    margin-left: 300px;
-  }
-  .offset4 {
-    margin-left: 400px;
-  }
-  .offset5 {
-    margin-left: 500px;
-  }
-  .offset6 {
-    margin-left: 600px;
-  }
-  .offset7 {
-    margin-left: 700px;
-  }
-  .offset8 {
-    margin-left: 800px;
-  }
-  .offset9 {
-    margin-left: 900px;
+
+  // Reset grid variables
+  @gridColumns:       12;
+  @gridColumnWidth:   70px;
+  @gridGutterWidth:   30px;
+  @siteWidth:         1170px;
+
+  // Bring grid mixins to recalculate widths
+  .columns(@columnSpan: 1) {
+    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
   }
-  .offset10 {
-    margin-left: 1000px;
+  .offset(@columnOffset: 1) {
+    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
   }
-  .offset11 {
-    margin-left: 1100px;
+
+  .container {
+    width: @siteWidth;
   }
-  .offset12 {
-    margin-left: 1200px;
+  [class*="span"] {
+    margin-left: @gridGutterWidth;
   }
+
+  // Default columns
+  .span1     { .columns(1); }
+  .span2     { .columns(2); }
+  .span3     { .columns(3); }
+  .span4     { .columns(4); }
+  .span5     { .columns(5); }
+  .span6     { .columns(6); }
+  .span7     { .columns(7); }
+  .span8     { .columns(8); }
+  .span9     { .columns(9); }
+  .span10    { .columns(10); }
+  .span11    { .columns(11); }
+  .span12    { .columns(12); }
+
+  // Offset column options
+  .offset1   { .offset(1); }
+  .offset2   { .offset(2); }
+  .offset3   { .offset(3); }
+  .offset4   { .offset(4); }
+  .offset5   { .offset(5); }
+  .offset6   { .offset(6); }
+  .offset7   { .offset(7); }
+  .offset8   { .offset(8); }
+  .offset9   { .offset(9); }
+  .offset10  { .offset(10); }
+  .offset11  { .offset(11); }
+  .offset12  { .offset(12); }
+
 }
+*/
\ No newline at end of file
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6851a6cc2b..31d1699bed 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -36,10 +36,9 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .pull-left{float:left;}
 .hide{display:none;}
 .show{display:block;}
-.row{zoom:1;}.row:before,.row:after{display:table;content:"";zoom:1;*display:inline;}
+.row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;content:"";zoom:1;*display:inline;}
 .row:after{clear:both;}
 [class*="span"]{display:inline;float:left;margin-left:20px;}
-.row>[class*="span"]:first-child{margin-left:0;}
 .span1{width:60px;}
 .span2{width:140px;}
 .span3{width:220px;}
@@ -52,17 +51,17 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .span10{width:780px;}
 .span11{width:860px;}
 .span12{width:940px;}
-.offset1{margin-left:80px;}
-.offset2{margin-left:160px;}
-.offset3{margin-left:240px;}
-.offset4{margin-left:320px;}
-.offset5{margin-left:400px;}
-.offset6{margin-left:480px;}
-.offset7{margin-left:560px;}
-.offset8{margin-left:640px;}
-.offset9{margin-left:720px;}
-.offset10{margin-left:800px;}
-.offset11{margin-left:880px;}
+.offset1{margin-left:100px;}
+.offset2{margin-left:180px;}
+.offset3{margin-left:260px;}
+.offset4{margin-left:340px;}
+.offset5{margin-left:420px;}
+.offset6{margin-left:500px;}
+.offset7{margin-left:580px;}
+.offset8{margin-left:660px;}
+.offset9{margin-left:740px;}
+.offset10{margin-left:820px;}
+.offset11{margin-left:900px;}
 p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
@@ -242,7 +241,7 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
-.page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;}
+.page-header{margin-bottom:27px;border-bottom:1px solid #eee;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:13.5px;}
 .btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
 .btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
@@ -321,4 +320,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}@media (min-width: 1210px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 7d36946dbb..300eb38f55 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -17,19 +17,16 @@ body {
 section {
   padding-top: 60px;
 }
-section > .row {
-  margin-bottom: 10px;
-}
 
 /* Tweak topbar brand link to be super sleek
 -------------------------------------------------- */
-.navbar .brand {
+body > .navbar-fixed .brand {
   float: right;
   font-weight: bold;
   color: #000;
   text-shadow: 0 1px 0 rgba(255,255,255,.1);
 }
-.navbar .brand:hover {
+body > .navbar-fixed .brand:hover {
   text-decoration: none;
 }
 
@@ -136,6 +133,9 @@ section > .row {
   -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
           border-radius: 3px;
+  -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
+     -moz-box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
+          box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
 }
 .quick-links li {
   display: inline;
@@ -171,10 +171,10 @@ section > .row {
 -------------------------------------------------- */
 .show-grid {
   margin-top: 10px;
-  margin-bottom: 10px;
+  margin-bottom: 20px;
 }
 .show-grid [class*="span"] {
-  background: #eee;
+  background-color: #eee;
   text-align: center;
   -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
diff --git a/docs/index.html b/docs/index.html
index 3bc72751e6..eeb0f4f0df 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -86,7 +86,7 @@
             <h4>Feature highlights</h4>
             <ul>
               <li><span>&times;</span> Built on LESS</li>
-              <li><span>&times;</span> Complete styleguide</li>
+              <li><span>&times;</span> Complete styleguide docs</li>
               <li><span>&times;</span> Fully responsive design</li>
               <li><span>&times;</span> Small footprint (7kb gzipped)</li>
               <li><span>&times;</span> Support for IE7 and up</li>
@@ -199,28 +199,10 @@
 ================================================== -->
 <section id="grid-system">
   <div class="page-header">
-    <h1>Grid system <small>Rock the standard 940px or roll your own</small></h1>
+    <h1>Grid system <small>12 columns with a responsive twist</small></h1>
   </div>
-  <div class="row">
-    <div class="span3">
-      <h2>Default grid</h2>
-      <p>The default grid system provided as part of Bootstrap is a 940px wide 16-column grid. It’s a flavor of the popular 960 grid system, but without the additional margin/padding on the left and right sides.</p>
-    </div>
-    <div class="span9">
-      <h3>Example grid markup</h3>
-      <p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 16 foundational columns we defined as part of our grid system. See the examples below for more variations.</p>
-<pre class="prettyprint linenums">
-&lt;div class="row"&gt;
-  &lt;div class="span6"&gt;
-    ...
-  &lt;/div&gt;
-  &lt;div class="span10"&gt;
-    ...
-  &lt;/div&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-  </div><!-- /row -->
+
+  <h2>Default 940px grid</h2>
   <div class="row show-grid">
     <div class="span1">1</div>
     <div class="span1">1</div>
@@ -252,12 +234,28 @@
     <div class="span12">12</div>
   </div>
 
-  <br>
+  <div class="row">
+    <div class="span4">
+      <p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
+      <p>It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.</p>
+    </div>
+    <div class="span4">
+<pre class="prettyprint linenums">
+&lt;div class="row"&gt;
+  &lt;div class="span4"&gt;...&lt;/div&gt;
+  &lt;div class="span8"&gt;...&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <p>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.</p>
+    </div>
+  </div><!-- /row -->
 
   <h2>Offsetting columns</h2>
   <div class="row show-grid">
     <div class="span4">4</div>
-    <div class="span8 offset4">8 offset 4</div>
+    <div class="span4 offset4">4 offset 4</div>
   </div><!-- /row -->
   <div class="row show-grid">
     <div class="span3 offset3">3 offset 3</div>
@@ -269,37 +267,33 @@
 
   <br>
 
+  <h2>Nesting columns</h2>
   <div class="row">
-    <div class="span3">
-      <h2>Nesting columns</h2>
-      <p>Nest your content if you must by creating a <code>.row</code> within an existing column.</p>
-    </div>
-    <div class="span9">
-      <h4>Example of nested columns</h4>
+    <div class="span6">
+      <p>With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.</p>
+      <h4>Example</h4>
       <div class="row show-grid">
-        <div class="span9">
+        <div class="span6">
           Level 1 of column
           <div class="row show-grid">
-            <div class="span4">
+            <div class="span3">
               Level 2
             </div>
-            <div class="span5">
+            <div class="span3">
               Level 2
             </div>
           </div>
         </div>
       </div>
+    </div>
+    <div class="span6">
 <pre class="prettyprint linenums">
 &lt;div class="row"&gt;
   &lt;div class="span12"&gt;
     Level 1 of column
     &lt;div class="row"&gt;
-      &lt;div class="span6"&gt;
-        Level 2
-      &lt;/div&gt;
-      &lt;div class="span6"&gt;
-        Level 2
-      &lt;/div&gt;
+      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
+      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
     &lt;/div&gt;
   &lt;/div&gt;
 &lt;/div&gt;
@@ -307,56 +301,53 @@
     </div>
   </div>
 
-  <br>
-
+  <h2>Grid customization</h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th>Variable</th>
+        <th>Default value</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>@gridColumns</code></td>
+        <td>16</td>
+        <td>The number of columns within the grid</td>
+      </tr>
+      <tr>
+        <td><code>@gridColumnWidth</code></td>
+        <td>40px</td>
+        <td>The width of each column within the grid</td>
+      </tr>
+      <tr>
+        <td><code>@gridGutterWidth</code></td>
+        <td>20px</td>
+        <td>The negative space between each column</td>
+      </tr>
+      <tr>
+        <td><code>@siteWidth</code></td>
+        <td><em>Computed sum of all columns and gutters</em></td>
+        <td>We use some basic match to count the number of columns and gutters and set the width of the <code>.fixed-container()</code> mixin.</td>
+      </tr>
+    </tbody>
+  </table>
   <div class="row">
-    <div class="span3">
-      <h2>Roll your own grid</h2>
-      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system. With a bit of customization, you can modify the size of columns, their gutters, and the container they reside in.</p>
+    <div class="span4">
+      <h3>Variables in LESS</h3>
+      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in mixins.less.</p>
     </div>
-    <div class="span9">
-      <h3>Inside the grid</h3>
-      <p>The variables needed to modify the grid system currently all reside in <code>preboot.less</code>.</p>
-      <table class="zebra-striped">
-        <thead>
-          <tr>
-            <th>Variable</th>
-            <th>Default value</th>
-            <th>Description</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td><code>@gridColumns</code></td>
-            <td>16</td>
-            <td>The number of columns within the grid</td>
-          </tr>
-          <tr>
-            <td><code>@gridColumnWidth</code></td>
-            <td>40px</td>
-            <td>The width of each column within the grid</td>
-          </tr>
-          <tr>
-            <td><code>@gridGutterWidth</code></td>
-            <td>20px</td>
-            <td>The negative space between each column</td>
-          </tr>
-          <tr>
-            <td><code>@siteWidth</code></td>
-            <td><em>Computed sum of all columns and gutters</em></td>
-            <td>We use some basic match to count the number of columns and gutters and set the width of the <code>.fixed-container()</code> mixin.</td>
-          </tr>
-        </tbody>
-      </table>
-      <h3>Now to customize</h3>
-      <p>Modifying the grid means changing the three <code>@grid-*</code> variables and recompiling the Less files.</p>
-      <p>Bootstrap comes equipped to handle a grid system with up to 24 columns; the default is just 16. Here's how your grid variables would look customized to a 24-column grid.</p>
-      <pre class="prettyprint linenums">@gridColumns:       24;
-@gridColumnWidth:   20px;
-@gridGutterWidth:   20px;</pre>
-      <p>Once recompiled, you'll be set!</p>
+    <div class="span4">
+      <h3>How to customize</h3>
+      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.</p>
     </div>
-  </div>
+    <div class="span4">
+      <h3>Staying responsive</h3>
+      <p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
+    </div>
+  </div><!-- /row -->
+
 </section>
 
 
@@ -1928,7 +1919,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 }
 </pre>
 
-    <h2>Compiling Less</h2>
+    <h2 id="compiling">Compiling Less</h2>
     <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
     <h3>Ways to compile</h3>
     <table class="zebra-striped">
diff --git a/lib/mixins.less b/lib/mixins.less
index 47857f1faf..5b05654d50 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -78,12 +78,13 @@
   margin-right: auto;
   .clearfix();
 }
-.columns(@columnSpan: 1) {
-  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+.columns(@columns: 1) {
+  width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
 }
-.offset(@columnOffset: 1) {
-  margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
+.offset(@columns: 1) {
+  margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
 }
+
 // Necessary grid styles for every column to make them appear next to each other horizontally
 .gridColumn() {
   display: inline;
diff --git a/lib/patterns.less b/lib/patterns.less
index 950ac2feb9..f1badc46d4 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -520,11 +520,11 @@ footer {
 // ------------
 
 .page-header {
-  margin-bottom: @baseLineHeight - 1;
-  border-bottom: 1px solid #ddd;
+  margin-bottom: @baseLineHeight * 1.5;
+  border-bottom: 1px solid #eee;
   .box-shadow(0 1px 0 rgba(255,255,255,.5));
   h1 {
-    margin-bottom: (@baseLineHeight / 2) - 1px;
+    margin-bottom: @baseLineHeight * .75;
   }
 }
 
diff --git a/lib/responsive.less b/lib/responsive.less
index 900df4c751..a1a33164fe 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -121,6 +121,7 @@
 
 }
 
+/*
 // LARGE DESKTOP & UP
 // ------------------
 
@@ -176,3 +177,4 @@
   .offset12  { .offset(12); }
 
 }
+*/
\ No newline at end of file
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 01fcd9e772..f15f6853cf 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -85,6 +85,7 @@ a {
 // -----------
 // To customize the grid system, bring up the variables.less file and change the column count, size, and gutter there
 .row {
+  margin-left: -@gridGutterWidth;
   .clearfix();
 }
 
@@ -93,10 +94,6 @@ a {
 [class*="span"] {
   .gridColumn();
 }
-// Kill the margin on the first column
-.row > [class*="span"]:first-child {
-  margin-left: 0;
-}
 
 // Default columns
 .span1     { .columns(1); }
-- 
GitLab


From 6d2e39950d98dafbb82e94f00b3c99b82d0ba1c1 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 17 Oct 2011 00:03:52 -0700
Subject: [PATCH 036/576] updated js docs page to new 12 column layout, fix
 subhead jumbotron styles to match new front page

---
 bootstrap.css            |  2 +-
 docs/assets/css/docs.css | 18 ++-------
 docs/index.html          |  4 +-
 docs/javascript.html     | 80 ++++++++++++++++++----------------------
 4 files changed, 42 insertions(+), 62 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 89d55199e5..ac242d3b81 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 16 23:04:03 PDT 2011
+ * Date: Mon Oct 17 00:03:30 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 300eb38f55..2af7764e65 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -98,28 +98,16 @@ body > .navbar-fixed .brand:hover {
 ------------------------- */
 /* supporting docs pages */
 .subhead {
-  background-color: #767d80;
-  background-repeat: no-repeat;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#565d60), to(#767d80));
-  background-image: -webkit-linear-gradient(#565d60, #767d80);
-  background-image: -moz-linear-gradient(#565d60, #767d80);
-  background-image: -o-linear-gradient(top, #565d60, #767d80);
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#565d60), to(#767d80));
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#565d60', endColorstr='#767d80', GradientType=0); /* IE8 and down */
-}
-.subhead .inner {
-  padding: 36px 0 27px;
+  padding-bottom: 18px;
+  border-bottom: 3px solid #eee;
 }
 .subhead h1,
 .subhead p {
-  text-align: left;
+  margin-right: 0;
 }
 .subhead h1 {
   font-size: 40px;
 }
-.subhead p a {
-  font-weight: normal;
-}
 
 
 /* Quick links
diff --git a/docs/index.html b/docs/index.html
index eeb0f4f0df..f3ef344637 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -30,7 +30,7 @@
     <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
       <div class="navbar-inner">
         <div class="container">
-          <a class="brand" href="#">Bootstrap</a>
+          <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li class="active"><a href="#overview">Overview</a></li>
             <li><a href="#about">About</a></li>
@@ -1235,7 +1235,7 @@
           </li>
         </ul>
         <form class="form-search navbar-search pull-left" action="">
-          <input type="text" class="search-query" placeholder="Search">
+          <input type="text" class="search-query span2" placeholder="Search">
         </form>
         <ul class="nav secondary-nav">
           <li class="dropdown">
diff --git a/docs/javascript.html b/docs/javascript.html
index b130511c3d..da623c2f8f 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -11,18 +11,6 @@
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
 
-    <!-- Le javascript -->
-    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-modal.js"></script>
-    <script src="../js/bootstrap-alerts.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-popover.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="../js/bootstrap-tabs.js"></script>
-
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
@@ -42,7 +30,7 @@
     <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
       <div class="navbar-inner">
         <div class="container">
-          <a class="brand" href="#">Bootstrap JS</a>
+          <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="#overview">Overview</a></li>
             <li><a href="#modal">Modals</a></li>
@@ -57,21 +45,14 @@
       </div>
     </div>
 
+  <div class="container">
     <!-- Masthead (blueprinty thing)
     ================================================== -->
     <header class="jumbotron subhead" id="overview">
-      <div class="inner">
-        <div class="container">
-          <h1>Javascript for Bootstrap</h1>
-          <p class="lead">
-            Bring Bootstrap's components to life with new, custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>.
-          </p>
-          <p><a href="./index.html">&larr; Back to Bootstrap home</a></p>
-        </div><!-- /container -->
-      </div>
+      <h1>Javascript for Bootstrap</h1>
+      <p class="lead">Bring Bootstrap's components to life with custom plugins for <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>.</p>
     </header>
 
-    <div class="container">
 
     <!-- Modal
     ================================================== -->
@@ -81,11 +62,11 @@
         <h1>Modals <small>bootstrap-modal.js</small></h1>
       </div>
       <div class="row">
-        <div class="span4 columns">
+        <div class="span3 columns">
           <p>Our Modal plugin is a super slim take on the traditional modal js plugin, taking special care to include only the bare functionality that we require here at twitter.</p>
           <a href="../js/bootstrap-modal.js" target="_blank" class="btn primary">Download</a>
         </div>
-        <div class="span12 columns">
+        <div class="span9 columns">
           <h3>Using bootstrap-modal</h3>
           <pre class="prettyprint linenums">$('#my-modal').modal(options)</pre>
           <h3>Options</h3>
@@ -207,11 +188,11 @@ $('#my-modal').bind('hidden', function () {
         <h1>Dropdown <small>bootstrap-dropdown.js</small></h1>
       </div>
       <div class="row">
-        <div class="span4 columns">
+        <div class="span3 columns">
           <p>This plugin is for adding dropdown interaction to the bootstrap topbar or tabbed navigations.</p>
           <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn primary">Download</a>
         </div>
-        <div class="span12 columns">
+        <div class="span9 columns">
           <h3>Using boostrap-dropdown.js</h3>
           <pre class="prettyprint linenums">$('#topbar').dropdown()</pre>
           <h3>Markup</h3>
@@ -244,7 +225,7 @@ $('#my-modal').bind('hidden', function () {
                   <li><a href="#">Link</a></li>
                 </ul>
                 <form class="form-search navbar-search pull-left" action="">
-                  <input type="text" class="search-query" placeholder="Search">
+                  <input type="text" class="search-query span2" placeholder="Search">
                 </form>
                 <ul class="nav secondary-nav">
                   <li class="dropdown">
@@ -281,11 +262,11 @@ $('#my-modal').bind('hidden', function () {
         <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
       </div>
       <div class="row">
-        <div class="span4 columns">
+        <div class="span3 columns">
           <p>This plugin is for adding the scrollspy (auto updating nav) interaction to the bootstrap topbar.</p>
           <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn primary">Download</a>
         </div>
-        <div class="span12 columns">
+        <div class="span9 columns">
           <h2>Using boostrap-scrollspy.js</h2>
           <pre class="prettyprint linenums">$('#topbar').dropdown()</pre>
           <h3>Markup</h3>
@@ -316,11 +297,11 @@ $('#my-modal').bind('hidden', function () {
         <h1>Tabs <small>bootstrap-tabs.js</small></h1>
       </div>
       <div class="row">
-        <div class="span4 columns">
+        <div class="span3 columns">
           <p>This plugin adds quick, dynamic tab and pill functionality.</p>
           <a href="../js/bootstrap-tabs.js" target="_blank" class="btn primary">Download</a>
         </div>
-        <div class="span12 columns">
+        <div class="span9 columns">
           <h3>Using boostrap-tabs.js</h3>
           <pre class="prettyprint linenums">$('.tabs').tabs()</pre>
           <h3>Markup</h3>
@@ -387,11 +368,11 @@ $('#my-modal').bind('hidden', function () {
         <h1>Twipsy <small>bootstrap-twipsy.js</small></h1>
       </div>
       <div class="row">
-        <div class="span4 columns">
+        <div class="span3 columns">
           <p>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for title storage!</p>
           <a href="../js/bootstrap-twipsy.js" target="_blank" class="btn primary">Download</a>
         </div>
-        <div class="span12 columns">
+        <div class="span9 columns">
           <h3>Using bootstrap-twipsy.js</h3>
           <pre class="prettyprint linenums">$('#example').twipsy(options)</pre>
           <h3>Options</h3>
@@ -504,11 +485,11 @@ $('#my-modal').bind('hidden', function () {
         <h1>Popovers <small>bootstrap-popover.js</small></h1>
       </div>
       <div class="row">
-        <div class="span4 columns">
+        <div class="span3 columns">
           <p>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</p>
           <a href="../js/bootstrap-popover.js" target="_blank" class="btn primary">Download</a>
         </div>
-        <div class="span12 columns">
+        <div class="span9 columns">
           <h3>Using boostrap-popover.js</h3>
           <pre class="prettyprint linenums">$('#example').popover(options)</pre>
           <h3>Options</h3>
@@ -625,11 +606,11 @@ $('#my-modal').bind('hidden', function () {
         <h1>Alerts <small>bootstrap-alerts.js</small></h1>
       </div>
       <div class="row">
-        <div class="span4 columns">
+        <div class="span3 columns">
           <p>The alert plugin is a super tiny class for adding close functionality to alerts.</p>
           <a href="../js/bootstrap-alerts.js" target="_blank" class="btn primary">Download</a>
         </div>
-        <div class="span12 columns">
+        <div class="span9 columns">
           <h3>Using bootstrap-alerts.js</h3>
           <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
           <h3>Markup</h3>
@@ -657,17 +638,28 @@ $('#my-modal').bind('hidden', function () {
     </section>
 
 
-    </div><!-- /container -->
-
-    <footer class="footer">
-      <div class="container">
+      <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
         <p>
           Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br />
           Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>.
         </p>
-      </div>
-    </footer>
+      </footer>
+
+    </div><!-- /container -->
+
+
+    <!-- Le javascript -->
+    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-modal.js"></script>
+    <script src="../js/bootstrap-alerts.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tabs.js"></script>
 
   </body>
 </html>
-- 
GitLab


From f48baceeda7dc18e1fdf78f89c55b3de40a3357e Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 17 Oct 2011 12:45:09 -0700
Subject: [PATCH 037/576] remove bottom margin from h1

---
 bootstrap.css     | 3 +--
 bootstrap.min.css | 2 +-
 lib/type.less     | 1 -
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ac242d3b81..3731eaf0ba 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 17 00:03:30 PDT 2011
+ * Date: Mon Oct 17 12:44:52 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -377,7 +377,6 @@ h6 small {
   color: #bfbfbf;
 }
 h1 {
-  margin-bottom: 18px;
   font-size: 30px;
   line-height: 36px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 31d1699bed..4fca75703e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -64,7 +64,7 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .offset11{margin-left:900px;}
 p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
-h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
+h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
 h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
 h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
diff --git a/lib/type.less b/lib/type.less
index c746a58af8..28d893fb9e 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -29,7 +29,6 @@ h1, h2, h3, h4, h5, h6 {
   }
 }
 h1 {
-  margin-bottom: @baseLineHeight;
   font-size: 30px;
   line-height: @baseLineHeight * 2;
   small {
-- 
GitLab


From d035fa731ab6b846c98b2f2b6f5e82c1b11c6791 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 17 Oct 2011 12:59:03 -0700
Subject: [PATCH 038/576] update all code elements in docs

---
 docs/index.html | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index f3ef344637..ab33ea23cf 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -411,7 +411,7 @@
     <div class="span4">
       <h2>Headings &amp; copy</h2>
       <p>A standard typographic hierarchy for structuring your webpages.</p>
-      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@basefont</code> and <code>@baseline</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
+      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
       <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
     </div>
     <div class="span4">
@@ -467,7 +467,7 @@
         </div>
       </div>
 
-      <p><strong>Note:</strong> Each line in an <code>&lt;address&gt;</code> must end with a line-break (<code>&lt;br /&gt;</code>) or be wrapped in a block-level tag (e.g., <code>&lt;p&gt;</code>) to properly structure the content.</p>
+      <p><strong>Note:</strong> Each line in an <code>&lt;address&gt;</code> must end with a line-break (<code>&lt;br&gt;</code>) or be wrapped in a block-level tag (e.g., <code>&lt;p&gt;</code>) to properly structure the content.</p>
       <h3>Abbreviations</h3>
       <p>For abbreviations and acronyms, use the <code>&lt;abbr&gt;</code> tag (<code>&lt;acronym&gt;</code> is deprecated in <abbr title="HyperText Markup Langugage 5">HTML5</abbr>). Put the shorthand form within the tag and set a title for the complete name.</p>
     </div>
@@ -522,7 +522,7 @@
       </ul>
     </div>
     <div class="span3">
-      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
+      <h4>Unstyled <code>&lt;.unstyled&gt;</code></h4>
       <ul class="unstyled">
         <li>Lorem ipsum dolor sit amet</li>
         <li>Consectetur adipiscing elit</li>
@@ -555,7 +555,7 @@
       </ol>
     </div>
     <div class="span3">
-      <h4>Description <code>dl</code></h4>
+      <h4>Description <code>&lt;dl&gt;</code></h4>
       <dl>
         <dt>Description lists</dt>
         <dd>A description list is perfect for defining terms.</dd>
@@ -592,7 +592,7 @@
         <tbody>
           <tr>
             <td><code>&lt;code&gt;</code></td>
-            <td>In a line of text like this, your wrapped code will look like this <code>&gt;html&lt;</code> element.</td>
+            <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
           </tr>
           <tr>
             <td><code>&lt;pre&gt;</code></td>
@@ -1263,10 +1263,10 @@
     </div>
     <div class="span4">
       <h4>Dropdowns included</h4>
-      <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>li</code> tags also support <code>.active</code> for showing current page selection.</p>
+      <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>&lt;li&gt;</code> tags also support <code>.active</code> for showing current page selection.</p>
     </div>
   </div>
-  <p><strong>Note:</strong> When using the topbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>body</code>.</p>
+  <p><strong>Note:</strong> When using the topbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
 
   <br>
 
-- 
GitLab


From 27cbe7f63a13fad987dc2547ef5b6f526ceb268c Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 17 Oct 2011 14:17:29 -0700
Subject: [PATCH 039/576] add abbr styles, overhaul type docs section to remove
 lots of verbose text and put emphasis on tables and more scannable content

---
 bootstrap.css            |  11 +-
 bootstrap.min.css        |   5 +-
 docs/assets/css/docs.css |   5 +
 docs/index.html          | 349 ++++++++++++++++++++-------------------
 lib/type.less            |  11 +-
 5 files changed, 210 insertions(+), 171 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 3731eaf0ba..f3ff894d1a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 17 12:44:52 PDT 2011
+ * Date: Mon Oct 17 14:16:58 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -367,6 +367,7 @@ h5,
 h6 {
   font-weight: bold;
   color: #404040;
+  text-rendering: optimizelegibility;
 }
 h1 small,
 h2 small,
@@ -388,7 +389,7 @@ h2 {
   line-height: 36px;
 }
 h2 small {
-  font-size: 14px;
+  font-size: 18px;
 }
 h3 {
   line-height: 27px;
@@ -466,6 +467,12 @@ em {
 .muted {
   color: #bfbfbf;
 }
+abbr {
+  font-size: 90%;
+  text-transform: uppercase;
+  border-bottom: 1px dotted #ddd;
+  cursor: help;
+}
 blockquote {
   margin-bottom: 18px;
   border-left: 5px solid #eee;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4fca75703e..86b68e44a7 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -63,9 +63,9 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .offset10{margin-left:820px;}
 .offset11{margin-left:900px;}
 p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
-h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
+h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
-h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
+h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
 h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
@@ -83,6 +83,7 @@ hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#bfbfbf;}
+abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
 blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;}
 blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 address{display:block;line-height:18px;margin-bottom:18px;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 2af7764e65..bbf71ab778 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -307,6 +307,11 @@ pre.prettyprint {
   max-width: 100%;
 }
 
+/* Make tables spaced out a bit more */
+h2 + table {
+  margin-top: 10px;
+}
+
 /* Responsive Docs
 -------------------------------------------------- */
 @media (max-width: 480px) {
diff --git a/docs/index.html b/docs/index.html
index ab33ea23cf..2e0036bb09 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -406,90 +406,130 @@
     <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
   </div>
 
+  <h2>Headings &amp; body copy</h2>
+
   <!-- Headings & Paragraph Copy -->
   <div class="row">
     <div class="span4">
-      <h2>Headings &amp; copy</h2>
-      <p>A standard typographic hierarchy for structuring your webpages.</p>
+      <h3>Typographic scale</h3>
       <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
       <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
     </div>
     <div class="span4">
-      <h1>h1. Heading 1</h1>
-      <h2>h2. Heading 2</h2>
-      <h3>h3. Heading 3</h3>
-      <h4>h4. Heading 4</h4>
-      <h5>h5. Heading 5</h5>
-      <h6>h6. Heading 6</h6>
+      <h3>Example body text</h3>
+      <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+      <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec sed odio dui.</p>
     </div>
     <div class="span4">
-      <h3>Example paragraph</h3>
-      <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-      <h1>Example heading <small>Has sub-heading&hellip;</small></h1>
+      <div class="well">
+        <h1>h1. Heading 1</h1>
+        <h2>h2. Heading 2</h2>
+        <h3>h3. Heading 3</h3>
+        <h4>h4. Heading 4</h4>
+        <h5>h5. Heading 5</h5>
+        <h6>h6. Heading 6</h6>
+      </div>
     </div>
   </div>
 
   <!-- Misc Elements -->
+  <h2>Emphasis, address, and abbreviation</h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th>Element</th>
+        <th>Description</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <code>&lt;strong&gt;</code>
+        </td>
+        <td>
+          For emphasizing a snippet of text with <strong>important</strong>
+        </td>
+        <td>
+          <span class="muted">None</span>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;em&gt;</code>
+        </td>
+        <td>
+          For emphasizing a snippet of text with <em>stress</em>
+        </td>
+        <td>
+          <span class="muted">None</span>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;abbr&gt;</code>
+        </td>
+        <td>
+          Wraps abbreviations and acronyms to show the expanded version on hover
+        </td>
+        <td>
+          Include optional <code>title</code> for expanded text
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;address&gt;</code>
+        </td>
+        <td>
+          For contact information for its nearest ancestor or the entire body of work
+        </td>
+        <td>
+          Preserve formatting by ending all lines with <code>&lt;br&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
   <div class="row">
-    <div class="span3">
-      <h2>Misc. elements</h2>
-      <p>Using emphasis, addresses, &amp; abbreviations</p>
-      <p>
-        <code>&lt;strong&gt;</code>
-        <code>&lt;em&gt;</code>
-        <code>&lt;address&gt;</code>
-        <code>&lt;abbr&gt;</code>
-      </p>
-    </div>
-    <div class="span9">
-      <h3>When to use</h3>
-      <p>Emphasis tags (<code>&lt;strong&gt;</code> and <code>&lt;em&gt;</code>) should be used to indicate additional importance or emphasis of a word or phrase relative to its surrounding copy. Use <code>&lt;strong&gt;</code> for importance and <code>&lt;em&gt;</code> for <em>stress</em> emphasis.</p>
-      <h3>Emphasis in a paragraph</h3>
+    <div class="span4">
+      <h3>Using emphasis</h3>
       <p><a href="#">Fusce dapibus</a>, <strong>tellus ac cursus commodo</strong>, <em>tortor mauris condimentum nibh</em>, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.</p>
-      <p><strong>Note:</strong> It's still okay to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> tags in HTML5 and they don't have to be styled bold and italic, respectively (although if there is a more semantic element, use it). <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance, while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
-      <h3>Addresses</h3>
-      <p>The <code>&lt;address&gt;</code> element is used for contact information for its nearest ancestor, or the entire body of work. Here are two examples of how it could be used:</p>
-
-      <div class="row">
-        <div class="span4">
-          <address>
-            <strong>Twitter, Inc.</strong><br>
-            795 Folsom Ave, Suite 600<br>
-            San Francisco, CA 94107<br>
-            <abbr title="Phone">P:</abbr> (123) 456-7890
-          </address>
-        </div>
-        <div class="span4">
-          <address>
-            <strong>Full Name</strong><br>
-            <a mailto="">first.last@gmail.com</a>
-          </address>
-        </div>
-      </div>
-
-      <p><strong>Note:</strong> Each line in an <code>&lt;address&gt;</code> must end with a line-break (<code>&lt;br&gt;</code>) or be wrapped in a block-level tag (e.g., <code>&lt;p&gt;</code>) to properly structure the content.</p>
-      <h3>Abbreviations</h3>
-      <p>For abbreviations and acronyms, use the <code>&lt;abbr&gt;</code> tag (<code>&lt;acronym&gt;</code> is deprecated in <abbr title="HyperText Markup Langugage 5">HTML5</abbr>). Put the shorthand form within the tag and set a title for the complete name.</p>
+      <p><strong>Note:</strong> Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5, but their usage has changed a bit. <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
     </div>
-  </div><!-- /row -->
+    <div class="span4">
+      <h3>Example addresses</h3>
+      <p>Here are two examples of how the <code>&lt;address&gt;</code> tag can be used:</p>
+      <address>
+        <strong>Twitter, Inc.</strong><br>
+        795 Folsom Ave, Suite 600<br>
+        San Francisco, CA 94107<br>
+        <abbr title="Phone">P:</abbr> (123) 456-7890
+      </address>
+      <address>
+        <strong>Full Name</strong><br>
+        <a mailto="#">first.last@gmail.com</a>
+      </address>
+    </div>
+    <div class="span4">
+      <h3>Example abbreviations</h3>
+      <p>Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.</p>
+      <p><abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.</p>
+      <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
+    </div>
+  </div>
+
 
   <!-- Blockquotes -->
+  <h2>Blockquotes</h2>
   <div class="row">
-    <div class="span3">
-      <h2>Blockquotes</h2>
-      <p>
-        <code>&lt;blockquote&gt;</code>
-        <code>&lt;p&gt;</code>
-        <code>&lt;small&gt;</code>
-      </p>
-    </div>
-    <div class="span9">
-      <h3>How to quote</h3>
+    <div class="span5">
       <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around <code>&lt;p&gt;</code> and <code>&lt;small&gt;</code> tags. Use the <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it.</p>
       <blockquote>
         <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
         <small>Dr. Julius Hibbert</small>
       </blockquote>
+    </div>
+    <div class="span7">
 <pre class="prettyprint linenums">
 &lt;blockquote&gt;
   &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.&lt;/p&gt;
@@ -497,8 +537,9 @@
 &lt;/blockquote&gt;
 </pre>
     </div>
-  </div><!-- /row -->
+  </div>
 
+  <!-- Lists -->
   <h2>Lists</h2>
   <div class="row">
     <div class="span3">
@@ -522,7 +563,7 @@
       </ul>
     </div>
     <div class="span3">
-      <h4>Unstyled <code>&lt;.unstyled&gt;</code></h4>
+      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
       <ul class="unstyled">
         <li>Lorem ipsum dolor sit amet</li>
         <li>Consectetur adipiscing elit</li>
@@ -570,120 +611,96 @@
 
 
   <!-- Code -->
-  <div class="row">
-    <div class="span3">
-      <h2>Code</h2>
-      <p>
-        <code>&lt;code&gt;</code>
-        <code>&lt;pre&gt;</code>
-      </p>
-      <p>Pimp your code in style with two simple tags. For even more awesomeness through javascript, drop in Google's code prettify library and you're set.</p>
-    </div>
-    <div class="span9">
-      <h3>Presenting code</h3>
-      <p>Code, blocks of or just snippets inline, can be displayed with style just by wrapping in the right tag. For blocks of code spanning multiple lines, use the <code>&lt;pre&gt;</code> element. For inline code, use the <code>&lt;code&gt;</code> element.</p>
-      <table class="zebra-striped">
-        <thead>
-          <tr>
-            <th style="width: 190px;">Element</th>
-            <th>Result</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td><code>&lt;code&gt;</code></td>
-            <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
-          </tr>
-          <tr>
-            <td><code>&lt;pre&gt;</code></td>
-            <td>
+
+  <h2>Code <small>Inline and block</small></h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">Element</th>
+        <th>Result</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>&lt;code&gt;</code></td>
+        <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
+      </tr>
+      <tr>
+        <td><code>&lt;pre&gt;</code></td>
+        <td>
 <pre>&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here...&lt;/p&gt;
 &lt;/div&gt;</pre>
-              <p><strong>Note:</strong> Be sure to keep code within <code>pre</code> tags as close to the left as possible; it will render all tabs.</p>
-            </td>
-          </tr>
-          <tr>
-            <td><code>&lt;pre class="prettyprint"&gt;</code></td>
-            <td>
-              <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting.</p>
+          <p><strong>Note:</strong> Be sure to keep code within <code>pre</code> tags as close to the left as possible; it will render all tabs.</p>
+        </td>
+      </tr>
+      <tr>
+        <td><code>&lt;pre class="prettyprint"&gt;</code></td>
+        <td>
+          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here...&lt;/p&gt;
 &lt;/div&gt;</pre>
-              <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-  </div><!-- /row -->
+          <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
 
   <!-- Labels -->
-  <div class="row">
-    <div class="span3">
-      <h2>Inline labels</h2>
-      <p>
-        <code>&lt;span class="label"&gt;</code>
-      </p>
-      <p>Call attention to or flag any phrase in your body text.</p>
-    </div>
-    <div class="span9">
-      <h3>Label anything</h3>
-      <p>Ever needed one of those fancy <span class="label success">New!</span> or <span class="label important">Important</span> flags when writing code? Well, now you have them. Here's what's included by default:</p>
-      <table class="zebra-striped">
-        <thead>
-          <tr>
-            <th style="width: 50%;">Label</th>
-            <th>Result</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>
-              <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
-            </td>
-            <td>
-              <span class="label">Default</span>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
-            </td>
-            <td>
-              <span class="label success">New</span>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
-            </td>
-            <td>
-              <span class="label warning">Warning</span>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
-            </td>
-            <td>
-              <span class="label important">Important</span>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
-            </td>
-            <td>
-              <span class="label notice">Notice</span>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-  </div><!-- /row -->
+  <h2>Inline labels <small>for special attention</small></h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">Labels</th>
+        <th>Markup</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <span class="label">Default</span>
+        </td>
+        <td>
+          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label success">New</span>
+        </td>
+        <td>
+          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label warning">Warning</span>
+        </td>
+        <td>
+          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label important">Important</span>
+        </td>
+        <td>
+          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label notice">Notice</span>
+        </td>
+        <td>
+          <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
 
 </section>
 
diff --git a/lib/type.less b/lib/type.less
index 28d893fb9e..4978dd7869 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -24,6 +24,7 @@ p {
 h1, h2, h3, h4, h5, h6 {
   font-weight: bold;
   color: @grayDark;
+  text-rendering: optimizelegibility;
   small {
     color: @grayLight;
   }
@@ -39,7 +40,7 @@ h2 {
   font-size: 24px;
   line-height: @baseLineHeight * 2;
   small {
-    font-size: 14px;
+    font-size: 18px;
   }
 }
 h3 {
@@ -134,6 +135,14 @@ em {
   color: @grayLight;
 }
 
+// Abbreviations and acronyms
+abbr {
+  font-size: 90%;
+  text-transform: uppercase;
+  border-bottom: 1px dotted #ddd;
+  cursor: help;
+}
+
 // Blockquotes
 blockquote {
   margin-bottom: @baseLineHeight;
-- 
GitLab


From b91d210a3cdb29d022f20646ed61e663ceea18dd Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 17 Oct 2011 14:43:43 -0700
Subject: [PATCH 040/576] overhauled tables section of docs to minize copy and
 emphasize code

---
 docs/index.html | 279 ++++++++++++++++++++++++++++++------------------
 1 file changed, 178 insertions(+), 101 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index 2e0036bb09..68cdd4a2cf 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -638,10 +638,14 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting.</p>
+          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here...&lt;/p&gt;
+&lt;/div&gt;</pre>
+<pre class="prettyprint linenums">&lt;div&gt;
+  &lt;h1&gt;Heading&lt;/h1&gt;
+  &lt;p&gt;Something right here...&lt;/p&gt;
 &lt;/div&gt;</pre>
           <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
         </td>
@@ -712,130 +716,204 @@
   <div class="page-header">
     <h1>Tables <small>For, you guessed it, tabular data</small></h1>
   </div>
-  <!-- Table structure -->
+
+  <h2>Table markup</h2>
   <div class="row">
-    <div class="span3">
-      <h2>Building tables</h2>
-      <p>
-        <code>&lt;table&gt;</code>
-        <code>&lt;thead&gt;</code>
-        <code>&lt;tbody&gt;</code>
-        <code>&lt;tr&gt;</code>
-        <code>&lt;th&gt;</code>
-        <code>&lt;td&gt;</code>
-        <code>&lt;colspan&gt;</code>
-        <code>&lt;caption&gt;</code>
-      </p>
-      <p>Tables are great&mdash;for a lot of things. Great tables, however, need a bit of markup love to be useful, scalable, and readable (at the code level). Here are a few tips to help.</p>
-      <p>Always wrap your column headers in a <code>&lt;thead&gt;</code> such that hierarchy is <code>&lt;thead&gt;</code> > <code>&lt;tr&gt;</code> > <code>&lt;th&gt;</code>.</p>
-      <p>Similar to the column headers, all your table’s body content should be wrapped in a <code>&lt;tbody&gt;</code> so your hierarchy is <code>&lt;tbody&gt;</code> > <code>&lt;tr&gt;</code> > <code>&lt;td&gt;</code>.</p>
-    </div>
-    <div class="span9">
-      <h3>Example: Default table styles</h3>
-      <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
-      <table>
+    <div class="span8">
+      <table class="zebra-striped">
         <thead>
           <tr>
-            <th>#</th>
-            <th>First Name</th>
-            <th>Last Name</th>
-            <th>Language</th>
+            <th>Tag</th>
+            <th>Description</th>
           </tr>
         </thead>
         <tbody>
           <tr>
-            <td>1</td>
-            <td>Some</td>
-            <td>One</td>
-            <td>English</td>
+            <td>
+              <code>&lt;table&gt;</code>
+            </td>
+            <td>
+              Wrapping element for displaying data in a tabular format
+            </td>
           </tr>
           <tr>
-            <td>2</td>
-            <td>Joe</td>
-            <td>Sixpack</td>
-            <td>English</td>
+            <td>
+              <code>&lt;thead&gt;</code>
+            </td>
+            <td>
+              Container element for table header rows (<code>&lt;tr&gt;</code>) to label table columns
+            </td>
           </tr>
           <tr>
-            <td>3</td>
-            <td>Stu</td>
-            <td>Dent</td>
-            <td>Code</td>
+            <td>
+              <code>&lt;tbody&gt;</code>
+            </td>
+            <td>
+              Container element for table rows (<code>&lt;tr&gt;</code>) in the body of the table
+            </td>
           </tr>
-        </tbody>
-      </table>
-<pre class="prettyprint linenums">
-&lt;table&gt;
-  ...
-&lt;/table&gt;</pre>
-      <h3>Example: Zebra-striped</h3>
-      <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.zebra-striped</code> class.</p>
-      <table class="zebra-striped">
-        <thead>
           <tr>
-            <th>#</th>
-            <th>First Name</th>
-            <th>Last Name</th>
-            <th>Language</th>
+            <td>
+              <code>&lt;tr&gt;</code>
+            </td>
+            <td>
+              Container element for a set of table cells (<code>&lt;td&gt;</code> or <code>&lt;th&gt;</code>) that appears on a single row
+            </td>
           </tr>
-        </thead>
-        <tbody>
           <tr>
-            <td>1</td>
-            <td>Some</td>
-            <td>One</td>
-            <td>English</td>
+            <td>
+              <code>&lt;td&gt;</code>
+            </td>
+            <td>
+              Default table cell
+            </td>
           </tr>
           <tr>
-            <td>2</td>
-            <td>Joe</td>
-            <td>Sixpack</td>
-            <td>English</td>
+            <td>
+              <code>&lt;th&gt;</code>
+            </td>
+            <td>
+              Special table cell for column (or row, depending on scope and placement) labels<br>
+              Must be used within a <code>&lt;thead&gt;</code>
+            </td>
           </tr>
           <tr>
-            <td>3</td>
-            <td>Stu</td>
-            <td>Dent</td>
-            <td>Code</td>
+            <td>
+              <code>&lt;caption&gt;</code>
+            </td>
+            <td>
+              Description or summary of what the table holds, especially useful for screen readers
+            </td>
           </tr>
         </tbody>
       </table>
-      <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
+    </div>
+    <div class="span4">
+<pre class="prettyprint linenums">
+&lt;table&gt;
+  &lt;thead&gt;
+    &lt;tr&gt;
+      &lt;th&gt;...&lt;/th&gt;
+      &lt;th&gt;...&lt;/th&gt;
+    &lt;/tr&gt;
+  &lt;/thead&gt;
+  &lt;tbody&gt;
+    &lt;tr&gt;
+      &lt;td&gt;...&lt;/td&gt;
+      &lt;td&gt;...&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/tbody&gt;
+&lt;/table&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Example tables</h2>
+  <h3>1. Default table styles</h3>
+  <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
+  <table>
+    <thead>
+      <tr>
+        <th>#</th>
+        <th>First Name</th>
+        <th>Last Name</th>
+        <th>Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td>Some</td>
+        <td>One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
+<pre class="prettyprint linenums">
+&lt;table&gt;
+  ...
+&lt;/table&gt;</pre>
+  <h3>2. Zebra-striped</h3>
+  <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.zebra-striped</code> class.</p>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th>#</th>
+        <th>First Name</th>
+        <th>Last Name</th>
+        <th>Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td>Some</td>
+        <td>One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
+  <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
 <pre class="prettyprint linenums">
 &lt;table class="zebra-striped"&gt;
 ...
 &lt;/table&gt;</pre>
-      <h3>Example: Zebra-striped w/ TableSorter.js</h3>
-      <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
-      <table class="zebra-striped" id="sortTableExample">
-        <thead>
-          <tr>
-            <th>#</th>
-            <th class="yellow">First Name</th>
-            <th class="blue">Last Name</th>
-            <th class="green">Language</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>1</td>
-            <td>Your</td>
-            <td>One</td>
-            <td>English</td>
-          </tr>
-          <tr>
-            <td>2</td>
-            <td>Joe</td>
-            <td>Sixpack</td>
-            <td>English</td>
-          </tr>
-          <tr>
-            <td>3</td>
-            <td>Stu</td>
-            <td>Dent</td>
-            <td>Code</td>
-          </tr>
-        </tbody>
-      </table>
+  <h3>3. Zebra-striped w/ TableSorter.js</h3>
+  <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
+  <table class="zebra-striped" id="sortTableExample">
+    <thead>
+      <tr>
+        <th>#</th>
+        <th class="yellow">First Name</th>
+        <th class="blue">Last Name</th>
+        <th class="green">Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td>Your</td>
+        <td>One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
 <pre class="prettyprint linenums">
 &lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
 &lt;script &gt;
@@ -846,8 +924,7 @@
 &lt;table class="zebra-striped"&gt;
   ...
 &lt;/table&gt;</pre>
-    </div>
-  </div><!-- /row -->
+
 </section>
 
 
-- 
GitLab


From ae5c5e10635049c65d73454ca9486539bdf324d4 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 17 Oct 2011 20:44:52 -0700
Subject: [PATCH 041/576] update docs to change topbar to navbar

---
 docs/index.html      | 18 +++++++++---------
 docs/javascript.html | 24 ++++++++++++------------
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index 68cdd4a2cf..7fe5ce1ca7 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -25,7 +25,7 @@
 
   <body>
 
-    <!-- Topbar
+    <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
       <div class="navbar-inner">
@@ -1308,7 +1308,7 @@
   <div class="page-header">
     <h1>Navigation</h1>
   </div>
-  <h2>Fixed topbar</h2>
+  <h2>Fixed navbar</h2>
   <div class="navbar navbar-static" data-dropdown="dropdown">
     <div class="navbar-inner">
       <div class="container">
@@ -1343,24 +1343,24 @@
           </li>
         </ul>
       </div>
-    </div><!-- /topbar-inner -->
-  </div><!-- /topbar -->
+    </div><!-- /navbar-inner -->
+  </div><!-- /navbar -->
 
   <div class="row">
     <div class="span4">
       <h4>What is it</h4>
-      <p>Our topbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
+      <p>Our navbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
     </div>
     <div class="span4">
       <h4>Customizable</h4>
-      <p>All elements within, and the entire topbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
+      <p>All elements within, and the entire navbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
     </div>
     <div class="span4">
       <h4>Dropdowns included</h4>
       <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>&lt;li&gt;</code> tags also support <code>.active</code> for showing current page selection.</p>
     </div>
   </div>
-  <p><strong>Note:</strong> When using the topbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+  <p><strong>Note:</strong> When using the navbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
 
   <br>
 
@@ -1875,11 +1875,11 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
            </tr>
            <tr>
              <td><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></td>
-             <td>This plugin is for adding dropdown interaction to the bootstrap topbar or tabbed navigations.</td>
+             <td>This plugin is for adding dropdown interaction to the bootstrap navbar or tabbed navigations.</td>
            </tr>
            <tr>
              <td><a href="./javascript.html#scrollspy">bootstrap-scrollspy.js</a></td>
-             <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap topbar.</td>
+             <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap navbar.</td>
            </tr>
            <tr>
              <td><a href="./javascript.html#tabs">bootstrap-tabs.js</a></td>
diff --git a/docs/javascript.html b/docs/javascript.html
index da623c2f8f..68a3d0cd46 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -25,7 +25,7 @@
 
   <body id="bootstrap-js">
 
-    <!-- Topbar
+    <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
       <div class="navbar-inner">
@@ -189,12 +189,12 @@ $('#my-modal').bind('hidden', function () {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin is for adding dropdown interaction to the bootstrap topbar or tabbed navigations.</p>
+          <p>This plugin is for adding dropdown interaction to the Bootstrap navbar or tabbed navigations.</p>
           <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
           <h3>Using boostrap-dropdown.js</h3>
-          <pre class="prettyprint linenums">$('#topbar').dropdown()</pre>
+          <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
           <h3>Markup</h3>
           <p>To quickly add dropdown functionality to any nav element, use the <code>data-dropdown</code> attribute. Any valid bootstrap dropdown will automatically be activated.</p>
 <pre class="prettyprint linenums">
@@ -213,10 +213,10 @@ $('#my-modal').bind('hidden', function () {
           <h3>Methods</h3>
           <h4>$().dropdown()</h4>
           <p>
-          A programatic api for activating menus for a given topbar or tabbed navigation.
+          A programatic api for activating menus for a given navbar or tabbed navigation.
           </p>
           <h3>Demo</h3>
-          <div id="topbar-example" class="navbar navbar-static">
+          <div id="navbar-example" class="navbar navbar-static">
             <div class="navbar-inner">
               <div class="container" style="width: auto;">
                 <a class="brand" href="#">Project Name</a>
@@ -263,28 +263,28 @@ $('#my-modal').bind('hidden', function () {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin is for adding the scrollspy (auto updating nav) interaction to the bootstrap topbar.</p>
+          <p>This plugin is for adding the scrollspy (auto updating nav) interaction to the bootstrap navbar.</p>
           <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
           <h2>Using boostrap-scrollspy.js</h2>
-          <pre class="prettyprint linenums">$('#topbar').dropdown()</pre>
+          <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
           <h3>Markup</h3>
-          <p>To easily add scrollspy behavior to your nav, just add the <code>data-scrollspy</code> attribute to the <code>.topbar</code>.
-          <pre class="prettyprint linenums">&lt;div class="topbar" data-scrollspy="scrollspy" &gt;...&lt;/div&gt;</pre>
+          <p>To easily add scrollspy behavior to your nav, just add the <code>data-scrollspy</code> attribute to the <code>.navbar</code>.
+          <pre class="prettyprint linenums">&lt;div class="navbar" data-scrollspy="scrollspy" &gt;...&lt;/div&gt;</pre>
           <h3>Methods</h3>
           <h4>$().scrollspy()</h4>
           <p>
           Auto activates navigation buttons by users scroll position.
           </p>
-          <pre class="prettyprint linenums">$('body > .topbar').scrollSpy()</pre>
-           <p><span class="label notice">Notice</span> Topbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+          <pre class="prettyprint linenums">$('body > .navbar').scrollSpy()</pre>
+           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
           </p>
           <h4>.scrollspy('refresh')</h4>
           <p>The scrollspy caches nav buttons and section coordinates for performance. If you need to update this cache (likely if you have dynamic content) just call this refresh method. If you used the data attribute to define your scrollspy, just call refresh on the body.</p>
           <pre class="prettyprint linenums">$('body').scrollspy('refresh')</pre>
           <h3>Demo</h3>
-          <p>Checkout the the topbar navigation on this page.</p>
+          <p>Checkout the the navbar navigation on this page.</p>
         </div>
       </div>
     </section>
-- 
GitLab


From 369b9720c6090985c678076eebb59c080c0ed27c Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 17 Oct 2011 23:45:35 -0700
Subject: [PATCH 042/576] adding responsive stuff to docs to stub that out,
 updated type to make ul and ol margins match p tags

---
 bootstrap.css                                |   4 +-
 bootstrap.min.css                            |   2 +-
 docs/assets/css/docs.css                     |  17 +++-
 docs/assets/img/responsive-illustrations.png | Bin 0 -> 2249 bytes
 docs/index.html                              |  80 +++++++++++++++++++
 lib/type.less                                |   2 +-
 6 files changed, 100 insertions(+), 5 deletions(-)
 create mode 100644 docs/assets/img/responsive-illustrations.png

diff --git a/bootstrap.css b/bootstrap.css
index f3ff894d1a..0f6d58ae06 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 17 14:16:58 PDT 2011
+ * Date: Mon Oct 17 23:44:56 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -416,7 +416,7 @@ h6 {
   text-transform: uppercase;
 }
 ul, ol {
-  margin: 0 0 18px 25px;
+  margin: 0 0 9px 25px;
 }
 ul ul,
 ul ol,
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 86b68e44a7..31912f2933 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -70,7 +70,7 @@ h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
 h6{font-size:13px;line-height:18px;color:#bfbfbf;text-transform:uppercase;}
-ul,ol{margin:0 0 18px 25px;}
+ul,ol{margin:0 0 9px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index bbf71ab778..2d0b87fe21 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -309,7 +309,7 @@ pre.prettyprint {
 
 /* Make tables spaced out a bit more */
 h2 + table {
-  margin-top: 10px;
+  margin-top: 5px;
 }
 
 /* Responsive Docs
@@ -347,3 +347,18 @@ h2 + table {
   }
 }
 
+
+
+.supported-devices {
+  margin-bottom: 9px;
+  color: #777;
+}
+.supported-devices strong {
+  display: block;
+  font-size: 14px;
+  line-height: 18px;
+}
+.supported-devices small {
+  font-size: 12px;
+}
+
diff --git a/docs/assets/img/responsive-illustrations.png b/docs/assets/img/responsive-illustrations.png
new file mode 100644
index 0000000000000000000000000000000000000000..c980da77addecefd57a8294a828fdae2370d1d2e
GIT binary patch
literal 2249
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
Ud-sVBh4JSif)PbO6UNW~H==`gcmMzZ

literal 0
HcmV?d00001

diff --git a/docs/index.html b/docs/index.html
index 7fe5ce1ca7..aafea76621 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -399,6 +399,86 @@
 
 
 
+
+<!-- Responsive design
+================================================== -->
+<section id="responsive">
+  <div class="page-header">
+    <h1>Responsive design <small>Media queries for various devices and resolutions</small></h1>
+  </div>
+  <!-- Supported devices -->
+  <div class="row">
+    <div class="span4">
+      <img src="assets/img/responsive-illustrations.png" alt="Responsive devices">
+    </div>
+    <div class="span8">
+      <h2>Supported devices</h2>
+      <table class="supported-devices">
+        <tbody>
+          <tr>
+            <td>
+              <strong>Under 480px</strong>
+              <small>Smartphones</small>
+            </td>
+            <td>
+              <strong>480px to 768px</strong>
+              <small>Portrait tablet</small>
+            </td>
+            <td>
+              <strong>768px to 940px</strong>
+              <small>Landscape tablet</small>
+            </td>
+            <td>
+              <strong>940px and up</strong>
+              <small>Default</small>
+            </td>
+            <td>
+              <strong>1170px and up</strong>
+              <small>Large screens</small>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      <p>With these media queries, Bootstrap provides developers with the core tools necessary to develop responsively on the web for the world's most common devices and resolutions.</p>
+    </div>
+  </div>
+
+  <br>
+
+  <!-- Media query code -->
+  <h2>Using the media queries</h2>
+  <div class="row">
+    <div class="span4">
+      <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
+      <ol>
+        <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
+        <li>Add @import "responsive.less" and recompile Bootstrap</li>
+        <li>Compile responsive.less as a separate file and include that</li>
+      </ol>
+      <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
+    </div>
+    <div class="span8">
+<pre class="prettyprint linenums">
+  // Landscape phones and down
+  @media (max-width: 480px) { ... }
+
+  // Landscape phone to portrait tablet
+  @media (min-width: 480px) and (max-width: 768px) { ... }
+
+  // Portrait tablet to landscape and desktop
+  @media (min-width: 768px) and (max-width: 940px) { ... }
+
+  // Large desktop
+  @media (min-width: 1210px) { .. }
+</pre>
+    </div>
+  </div>
+
+</section>
+
+
+
+
 <!-- Typography
 ================================================== -->
 <section id="typography">
diff --git a/lib/type.less b/lib/type.less
index 4978dd7869..a490bf5fa1 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -74,7 +74,7 @@ h6 {
 
 // Unordered and Ordered lists
 ul, ol {
-  margin: 0 0 @baseLineHeight 25px;
+  margin: 0 0 @baseLineHeight / 2 25px;
 }
 ul ul,
 ul ol,
-- 
GitLab


From a5d2450e88693de5e96d9a9f3f4e82853723f764 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 18 Oct 2011 08:11:18 -0700
Subject: [PATCH 043/576] refinement to the responsive section

---
 docs/assets/css/docs.css | 16 ---------
 docs/index.html          | 70 ++++++++++++++++++++++++++--------------
 2 files changed, 46 insertions(+), 40 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 2d0b87fe21..c1c43b1d88 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -346,19 +346,3 @@ h2 + table {
     min-width: 748px;
   }
 }
-
-
-
-.supported-devices {
-  margin-bottom: 9px;
-  color: #777;
-}
-.supported-devices strong {
-  display: block;
-  font-size: 14px;
-  line-height: 18px;
-}
-.supported-devices small {
-  font-size: 12px;
-}
-
diff --git a/docs/index.html b/docs/index.html
index aafea76621..3908552bd0 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -413,33 +413,55 @@
     </div>
     <div class="span8">
       <h2>Supported devices</h2>
-      <table class="supported-devices">
+      <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
+      <table class="zebra-striped">
+        <thead>
+          <tr>
+            <th>Label</th>
+            <th>Layout width</th>
+            <th>Column width</th>
+            <th>Gutter width</th>
+          </tr>
+        </thead>
         <tbody>
           <tr>
-            <td>
-              <strong>Under 480px</strong>
-              <small>Smartphones</small>
-            </td>
-            <td>
-              <strong>480px to 768px</strong>
-              <small>Portrait tablet</small>
-            </td>
-            <td>
-              <strong>768px to 940px</strong>
-              <small>Landscape tablet</small>
-            </td>
-            <td>
-              <strong>940px and up</strong>
-              <small>Default</small>
-            </td>
-            <td>
-              <strong>1170px and up</strong>
-              <small>Large screens</small>
-            </td>
+            <td>Smartphones</td>
+            <td>480px and below</td>
+            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+          </tr>
+          <tr>
+            <td>Portrait tablets</td>
+            <td>480px to 768px</td>
+            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+          </tr>
+          <tr>
+            <td>Landscape tablets</td>
+            <td>768px to 940px</td>
+            <td>44px</td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td>Default</td>
+            <td>940px and up</td>
+            <td>60px</td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td>Large display</td>
+            <td>1210px and up</td>
+            <td>70px</td>
+            <td>30px</td>
           </tr>
         </tbody>
       </table>
-      <p>With these media queries, Bootstrap provides developers with the core tools necessary to develop responsively on the web for the world's most common devices and resolutions.</p>
+
+      <h3>What they do</h3>
+      <p>Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
+      <ul>
+        <li>Modify the width of column in our grid</li>
+        <li>Stack elements instead of float wherever necessary</li>
+        <li>Resize headings and text to be more appropriate for devices</li>
+      </ul>
     </div>
   </div>
 
@@ -448,7 +470,7 @@
   <!-- Media query code -->
   <h2>Using the media queries</h2>
   <div class="row">
-    <div class="span4">
+    <div class="span5">
       <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
       <ol>
         <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
@@ -457,7 +479,7 @@
       </ol>
       <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
     </div>
-    <div class="span8">
+    <div class="span7">
 <pre class="prettyprint linenums">
   // Landscape phones and down
   @media (max-width: 480px) { ... }
-- 
GitLab


From 8545fe97877dc275df40ab98d408f21ce9a362cf Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 19 Oct 2011 21:56:06 -0700
Subject: [PATCH 044/576] greatly simply js plugins - remove js api where
 reasonable

---
 docs/assets/js/application.js |  2 +-
 js/bootstrap-accordion.js     | 41 ++++++++++++++++++
 js/bootstrap-alerts.js        | 80 +++++-----------------------------
 js/bootstrap-dropdown.js      | 28 ++++--------
 js/bootstrap-modal.js         | 81 ++++++++++++-----------------------
 js/bootstrap-popover.js       |  1 -
 js/bootstrap-scrollspy.js     | 25 +----------
 js/bootstrap-tabs.js          | 10 +----
 js/bootstrap-transitions.js   | 45 +++++++++++++++++++
 js/bootstrap-twipsy.js        | 31 +-------------
 10 files changed, 138 insertions(+), 206 deletions(-)
 create mode 100644 js/bootstrap-accordion.js
 create mode 100644 js/bootstrap-transitions.js

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 16a20e068e..74024caa1d 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -1,4 +1,4 @@
-$(document).ready(function(){
+$(function(){
 
   // table sort example
   // ==================
diff --git a/js/bootstrap-accordion.js b/js/bootstrap-accordion.js
new file mode 100644
index 0000000000..b88057691d
--- /dev/null
+++ b/js/bootstrap-accordion.js
@@ -0,0 +1,41 @@
+/* =============================================================
+ * bootstrap-accordion.js v1.3.0
+ * http://twitter.github.com/bootstrap/javascript.html#accordion
+ * =============================================================
+ * Copyright 2011 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( $ ){
+
+  var Accordion = function ( element, options ) {}
+
+  Accordion.prototype = {}
+
+  /* ALERT PLUGIN DEFINITION
+   * ======================= */
+
+  $.fn.accordion = function ( options ) {
+
+    if ( options === true ) {
+     return this.data('accordion')
+    }
+
+    return this.each(function () {
+      new Accordion(this, options)
+    })
+  }
+
+
+})( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index 4498270cb9..bac92deb8a 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -17,90 +17,32 @@
  * limitations under the License.
  * ========================================================== */
 
-
 (function( $ ){
 
-  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-   * ======================================================= */
-
-   var transitionEnd
-
-   $(document).ready(function () {
-
-     $.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
-     })()
-
-     // set CSS transition event type
-     if ( $.support.transition ) {
-       transitionEnd = "TransitionEnd"
-       if ( $.browser.webkit ) {
-       	transitionEnd = "webkitTransitionEnd"
-       } else if ( $.browser.mozilla ) {
-       	transitionEnd = "transitionend"
-       } else if ( $.browser.opera ) {
-       	transitionEnd = "oTransitionEnd"
-       }
-     }
-
-   })
-
  /* ALERT CLASS DEFINITION
   * ====================== */
 
-  var Alert = function ( content, selector ) {
-    this.$element = $(content)
-      .delegate('[data-alert-dismiss]', 'click', this.close)
-  }
-
-  Alert.prototype = {
-
-    close: function (e) {
-      var $element = $(this).parent('.alert-message')
+  function close(e) {
+    var $element = $(this).parent('.alert-message')
 
-      e && e.preventDefault()
-      e && e.stopPropagation()
+    e && e.preventDefault()
+    $element.removeClass('in')
 
-      $element.removeClass('in')
-
-      function removeElement () {
-        $element.remove()
-      }
-
-      $.support.transition && $element.hasClass('fade') ?
-        $element.bind(transitionEnd, removeElement) :
-        removeElement()
+    function removeElement () {
+      $element.remove()
     }
 
+    $.support.transition && $element.hasClass('fade') ?
+      $element.bind($.support.transition.end, removeElement) :
+      removeElement()
   }
 
 
  /* ALERT PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.alert = function ( options ) {
-
-    if ( options === true ) {
-      return this.data('alert')
-    }
-
-    return this.each(function () {
-      var $this = $(this)
-
-      if ( typeof options == 'string' ) {
-        return $this.data('alert')[options]()
-      }
-
-      $(this).data('alert', new Alert( this ))
-
-    })
-  }
-
-  $(document).ready(function () {
-    new Alert($('body'))
+  $(function () {
+    $('body').delegate('[data-alert-dismiss]', 'click', close)
   })
 
 })( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 6379653c56..6d9430b391 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -20,34 +20,22 @@
 
 (function( $ ){
 
-  var d = '[data-dropdown]'
-
-  /* DROPDOWN PLUGIN DEFINITION
-   * ========================== */
-
-  $.fn.dropdown = function () {
-    return this.each(function () {
-      $(this).delegate(d, 'click', function (e) {
-        var li = $(this).parent('li')
-          , isActive = li.hasClass('open')
-
-        clearMenus()
-        !isActive && li.toggleClass('open')
-        return false
-      })
-    })
-  }
-
   /* APPLY TO STANDARD DROPDOWN ELEMENTS
    * =================================== */
 
   function clearMenus() {
-    $(d).parent('li').removeClass('open')
+    $(selector).parent('li').removeClass('open')
   }
 
   $(function () {
     $('html').bind("click", clearMenus)
-    $('body').dropdown()
+    $('body').delegate('[data-dropdown]', 'click', function (e) {
+      var li = $(this).parent('li')
+        , isActive = li.hasClass('open')
+      clearMenus()
+      !isActive && li.toggleClass('open')
+      return false
+    })
   })
 
 })( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 60b83d58fd..02f8b23827 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -20,35 +20,6 @@
 
 !function( $ ){
 
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-  * ======================================================= */
-
-  var transitionEnd
-
-  $(document).ready(function () {
-
-    $.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
-    })()
-
-    // set CSS transition event type
-    if ( $.support.transition ) {
-      transitionEnd = "TransitionEnd"
-      if ( $.browser.webkit ) {
-      	transitionEnd = "webkitTransitionEnd"
-      } else if ( $.browser.mozilla ) {
-      	transitionEnd = "transitionend"
-      } else if ( $.browser.opera ) {
-      	transitionEnd = "oTransitionEnd"
-      }
-    }
-
-  })
-
-
  /* MODAL PUBLIC CLASS DEFINITION
   * ============================= */
 
@@ -76,25 +47,7 @@
         this.$element.trigger('show')
 
         escape.call(this)
-        backdrop.call(this, function () {
-          var transition = $.support.transition && that.$element.hasClass('fade')
-
-          that.$element
-            .appendTo(document.body)
-            .show()
-
-          if (transition) {
-            that.$element[0].offsetWidth // force reflow
-          }
-
-          that.$element
-            .addClass('in')
-
-          transition ?
-            that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
-            that.$element.trigger('shown')
-
-        })
+        backdrop.call(this)
 
         return this
       }
@@ -124,7 +77,7 @@
         }
 
         $.support.transition && this.$element.hasClass('fade') ?
-          this.$element.one(transitionEnd, removeElement) :
+          this.$element.one($.support.transition.end, removeElement) :
           removeElement()
 
         return this
@@ -136,9 +89,11 @@
  /* MODAL PRIVATE METHODS
   * ===================== */
 
-  function backdrop ( callback ) {
+  function backdrop () {
     var that = this
       , animate = this.$element.hasClass('fade') ? 'fade' : ''
+      , callback = $.proxy(show, this)
+
     if ( this.isShown && this.settings.backdrop ) {
       var doAnimate = $.support.transition && animate
 
@@ -156,7 +111,7 @@
       this.$backdrop.addClass('in')
 
       doAnimate ?
-        this.$backdrop.one(transitionEnd, callback) :
+        this.$backdrop.one($.support.transition.end, callback) :
         callback()
 
     } else if ( !this.isShown && this.$backdrop ) {
@@ -168,13 +123,33 @@
       }
 
       $.support.transition && this.$element.hasClass('fade')?
-        this.$backdrop.one(transitionEnd, removeElement) :
+        this.$backdrop.one($.support.transition.end, removeElement) :
         removeElement()
     } else if ( callback ) {
        callback()
     }
   }
 
+  function show() {
+    var transition = $.support.transition && that.$element.hasClass('fade')
+      , that = this
+
+    this.$element
+      .appendTo(document.body)
+      .show()
+
+    if (transition) {
+      this.$element[0].offsetWidth // force reflow
+    }
+
+    this.$element
+      .addClass('in')
+
+    transition ?
+      this.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
+      this.$element.trigger('shown')
+  }
+
   function escape() {
     var that = this
     if ( this.isShown && this.settings.keyboard ) {
@@ -233,7 +208,7 @@
  /* MODAL DATA-IMPLEMENTATION
   * ========================= */
 
-  $(document).ready(function () {
+  $(function () {
     $('body').delegate('[data-controls-modal]', 'click', function (e) {
       e.preventDefault()
       var $this = $(this).data('show', true)
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 1cf4b8917a..22db98fd9b 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -62,7 +62,6 @@
 
   })
 
-
  /* POPOVER PLUGIN DEFINITION
   * ======================= */
 
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 4b146e5809..23bdf59e9c 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -75,30 +75,7 @@
 
   }
 
-  /* SCROLLSPY PLUGIN DEFINITION
-   * =========================== */
-
-  $.fn.scrollSpy = function( options ) {
-    var scrollspy = this.data('scrollspy')
-
-    if (!scrollspy) {
-      return this.each(function () {
-        $(this).data('scrollspy', new ScrollSpy( this, options ))
-      })
-    }
-
-    if ( options === true ) {
-      return scrollspy
-    }
-
-    if ( typeof options == 'string' ) {
-      scrollspy[options]()
-    }
-
-    return this
-  }
-
-  $(document).ready(function () {
+  $(function () {
     $('body').scrollSpy('[data-scrollspy] li > a')
   })
 
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index b94adfc25d..6ee80429c7 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -55,14 +55,8 @@
  /* TABS/PILLS PLUGIN DEFINITION
   * ============================ */
 
-  $.fn.tabs = $.fn.pills = function ( selector ) {
-    return this.each(function () {
-      $(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab)
-    })
-  }
-
-  $(document).ready(function () {
-    $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
+  $(function () {
+    $('body').delegate('ul[data-tabs] > li > a, ul[data-pills] > li > a', 'click', tab)
   })
 
 }( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-transitions.js b/js/bootstrap-transitions.js
new file mode 100644
index 0000000000..49b5338a8f
--- /dev/null
+++ b/js/bootstrap-transitions.js
@@ -0,0 +1,45 @@
+/* ===================================================
+ * bootstrap-transitions.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html
+ * ===================================================
+ * Copyright 2011 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 () {
+
+  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+   * ======================================================= */
+
+  $.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 && {
+      end: (function () {
+        var transitionEnd = "TransitionEnd"
+        if ( $.browser.webkit ) {
+        	transitionEnd = "webkitTransitionEnd"
+        } else if ( $.browser.mozilla ) {
+        	transitionEnd = "transitionend"
+        } else if ( $.browser.opera ) {
+        	transitionEnd = "oTransitionEnd"
+        }
+        return transitionEnd
+      })()
+    }
+  })()
+
+})
\ No newline at end of file
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 0144c48158..c44395e08e 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -21,35 +21,6 @@
 
 !function( $ ) {
 
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-  * ======================================================= */
-
-  var transitionEnd
-
-  $(document).ready(function () {
-
-    $.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
-    })()
-
-    // set CSS transition event type
-    if ( $.support.transition ) {
-      transitionEnd = "TransitionEnd"
-      if ( $.browser.webkit ) {
-      	transitionEnd = "webkitTransitionEnd"
-      } else if ( $.browser.mozilla ) {
-      	transitionEnd = "transitionend"
-      } else if ( $.browser.opera ) {
-      	transitionEnd = "oTransitionEnd"
-      }
-    }
-
-  })
-
-
  /* TWIPSY PUBLIC CLASS DEFINITION
   * ============================== */
 
@@ -131,7 +102,7 @@
       }
 
       $.support.transition && this.$tip.hasClass('fade') ?
-        $tip.bind(transitionEnd, removeElement) :
+        $tip.bind($.support.transition.end, removeElement) :
         removeElement()
     }
 
-- 
GitLab


From 523e02f7df3bb706654b43cf604e61c9396212e1 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 19 Oct 2011 23:12:50 -0700
Subject: [PATCH 045/576] fix scrollspy simplify stuff more - break everything.

---
 docs/index.html           | 65 ++++++++++++++++++++-------------------
 js/bootstrap-accordion.js |  2 +-
 js/bootstrap-alerts.js    |  2 +-
 js/bootstrap-dropdown.js  |  5 +--
 js/bootstrap-modal.js     |  2 +-
 js/bootstrap-popover.js   |  2 +-
 js/bootstrap-scrollspy.js | 33 ++++++++++++--------
 js/bootstrap-tabs.js      | 21 +++++++++----
 js/bootstrap-twipsy.js    |  2 +-
 js/tests/index.html       |  1 +
 10 files changed, 78 insertions(+), 57 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index aafea76621..255d1684fb 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -53,8 +53,8 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
               <ul class="dropdown-menu">
-                <li><a href="#navigation">Navigation</a></li>
                 <li><a href="#media">Media</a></li>
+                <li><a href="#navigation">Navigation</a></li>
                 <li><a href="#alerts">Alerts</a></li>
                 <li><a href="#popovers">Popovers</a></li>
                 <li><a href="#autocomplete">Autocomplete</a></li>
@@ -147,36 +147,38 @@
 
       <!-- About Bootstrap
       ================================================== -->
-      <div class="row">
-        <div class="span4">
-          <h2>Built for and by nerds</h2>
-          <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
-          <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
-        </div>
-        <div class="span4">
-          <h2>Cross-everything</h2>
-          <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
-          <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
-          <ul>
-            <li>Latest Safari</li>
-            <li>Latest Google Chrome</li>
-            <li>Firefox 4+</li>
-            <li>Internet Explorer 7+</li>
-            <li>Opera 11</li>
-          </ul>
-        </div>
-        <div class="span4">
-          <h2>What's included</h2>
-          <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
-          <ul>
-            <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
-            <li>All original .less files</li>
-            <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
-            <li>Complete styleguide documentation</li>
-            <li>Three example pages with different layouts</li>
-          </ul>
-        </div>
-      </div><!-- /row -->
+      <section id="about">
+        <div class="row">
+          <div class="span4">
+            <h2>Built for and by nerds</h2>
+            <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
+            <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
+          </div>
+          <div class="span4">
+            <h2>Cross-everything</h2>
+            <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
+            <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
+            <ul>
+              <li>Latest Safari</li>
+              <li>Latest Google Chrome</li>
+              <li>Firefox 4+</li>
+              <li>Internet Explorer 7+</li>
+              <li>Opera 11</li>
+            </ul>
+          </div>
+          <div class="span4">
+            <h2>What's included</h2>
+            <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
+            <ul>
+              <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
+              <li>All original .less files</li>
+              <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
+              <li>Complete styleguide documentation</li>
+              <li>Three example pages with different layouts</li>
+            </ul>
+          </div>
+        </div><!-- /row -->
+      </section>
 
       <h3>Quick-start examples</h3>
       <p>Need some quick templates? Check out these basic examples we've put together:</p>
@@ -2162,6 +2164,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
diff --git a/js/bootstrap-accordion.js b/js/bootstrap-accordion.js
index b88057691d..9a24b5ddfc 100644
--- a/js/bootstrap-accordion.js
+++ b/js/bootstrap-accordion.js
@@ -1,5 +1,5 @@
 /* =============================================================
- * bootstrap-accordion.js v1.3.0
+ * bootstrap-accordion.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#accordion
  * =============================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index bac92deb8a..4f1acfa3d0 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-alerts.js v1.3.0
+ * bootstrap-alerts.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 6d9430b391..d12fe48cb6 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -1,5 +1,5 @@
 /* ============================================================
- * bootstrap-dropdown.js v1.3.0
+ * bootstrap-dropdown.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#dropdown
  * ============================================================
  * Copyright 2011 Twitter, Inc.
@@ -22,6 +22,7 @@
 
   /* APPLY TO STANDARD DROPDOWN ELEMENTS
    * =================================== */
+  var selector = '[data-dropdown]'
 
   function clearMenus() {
     $(selector).parent('li').removeClass('open')
@@ -29,7 +30,7 @@
 
   $(function () {
     $('html').bind("click", clearMenus)
-    $('body').delegate('[data-dropdown]', 'click', function (e) {
+    $('body').delegate(selector, 'click', function (e) {
       var li = $(this).parent('li')
         , isActive = li.hasClass('open')
       clearMenus()
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 02f8b23827..984b091d61 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -1,5 +1,5 @@
 /* =========================================================
- * bootstrap-modal.js v1.3.0
+ * bootstrap-modal.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#modal
  * =========================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 22db98fd9b..3fdde19b51 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -1,5 +1,5 @@
 /* ===========================================================
- * bootstrap-popover.js v1.3.0
+ * bootstrap-popover.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#popover
  * ===========================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 23bdf59e9c..1269d91ecb 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -1,5 +1,5 @@
 /* =============================================================
- * bootstrap-scrollspy.js v1.3.0
+ * bootstrap-scrollspy.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
  * =============================================================
  * Copyright 2011 Twitter, Inc.
@@ -22,14 +22,14 @@
 
   var $window = $(window)
 
-  function ScrollSpy( topbar, selector ) {
-    var processScroll = $.proxy(this.processScroll, this)
-    this.$topbar = $(topbar)
-    this.selector = selector || 'li > a'
+  function ScrollSpy() {
+    var process = $.proxy(this.process, this)
+    this.$topbar = $('body')
+    this.selector = '[data-scrollspy] li > a'
     this.refresh()
-    this.$topbar.delegate(this.selector, 'click', processScroll)
-    $window.scroll(processScroll)
-    this.processScroll()
+    this.$topbar.delegate(this.selector, 'click', process)
+    $window.scroll(process)
+    this.process()
   }
 
   ScrollSpy.prototype = {
@@ -45,7 +45,7 @@
         })
       }
 
-    , processScroll: function () {
+    , process: function () {
         var scrollTop = $window.scrollTop() + 10
           , offsets = this.offsets
           , targets = this.targets
@@ -56,27 +56,34 @@
           activeTarget != targets[i]
             && scrollTop >= offsets[i]
             && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
-            && this.activateButton( targets[i] )
+            && this.activate( targets[i] )
         }
       }
 
-    , activateButton: function (target) {
+    , activate: function (target) {
+        var active
+
         this.activeTarget = target
 
         this.$topbar
           .find(this.selector).parent('.active')
           .removeClass('active')
 
-        this.$topbar
+        active = this.$topbar
           .find(this.selector + '[href="' + target + '"]')
           .parent('li')
           .addClass('active')
+
+        if ( active.parent('.dropdown-menu') )  {
+          active.closest('li.dropdown').addClass('active')
+        }
+
       }
 
   }
 
   $(function () {
-    $('body').scrollSpy('[data-scrollspy] li > a')
+    new ScrollSpy()
   })
 
 }( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index 6ee80429c7..86bd4784f3 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -1,5 +1,5 @@
 /* ========================================================
- * bootstrap-tabs.js v1.3.0
+ * bootstrap-tabs.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#tabs
  * ========================================================
  * Copyright 2011 Twitter, Inc.
@@ -21,24 +21,33 @@
 !function( $ ){
 
   function activate ( element, container ) {
-    container.find('> .active').removeClass('active')
+    container
+      .find('> .active')
+      .removeClass('active')
+      .find('> .dropdown-menu > .active')
+      .removeClass('active')
+
     element.addClass('active')
+
+    if ( element.parent('.dropdown-menu') ) {
+      element.closest('li.dropdown').addClass('active')
+    }
   }
 
   function tab( e ) {
     var $this = $(this)
-      , $ul = $this.closest('ul')
+      , $ul = $this.closest('ul:not(.dropdown-menu)')
       , href = $this.attr('href')
       , previous
 
-    if (/^#\w+/.test(href)) {
+    if ( /^#\w+/.test(href) ) {
       e.preventDefault()
 
-      if ($this.parent('li').hasClass('active')) {
+      if ( $this.parent('li').hasClass('active') ) {
         return
       }
 
-      previous = $ul.find('.active a')[0]
+      previous = $ul.find('.active a').last()[0]
       $href = $(href)
 
       activate($this.parent('li'), $ul)
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index c44395e08e..7c195fbc78 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-twipsy.js v1.3.0
+ * bootstrap-twipsy.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#twipsy
  * Adapted from the original jQuery.tipsy by Jason Frame
  * ==========================================================
diff --git a/js/tests/index.html b/js/tests/index.html
index 2ca94102ad..617fcd92ab 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -11,6 +11,7 @@
   <script src="vendor/qunit.js"></script>
 
   <!--  plugin sources -->
+  <script src="../../js/bootstrap-transitions.js"></script>
   <script src="../../js/bootstrap-alerts.js"></script>
   <script src="../../js/bootstrap-dropdown.js"></script>
   <script src="../../js/bootstrap-modal.js"></script>
-- 
GitLab


From 2c0a60a777d85c9223abf245be56308b8c62804c Mon Sep 17 00:00:00 2001
From: Jeff Adams <jeff@tinyfly.com>
Date: Fri, 21 Oct 2011 11:56:13 -0500
Subject: [PATCH 046/576] remove negative margin on .row so we don't hang off
 the left edge of the screen

---
 bootstrap.css       |  8 +++++++-
 bootstrap.min.css   |  2 +-
 lib/responsive.less | 12 ++++++++++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0f6d58ae06..7eef72feef 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 17 23:44:56 PDT 2011
+ * Date: Fri Oct 21 11:54:44 CDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -2268,6 +2268,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: auto;
     padding: 0 10px;
   }
+  .row {
+    margin-left: 0;
+  }
   [class*="span"] {
     float: none;
     display: block;
@@ -2299,6 +2302,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: auto;
     padding: 0 10px;
   }
+  .row {
+    margin-left: 0;
+  }
   [class*="span"] {
     float: none;
     display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 31912f2933..e35f0d2234 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -321,4 +321,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/responsive.less b/lib/responsive.less
index a1a33164fe..1a84245a1d 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -12,6 +12,12 @@
     width: auto;
     padding: 0 10px;
   }
+  
+  // remove negative margin so we don't hang off the screen
+  .row {
+    margin-left: 0;
+  }
+  
   // Make all columns even
   [class*="span"] {
     float: none;
@@ -57,6 +63,12 @@
     width: auto;
     padding: 0 10px;
   }
+  
+  // remove negative margin so we don't hang off the screen
+  .row {
+    margin-left: 0;
+  }
+  
   // Make all columns even
   [class*="span"] {
     float: none;
-- 
GitLab


From d4675bf4ef8019fc80e3b6816d3597c07cde81df Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sat, 22 Oct 2011 15:49:42 -0700
Subject: [PATCH 047/576] updating the docs to include more responsive fixes,
 adding rows to the responsive changes as well to undo negative margin

---
 bootstrap.css            |  8 +++++++-
 bootstrap.min.css        |  2 +-
 docs/assets/css/docs.css | 16 ++++++++++++----
 lib/responsive.less      |  8 ++++++++
 4 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0f6d58ae06..256ab096bb 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 17 23:44:56 PDT 2011
+ * Date: Sat Oct 22 15:49:12 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -2268,6 +2268,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: auto;
     padding: 0 10px;
   }
+  .row {
+    margin-left: 0;
+  }
   [class*="span"] {
     float: none;
     display: block;
@@ -2299,6 +2302,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: auto;
     padding: 0 10px;
   }
+  .row {
+    margin-left: 0;
+  }
   [class*="span"] {
     float: none;
     display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 31912f2933..e35f0d2234 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -321,4 +321,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index c1c43b1d88..b618c44b87 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -340,9 +340,17 @@ h2 + table {
   }
 }
 
-@media (min-width: 768px) and (max-width: 900px) {
-  .footer,
-  .jumbotron {
-    min-width: 748px;
+@media (min-width: 768px) and (max-width: 940px) {
+
+  /* Scale down the jumbotron content */
+  .jumbotron h1 {
+    font-size: 72px;
+  }
+
+  /* Provide enough space on right-hand side for benefits list */
+  .jumbotron h1,
+  .jumbotron p {
+    margin-right: 40%;
   }
 }
+
diff --git a/lib/responsive.less b/lib/responsive.less
index a1a33164fe..6cacccad99 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -12,6 +12,10 @@
     width: auto;
     padding: 0 10px;
   }
+  // Undo negative margin on rows
+  .row {
+    margin-left: 0;
+  }
   // Make all columns even
   [class*="span"] {
     float: none;
@@ -57,6 +61,10 @@
     width: auto;
     padding: 0 10px;
   }
+  // Undo negative margin on rows
+  .row {
+    margin-left: 0;
+  }
   // Make all columns even
   [class*="span"] {
     float: none;
-- 
GitLab


From b4c0d2a6b2fe1bc92c3635cda71b63ee08a05be4 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sat, 22 Oct 2011 22:49:37 -0700
Subject: [PATCH 048/576] tweaks to the responsive layout to improve type

---
 bootstrap.css            | 12 ++++--------
 bootstrap.min.css        |  4 ++--
 docs/assets/css/docs.css | 30 +++++++++++++++++++++++++++---
 docs/index.html          |  6 +++---
 lib/responsive.less      |  2 +-
 lib/type.less            |  7 +++----
 6 files changed, 40 insertions(+), 21 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index aebabeecca..c055a79c93 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,11 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
-<<<<<<< HEAD
- * Date: Sat Oct 22 15:49:12 PDT 2011
-=======
- * Date: Fri Oct 21 11:54:44 CDT 2011
->>>>>>> 2e09ffe3832106fab60dc01cc3159c13029bdf68
+ * Date: Sat Oct 22 22:49:01 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -520,7 +516,7 @@ pre {
   background-color: #f5f5f5;
   display: block;
   padding: 8.5px;
-  margin: 0 0 18px;
+  margin: 0 0 9px;
   line-height: 18px;
   font-size: 12px;
   border: 1px solid #ccc;
@@ -530,7 +526,7 @@ pre {
   border-radius: 3px;
   white-space: pre;
   white-space: pre-wrap;
-  word-wrap: break-word;
+  word-break: break-all;
 }
 /* Forms.less
  * Base styles for various input types, form layouts, and states
@@ -2270,7 +2266,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 @media (max-width: 480px) {
   .container {
     width: auto;
-    padding: 0 10px;
+    padding: 0 15px;
   }
   .row {
     margin-left: 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e35f0d2234..0aa8892072 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -89,7 +89,7 @@ blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;c
 address{display:block;line-height:18px;margin-bottom:18px;}
 code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
-pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
+pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 9px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
@@ -321,4 +321,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.container{width:auto;padding:0 15px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index b618c44b87..0a31ac9984 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -21,6 +21,8 @@ section {
 /* Tweak topbar brand link to be super sleek
 -------------------------------------------------- */
 body > .navbar-fixed .brand {
+  padding-right: 0;
+  padding-left: 0;
   float: right;
   font-weight: bold;
   color: #000;
@@ -316,16 +318,24 @@ h2 + table {
 -------------------------------------------------- */
 @media (max-width: 480px) {
 
+  /* Hide the nav for now */
   body > .navbar-fixed .nav {
     display: none;
   }
 
-  .large-bird {
-    display: none;
+  /* Change up some type stuff */
+  h1 small {
+    display: block;
+    line-height: 20px;
   }
 
+  /* Adjust the jumbotron */
+  .jumbotron h1,
+  .jumbotron p {
+    margin-right: 0;
+  }
   .jumbotron h1 {
-    font-size: 36px;
+    font-size: 45px;
     margin-right: 0;
   }
   .jumbotron p {
@@ -338,6 +348,20 @@ h2 + table {
     width: auto;
     margin: 36px 0;
   }
+  .jumbotron .btn {
+    font-size: 18px;
+    padding: 10px 14px;
+  }
+
+  /* Popovers */
+  .large-bird {
+    display: none;
+  }
+  .popover-well .popover-wrapper {
+    margin-left: 0;
+  }
+
+
 }
 
 @media (min-width: 768px) and (max-width: 940px) {
diff --git a/docs/index.html b/docs/index.html
index 49e6d04310..2cb5eb8e40 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -630,7 +630,7 @@
       <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around <code>&lt;p&gt;</code> and <code>&lt;small&gt;</code> tags. Use the <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it.</p>
       <blockquote>
         <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
-        <small>Dr. Julius Hibbert</small>
+        <small>Someone famous</small>
       </blockquote>
     </div>
     <div class="span7">
@@ -2140,7 +2140,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
           <td>Javascript</td>
           <td>
             <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>head</code>.</p>
-<pre class="prettyprint linenums">
+<pre class="prettyprint">
 &lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
 &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
 </pre>
@@ -2156,7 +2156,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
           </td>
         </tr>
         <tr>
-          <td>Less Mac app</td>
+          <td>Mac app</td>
           <td>
             <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
             <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
diff --git a/lib/responsive.less b/lib/responsive.less
index 6cacccad99..75c33b1a8e 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -10,7 +10,7 @@
   // Remove width from containers
   .container {
     width: auto;
-    padding: 0 10px;
+    padding: 0 15px;
   }
   // Undo negative margin on rows
   .row {
diff --git a/lib/type.less b/lib/type.less
index a490bf5fa1..d092b203da 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -24,7 +24,7 @@ p {
 h1, h2, h3, h4, h5, h6 {
   font-weight: bold;
   color: @grayDark;
-  text-rendering: optimizelegibility;
+  text-rendering: optimizelegibility; // Fix the character spacing for headings
   small {
     color: @grayLight;
   }
@@ -185,7 +185,7 @@ pre {
   background-color: #f5f5f5;
   display: block;
   padding: (@baseLineHeight - 1) / 2;
-  margin: 0 0 @baseLineHeight;
+  margin: 0 0 @baseLineHeight / 2;
   line-height: @baseLineHeight;
   font-size: 12px;
   border: 1px solid #ccc;
@@ -193,6 +193,5 @@ pre {
   .border-radius(3px);
   white-space: pre;
   white-space: pre-wrap;
-  word-wrap: break-word;
-
+  word-break: break-all;
 }
\ No newline at end of file
-- 
GitLab


From e616026d678239104b93cafca9a77ea74a4c0ddf Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 26 Oct 2011 21:04:14 -0700
Subject: [PATCH 049/576] update to docs to cleanup pagination for smartphones,
 fix some pagination inconsistencies

---
 bootstrap.css            |  8 +++-----
 bootstrap.min.css        |  4 ++--
 docs/assets/css/docs.css | 24 ++++++++++++++++++++++++
 docs/index.html          | 21 ++++++---------------
 lib/type.less            |  4 ++--
 5 files changed, 37 insertions(+), 24 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c055a79c93..0baa88d110 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Oct 22 22:49:01 PDT 2011
+ * Date: Wed Oct 26 21:03:54 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -479,15 +479,13 @@ blockquote {
   padding-left: 15px;
 }
 blockquote p {
-  font-size: 14px;
+  font-size: 16px;
   font-weight: 300;
-  line-height: 18px;
+  line-height: 22.5px;
   margin-bottom: 0;
 }
 blockquote small {
   display: block;
-  font-size: 12px;
-  font-weight: 300;
   line-height: 18px;
   color: #bfbfbf;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0aa8892072..b443f02e39 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -84,8 +84,8 @@ strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#bfbfbf;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;}
-blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
+blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:16px;font-weight:300;line-height:22.5px;margin-bottom:0;}
+blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 address{display:block;line-height:18px;margin-bottom:18px;}
 code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 0a31ac9984..59c64e4a7b 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -328,10 +328,18 @@ h2 + table {
     display: block;
     line-height: 20px;
   }
+  /* More space between sections */
+  h2 {
+    margin-top: 27px;
+  }
+  h3 {
+    margin-top: 18px;
+  }
 
   /* Adjust the jumbotron */
   .jumbotron h1,
   .jumbotron p {
+    text-align: center;
     margin-right: 0;
   }
   .jumbotron h1 {
@@ -349,8 +357,15 @@ h2 + table {
     margin: 36px 0;
   }
   .jumbotron .btn {
+    display: block;
     font-size: 18px;
     padding: 10px 14px;
+    margin: 0 auto 10px;
+  }
+
+  /* Don't space out quick links so much */
+  .quick-links {
+    margin: 40px 0 0;
   }
 
   /* Popovers */
@@ -361,6 +376,15 @@ h2 + table {
     margin-left: 0;
   }
 
+  /* Space out the show-grid examples */
+  .show-grid [class*="span"] {
+    margin-bottom: 5px;
+  }
+
+  /* Unfloat the back to top link in footer */
+  .footer .pull-right {
+    float: none;
+  }
 
 }
 
diff --git a/docs/index.html b/docs/index.html
index 2cb5eb8e40..cf3b8b8052 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1715,38 +1715,29 @@
           <li><a href="#">2</a></li>
           <li><a href="#">3</a></li>
           <li><a href="#">4</a></li>
-          <li><a href="#">5</a></li>
-          <li class="next"><a href="#">Next &raquo;</a></li>
+          <li class="next"><a href="#">Next &rarr;</a></li>
         </ul>
       </div>
       <div class="pagination">
         <ul>
-          <li class="prev"><a href="#">&larr; Previous</a></li>
+          <li class="prev"><a href="#">&larr;</a></li>
           <li class="active"><a href="#">10</a></li>
           <li><a href="#">11</a></li>
-          <li><a href="#">12</a></li>
           <li class="disabled"><a href="#">…</a></li>
-          <li><a href="#">19</a></li>
           <li><a href="#">20</a></li>
           <li><a href="#">21</a></li>
-          <li class="next"><a href="#">Next &raquo;</a></li>
+          <li class="next"><a href="#">&rarr;</a></li>
         </ul>
       </div>
       <div class="pagination">
         <ul>
-          <li class="prev"><a href="#">&larr; Previous</a></li>
+          <li class="prev"><a href="#">&larr;</a></li>
           <li><a href="#">10</a></li>
           <li><a href="#">11</a></li>
-          <li><a href="#">12</a></li>
+          <li class="active"><a href="#">12</a></li>
           <li><a href="#">13</a></li>
           <li><a href="#">14</a></li>
-          <li class="active"><a href="#">15</a></li>
-          <li><a href="#">16</a></li>
-          <li><a href="#">17</a></li>
-          <li><a href="#">18</a></li>
-          <li><a href="#">19</a></li>
-          <li><a href="#">20</a></li>
-          <li class="next"><a href="#">Next &raquo;</a></li>
+          <li class="next"><a href="#">&rarr;</a></li>
         </ul>
       </div>
 <pre class="prettyprint linenums">
diff --git a/lib/type.less b/lib/type.less
index d092b203da..7f8044cd81 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -149,12 +149,12 @@ blockquote {
   border-left: 5px solid #eee;
   padding-left: 15px;
   p {
-    #font > .shorthand(300,14px,@baseLineHeight);
+    #font > .shorthand(300,16px,@baseLineHeight * 1.25);
     margin-bottom: 0;
   }
   small {
     display: block;
-    #font > .shorthand(300,12px,@baseLineHeight);
+    line-height: @baseLineHeight;
     color: @grayLight;
     &:before {
       content: '\2014 \00A0';
-- 
GitLab


From 648c4689273647c321dd6e3979d910282e9a9339 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 26 Oct 2011 23:11:56 -0700
Subject: [PATCH 050/576] breaking down the main page into subpages for easier,
 more comprehensive documentation

---
 docs/assets/css/docs.css |   11 +-
 docs/base-css.html       |  885 ++++++++++++++++
 docs/components.html     |  705 ++++++++++++
 docs/index.html          | 2181 ++------------------------------------
 docs/javascript.html     |  120 ++-
 docs/less.html           |  242 +++++
 docs/scaffolding.html    |  383 +++++++
 lib/mixins.less          |    7 +
 8 files changed, 2426 insertions(+), 2108 deletions(-)
 create mode 100644 docs/base-css.html
 create mode 100644 docs/components.html
 create mode 100644 docs/less.html
 create mode 100644 docs/scaffolding.html

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 59c64e4a7b..8ed81e713a 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -14,9 +14,6 @@ body {
   background-image: url(../img/grid-18px-masked.png);
   background-repeat: repeat-x;
 }
-section {
-  padding-top: 60px;
-}
 
 /* Tweak topbar brand link to be super sleek
 -------------------------------------------------- */
@@ -40,7 +37,7 @@ body > .navbar-fixed .brand:hover {
 }
 .jumbotron h1 {
   margin-right: 40%;
-  margin-bottom: 10px;
+  margin-bottom: 9px;
   font-size: 90px;
   letter-spacing: -1px;
   line-height: 1;
@@ -100,15 +97,15 @@ body > .navbar-fixed .brand:hover {
 ------------------------- */
 /* supporting docs pages */
 .subhead {
-  padding-bottom: 18px;
-  border-bottom: 3px solid #eee;
+  padding-bottom: 14px;
+  border-bottom: 3px solid #e5e5e5;
 }
 .subhead h1,
 .subhead p {
   margin-right: 0;
 }
 .subhead h1 {
-  font-size: 40px;
+  font-size: 45px;
 }
 
 
diff --git a/docs/base-css.html b/docs/base-css.html
new file mode 100644
index 0000000000..e3b3782c0a
--- /dev/null
+++ b/docs/base-css.html
@@ -0,0 +1,885 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
+    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+  </head>
+
+  <body>
+
+    <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li><a href="./index.html">Overview</a></li>
+            <li><a href="./scaffolding.html">Scaffolding</a></li>
+            <li class="active"><a href="./base-css.html">Base CSS</a></li>
+            <li><a href="./components.html">Components</a></li>
+            <li><a href="./javascript.html">Javascript</a></li>
+            <li><a href="./less.html">Using LESS</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Base CSS</h1>
+        <p class="lead">The core typography, form, and table styles of Bootstrap</p>
+      </header>
+
+
+<!-- Typography
+================================================== -->
+<section id="typography">
+  <div class="page-header">
+    <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
+  </div>
+
+  <h2>Headings &amp; body copy</h2>
+
+  <!-- Headings & Paragraph Copy -->
+  <div class="row">
+    <div class="span4">
+      <h3>Typographic scale</h3>
+      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
+      <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
+    </div>
+    <div class="span4">
+      <h3>Example body text</h3>
+      <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+      <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec sed odio dui.</p>
+    </div>
+    <div class="span4">
+      <div class="well">
+        <h1>h1. Heading 1</h1>
+        <h2>h2. Heading 2</h2>
+        <h3>h3. Heading 3</h3>
+        <h4>h4. Heading 4</h4>
+        <h5>h5. Heading 5</h5>
+        <h6>h6. Heading 6</h6>
+      </div>
+    </div>
+  </div>
+
+  <!-- Misc Elements -->
+  <h2>Emphasis, address, and abbreviation</h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th>Element</th>
+        <th>Description</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <code>&lt;strong&gt;</code>
+        </td>
+        <td>
+          For emphasizing a snippet of text with <strong>important</strong>
+        </td>
+        <td>
+          <span class="muted">None</span>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;em&gt;</code>
+        </td>
+        <td>
+          For emphasizing a snippet of text with <em>stress</em>
+        </td>
+        <td>
+          <span class="muted">None</span>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;abbr&gt;</code>
+        </td>
+        <td>
+          Wraps abbreviations and acronyms to show the expanded version on hover
+        </td>
+        <td>
+          Include optional <code>title</code> for expanded text
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;address&gt;</code>
+        </td>
+        <td>
+          For contact information for its nearest ancestor or the entire body of work
+        </td>
+        <td>
+          Preserve formatting by ending all lines with <code>&lt;br&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Using emphasis</h3>
+      <p><a href="#">Fusce dapibus</a>, <strong>tellus ac cursus commodo</strong>, <em>tortor mauris condimentum nibh</em>, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.</p>
+      <p><strong>Note:</strong> Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5, but their usage has changed a bit. <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
+    </div>
+    <div class="span4">
+      <h3>Example addresses</h3>
+      <p>Here are two examples of how the <code>&lt;address&gt;</code> tag can be used:</p>
+      <address>
+        <strong>Twitter, Inc.</strong><br>
+        795 Folsom Ave, Suite 600<br>
+        San Francisco, CA 94107<br>
+        <abbr title="Phone">P:</abbr> (123) 456-7890
+      </address>
+      <address>
+        <strong>Full Name</strong><br>
+        <a mailto="#">first.last@gmail.com</a>
+      </address>
+    </div>
+    <div class="span4">
+      <h3>Example abbreviations</h3>
+      <p>Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.</p>
+      <p><abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.</p>
+      <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
+    </div>
+  </div>
+
+
+  <!-- Blockquotes -->
+  <h2>Blockquotes</h2>
+  <div class="row">
+    <div class="span5">
+      <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around <code>&lt;p&gt;</code> and <code>&lt;small&gt;</code> tags. Use the <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it.</p>
+      <blockquote>
+        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
+        <small>Someone famous</small>
+      </blockquote>
+    </div>
+    <div class="span7">
+<pre class="prettyprint linenums">
+&lt;blockquote&gt;
+  &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.&lt;/p&gt;
+  &lt;small&gt;Dr. Julius Hibbert&lt;/small&gt;
+&lt;/blockquote&gt;
+</pre>
+    </div>
+  </div>
+
+  <!-- Lists -->
+  <h2>Lists</h2>
+  <div class="row">
+    <div class="span3">
+      <h4>Unordered <code>&lt;ul&gt;</code></h4>
+      <ul>
+        <li>Lorem ipsum dolor sit amet</li>
+        <li>Consectetur adipiscing elit</li>
+        <li>Integer molestie lorem at massa</li>
+        <li>Facilisis in pretium nisl aliquet</li>
+        <li>Nulla volutpat aliquam velit
+          <ul>
+            <li>Phasellus iaculis neque</li>
+            <li>Purus sodales ultricies</li>
+            <li>Vestibulum laoreet porttitor sem</li>
+            <li>Ac tristique libero volutpat at</li>
+          </ul>
+        </li>
+        <li>Faucibus porta lacus fringilla vel</li>
+        <li>Aenean sit amet erat nunc</li>
+        <li>Eget porttitor lorem</li>
+      </ul>
+    </div>
+    <div class="span3">
+      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
+      <ul class="unstyled">
+        <li>Lorem ipsum dolor sit amet</li>
+        <li>Consectetur adipiscing elit</li>
+        <li>Integer molestie lorem at massa</li>
+        <li>Facilisis in pretium nisl aliquet</li>
+        <li>Nulla volutpat aliquam velit
+          <ul>
+            <li>Phasellus iaculis neque</li>
+            <li>Purus sodales ultricies</li>
+            <li>Vestibulum laoreet porttitor sem</li>
+            <li>Ac tristique libero volutpat at</li>
+          </ul>
+        </li>
+        <li>Faucibus porta lacus fringilla vel</li>
+        <li>Aenean sit amet erat nunc</li>
+        <li>Eget porttitor lorem</li>
+      </ul>
+    </div>
+    <div class="span3">
+      <h4>Ordered <code>&lt;ol&gt;</code></h4>
+      <ol>
+        <li>Lorem ipsum dolor sit amet</li>
+        <li>Consectetur adipiscing elit</li>
+        <li>Integer molestie lorem at massa</li>
+        <li>Facilisis in pretium nisl aliquet</li>
+        <li>Nulla volutpat aliquam velit</li>
+        <li>Faucibus porta lacus fringilla vel</li>
+        <li>Aenean sit amet erat nunc</li>
+        <li>Eget porttitor lorem</li>
+      </ol>
+    </div>
+    <div class="span3">
+      <h4>Description <code>&lt;dl&gt;</code></h4>
+      <dl>
+        <dt>Description lists</dt>
+        <dd>A description list is perfect for defining terms.</dd>
+        <dt>Euismod</dt>
+        <dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
+        <dd>Donec id elit non mi porta gravida at eget metus.</dd>
+        <dt>Malesuada porta</dt>
+        <dd>Etiam porta sem malesuada magna mollis euismod.</dd>
+      </dl>
+    </div>
+  </div><!-- /row -->
+
+
+  <!-- Code -->
+
+  <h2>Code <small>Inline and block</small></h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">Element</th>
+        <th>Result</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>&lt;code&gt;</code></td>
+        <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
+      </tr>
+      <tr>
+        <td><code>&lt;pre&gt;</code></td>
+        <td>
+<pre>&lt;div&gt;
+  &lt;h1&gt;Heading&lt;/h1&gt;
+  &lt;p&gt;Something right here...&lt;/p&gt;
+&lt;/div&gt;</pre>
+          <p><strong>Note:</strong> Be sure to keep code within <code>pre</code> tags as close to the left as possible; it will render all tabs.</p>
+        </td>
+      </tr>
+      <tr>
+        <td><code>&lt;pre class="prettyprint"&gt;</code></td>
+        <td>
+          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+<pre class="prettyprint">&lt;div&gt;
+  &lt;h1&gt;Heading&lt;/h1&gt;
+  &lt;p&gt;Something right here...&lt;/p&gt;
+&lt;/div&gt;</pre>
+<pre class="prettyprint linenums">&lt;div&gt;
+  &lt;h1&gt;Heading&lt;/h1&gt;
+  &lt;p&gt;Something right here...&lt;/p&gt;
+&lt;/div&gt;</pre>
+          <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
+  <!-- Labels -->
+  <h2>Inline labels <small>for special attention</small></h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">Labels</th>
+        <th>Markup</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <span class="label">Default</span>
+        </td>
+        <td>
+          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label success">New</span>
+        </td>
+        <td>
+          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label warning">Warning</span>
+        </td>
+        <td>
+          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label important">Important</span>
+        </td>
+        <td>
+          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label notice">Notice</span>
+        </td>
+        <td>
+          <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
+</section>
+
+
+
+<!-- Tables
+================================================== -->
+<section id="tables">
+  <div class="page-header">
+    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
+  </div>
+
+  <h2>Table markup</h2>
+  <div class="row">
+    <div class="span8">
+      <table class="zebra-striped">
+        <thead>
+          <tr>
+            <th>Tag</th>
+            <th>Description</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <code>&lt;table&gt;</code>
+            </td>
+            <td>
+              Wrapping element for displaying data in a tabular format
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;thead&gt;</code>
+            </td>
+            <td>
+              Container element for table header rows (<code>&lt;tr&gt;</code>) to label table columns
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;tbody&gt;</code>
+            </td>
+            <td>
+              Container element for table rows (<code>&lt;tr&gt;</code>) in the body of the table
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;tr&gt;</code>
+            </td>
+            <td>
+              Container element for a set of table cells (<code>&lt;td&gt;</code> or <code>&lt;th&gt;</code>) that appears on a single row
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;td&gt;</code>
+            </td>
+            <td>
+              Default table cell
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;th&gt;</code>
+            </td>
+            <td>
+              Special table cell for column (or row, depending on scope and placement) labels<br>
+              Must be used within a <code>&lt;thead&gt;</code>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;caption&gt;</code>
+            </td>
+            <td>
+              Description or summary of what the table holds, especially useful for screen readers
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span4">
+<pre class="prettyprint linenums">
+&lt;table&gt;
+  &lt;thead&gt;
+    &lt;tr&gt;
+      &lt;th&gt;...&lt;/th&gt;
+      &lt;th&gt;...&lt;/th&gt;
+    &lt;/tr&gt;
+  &lt;/thead&gt;
+  &lt;tbody&gt;
+    &lt;tr&gt;
+      &lt;td&gt;...&lt;/td&gt;
+      &lt;td&gt;...&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/tbody&gt;
+&lt;/table&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Example tables</h2>
+  <h3>1. Default table styles</h3>
+  <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
+  <table>
+    <thead>
+      <tr>
+        <th>#</th>
+        <th>First Name</th>
+        <th>Last Name</th>
+        <th>Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td>Some</td>
+        <td>One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
+<pre class="prettyprint linenums">
+&lt;table&gt;
+  ...
+&lt;/table&gt;</pre>
+  <h3>2. Zebra-striped</h3>
+  <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.zebra-striped</code> class.</p>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th>#</th>
+        <th>First Name</th>
+        <th>Last Name</th>
+        <th>Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td>Some</td>
+        <td>One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
+  <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
+<pre class="prettyprint linenums">
+&lt;table class="zebra-striped"&gt;
+...
+&lt;/table&gt;</pre>
+  <h3>3. Zebra-striped w/ TableSorter.js</h3>
+  <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
+  <table class="zebra-striped" id="sortTableExample">
+    <thead>
+      <tr>
+        <th>#</th>
+        <th class="yellow">First Name</th>
+        <th class="blue">Last Name</th>
+        <th class="green">Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td>Your</td>
+        <td>One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
+<pre class="prettyprint linenums">
+&lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
+&lt;script &gt;
+  $(function() {
+    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
+  });
+&lt;/script&gt;
+&lt;table class="zebra-striped"&gt;
+  ...
+&lt;/table&gt;</pre>
+
+</section>
+
+
+
+<!-- Forms
+================================================== -->
+<section id="forms">
+  <div class="page-header">
+    <h1>Forms</h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>Four types of forms</h3>
+      <p>With 2.0, we now have four types of forms to choose from:</p>
+      <ul>
+        <li>Search form for a super-rounded input and optional button</li>
+        <li>Inline form for a series of elements on one line</li>
+        <li>Horizontal form for left-aligned labels</li>
+        <li>Vertical form for stacked labels and inputs</li>
+      </ul>
+    </div>
+    <div class="span4">
+      <h3></h3>
+    </div>
+  </div><!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <h2>Search form</h2>
+    </div>
+    <div class="span9">
+      <div class="well">
+        <form class="form-search">
+          <input type="text" class="search-query">
+          <button type="submit" class="btn">Search</button>
+        </form>
+      </div><!--/well-->
+    </div>
+  </div><!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <h2>Inline form</h2>
+    </div>
+    <div class="span9">
+      <div class="well">
+        <form class="form-inline">
+          <h4>Some directional text</h4>
+          <p>And maybe some kind of optional supporting text right here.</p>
+          <input type="text" class="input-medium">
+          <input type="text" class="input-medium">
+          <input type="text" class="input-medium">
+          <button type="submit" class="btn">Search</button>
+        </form>
+      </div><!--/well-->
+    </div>
+  </div><!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <h2>Horizontal form</h2>
+    </div>
+    <div class="span9">
+      <form class="form-horizontal">
+        <legend>Example form</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="input01">Text input</label>
+          <div class="controls">
+            <input type="text" class="xlarge" name="input01">
+            <p class="help-text">Help text here. Be sure to fill this out like so, or else!</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="select01">Select list</label>
+          <div class="controls">
+            <select name="select01">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="multiSelect">Multi-select</label>
+          <div class="controls">
+            <select multiple="multiple" name="multiSelect">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+          </div>
+        </fieldset>
+        <legend>Example form</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="fileInput">File input</label>
+          <div class="controls">
+            <input class="input-file" id="fileInput" name="fileInput" type="file">
+          </div>
+        </fieldset>
+        <fieldset class="control-group has-error">
+          <label class="control-label" for="inputError">Input with error</label>
+          <div class="controls">
+            <input type="text" name="inputError">
+          </div>
+        </fieldset>
+        <fieldset class="control-group has-error">
+          <label class="control-label" for="textareaError">Textarea with error</label>
+          <div class="controls">
+            <textarea class="input-xlarge" rows="3"></textarea>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
+          <div class="controls">
+            <div class="control-list">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option1">
+                Option one is this and that&mdash;be sure to include why it’s great
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option2">
+                Option two can also be checked and included in form results
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option3">
+                Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option4">
+                Option four cannot be checked as it is disabled
+              </label>
+            </div>
+            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsRadios">Radio buttons</label>
+          <div class="controls">
+            <div class="control-list">
+              <label>
+                <input type="radio" checked name="optionsRadios" value="option1">
+                <span>Option one is this and that&mdash;be sure to include why it’s great</span>
+              </label>
+              <label>
+                <input type="radio" name="optionsRadios" value="option2">
+                <span>Option two can is something else and selecting it will deselect options 1</span>
+              </label>
+            </div>
+            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+          </div>
+        </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
+    </div>
+  </div><!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <h2>Vertical form</h2>
+    </div>
+    <div class="span9">
+      <form class="form-vertical">
+        <legend>Example form</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="input01">Label</label>
+          <div class="controls">
+            <input type="text" class="xlarge" name="input01">
+            <p class="help-text">Be sure to fill this out like so, or else!</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="select01">Label</label>
+          <div class="controls">
+            <select name="select01"></select>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="input02">Label</label>
+          <div class="controls">
+            <div class="control-list">
+              <label class="checkbox">
+                <input type="checkbox"> Something something something something something
+              </label>
+              <label class="checkbox">
+                <input type="checkbox"> Something something something something
+              </label>
+              <label class="checkbox">
+                <input type="checkbox"> Something something something
+              </label>
+            </div>
+          </div>
+        </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
+    </div>
+  </div><!-- /row -->
+
+  <div class="row">
+    <div class="span3">
+      <h2>Buttons</h2>
+      <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
+      <p>All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue <code>.primary</code> class, a light-blue <code>.info</code> class, a green <code>.success</code> class, and a red <code>.danger</code> class.</p>
+    </div>
+    <div class="span9">
+      <h3>Example buttons</h3>
+      <p>Button styles can be applied to anything with the <code>.btn</code> applied. Typically you’ll want to apply these to only <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, and select <code>&lt;input&gt;</code> elements. Here’s how it looks:</p>
+      <div class="well" style="padding: 14px 19px;">
+        <button class="btn primary">Primary</button>&nbsp;<button class="btn">Default</button>&nbsp;<button class="btn info">Info</button>&nbsp;<button class="btn success">Success</button>&nbsp;<button class="btn danger">Danger</button>
+      </div>
+      <h3>Alternate sizes</h3>
+      <p>Fancy larger or smaller buttons? Have at it!</p>
+      <div class="well">
+        <a href="#" class="btn large primary">Primary action</a>
+        <a href="#" class="btn large">Action</a>
+      </div>
+      <div class="well" style="padding: 16px 19px;">
+        <a href="#" class="btn small primary">Primary action</a>
+        <a href="#" class="btn small">Action</a>
+      </div>
+      <h3>Disabled state</h3>
+      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
+      <h4>Links</h4>
+      <div class="well">
+        <a href="#" class="btn large primary disabled">Primary action</a>
+        <a href="#" class="btn large disabled">Action</a>
+      </div>
+      <h4>Buttons</h4>
+      <div class="well">
+        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
+      </div>
+    </div>
+  </div><!-- /row -->
+
+  <div class="row">
+    <div class="span3">
+      <h2>Button groups</h2>
+    </div>
+    <div class="span9">
+      <h3>Example</h3>
+      <div class="well">
+        <div class="btn-group">
+          <a class="btn" href="#">Left</a>
+          <a class="btn" href="#">Middle</a>
+          <a class="btn" href="#">Right</a>
+        </div>
+      </div>
+      <div class="well">
+        <div class="btn-toolbar">
+          <div class="btn-group">
+            <a class="btn" href="#">1</a>
+            <a class="btn" href="#">2</a>
+            <a class="btn" href="#">3</a>
+            <a class="btn" href="#">4</a>
+            <a class="btn" href="#">5</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">6</a>
+            <a class="btn" href="#">7</a>
+            <a class="btn" href="#">8</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">9</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">10</a>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div><!-- /row -->
+
+</section>
+
+
+      <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>
+          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
+          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
+        </p>
+      </footer>
+    </div><!-- /container -->
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/docs/components.html b/docs/components.html
new file mode 100644
index 0000000000..0e3f0a223f
--- /dev/null
+++ b/docs/components.html
@@ -0,0 +1,705 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
+    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+  </head>
+
+  <body>
+
+    <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li><a href="./index.html">Overview</a></li>
+            <li><a href="./scaffolding.html">Scaffolding</a></li>
+            <li><a href="./base-css.html">Base CSS</a></li>
+            <li class="active"><a href="./components.html">Components</a></li>
+            <li><a href="./javascript.html">Javascript plugins</a></li>
+            <li><a href="./less.html">Using LESS</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Components</h1>
+        <p class="lead">Reusable patterns for navigation, alerts, popovers, and much more</p>
+      </header>
+
+
+<!-- Media
+================================================== -->
+<section id="media">
+  <div class="page-header">
+    <h1>Media <small>Displaying images and videos</small></h1>
+  </div>
+  <!-- Table structure -->
+  <div class="row">
+    <div class="span3">
+      <h2>Media grid</h2>
+      <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
+    </div>
+    <div class="span9">
+      <h3>Example thumbnails</h3>
+      <p>Thumbnails in the <code>.media-grid</code> can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the <code>.span2</code>, <code>.span4</code>, and <code>.span6</code> column sizes.</p>
+      <h4>Large</h4>
+      <ul class="media-grid">
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+          </a>
+        </li>
+      </ul>
+      <h4>Medium</h4>
+      <ul class="media-grid">
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+      </ul>
+      <h4>Small</h4>
+      <ul class="media-grid">
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+          </a>
+        </li>
+        <li>
+          <a href="#">
+            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+          </a>
+        </li>
+      </ul>
+      <h4>Coding them</h4>
+      <p>Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="media-grid"&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;
+      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
+    &lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;
+      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
+    &lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
+</section>
+
+
+
+<!-- Navigation
+================================================== -->
+<section id="navigation">
+  <div class="page-header">
+    <h1>Navigation</h1>
+  </div>
+  <h2>Fixed navbar</h2>
+  <div class="navbar navbar-static" data-dropdown="dropdown">
+    <div class="navbar-inner">
+      <div class="container">
+        <a class="brand" href="#">Project Name</a>
+        <ul class="nav">
+          <li class="active"><a href="#">Home</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Another link</a></li>
+            </ul>
+          </li>
+        </ul>
+        <form class="form-search navbar-search pull-left" action="">
+          <input type="text" class="search-query span2" placeholder="Search">
+        </form>
+        <ul class="nav secondary-nav">
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Another link</a></li>
+            </ul>
+          </li>
+        </ul>
+      </div>
+    </div><!-- /navbar-inner -->
+  </div><!-- /navbar -->
+
+  <div class="row">
+    <div class="span4">
+      <h4>What is it</h4>
+      <p>Our navbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
+    </div>
+    <div class="span4">
+      <h4>Customizable</h4>
+      <p>All elements within, and the entire navbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
+    </div>
+    <div class="span4">
+      <h4>Dropdowns included</h4>
+      <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>&lt;li&gt;</code> tags also support <code>.active</code> for showing current page selection.</p>
+    </div>
+  </div>
+  <p><strong>Note:</strong> When using the navbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+
+  <br>
+
+  <div class="row">
+    <div class="span3">
+      <h2>Tabs and pills</h2>
+      <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
+      <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
+    </div>
+    <div class="span9">
+      <h3>Basic tabs example</h3>
+      <p>Tabs can be used as regular navigation (loading external pages in the same tab) or as tabbable content areas for swapping out panes of content. We have a <a href="./javascript.html#tabs">tabs plugin</a> that can be used to integrate the latter.</p>
+      <ul class="tabs">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+        <li><a href="#">Settings</a></li>
+        <li><a href="#">Contact</a></li>
+        <li class="dropdown" data-dropdown="dropdown">
+          <a href="#" class="dropdown-toggle">Dropdown</a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Secondary link</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Another link</a></li>
+          </ul>
+        </li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="tabs"&gt;
+  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+      <h3>Alternate tabs</h3>
+      <p>You can also use tabs that are stacked on either side of an element, or on the bottom.</p>
+      <div class="row">
+        <div class="span2">
+          <div class="clearfix">
+            <ul class="tabs tabs-left">
+              <li class="active"><a href="#">Active link</a></li>
+              <li><a href="#">Link</a></li>
+              <li><a href="#">Linky link</a></li>
+              <li><a href="#">What up link</a></li>
+            </ul>
+          </div>
+        </div>
+        <div class="span2">
+          <div class="clearfix">
+            <ul class="tabs tabs-right">
+              <li class="active"><a href="#">Active link</a></li>
+              <li><a href="#">Link</a></li>
+              <li><a href="#">Linky link</a></li>
+              <li><a href="#">What up link</a></li>
+            </ul>
+          </div>
+        </div>
+        <div class="span5">
+          <div class="clearfix">
+            <ul class="tabs tabs-bottom">
+              <li class="active"><a href="#">Active link</a></li>
+              <li><a href="#">Link</a></li>
+              <li><a href="#">Linky link</a></li>
+            </ul>
+          </div>
+        </div>
+      </div>
+      <h3>Tabbable tabs</h3>
+      <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>
+
+      <div class="tabbable">
+        <ul class="tabs" data-tabs="tabs">
+          <li class="active"><a href="#1">Section 1</a></li>
+          <li><a href="#2">Section 2</a></li>
+          <li><a href="#3">Section 3</a></li>
+          <li><a href="#4">Section 4</a></li>
+        </ul>
+        <div class="tab-content">
+          <div class="tab-pane active" id="1">
+            <p>Oh hai #1!</p>
+          </div>
+          <div class="tab-pane" id="2">
+            <p>Oh hai #2!</p>
+          </div>
+          <div class="tab-pane" id="3">
+            <p>Oh hai #3!</p>
+          </div>
+          <div class="tab-pane" id="4">
+            <p>Oh hai #4!</p>
+          </div>
+        </div>
+      </div>
+
+       <div class="row">
+        <div class="span4">
+          <div class="tabbable tabs-left">
+            <ul class="tabs" data-tabs="tabs">
+              <li class="active"><a href="#1">Section 1</a></li>
+              <li><a href="#2">Section 2</a></li>
+              <li><a href="#3">Section 3</a></li>
+            </ul>
+            <div class="tab-content" id="myTabContent2">
+              <div class="tab-pane active" id="1">
+                <h4>Section 1</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="2">
+                <h4>Section 2</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="3">
+                <h4>Section 3</h4>
+                <p>Oh hai!</p>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="span5">
+          <div class="tabbable tabs-right">
+            <ul class="tabs" data-tabs="tabs">
+              <li class="active"><a href="#1">Section 1</a></li>
+              <li><a href="#2">Section 2</a></li>
+              <li><a href="#3">Section 3</a></li>
+            </ul>
+            <div class="tab-content" id="myTabContent3">
+              <div class="tab-pane active" id="1">
+                <h4>Section 1</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="2">
+                <h4>Section 2</h4>
+                <p>Oh hai!</p>
+              </div>
+              <div class="tab-pane" id="3">
+                <h4>Section 3</h4>
+                <p>Oh hai!</p>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div class="tabbable tabs-bottom">
+        <div class="tab-content">
+          <div class="tab-pane active" id="1">
+            <p>Oh hai #1!</p>
+          </div>
+          <div class="tab-pane" id="2">
+            <p>Oh hai #2!</p>
+          </div>
+          <div class="tab-pane" id="3">
+            <p>Oh hai #3!</p>
+          </div>
+          <div class="tab-pane" id="4">
+            <p>Oh hai #4!</p>
+          </div>
+        </div>
+        <ul class="tabs" data-tabs="tabs">
+          <li class="active"><a href="#1">Section 1</a></li>
+          <li><a href="#2">Section 2</a></li>
+          <li><a href="#3">Section 3</a></li>
+          <li><a href="#4">Section 4</a></li>
+        </ul>
+      </div>
+
+
+      <p>In addition to tabs, we have pills! Though a bit more limited in functionality, they share much of the same markup.</p>
+      <hr>
+      <h3>Basic pills example</h3>
+      <ul class="pills">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+        <li><a href="#">Settings</a></li>
+        <li><a href="#">Contact</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="pills"&gt;
+  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+      <h3>Vertical pill nav</h3>
+      <p>With a pill-style nav, you can also stack the list items to have a simple sidebar. We don't offer left or right aligned versions here because that's easy enough to customize based on your own needs</p>
+      <ul class="pills pills-vertical span4">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+        <li><a href="#">Settings</a></li>
+        <li><a href="#">Contact</a></li>
+      </ul>
+    </div>
+  </div><!-- /row -->
+
+  <!-- Breadcrumbs -->
+  <div class="row">
+    <div class="span3">
+      <h2>Breadcrumbs</h2>
+      <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation.</p>
+    </div>
+    <div class="span9">
+      <ul class="breadcrumb">
+        <li class="active">Home</li>
+      </ul>
+      <ul class="breadcrumb">
+        <li><a href="#">Home</a> <span class="divider">/</span></li>
+        <li class="active">Middle page</li>
+      </ul>
+      <ul class="breadcrumb">
+        <li><a href="#">Home</a> <span class="divider">/</span></li>
+        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
+        <li class="active">Another one</li>
+      </ul>
+      <ul class="breadcrumb">
+        <li><a href="#">Home</a> <span class="divider">/</span></li>
+        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
+        <li><a href="#">Another one</a> <span class="divider">/</span></li>
+        <li class="active">You are here</li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="breadcrumb"&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Middle page&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Another one&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
+  &lt;li class="active"&gt;You are here&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div>
+
+  <!-- Pagination -->
+  <div class="row">
+    <div class="span3">
+      <h2>Pagination</h2>
+      <p>Ultra simplistic and minimally styled pagination inspired by Rdio. The large block is hard to miss, easily scalable, and provides large click areas.</p>
+    </div>
+    <div class="span9">
+      <div class="pagination">
+        <ul>
+          <li class="prev disabled"><a href="#">&larr; Previous</a></li>
+          <li class="active"><a href="#">1</a></li>
+          <li><a href="#">2</a></li>
+          <li><a href="#">3</a></li>
+          <li><a href="#">4</a></li>
+          <li class="next"><a href="#">Next &rarr;</a></li>
+        </ul>
+      </div>
+      <div class="pagination">
+        <ul>
+          <li class="prev"><a href="#">&larr;</a></li>
+          <li class="active"><a href="#">10</a></li>
+          <li><a href="#">11</a></li>
+          <li class="disabled"><a href="#">…</a></li>
+          <li><a href="#">20</a></li>
+          <li><a href="#">21</a></li>
+          <li class="next"><a href="#">&rarr;</a></li>
+        </ul>
+      </div>
+      <div class="pagination">
+        <ul>
+          <li class="prev"><a href="#">&larr;</a></li>
+          <li><a href="#">10</a></li>
+          <li><a href="#">11</a></li>
+          <li class="active"><a href="#">12</a></li>
+          <li><a href="#">13</a></li>
+          <li><a href="#">14</a></li>
+          <li class="next"><a href="#">&rarr;</a></li>
+        </ul>
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="pagination"&gt;
+  &lt;ul&gt;
+    &lt;li class="prev disabled"&gt;&lt;a href="#"&gt;&amp;larr; Previous&lt;/a&gt;&lt;/li>
+    &lt;li class="active"&gt;&lt;a href="#"&gt;1&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;2&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;3&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;4&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;5&lt;/a&gt;&lt;/li&gt;
+    &lt;li class="next"&gt;&lt;a href="#"&gt;Next &amp;rarr;&lt;/a&gt;&lt;/li>
+  &lt;/ul&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
+
+</section>
+
+
+
+<!-- Alerts & Messages
+================================================== -->
+<section id="alerts">
+  <div class="page-header">
+    <h1>Alerts &amp; Errors <small>Styles for success, warning, and error messages or alerts</small></h1>
+  </div>
+  <!-- Basic alert messages -->
+  <div class="row">
+    <div class="span3">
+      <h2>Basic alerts</h2>
+      <p><code>.alert-message</code></p>
+      <p>One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.</p>
+      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
+    </div>
+    <div class="span9">
+      <div class="alert-message warning">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
+      </div>
+      <div class="alert-message error">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Oh snap!</strong> Change this and that and try again.</p>
+      </div>
+      <div class="alert-message success">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Well done!</strong> You successfully read this alert message.</p>
+      </div>
+      <div class="alert-message info">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
+      </div>
+
+      <h4>Example code</h4>
+<pre class="prettyprint linenums">
+&lt;div class="alert-message warning"&gt;
+  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
+  &lt;p&gt;&lt;strong&gt;Holy guacamole!&lt;/strong&gt; Best check yo self, you’re not looking too good.&lt;/p&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
+  <!-- Block messages -->
+  <div class="row">
+    <div class="span3">
+      <h2>Block messages</h2>
+      <p><code>.alert-message.block-message</code></p>
+      <p>For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer error messages, warning a user of a pending action, or just presenting information for more emphasis on the page.</p>
+      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
+    </div>
+    <div class="span9">
+      <div class="alert-message block-message warning">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Holy guacamole! This is a warning!</strong> 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.</p>
+        <div class="alert-actions">
+          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+        </div>
+      </div>
+      <div class="alert-message block-message error">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Oh snap! You got an error!</strong> Change this and that and try again.</p>
+        <ul>
+          <li>Duis mollis est non commodo luctus</li>
+          <li>Nisi erat porttitor ligula</li>
+          <li>Eget lacinia odio sem nec elit</li>
+        </ul>
+        <div class="alert-actions">
+          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+        </div>
+      </div>
+      <div class="alert-message block-message success">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Well done!</strong> You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.</p>
+        <div class="alert-actions">
+          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+        </div>
+      </div>
+      <div class="alert-message block-message info">
+        <a class="close" href="#">&times;</a>
+        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
+        <div class="alert-actions">
+          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+        </div>
+      </div>
+
+      <h4>Example code</h4>
+<pre class="prettyprint linenums">
+&lt;div class="alert-message block-message warning"&gt;
+  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
+  &lt;p&gt;&lt;strong&gt;Holy guacamole! This is a warning!&lt;/strong&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.&lt;/p&gt;
+  &lt;div class="alert-actions"&gt;
+    &lt;a class="btn small" href="#"&gt;Take this action&lt;/a&gt; &lt;a class="btn small" href="#"&gt;Or do this&lt;/a>
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
+</section>
+
+
+<!-- Popovers
+================================================== -->
+<section id="popovers">
+  <div class="page-header">
+    <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3">
+      <h2>Modals</h2>
+      <p>Modals&mdash;dialogs or lightboxes&mdash;are great for contextual actions in situations where it’s important that the background context be maintained.</p>
+      <p><a class="btn js-btn" href="./javascript.html#modal">Get the javascript &raquo;</a></p>
+    </div>
+    <div class="span9">
+      <div class="well" style="background-color: #888; border: none; padding: 40px;">
+        <!-- Modal -->
+        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
+          <div class="modal-header">
+            <a href="#" class="close js-dismiss">&times;</a>
+            <h3>Modal Heading</h3>
+          </div>
+          <div class="modal-body">
+            <p>One fine body…</p>
+          </div>
+          <div class="modal-footer">
+            <a href="#" class="btn primary">Primary</a>
+            <a href="#" class="btn">Secondary</a>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div><!-- /row -->
+
+  <!-- Tooltips -->
+  <div class="row">
+    <div class="span3">
+      <h2>Tooltips</h2>
+      <p>Twipsies are super useful for aiding a confused user and pointing them in the right direction.</p>
+      <p><a class="btn js-btn" href="./javascript.html#twipsy">Get the javascript &raquo;</a></p>
+    </div>
+    <div class="span9">
+      <div class="twipsies well">
+        <div style="position: relative">
+          <p class="muted" style="margin-bottom: 0">
+Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. <a href="#" title="right">Voluptasdicta</a> eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt <a href="#" title="left">sed</a> dicta quae accusantium fugit voluptas nemo voluptas voluptatem <a href="#" title="above">rem</a> quae aut veritatis quasi quae.
+          </p>
+        </div>
+      </div>
+    </div>
+  </div><!-- /row -->
+
+  <!-- Popovers -->
+  <div class="row">
+    <div class="span3">
+      <h2>Popovers</h2>
+      <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
+      <p><a class="btn js-btn" href="./javascript.html#popover">Get the javascript &raquo;</a></p>
+    </div>
+    <div class="span9">
+      <div class="well popover-well">
+         <div class="popover-wrapper">
+          <div class="popover left">
+            <div class="arrow"></div>
+            <div class="inner">
+              <h3 class="title">Popover Title</h3>
+              <div class="content">
+                <p>Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+              </div>
+            </div>
+          </div>
+          <img class="large-bird" src="assets/img/bird.png" >
+        </div>
+      </div>
+    </div>
+  </div><!-- /row -->
+</section>
+
+
+      <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>
+          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
+          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
+        </p>
+      </footer>
+    </div><!-- /container -->
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/docs/index.html b/docs/index.html
index cf3b8b8052..64947dc15e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -32,6 +32,14 @@
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
+            <li class="active"><a href="./index.html">Overview</a></li>
+            <li><a href="./scaffolding.html">Scaffolding</a></li>
+            <li><a href="./base-css.html">Base CSS</a></li>
+            <li><a href="./components.html">Components</a></li>
+            <li><a href="./javascript.html">Javascript plugins</a></li>
+            <li><a href="./less.html">Using LESS</a></li>
+
+<!--
             <li class="active"><a href="#overview">Overview</a></li>
             <li><a href="#about">About</a></li>
             <li class="dropdown">
@@ -64,2103 +72,116 @@
             </li>
             <li><a href="#javascript">Javascript</a></li>
             <li><a href="#less">Using Less</a></li>
+-->
           </ul>
         </div>
       </div>
     </div>
 
-  <div class="container">
-
-    <div id="overview">
-      <!-- Masthead (blueprinty thing)
-      ================================================== -->
-      <header class="jumbotron masthead">
-        <div class="inner">
-          <h1>Bootstrap,<br> from Twitter</h1>
-          <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
-          <p class="download-info">
-            <a href="#" class="btn primary btn-large">Download on GitHub</a>
-            Currently v2.0.0
-          </p>
-          <div class="benefits">
-            <h4>Feature highlights</h4>
-            <ul>
-              <li><span>&times;</span> Built on LESS</li>
-              <li><span>&times;</span> Complete styleguide docs</li>
-              <li><span>&times;</span> Fully responsive design</li>
-              <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-              <li><span>&times;</span> Support for IE7 and up</li>
-              <li><span>&times;</span> Custom jQuery plugins</li>
-              <li><span>&times;</span> Dozens of components</li>
-            </ul>
-          </div>
-        </div>
-      </header>
-
-      <ul class="quick-links">
-        <li><strong>Quick links</strong></li>
-        <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-        <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
-        <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
-        <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
-        <li class="divider">&middot;</li>
-        <li><strong>Authors</strong></li>
-        <li><a href="http://twitter.com/mdo">@mdo</a></li>
-        <li><a href="http://twitter.com/fat">@fat</a></li>
-        <li class="divider">&middot;</li>
-        <li class="follow-btn">
-          <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a><script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
-        </li>
-        <li class="tweet-btn">
-          <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
-        </li>
-      </ul>
-
-
-      <!-- Quickstart options
-      ================================================== -->
-      <div class="quickstart" style="display: none;">
-        <div class="row">
-          <div class="span4">
-            <h6>Hotlink the CSS</h6>
-            <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
-            <form>
-              <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-            </form>
-          </div>
-          <div class="span4">
-            <h6>Use it with Less</h6>
-            <p>A fan of using Less? No problem, just clone the repo and add these lines:</p>
-            <form>
-              <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-  &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-            </form>
-          </div>
-          <div class="span4">
-            <h6>Fork on GitHub</h6>
-            <p>Download, fork, pull, file issues, and more with the official Bootstrap repo on Github.</p>
-            <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-            <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v1.3.0</a></p>
-          </div>
-        </div><!-- /row -->
-      </div>
-
-      <!-- About Bootstrap
-      ================================================== -->
-      <section id="about">
-        <div class="row">
-          <div class="span4">
-            <h2>Built for and by nerds</h2>
-            <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
-            <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
-          </div>
-          <div class="span4">
-            <h2>Cross-everything</h2>
-            <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
-            <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
-            <ul>
-              <li>Latest Safari</li>
-              <li>Latest Google Chrome</li>
-              <li>Firefox 4+</li>
-              <li>Internet Explorer 7+</li>
-              <li>Opera 11</li>
-            </ul>
-          </div>
-          <div class="span4">
-            <h2>What's included</h2>
-            <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
-            <ul>
-              <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
-              <li>All original .less files</li>
-              <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
-              <li>Complete styleguide documentation</li>
-              <li>Three example pages with different layouts</li>
-            </ul>
-          </div>
-        </div><!-- /row -->
-      </section>
-
-      <h3>Quick-start examples</h3>
-      <p>Need some quick templates? Check out these basic examples we've put together:</p>
-      <ul class="media-grid">
-        <li>
-          <a href="../examples/hero.html"><img src="assets/img/example-diagram-01.png" alt="Simple three-column layout with hero unit"></a>
-        </li>
-        <li>
-          <a href="../examples/fluid.html"><img src="assets/img/example-diagram-02.png" alt="Fluid layout with static sidebar"></a>
-        </li>
-        <li>
-          <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" alt="Simple hanging container for apps"></a>
-        </li>
-      </ul>
-
-    </div><!-- /#overview -->
-
-
-<!-- Grid system
-================================================== -->
-<section id="grid-system">
-  <div class="page-header">
-    <h1>Grid system <small>12 columns with a responsive twist</small></h1>
-  </div>
-
-  <h2>Default 940px grid</h2>
-  <div class="row show-grid">
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-  </div>
-  <div class="row show-grid">
-    <div class="span4">4</div>
-    <div class="span4">4</div>
-    <div class="span4">4</div>
-  </div>
-  <div class="row show-grid">
-    <div class="span4">4</div>
-    <div class="span8">8</div>
-  </div>
-  <div class="row show-grid">
-    <div class="span6">6</div>
-    <div class="span6">6</div>
-  </div>
-  <div class="row show-grid">
-    <div class="span12">12</div>
-  </div>
-
-  <div class="row">
-    <div class="span4">
-      <p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
-      <p>It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.</p>
-    </div>
-    <div class="span4">
-<pre class="prettyprint linenums">
-&lt;div class="row"&gt;
-  &lt;div class="span4"&gt;...&lt;/div&gt;
-  &lt;div class="span8"&gt;...&lt;/div&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-    <div class="span4">
-      <p>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.</p>
-    </div>
-  </div><!-- /row -->
-
-  <h2>Offsetting columns</h2>
-  <div class="row show-grid">
-    <div class="span4">4</div>
-    <div class="span4 offset4">4 offset 4</div>
-  </div><!-- /row -->
-  <div class="row show-grid">
-    <div class="span3 offset3">3 offset 3</div>
-    <div class="span3 offset3">3 offset 3</div>
-  </div><!-- /row -->
-  <div class="row show-grid">
-    <div class="span8 offset4">8 offset 4</div>
-  </div><!-- /row -->
-
-  <br>
-
-  <h2>Nesting columns</h2>
-  <div class="row">
-    <div class="span6">
-      <p>With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.</p>
-      <h4>Example</h4>
-      <div class="row show-grid">
-        <div class="span6">
-          Level 1 of column
-          <div class="row show-grid">
-            <div class="span3">
-              Level 2
-            </div>
-            <div class="span3">
-              Level 2
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-    <div class="span6">
-<pre class="prettyprint linenums">
-&lt;div class="row"&gt;
-  &lt;div class="span12"&gt;
-    Level 1 of column
-    &lt;div class="row"&gt;
-      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
-      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
-    &lt;/div&gt;
-  &lt;/div&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-  </div>
-
-  <h2>Grid customization</h2>
-  <table class="zebra-striped">
-    <thead>
-      <tr>
-        <th>Variable</th>
-        <th>Default value</th>
-        <th>Description</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td><code>@gridColumns</code></td>
-        <td>16</td>
-        <td>The number of columns within the grid</td>
-      </tr>
-      <tr>
-        <td><code>@gridColumnWidth</code></td>
-        <td>40px</td>
-        <td>The width of each column within the grid</td>
-      </tr>
-      <tr>
-        <td><code>@gridGutterWidth</code></td>
-        <td>20px</td>
-        <td>The negative space between each column</td>
-      </tr>
-      <tr>
-        <td><code>@siteWidth</code></td>
-        <td><em>Computed sum of all columns and gutters</em></td>
-        <td>We use some basic match to count the number of columns and gutters and set the width of the <code>.fixed-container()</code> mixin.</td>
-      </tr>
-    </tbody>
-  </table>
-  <div class="row">
-    <div class="span4">
-      <h3>Variables in LESS</h3>
-      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in mixins.less.</p>
-    </div>
-    <div class="span4">
-      <h3>How to customize</h3>
-      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.</p>
-    </div>
-    <div class="span4">
-      <h3>Staying responsive</h3>
-      <p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
-    </div>
-  </div><!-- /row -->
-
-</section>
-
-
-
-<!-- Layouts (Default and fluid)
-================================================== -->
-<section id="layouts">
-  <div class="page-header">
-    <h1>Layouts <small>Basic templates to create webpages</small></h1>
-  </div>
-
-  <div class="row">
-    <div class="span6">
-      <h2>Fixed layout</h2>
-      <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div.container&gt;</code>.</p>
-      <div class="mini-layout">
-        <div class="mini-layout-body"></div>
-      </div>
-<pre class="prettyprint linenums">
-&lt;body&gt;
-  &lt;div class="container"&gt;
-    ...
-  &lt;/div&gt;
-&lt;/body&gt;
-</pre>
-    </div><!-- /col -->
-    <div class="span6">
-      <h2>Fluid layout</h2>
-      <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
-      <div class="mini-layout fluid">
-        <div class="mini-layout-sidebar"></div>
-        <div class="mini-layout-body"></div>
-      </div>
-<pre class="prettyprint linenums">
-&lt;body&gt;
-  &lt;div class="container-fluid"&gt;
-    &lt;div class="sidebar"&gt;
-      ...
-    &lt;/div&gt;
-    &lt;div class="content"&gt;
-      ...
-    &lt;/div&gt;
-  &lt;/div&gt;
-&lt;/body&gt;
-</pre>
-    </div><!-- /col -->
-  </div><!-- /row -->
-</section>
-
-
-
-
-<!-- Responsive design
-================================================== -->
-<section id="responsive">
-  <div class="page-header">
-    <h1>Responsive design <small>Media queries for various devices and resolutions</small></h1>
-  </div>
-  <!-- Supported devices -->
-  <div class="row">
-    <div class="span4">
-      <img src="assets/img/responsive-illustrations.png" alt="Responsive devices">
-    </div>
-    <div class="span8">
-      <h2>Supported devices</h2>
-      <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
-      <table class="zebra-striped">
-        <thead>
-          <tr>
-            <th>Label</th>
-            <th>Layout width</th>
-            <th>Column width</th>
-            <th>Gutter width</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>Smartphones</td>
-            <td>480px and below</td>
-            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
-          </tr>
-          <tr>
-            <td>Portrait tablets</td>
-            <td>480px to 768px</td>
-            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
-          </tr>
-          <tr>
-            <td>Landscape tablets</td>
-            <td>768px to 940px</td>
-            <td>44px</td>
-            <td>20px</td>
-          </tr>
-          <tr>
-            <td>Default</td>
-            <td>940px and up</td>
-            <td>60px</td>
-            <td>20px</td>
-          </tr>
-          <tr>
-            <td>Large display</td>
-            <td>1210px and up</td>
-            <td>70px</td>
-            <td>30px</td>
-          </tr>
-        </tbody>
-      </table>
-
-      <h3>What they do</h3>
-      <p>Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
-      <ul>
-        <li>Modify the width of column in our grid</li>
-        <li>Stack elements instead of float wherever necessary</li>
-        <li>Resize headings and text to be more appropriate for devices</li>
-      </ul>
-    </div>
-  </div>
-
-  <br>
-
-  <!-- Media query code -->
-  <h2>Using the media queries</h2>
-  <div class="row">
-    <div class="span5">
-      <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
-      <ol>
-        <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
-        <li>Add @import "responsive.less" and recompile Bootstrap</li>
-        <li>Compile responsive.less as a separate file and include that</li>
-      </ol>
-      <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
-    </div>
-    <div class="span7">
-<pre class="prettyprint linenums">
-  // Landscape phones and down
-  @media (max-width: 480px) { ... }
-
-  // Landscape phone to portrait tablet
-  @media (min-width: 480px) and (max-width: 768px) { ... }
-
-  // Portrait tablet to landscape and desktop
-  @media (min-width: 768px) and (max-width: 940px) { ... }
-
-  // Large desktop
-  @media (min-width: 1210px) { .. }
-</pre>
-    </div>
-  </div>
-
-</section>
-
-
-
-
-<!-- Typography
-================================================== -->
-<section id="typography">
-  <div class="page-header">
-    <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
-  </div>
-
-  <h2>Headings &amp; body copy</h2>
-
-  <!-- Headings & Paragraph Copy -->
-  <div class="row">
-    <div class="span4">
-      <h3>Typographic scale</h3>
-      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
-      <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
-    </div>
-    <div class="span4">
-      <h3>Example body text</h3>
-      <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-      <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec sed odio dui.</p>
-    </div>
-    <div class="span4">
-      <div class="well">
-        <h1>h1. Heading 1</h1>
-        <h2>h2. Heading 2</h2>
-        <h3>h3. Heading 3</h3>
-        <h4>h4. Heading 4</h4>
-        <h5>h5. Heading 5</h5>
-        <h6>h6. Heading 6</h6>
-      </div>
-    </div>
-  </div>
-
-  <!-- Misc Elements -->
-  <h2>Emphasis, address, and abbreviation</h2>
-  <table class="zebra-striped">
-    <thead>
-      <tr>
-        <th>Element</th>
-        <th>Description</th>
-        <th>Usage</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>
-          <code>&lt;strong&gt;</code>
-        </td>
-        <td>
-          For emphasizing a snippet of text with <strong>important</strong>
-        </td>
-        <td>
-          <span class="muted">None</span>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <code>&lt;em&gt;</code>
-        </td>
-        <td>
-          For emphasizing a snippet of text with <em>stress</em>
-        </td>
-        <td>
-          <span class="muted">None</span>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <code>&lt;abbr&gt;</code>
-        </td>
-        <td>
-          Wraps abbreviations and acronyms to show the expanded version on hover
-        </td>
-        <td>
-          Include optional <code>title</code> for expanded text
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <code>&lt;address&gt;</code>
-        </td>
-        <td>
-          For contact information for its nearest ancestor or the entire body of work
-        </td>
-        <td>
-          Preserve formatting by ending all lines with <code>&lt;br&gt;</code>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-  <div class="row">
-    <div class="span4">
-      <h3>Using emphasis</h3>
-      <p><a href="#">Fusce dapibus</a>, <strong>tellus ac cursus commodo</strong>, <em>tortor mauris condimentum nibh</em>, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.</p>
-      <p><strong>Note:</strong> Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5, but their usage has changed a bit. <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
-    </div>
-    <div class="span4">
-      <h3>Example addresses</h3>
-      <p>Here are two examples of how the <code>&lt;address&gt;</code> tag can be used:</p>
-      <address>
-        <strong>Twitter, Inc.</strong><br>
-        795 Folsom Ave, Suite 600<br>
-        San Francisco, CA 94107<br>
-        <abbr title="Phone">P:</abbr> (123) 456-7890
-      </address>
-      <address>
-        <strong>Full Name</strong><br>
-        <a mailto="#">first.last@gmail.com</a>
-      </address>
-    </div>
-    <div class="span4">
-      <h3>Example abbreviations</h3>
-      <p>Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.</p>
-      <p><abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.</p>
-      <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
-    </div>
-  </div>
-
-
-  <!-- Blockquotes -->
-  <h2>Blockquotes</h2>
-  <div class="row">
-    <div class="span5">
-      <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around <code>&lt;p&gt;</code> and <code>&lt;small&gt;</code> tags. Use the <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it.</p>
-      <blockquote>
-        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
-        <small>Someone famous</small>
-      </blockquote>
-    </div>
-    <div class="span7">
-<pre class="prettyprint linenums">
-&lt;blockquote&gt;
-  &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.&lt;/p&gt;
-  &lt;small&gt;Dr. Julius Hibbert&lt;/small&gt;
-&lt;/blockquote&gt;
-</pre>
-    </div>
-  </div>
-
-  <!-- Lists -->
-  <h2>Lists</h2>
-  <div class="row">
-    <div class="span3">
-      <h4>Unordered <code>&lt;ul&gt;</code></h4>
-      <ul>
-        <li>Lorem ipsum dolor sit amet</li>
-        <li>Consectetur adipiscing elit</li>
-        <li>Integer molestie lorem at massa</li>
-        <li>Facilisis in pretium nisl aliquet</li>
-        <li>Nulla volutpat aliquam velit
-          <ul>
-            <li>Phasellus iaculis neque</li>
-            <li>Purus sodales ultricies</li>
-            <li>Vestibulum laoreet porttitor sem</li>
-            <li>Ac tristique libero volutpat at</li>
-          </ul>
-        </li>
-        <li>Faucibus porta lacus fringilla vel</li>
-        <li>Aenean sit amet erat nunc</li>
-        <li>Eget porttitor lorem</li>
-      </ul>
-    </div>
-    <div class="span3">
-      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
-      <ul class="unstyled">
-        <li>Lorem ipsum dolor sit amet</li>
-        <li>Consectetur adipiscing elit</li>
-        <li>Integer molestie lorem at massa</li>
-        <li>Facilisis in pretium nisl aliquet</li>
-        <li>Nulla volutpat aliquam velit
-          <ul>
-            <li>Phasellus iaculis neque</li>
-            <li>Purus sodales ultricies</li>
-            <li>Vestibulum laoreet porttitor sem</li>
-            <li>Ac tristique libero volutpat at</li>
-          </ul>
-        </li>
-        <li>Faucibus porta lacus fringilla vel</li>
-        <li>Aenean sit amet erat nunc</li>
-        <li>Eget porttitor lorem</li>
-      </ul>
-    </div>
-    <div class="span3">
-      <h4>Ordered <code>&lt;ol&gt;</code></h4>
-      <ol>
-        <li>Lorem ipsum dolor sit amet</li>
-        <li>Consectetur adipiscing elit</li>
-        <li>Integer molestie lorem at massa</li>
-        <li>Facilisis in pretium nisl aliquet</li>
-        <li>Nulla volutpat aliquam velit</li>
-        <li>Faucibus porta lacus fringilla vel</li>
-        <li>Aenean sit amet erat nunc</li>
-        <li>Eget porttitor lorem</li>
-      </ol>
-    </div>
-    <div class="span3">
-      <h4>Description <code>&lt;dl&gt;</code></h4>
-      <dl>
-        <dt>Description lists</dt>
-        <dd>A description list is perfect for defining terms.</dd>
-        <dt>Euismod</dt>
-        <dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
-        <dd>Donec id elit non mi porta gravida at eget metus.</dd>
-        <dt>Malesuada porta</dt>
-        <dd>Etiam porta sem malesuada magna mollis euismod.</dd>
-      </dl>
-    </div>
-  </div><!-- /row -->
-
-
-  <!-- Code -->
-
-  <h2>Code <small>Inline and block</small></h2>
-  <table class="zebra-striped">
-    <thead>
-      <tr>
-        <th style="width: 190px;">Element</th>
-        <th>Result</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td><code>&lt;code&gt;</code></td>
-        <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
-      </tr>
-      <tr>
-        <td><code>&lt;pre&gt;</code></td>
-        <td>
-<pre>&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
-&lt;/div&gt;</pre>
-          <p><strong>Note:</strong> Be sure to keep code within <code>pre</code> tags as close to the left as possible; it will render all tabs.</p>
-        </td>
-      </tr>
-      <tr>
-        <td><code>&lt;pre class="prettyprint"&gt;</code></td>
-        <td>
-          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
-<pre class="prettyprint">&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
-&lt;/div&gt;</pre>
-<pre class="prettyprint linenums">&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
-&lt;/div&gt;</pre>
-          <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-  <!-- Labels -->
-  <h2>Inline labels <small>for special attention</small></h2>
-  <table class="zebra-striped">
-    <thead>
-      <tr>
-        <th style="width: 190px;">Labels</th>
-        <th>Markup</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>
-          <span class="label">Default</span>
-        </td>
-        <td>
-          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label success">New</span>
-        </td>
-        <td>
-          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label warning">Warning</span>
-        </td>
-        <td>
-          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label important">Important</span>
-        </td>
-        <td>
-          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label notice">Notice</span>
-        </td>
-        <td>
-          <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-</section>
-
-
-
-<!-- Tables
-================================================== -->
-<section id="tables">
-  <div class="page-header">
-    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
-  </div>
-
-  <h2>Table markup</h2>
-  <div class="row">
-    <div class="span8">
-      <table class="zebra-striped">
-        <thead>
-          <tr>
-            <th>Tag</th>
-            <th>Description</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>
-              <code>&lt;table&gt;</code>
-            </td>
-            <td>
-              Wrapping element for displaying data in a tabular format
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;thead&gt;</code>
-            </td>
-            <td>
-              Container element for table header rows (<code>&lt;tr&gt;</code>) to label table columns
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;tbody&gt;</code>
-            </td>
-            <td>
-              Container element for table rows (<code>&lt;tr&gt;</code>) in the body of the table
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;tr&gt;</code>
-            </td>
-            <td>
-              Container element for a set of table cells (<code>&lt;td&gt;</code> or <code>&lt;th&gt;</code>) that appears on a single row
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;td&gt;</code>
-            </td>
-            <td>
-              Default table cell
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;th&gt;</code>
-            </td>
-            <td>
-              Special table cell for column (or row, depending on scope and placement) labels<br>
-              Must be used within a <code>&lt;thead&gt;</code>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <code>&lt;caption&gt;</code>
-            </td>
-            <td>
-              Description or summary of what the table holds, especially useful for screen readers
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-    <div class="span4">
-<pre class="prettyprint linenums">
-&lt;table&gt;
-  &lt;thead&gt;
-    &lt;tr&gt;
-      &lt;th&gt;...&lt;/th&gt;
-      &lt;th&gt;...&lt;/th&gt;
-    &lt;/tr&gt;
-  &lt;/thead&gt;
-  &lt;tbody&gt;
-    &lt;tr&gt;
-      &lt;td&gt;...&lt;/td&gt;
-      &lt;td&gt;...&lt;/td&gt;
-    &lt;/tr&gt;
-  &lt;/tbody&gt;
-&lt;/table&gt;
-</pre>
-    </div>
-  </div>
-
-  <h2>Example tables</h2>
-  <h3>1. Default table styles</h3>
-  <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
-  <table>
-    <thead>
-      <tr>
-        <th>#</th>
-        <th>First Name</th>
-        <th>Last Name</th>
-        <th>Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td>Some</td>
-        <td>One</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>Code</td>
-      </tr>
-    </tbody>
-  </table>
-<pre class="prettyprint linenums">
-&lt;table&gt;
-  ...
-&lt;/table&gt;</pre>
-  <h3>2. Zebra-striped</h3>
-  <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.zebra-striped</code> class.</p>
-  <table class="zebra-striped">
-    <thead>
-      <tr>
-        <th>#</th>
-        <th>First Name</th>
-        <th>Last Name</th>
-        <th>Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td>Some</td>
-        <td>One</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>Code</td>
-      </tr>
-    </tbody>
-  </table>
-  <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
-<pre class="prettyprint linenums">
-&lt;table class="zebra-striped"&gt;
-...
-&lt;/table&gt;</pre>
-  <h3>3. Zebra-striped w/ TableSorter.js</h3>
-  <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
-  <table class="zebra-striped" id="sortTableExample">
-    <thead>
-      <tr>
-        <th>#</th>
-        <th class="yellow">First Name</th>
-        <th class="blue">Last Name</th>
-        <th class="green">Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td>Your</td>
-        <td>One</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>Code</td>
-      </tr>
-    </tbody>
-  </table>
-<pre class="prettyprint linenums">
-&lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
-&lt;script &gt;
-  $(function() {
-    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
-  });
-&lt;/script&gt;
-&lt;table class="zebra-striped"&gt;
-  ...
-&lt;/table&gt;</pre>
-
-</section>
-
-
-
-<!-- Forms
-================================================== -->
-<section id="forms">
-  <div class="page-header">
-    <h1>Forms</h1>
-  </div>
-  <div class="row">
-    <div class="span4">
-      <h3>Four types of forms</h3>
-      <p>With 2.0, we now have four types of forms to choose from:</p>
-      <ul>
-        <li>Search form for a super-rounded input and optional button</li>
-        <li>Inline form for a series of elements on one line</li>
-        <li>Horizontal form for left-aligned labels</li>
-        <li>Vertical form for stacked labels and inputs</li>
-      </ul>
-    </div>
-    <div class="span4">
-      <h3></h3>
-    </div>
-  </div><!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <h2>Search form</h2>
-    </div>
-    <div class="span9">
-      <div class="well">
-        <form class="form-search">
-          <input type="text" class="search-query">
-          <button type="submit" class="btn">Search</button>
-        </form>
-      </div><!--/well-->
-    </div>
-  </div><!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <h2>Inline form</h2>
-    </div>
-    <div class="span9">
-      <div class="well">
-        <form class="form-inline">
-          <h4>Some directional text</h4>
-          <p>And maybe some kind of optional supporting text right here.</p>
-          <input type="text" class="input-medium">
-          <input type="text" class="input-medium">
-          <input type="text" class="input-medium">
-          <button type="submit" class="btn">Search</button>
-        </form>
-      </div><!--/well-->
-    </div>
-  </div><!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <h2>Horizontal form</h2>
-    </div>
-    <div class="span9">
-      <form class="form-horizontal">
-        <legend>Example form</legend>
-        <fieldset class="control-group">
-          <label class="control-label" for="input01">Text input</label>
-          <div class="controls">
-            <input type="text" class="xlarge" name="input01">
-            <p class="help-text">Help text here. Be sure to fill this out like so, or else!</p>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="select01">Select list</label>
-          <div class="controls">
-            <select name="select01">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="multiSelect">Multi-select</label>
-          <div class="controls">
-            <select multiple="multiple" name="multiSelect">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
-          </div>
-        </fieldset>
-        <legend>Example form</legend>
-        <fieldset class="control-group">
-          <label class="control-label" for="fileInput">File input</label>
-          <div class="controls">
-            <input class="input-file" id="fileInput" name="fileInput" type="file">
-          </div>
-        </fieldset>
-        <fieldset class="control-group has-error">
-          <label class="control-label" for="inputError">Input with error</label>
-          <div class="controls">
-            <input type="text" name="inputError">
-          </div>
-        </fieldset>
-        <fieldset class="control-group has-error">
-          <label class="control-label" for="textareaError">Textarea with error</label>
-          <div class="controls">
-            <textarea class="input-xlarge" rows="3"></textarea>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
-          <div class="controls">
-            <div class="control-list">
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option1">
-                Option one is this and that&mdash;be sure to include why it’s great
-              </label>
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option2">
-                Option two can also be checked and included in form results
-              </label>
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option3">
-                Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
-              </label>
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option4">
-                Option four cannot be checked as it is disabled
-              </label>
-            </div>
-            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="optionsRadios">Radio buttons</label>
-          <div class="controls">
-            <div class="control-list">
-              <label>
-                <input type="radio" checked name="optionsRadios" value="option1">
-                <span>Option one is this and that&mdash;be sure to include why it’s great</span>
-              </label>
-              <label>
-                <input type="radio" name="optionsRadios" value="option2">
-                <span>Option two can is something else and selecting it will deselect options 1</span>
-              </label>
-            </div>
-            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
-          </div>
-        </fieldset>
-        <fieldset class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
-        </fieldset>
-      </form>
-    </div>
-  </div><!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <h2>Vertical form</h2>
-    </div>
-    <div class="span9">
-      <form class="form-vertical">
-        <legend>Example form</legend>
-        <fieldset class="control-group">
-          <label class="control-label" for="input01">Label</label>
-          <div class="controls">
-            <input type="text" class="xlarge" name="input01">
-            <p class="help-text">Be sure to fill this out like so, or else!</p>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="select01">Label</label>
-          <div class="controls">
-            <select name="select01"></select>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="input02">Label</label>
-          <div class="controls">
-            <div class="control-list">
-              <label class="checkbox">
-                <input type="checkbox"> Something something something something something
-              </label>
-              <label class="checkbox">
-                <input type="checkbox"> Something something something something
-              </label>
-              <label class="checkbox">
-                <input type="checkbox"> Something something something
-              </label>
+    <div class="container">
+
+      <div id="overview">
+
+        <!-- Masthead
+        ================================================== -->
+        <header class="jumbotron masthead">
+          <div class="inner">
+            <h1>Bootstrap,<br> from Twitter</h1>
+            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
+            <p class="download-info">
+              <a href="#" class="btn primary btn-large">Download on GitHub</a>
+              Currently v2.0.0
+            </p>
+            <div class="benefits">
+              <h4>Feature highlights</h4>
+              <ul>
+                <li><span>&times;</span> Built on LESS</li>
+                <li><span>&times;</span> Complete styleguide docs</li>
+                <li><span>&times;</span> Fully responsive design</li>
+                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
+                <li><span>&times;</span> Support for IE7 and up</li>
+                <li><span>&times;</span> Custom jQuery plugins</li>
+                <li><span>&times;</span> Dozens of components</li>
+              </ul>
             </div>
           </div>
-        </fieldset>
-        <fieldset class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
-        </fieldset>
-      </form>
-    </div>
-  </div><!-- /row -->
-
-  <div class="row">
-    <div class="span3">
-      <h2>Buttons</h2>
-      <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
-      <p>All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue <code>.primary</code> class, a light-blue <code>.info</code> class, a green <code>.success</code> class, and a red <code>.danger</code> class.</p>
-    </div>
-    <div class="span9">
-      <h3>Example buttons</h3>
-      <p>Button styles can be applied to anything with the <code>.btn</code> applied. Typically you’ll want to apply these to only <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, and select <code>&lt;input&gt;</code> elements. Here’s how it looks:</p>
-      <div class="well" style="padding: 14px 19px;">
-        <button class="btn primary">Primary</button>&nbsp;<button class="btn">Default</button>&nbsp;<button class="btn info">Info</button>&nbsp;<button class="btn success">Success</button>&nbsp;<button class="btn danger">Danger</button>
-      </div>
-      <h3>Alternate sizes</h3>
-      <p>Fancy larger or smaller buttons? Have at it!</p>
-      <div class="well">
-        <a href="#" class="btn large primary">Primary action</a>
-        <a href="#" class="btn large">Action</a>
-      </div>
-      <div class="well" style="padding: 16px 19px;">
-        <a href="#" class="btn small primary">Primary action</a>
-        <a href="#" class="btn small">Action</a>
-      </div>
-      <h3>Disabled state</h3>
-      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
-      <h4>Links</h4>
-      <div class="well">
-        <a href="#" class="btn large primary disabled">Primary action</a>
-        <a href="#" class="btn large disabled">Action</a>
-      </div>
-      <h4>Buttons</h4>
-      <div class="well">
-        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
-      </div>
-    </div>
-  </div><!-- /row -->
-
-  <div class="row">
-    <div class="span3">
-      <h2>Button groups</h2>
-    </div>
-    <div class="span9">
-      <h3>Example</h3>
-      <div class="well">
-        <div class="btn-group">
-          <a class="btn" href="#">Left</a>
-          <a class="btn" href="#">Middle</a>
-          <a class="btn" href="#">Right</a>
-        </div>
-      </div>
-      <div class="well">
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn" href="#">1</a>
-            <a class="btn" href="#">2</a>
-            <a class="btn" href="#">3</a>
-            <a class="btn" href="#">4</a>
-            <a class="btn" href="#">5</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">6</a>
-            <a class="btn" href="#">7</a>
-            <a class="btn" href="#">8</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">9</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">10</a>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div><!-- /row -->
-
-</section>
-
-
-
-<!-- Media
-================================================== -->
-<section id="media">
-  <div class="page-header">
-    <h1>Media <small>Displaying images and videos</small></h1>
-  </div>
-  <!-- Table structure -->
-  <div class="row">
-    <div class="span3">
-      <h2>Media grid</h2>
-      <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
-    </div>
-    <div class="span9">
-      <h3>Example thumbnails</h3>
-      <p>Thumbnails in the <code>.media-grid</code> can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the <code>.span2</code>, <code>.span4</code>, and <code>.span6</code> column sizes.</p>
-      <h4>Large</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
-          </a>
-        </li>
-      </ul>
-      <h4>Medium</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-      </ul>
-      <h4>Small</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
-          </a>
-        </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
-          </a>
-        </li>
-      </ul>
-      <h4>Coding them</h4>
-      <p>Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.</p>
-<pre class="prettyprint linenums">
-&lt;ul class="media-grid"&gt;
-  &lt;li&gt;
-    &lt;a href="#"&gt;
-      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
-    &lt;/a&gt;
-  &lt;/li&gt;
-  &lt;li&gt;
-    &lt;a href="#"&gt;
-      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
-    &lt;/a&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;
-</pre>
-    </div>
-  </div><!-- /row -->
-</section>
-
-
-
-<!-- Navigation
-================================================== -->
-<section id="navigation">
-  <div class="page-header">
-    <h1>Navigation</h1>
-  </div>
-  <h2>Fixed navbar</h2>
-  <div class="navbar navbar-static" data-dropdown="dropdown">
-    <div class="navbar-inner">
-      <div class="container">
-        <a class="brand" href="#">Project Name</a>
-        <ul class="nav">
-          <li class="active"><a href="#">Home</a></li>
-          <li><a href="#">Link</a></li>
-          <li><a href="#">Link</a></li>
-          <li><a href="#">Link</a></li>
-          <li class="dropdown">
-            <a href="#" class="dropdown-toggle">Dropdown</a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Secondary link</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Another link</a></li>
-            </ul>
+        </header>
+
+        <ul class="quick-links">
+          <li><strong>Quick links</strong></li>
+          <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+          <li class="divider">&middot;</li>
+          <li><strong>Authors</strong></li>
+          <li><a href="http://twitter.com/mdo">@mdo</a></li>
+          <li><a href="http://twitter.com/fat">@fat</a></li>
+          <li class="divider">&middot;</li>
+          <li class="follow-btn">
+            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a><script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
           </li>
-        </ul>
-        <form class="form-search navbar-search pull-left" action="">
-          <input type="text" class="search-query span2" placeholder="Search">
-        </form>
-        <ul class="nav secondary-nav">
-          <li class="dropdown">
-            <a href="#" class="dropdown-toggle">Dropdown</a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Secondary link</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Another link</a></li>
-            </ul>
+          <li class="tweet-btn">
+            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
           </li>
         </ul>
-      </div>
-    </div><!-- /navbar-inner -->
-  </div><!-- /navbar -->
 
-  <div class="row">
-    <div class="span4">
-      <h4>What is it</h4>
-      <p>Our navbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
-    </div>
-    <div class="span4">
-      <h4>Customizable</h4>
-      <p>All elements within, and the entire navbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
-    </div>
-    <div class="span4">
-      <h4>Dropdowns included</h4>
-      <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>&lt;li&gt;</code> tags also support <code>.active</code> for showing current page selection.</p>
-    </div>
-  </div>
-  <p><strong>Note:</strong> When using the navbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
-
-  <br>
-
-  <div class="row">
-    <div class="span3">
-      <h2>Tabs and pills</h2>
-      <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
-      <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
-    </div>
-    <div class="span9">
-      <h3>Basic tabs example</h3>
-      <p>Tabs can be used as regular navigation (loading external pages in the same tab) or as tabbable content areas for swapping out panes of content. We have a <a href="./javascript.html#tabs">tabs plugin</a> that can be used to integrate the latter.</p>
-      <ul class="tabs">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
-        <li><a href="#">Settings</a></li>
-        <li><a href="#">Contact</a></li>
-        <li class="dropdown" data-dropdown="dropdown">
-          <a href="#" class="dropdown-toggle">Dropdown</a>
-          <ul class="dropdown-menu">
-            <li><a href="#">Secondary link</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Another link</a></li>
-          </ul>
-        </li>
-      </ul>
-<pre class="prettyprint linenums">
-&lt;ul class="tabs"&gt;
-  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-</pre>
-      <h3>Alternate tabs</h3>
-      <p>You can also use tabs that are stacked on either side of an element, or on the bottom.</p>
-      <div class="row">
-        <div class="span2">
-          <div class="clearfix">
-            <ul class="tabs tabs-left">
-              <li class="active"><a href="#">Active link</a></li>
-              <li><a href="#">Link</a></li>
-              <li><a href="#">Linky link</a></li>
-              <li><a href="#">What up link</a></li>
-            </ul>
-          </div>
-        </div>
-        <div class="span2">
-          <div class="clearfix">
-            <ul class="tabs tabs-right">
-              <li class="active"><a href="#">Active link</a></li>
-              <li><a href="#">Link</a></li>
-              <li><a href="#">Linky link</a></li>
-              <li><a href="#">What up link</a></li>
-            </ul>
-          </div>
-        </div>
-        <div class="span5">
-          <div class="clearfix">
-            <ul class="tabs tabs-bottom">
-              <li class="active"><a href="#">Active link</a></li>
-              <li><a href="#">Link</a></li>
-              <li><a href="#">Linky link</a></li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <h3>Tabbable tabs</h3>
-      <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>
 
-      <div class="tabbable">
-        <ul class="tabs" data-tabs="tabs">
-          <li class="active"><a href="#1">Section 1</a></li>
-          <li><a href="#2">Section 2</a></li>
-          <li><a href="#3">Section 3</a></li>
-          <li><a href="#4">Section 4</a></li>
-        </ul>
-        <div class="tab-content">
-          <div class="tab-pane active" id="1">
-            <p>Oh hai #1!</p>
-          </div>
-          <div class="tab-pane" id="2">
-            <p>Oh hai #2!</p>
-          </div>
-          <div class="tab-pane" id="3">
-            <p>Oh hai #3!</p>
-          </div>
-          <div class="tab-pane" id="4">
-            <p>Oh hai #4!</p>
-          </div>
-        </div>
-      </div>
 
-       <div class="row">
-        <div class="span4">
-          <div class="tabbable tabs-left">
-            <ul class="tabs" data-tabs="tabs">
-              <li class="active"><a href="#1">Section 1</a></li>
-              <li><a href="#2">Section 2</a></li>
-              <li><a href="#3">Section 3</a></li>
-            </ul>
-            <div class="tab-content" id="myTabContent2">
-              <div class="tab-pane active" id="1">
-                <h4>Section 1</h4>
-                <p>Oh hai!</p>
-              </div>
-              <div class="tab-pane" id="2">
-                <h4>Section 2</h4>
-                <p>Oh hai!</p>
-              </div>
-              <div class="tab-pane" id="3">
-                <h4>Section 3</h4>
-                <p>Oh hai!</p>
-              </div>
+        <!-- About Bootstrap
+        ================================================== -->
+        <section id="about">
+          <div class="row">
+            <div class="span4">
+              <h2>Built for and by nerds</h2>
+              <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
+              <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
             </div>
-          </div>
-        </div>
-        <div class="span5">
-          <div class="tabbable tabs-right">
-            <ul class="tabs" data-tabs="tabs">
-              <li class="active"><a href="#1">Section 1</a></li>
-              <li><a href="#2">Section 2</a></li>
-              <li><a href="#3">Section 3</a></li>
-            </ul>
-            <div class="tab-content" id="myTabContent3">
-              <div class="tab-pane active" id="1">
-                <h4>Section 1</h4>
-                <p>Oh hai!</p>
-              </div>
-              <div class="tab-pane" id="2">
-                <h4>Section 2</h4>
-                <p>Oh hai!</p>
-              </div>
-              <div class="tab-pane" id="3">
-                <h4>Section 3</h4>
-                <p>Oh hai!</p>
-              </div>
+            <div class="span4">
+              <h2>Cross-everything</h2>
+              <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
+              <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
+              <ul>
+                <li>Latest Safari</li>
+                <li>Latest Google Chrome</li>
+                <li>Firefox 4+</li>
+                <li>Internet Explorer 7+</li>
+                <li>Opera 11</li>
+              </ul>
             </div>
-          </div>
-        </div>
-      </div>
-
-      <div class="tabbable tabs-bottom">
-        <div class="tab-content">
-          <div class="tab-pane active" id="1">
-            <p>Oh hai #1!</p>
-          </div>
-          <div class="tab-pane" id="2">
-            <p>Oh hai #2!</p>
-          </div>
-          <div class="tab-pane" id="3">
-            <p>Oh hai #3!</p>
-          </div>
-          <div class="tab-pane" id="4">
-            <p>Oh hai #4!</p>
-          </div>
-        </div>
-        <ul class="tabs" data-tabs="tabs">
-          <li class="active"><a href="#1">Section 1</a></li>
-          <li><a href="#2">Section 2</a></li>
-          <li><a href="#3">Section 3</a></li>
-          <li><a href="#4">Section 4</a></li>
-        </ul>
-      </div>
-
-
-      <p>In addition to tabs, we have pills! Though a bit more limited in functionality, they share much of the same markup.</p>
-      <hr>
-      <h3>Basic pills example</h3>
-      <ul class="pills">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
-        <li><a href="#">Settings</a></li>
-        <li><a href="#">Contact</a></li>
-      </ul>
-<pre class="prettyprint linenums">
-&lt;ul class="pills"&gt;
-  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-</pre>
-      <h3>Vertical pill nav</h3>
-      <p>With a pill-style nav, you can also stack the list items to have a simple sidebar. We don't offer left or right aligned versions here because that's easy enough to customize based on your own needs</p>
-      <ul class="pills pills-vertical span4">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
-        <li><a href="#">Settings</a></li>
-        <li><a href="#">Contact</a></li>
-      </ul>
-    </div>
-  </div><!-- /row -->
-
-  <!-- Breadcrumbs -->
-  <div class="row">
-    <div class="span3">
-      <h2>Breadcrumbs</h2>
-      <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation.</p>
-    </div>
-    <div class="span9">
-      <ul class="breadcrumb">
-        <li class="active">Home</li>
-      </ul>
-      <ul class="breadcrumb">
-        <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li class="active">Middle page</li>
-      </ul>
-      <ul class="breadcrumb">
-        <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
-        <li class="active">Another one</li>
-      </ul>
-      <ul class="breadcrumb">
-        <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
-        <li><a href="#">Another one</a> <span class="divider">/</span></li>
-        <li class="active">You are here</li>
-      </ul>
-<pre class="prettyprint linenums">
-&lt;ul class="breadcrumb"&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Middle page&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Another one&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
-  &lt;li class="active"&gt;You are here&lt;/li&gt;
-&lt;/ul&gt;
-</pre>
-    </div>
-  </div>
-
-  <!-- Pagination -->
-  <div class="row">
-    <div class="span3">
-      <h2>Pagination</h2>
-      <p>Ultra simplistic and minimally styled pagination inspired by Rdio. The large block is hard to miss, easily scalable, and provides large click areas.</p>
-    </div>
-    <div class="span9">
-      <div class="pagination">
-        <ul>
-          <li class="prev disabled"><a href="#">&larr; Previous</a></li>
-          <li class="active"><a href="#">1</a></li>
-          <li><a href="#">2</a></li>
-          <li><a href="#">3</a></li>
-          <li><a href="#">4</a></li>
-          <li class="next"><a href="#">Next &rarr;</a></li>
-        </ul>
-      </div>
-      <div class="pagination">
-        <ul>
-          <li class="prev"><a href="#">&larr;</a></li>
-          <li class="active"><a href="#">10</a></li>
-          <li><a href="#">11</a></li>
-          <li class="disabled"><a href="#">…</a></li>
-          <li><a href="#">20</a></li>
-          <li><a href="#">21</a></li>
-          <li class="next"><a href="#">&rarr;</a></li>
-        </ul>
-      </div>
-      <div class="pagination">
-        <ul>
-          <li class="prev"><a href="#">&larr;</a></li>
-          <li><a href="#">10</a></li>
-          <li><a href="#">11</a></li>
-          <li class="active"><a href="#">12</a></li>
-          <li><a href="#">13</a></li>
-          <li><a href="#">14</a></li>
-          <li class="next"><a href="#">&rarr;</a></li>
-        </ul>
-      </div>
-<pre class="prettyprint linenums">
-&lt;div class="pagination"&gt;
-  &lt;ul&gt;
-    &lt;li class="prev disabled"&gt;&lt;a href="#"&gt;&amp;larr; Previous&lt;/a&gt;&lt;/li>
-    &lt;li class="active"&gt;&lt;a href="#"&gt;1&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href="#"&gt;2&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href="#"&gt;3&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href="#"&gt;4&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href="#"&gt;5&lt;/a&gt;&lt;/li&gt;
-    &lt;li class="next"&gt;&lt;a href="#"&gt;Next &amp;rarr;&lt;/a&gt;&lt;/li>
-  &lt;/ul&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-  </div><!-- /row -->
-
-</section>
-
-
-
-<!-- Alerts & Messages
-================================================== -->
-<section id="alerts">
-  <div class="page-header">
-    <h1>Alerts &amp; Errors <small>Styles for success, warning, and error messages or alerts</small></h1>
-  </div>
-  <!-- Basic alert messages -->
-  <div class="row">
-    <div class="span3">
-      <h2>Basic alerts</h2>
-      <p><code>.alert-message</code></p>
-      <p>One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.</p>
-      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="alert-message warning">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
-      </div>
-      <div class="alert-message error">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Oh snap!</strong> Change this and that and try again.</p>
-      </div>
-      <div class="alert-message success">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Well done!</strong> You successfully read this alert message.</p>
-      </div>
-      <div class="alert-message info">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
-      </div>
-
-      <h4>Example code</h4>
-<pre class="prettyprint linenums">
-&lt;div class="alert-message warning"&gt;
-  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
-  &lt;p&gt;&lt;strong&gt;Holy guacamole!&lt;/strong&gt; Best check yo self, you’re not looking too good.&lt;/p&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-  </div><!-- /row -->
-  <!-- Block messages -->
-  <div class="row">
-    <div class="span3">
-      <h2>Block messages</h2>
-      <p><code>.alert-message.block-message</code></p>
-      <p>For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer error messages, warning a user of a pending action, or just presenting information for more emphasis on the page.</p>
-      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="alert-message block-message warning">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Holy guacamole! This is a warning!</strong> 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.</p>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
-      </div>
-      <div class="alert-message block-message error">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Oh snap! You got an error!</strong> Change this and that and try again.</p>
-        <ul>
-          <li>Duis mollis est non commodo luctus</li>
-          <li>Nisi erat porttitor ligula</li>
-          <li>Eget lacinia odio sem nec elit</li>
-        </ul>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
-      </div>
-      <div class="alert-message block-message success">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Well done!</strong> You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.</p>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
-      </div>
-      <div class="alert-message block-message info">
-        <a class="close" href="#">&times;</a>
-        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
-      </div>
-
-      <h4>Example code</h4>
-<pre class="prettyprint linenums">
-&lt;div class="alert-message block-message warning"&gt;
-  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
-  &lt;p&gt;&lt;strong&gt;Holy guacamole! This is a warning!&lt;/strong&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.&lt;/p&gt;
-  &lt;div class="alert-actions"&gt;
-    &lt;a class="btn small" href="#"&gt;Take this action&lt;/a&gt; &lt;a class="btn small" href="#"&gt;Or do this&lt;/a>
-  &lt;/div&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-  </div><!-- /row -->
-</section>
-
-
-<!-- Popovers
-================================================== -->
-<section id="popovers">
-  <div class="page-header">
-    <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3">
-      <h2>Modals</h2>
-      <p>Modals&mdash;dialogs or lightboxes&mdash;are great for contextual actions in situations where it’s important that the background context be maintained.</p>
-      <p><a class="btn js-btn" href="./javascript.html#modal">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="well" style="background-color: #888; border: none; padding: 40px;">
-        <!-- Modal -->
-        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
-          <div class="modal-header">
-            <a href="#" class="close js-dismiss">&times;</a>
-            <h3>Modal Heading</h3>
-          </div>
-          <div class="modal-body">
-            <p>One fine body…</p>
-          </div>
-          <div class="modal-footer">
-            <a href="#" class="btn primary">Primary</a>
-            <a href="#" class="btn">Secondary</a>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div><!-- /row -->
-
-  <!-- Tooltips -->
-  <div class="row">
-    <div class="span3">
-      <h2>Tooltips</h2>
-      <p>Twipsies are super useful for aiding a confused user and pointing them in the right direction.</p>
-      <p><a class="btn js-btn" href="./javascript.html#twipsy">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="twipsies well">
-        <div style="position: relative">
-          <p class="muted" style="margin-bottom: 0">
-Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. <a href="#" title="right">Voluptasdicta</a> eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt <a href="#" title="left">sed</a> dicta quae accusantium fugit voluptas nemo voluptas voluptatem <a href="#" title="above">rem</a> quae aut veritatis quasi quae.
-          </p>
-        </div>
-      </div>
-    </div>
-  </div><!-- /row -->
-
-  <!-- Popovers -->
-  <div class="row">
-    <div class="span3">
-      <h2>Popovers</h2>
-      <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
-      <p><a class="btn js-btn" href="./javascript.html#popover">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="well popover-well">
-         <div class="popover-wrapper">
-          <div class="popover left">
-            <div class="arrow"></div>
-            <div class="inner">
-              <h3 class="title">Popover Title</h3>
-              <div class="content">
-                <p>Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
-              </div>
+            <div class="span4">
+              <h2>What's included</h2>
+              <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
+              <ul>
+                <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
+                <li>All original .less files</li>
+                <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
+                <li>Complete styleguide documentation</li>
+                <li>Three example pages with different layouts</li>
+              </ul>
             </div>
-          </div>
-          <img class="large-bird" src="assets/img/bird.png" >
-        </div>
-      </div>
-    </div>
-  </div><!-- /row -->
-</section>
-
-
-<!-- Using Javascript w/ Bootstrap
- ================================================== -->
-
- <section id="javascript">
-   <div class="page-header">
-     <h1>Using javascript with Bootstrap <small>An index of plugins to get you started</small></h1>
-   </div>
-   <div class="row">
-     <div class="span3">
-       <h2>Getting started</h2>
-       <p>Integrating javascript with the Bootstrap library is super easy. Below we go over the basics and provide you with some awesome plugins to get you started!</p>
-       <p><a class="btn primary" href="./javascript.html">View javascript docs &raquo;</a></p>
-     </div>
-     <div class="span9">
-      <h3>What's included</h3>
-       <p>Bring some of Bootstrap's primary components to life with new custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>. We encourage you to extend and modify them to fit your specific development needs.</p>
-       <table class="zebra-striped">
-         <thead>
-           <tr>
-             <th style="width: 150px;">File</th>
-             <th>Description</th>
-           </tr>
-         </thead>
-         <tbody>
-           <tr>
-             <td><a href="./javascript.html#modal">bootstrap-modal.js</a></td>
-             <td>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#alerts">bootstrap-alerts.js</a></td>
-             <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></td>
-             <td>This plugin is for adding dropdown interaction to the bootstrap navbar or tabbed navigations.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#scrollspy">bootstrap-scrollspy.js</a></td>
-             <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap navbar.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#tabs">bootstrap-tabs.js</a></td>
-             <td>This plugin adds quick, dynamic tab and pill functionality for cycling through local content.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></td>
-             <td>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for local title storage!</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
-             <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
-           </tr>
-         </tbody>
-       </table>
-       <h3>Is javascript necessary?</h3>
-       <p><strong>Nope!</strong> Bootstrap is designed first and foremost to be a CSS library. This javascript provides a basic interactive layer on top of the included styles.</p>
-       <p>However, for those who do need javascript, we've provided the plugins above to help you understand how to integrate Bootstrap with javascript and to give you a quick, lightweight option for the basic functionality right away.</p>
-       <p>For more information and to see some live demos, please refer to our <a href="./javascript.html">plugin documentation page</a>.</p>
-     </div>
-   </div>
-
-
-<!-- Using Bootstrap w/ Less
-================================================== -->
-<section id="less">
-<div class="page-header">
-  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
-</div>
-<div class="row">
-  <div class="span3">
-    <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
-    <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
-  </div>
-  <div class="span9">
-    <h2>How to use it</h2>
-    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
-<pre class="prettyprint linenums">
-&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
-&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
-<p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
-
-    <h2>What’s included</h2>
-    <p>Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.</p>
-    <h3>Variables</h3>
-    <p>Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.</p>
-<pre class="prettyprint linenums">
-// Links
-@linkColor:         #8b59c2;
-@linkColorHover:    darken(@linkColor, 10);
-
-// Grays
-@black:             #000;
-@grayDark:          lighten(@black, 25%);
-@gray:              lighten(@black, 50%);
-@grayLight:         lighten(@black, 70%);
-@grayLighter:       lighten(@black, 90%);
-@white:             #fff;
-
-// Accent Colors
-@blue:              #08b5fb;
-@green:             #46a546;
-@red:               #9d261d;
-@yellow:            #ffc40d;
-@orange:            #f89406;
-@pink:              #c3325f;
-@purple:            #7a43b6;
-
-// Baseline grid
-@basefont:          13px;
-@baseline:          18px;
-</pre>
-
-<h3>Commenting</h3>
-<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
-<pre class="prettyprint linenums">
-// This is a comment
-/* This is also a comment */
-</pre>
-
-<h3>Mixins up the wazoo</h3>
-<p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
-<h4>Font stacks</h4>
-<pre class="prettyprint linenums">
-#font {
-  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
-  }
-  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
-    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
-  }
-  ...
-}
-</pre>
-<h4>Gradients</h4>
-<pre class="prettyprint linenums">
-#gradient {
-  ...
-  .vertical (@startColor: #555, @endColor: #333) {
-    background-color: @endColor;
-    background-repeat: repeat-x;
-    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
-    background-image: -moz-linear-gradient(@startColor, @endColor); // FF 3.6+
-    background-image: -ms-linear-gradient(@startColor, @endColor); // IE10
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
-    background-image: -webkit-linear-gradient(@startColor, @endColor); // Safari 5.1+, Chrome 10+
-    background-image: -o-linear-gradient(@startColor, @endColor); // Opera 11.10
-    background-image: linear-gradient(@startColor, @endColor); // The standard
-  }
-  ...
-}
-</pre>
-
-<h3>Operations</h3>
-<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
-<pre class="prettyprint linenums">
-// Griditude
-@gridColumns:       16;
-@gridColumnWidth:   40px;
-@gridGutterWidth:   20px;
-@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
-
-// Make some columns
-.columns(@columnSpan: 1) {
-  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
-}
-</pre>
-
-    <h2 id="compiling">Compiling Less</h2>
-    <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
-    <h3>Ways to compile</h3>
-    <table class="zebra-striped">
-      <thead>
-        <tr>
-          <th style="width: 120px;">Method</th>
-          <th>Steps</th>
-        </tr>
-      </thead>
-      <tbody>
-        <tr>
-          <td>Node with makefile</td>
-          <td>
-            <p>Install the less command line compiler with npm by running the following command:</p>
-            <pre>$ npm install lessc</pre>
-            <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
-            <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
-          </td>
-        </tr>
-          <td>Javascript</td>
-          <td>
-            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>head</code>.</p>
-<pre class="prettyprint">
-&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
-</pre>
-            <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
-          </td>
-        </tr>
-        <tr>
-          <td>Command line</td>
-          <td>
-            <p>If you already have the less command line tool installed, simply run the following command:</p>
-              <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
-            <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
-          </td>
-        </tr>
-        <tr>
-          <td>Mac app</td>
-          <td>
-            <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
-            <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </div>
-</div>
+          </div><!-- /row -->
+        </section>
+
+        <h3>Quick-start examples</h3>
+        <p>Need some quick templates? Check out these basic examples we've put together:</p>
+        <ul class="media-grid">
+          <li>
+            <a href="../examples/hero.html"><img src="assets/img/example-diagram-01.png" alt="Simple three-column layout with hero unit"></a>
+          </li>
+          <li>
+            <a href="../examples/fluid.html"><img src="assets/img/example-diagram-02.png" alt="Fluid layout with static sidebar"></a>
+          </li>
+          <li>
+            <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" alt="Simple hanging container for apps"></a>
+          </li>
+        </ul>
 
-</section>
+      </div><!-- /#overview -->
 
 
+      <!-- Footer
+      ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
         <p>
@@ -2168,11 +189,10 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
           Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
         </p>
       </footer>
-
     </div><!-- /container -->
 
-
     <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
@@ -2182,6 +202,5 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="assets/js/application.js"></script>
-
   </body>
 </html>
diff --git a/docs/javascript.html b/docs/javascript.html
index 68a3d0cd46..c9ac7e21da 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -27,7 +27,24 @@
 
     <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li><a href="./index.html">Overview</a></li>
+            <li><a href="./scaffolding.html">Scaffolding</a></li>
+            <li><a href="./base-css.html">Base CSS</a></li>
+            <li><a href="./components.html">Components</a></li>
+            <li class="active"><a href="./javascript.html">Javascript plugins</a></li>
+            <li><a href="./less.html">Using LESS</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+<!--
+     <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
@@ -44,14 +61,78 @@
         </div>
       </div>
     </div>
-
-  <div class="container">
-    <!-- Masthead (blueprinty thing)
-    ================================================== -->
-    <header class="jumbotron subhead" id="overview">
-      <h1>Javascript for Bootstrap</h1>
-      <p class="lead">Bring Bootstrap's components to life with custom plugins for <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>.</p>
-    </header>
+ -->
+
+    <div class="container">
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Javascript for Bootstrap</h1>
+        <p class="lead">Bring Bootstrap's components to life with custom plugins for <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a></p>
+      </header>
+
+
+<!-- Using Javascript w/ Bootstrap
+ ================================================== -->
+
+ <section id="javascript">
+   <div class="page-header">
+     <h1>Using javascript with Bootstrap <small>An index of plugins to get you started</small></h1>
+   </div>
+   <div class="row">
+     <div class="span3">
+       <h2>Getting started</h2>
+       <p>Integrating javascript with the Bootstrap library is super easy. Below we go over the basics and provide you with some awesome plugins to get you started!</p>
+       <p><a class="btn primary" href="./javascript.html">View javascript docs &raquo;</a></p>
+     </div>
+     <div class="span9">
+      <h3>What's included</h3>
+       <p>Bring some of Bootstrap's primary components to life with new custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>. We encourage you to extend and modify them to fit your specific development needs.</p>
+       <table class="zebra-striped">
+         <thead>
+           <tr>
+             <th style="width: 150px;">File</th>
+             <th>Description</th>
+           </tr>
+         </thead>
+         <tbody>
+           <tr>
+             <td><a href="./javascript.html#modal">bootstrap-modal.js</a></td>
+             <td>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</td>
+           </tr>
+           <tr>
+             <td><a href="./javascript.html#alerts">bootstrap-alerts.js</a></td>
+             <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
+           </tr>
+           <tr>
+             <td><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></td>
+             <td>This plugin is for adding dropdown interaction to the bootstrap navbar or tabbed navigations.</td>
+           </tr>
+           <tr>
+             <td><a href="./javascript.html#scrollspy">bootstrap-scrollspy.js</a></td>
+             <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap navbar.</td>
+           </tr>
+           <tr>
+             <td><a href="./javascript.html#tabs">bootstrap-tabs.js</a></td>
+             <td>This plugin adds quick, dynamic tab and pill functionality for cycling through local content.</td>
+           </tr>
+           <tr>
+             <td><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></td>
+             <td>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for local title storage!</td>
+           </tr>
+           <tr>
+             <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
+             <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
+           </tr>
+         </tbody>
+       </table>
+       <h3>Is javascript necessary?</h3>
+       <p><strong>Nope!</strong> Bootstrap is designed first and foremost to be a CSS library. This javascript provides a basic interactive layer on top of the included styles.</p>
+       <p>However, for those who do need javascript, we've provided the plugins above to help you understand how to integrate Bootstrap with javascript and to give you a quick, lightweight option for the basic functionality right away.</p>
+       <p>For more information and to see some live demos, please refer to our <a href="./javascript.html">plugin documentation page</a>.</p>
+     </div>
+   </div>
+</section>
 
 
     <!-- Modal
@@ -638,28 +719,27 @@ $('#my-modal').bind('hidden', function () {
     </section>
 
 
+      <!-- Footer
+      ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
         <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br />
-          Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>.
+          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
+          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
         </p>
       </footer>
-
     </div><!-- /container -->
 
-
     <!-- Le javascript -->
-    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-modal.js"></script>
-    <script src="../js/bootstrap-alerts.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-transitions.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="../js/bootstrap-tabs.js"></script>
-
+    <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/less.html b/docs/less.html
new file mode 100644
index 0000000000..806c2eedec
--- /dev/null
+++ b/docs/less.html
@@ -0,0 +1,242 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
+    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+  </head>
+
+  <body>
+
+    <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li><a href="./index.html">Overview</a></li>
+            <li><a href="./scaffolding.html">Scaffolding</a></li>
+            <li><a href="./base-css.html">Base CSS</a></li>
+            <li><a href="./components.html">Components</a></li>
+            <li><a href="./javascript.html">Javascript plugins</a></li>
+            <li class="active"><a href="./less.html">Using LESS</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Using LESS</h1>
+        <p class="lead">Be a boss and use Bootstrap's built-in variables, mixins, and more via LESS</p>
+      </header>
+
+
+<!-- Using Bootstrap w/ Less
+================================================== -->
+<section id="less">
+<div class="page-header">
+  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
+</div>
+<div class="row">
+  <div class="span3">
+    <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
+    <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
+  </div>
+  <div class="span9">
+    <h2>How to use it</h2>
+    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
+<pre class="prettyprint linenums">
+&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
+&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
+<p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
+
+    <h2>What’s included</h2>
+    <p>Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.</p>
+    <h3>Variables</h3>
+    <p>Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.</p>
+<pre class="prettyprint linenums">
+// Links
+@linkColor:         #8b59c2;
+@linkColorHover:    darken(@linkColor, 10);
+
+// Grays
+@black:             #000;
+@grayDark:          lighten(@black, 25%);
+@gray:              lighten(@black, 50%);
+@grayLight:         lighten(@black, 70%);
+@grayLighter:       lighten(@black, 90%);
+@white:             #fff;
+
+// Accent Colors
+@blue:              #08b5fb;
+@green:             #46a546;
+@red:               #9d261d;
+@yellow:            #ffc40d;
+@orange:            #f89406;
+@pink:              #c3325f;
+@purple:            #7a43b6;
+
+// Baseline grid
+@basefont:          13px;
+@baseline:          18px;
+</pre>
+
+<h3>Commenting</h3>
+<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
+<pre class="prettyprint linenums">
+// This is a comment
+/* This is also a comment */
+</pre>
+
+<h3>Mixins up the wazoo</h3>
+<p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
+<h4>Font stacks</h4>
+<pre class="prettyprint linenums">
+#font {
+  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
+    font-size: @size;
+    font-weight: @weight;
+    line-height: @lineHeight;
+  }
+  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+    font-size: @size;
+    font-weight: @weight;
+    line-height: @lineHeight;
+  }
+  ...
+}
+</pre>
+<h4>Gradients</h4>
+<pre class="prettyprint linenums">
+#gradient {
+  ...
+  .vertical (@startColor: #555, @endColor: #333) {
+    background-color: @endColor;
+    background-repeat: repeat-x;
+    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
+    background-image: -moz-linear-gradient(@startColor, @endColor); // FF 3.6+
+    background-image: -ms-linear-gradient(@startColor, @endColor); // IE10
+    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
+    background-image: -webkit-linear-gradient(@startColor, @endColor); // Safari 5.1+, Chrome 10+
+    background-image: -o-linear-gradient(@startColor, @endColor); // Opera 11.10
+    background-image: linear-gradient(@startColor, @endColor); // The standard
+  }
+  ...
+}
+</pre>
+
+<h3>Operations</h3>
+<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
+<pre class="prettyprint linenums">
+// Griditude
+@gridColumns:       16;
+@gridColumnWidth:   40px;
+@gridGutterWidth:   20px;
+@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
+
+// Make some columns
+.columns(@columnSpan: 1) {
+  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+}
+</pre>
+
+    <h2 id="compiling">Compiling Less</h2>
+    <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
+    <h3>Ways to compile</h3>
+    <table class="zebra-striped">
+      <thead>
+        <tr>
+          <th style="width: 120px;">Method</th>
+          <th>Steps</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>Node with makefile</td>
+          <td>
+            <p>Install the less command line compiler with npm by running the following command:</p>
+            <pre>$ npm install lessc</pre>
+            <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
+            <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
+          </td>
+        </tr>
+          <td>Javascript</td>
+          <td>
+            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>head</code>.</p>
+<pre class="prettyprint">
+&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
+</pre>
+            <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
+          </td>
+        </tr>
+        <tr>
+          <td>Command line</td>
+          <td>
+            <p>If you already have the less command line tool installed, simply run the following command:</p>
+              <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
+            <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
+          </td>
+        </tr>
+        <tr>
+          <td>Mac app</td>
+          <td>
+            <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
+            <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
+</div>
+
+</section>
+
+
+      <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>
+          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
+          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
+        </p>
+      </footer>
+    </div><!-- /container -->
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
new file mode 100644
index 0000000000..9334e830c1
--- /dev/null
+++ b/docs/scaffolding.html
@@ -0,0 +1,383 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
+    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+  </head>
+
+  <body>
+
+    <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li><a href="./index.html">Overview</a></li>
+            <li class="active"><a href="./scaffolding.html">Scaffolding</a></li>
+            <li><a href="./base-css.html">Base CSS</a></li>
+            <li><a href="./components.html">Components</a></li>
+            <li><a href="./javascript.html">Javascript plugins</a></li>
+            <li><a href="./less.html">Using LESS</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Scaffolding</h1>
+        <p class="lead">Responsive 12-column grid and fixed- and fluid-width layouts</p>
+      </header>
+
+
+<!-- Grid system
+================================================== -->
+<section id="grid-system">
+  <div class="page-header">
+    <h1>Grid system <small>12 columns with a responsive twist</small></h1>
+  </div>
+
+  <h2>Default 940px grid</h2>
+  <div class="row show-grid">
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span4">4</div>
+    <div class="span4">4</div>
+    <div class="span4">4</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span4">4</div>
+    <div class="span8">8</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span6">6</div>
+    <div class="span6">6</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span12">12</div>
+  </div>
+
+  <div class="row">
+    <div class="span4">
+      <p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
+      <p>It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.</p>
+    </div>
+    <div class="span4">
+<pre class="prettyprint linenums">
+&lt;div class="row"&gt;
+  &lt;div class="span4"&gt;...&lt;/div&gt;
+  &lt;div class="span8"&gt;...&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <p>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.</p>
+    </div>
+  </div><!-- /row -->
+
+  <h2>Offsetting columns</h2>
+  <div class="row show-grid">
+    <div class="span4">4</div>
+    <div class="span4 offset4">4 offset 4</div>
+  </div><!-- /row -->
+  <div class="row show-grid">
+    <div class="span3 offset3">3 offset 3</div>
+    <div class="span3 offset3">3 offset 3</div>
+  </div><!-- /row -->
+  <div class="row show-grid">
+    <div class="span8 offset4">8 offset 4</div>
+  </div><!-- /row -->
+
+  <br>
+
+  <h2>Nesting columns</h2>
+  <div class="row">
+    <div class="span6">
+      <p>With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.</p>
+      <h4>Example</h4>
+      <div class="row show-grid">
+        <div class="span6">
+          Level 1 of column
+          <div class="row show-grid">
+            <div class="span3">
+              Level 2
+            </div>
+            <div class="span3">
+              Level 2
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="span6">
+<pre class="prettyprint linenums">
+&lt;div class="row"&gt;
+  &lt;div class="span12"&gt;
+    Level 1 of column
+    &lt;div class="row"&gt;
+      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
+      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Grid customization</h2>
+  <table class="zebra-striped">
+    <thead>
+      <tr>
+        <th>Variable</th>
+        <th>Default value</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>@gridColumns</code></td>
+        <td>16</td>
+        <td>The number of columns within the grid</td>
+      </tr>
+      <tr>
+        <td><code>@gridColumnWidth</code></td>
+        <td>40px</td>
+        <td>The width of each column within the grid</td>
+      </tr>
+      <tr>
+        <td><code>@gridGutterWidth</code></td>
+        <td>20px</td>
+        <td>The negative space between each column</td>
+      </tr>
+      <tr>
+        <td><code>@siteWidth</code></td>
+        <td><em>Computed sum of all columns and gutters</em></td>
+        <td>We use some basic match to count the number of columns and gutters and set the width of the <code>.fixed-container()</code> mixin.</td>
+      </tr>
+    </tbody>
+  </table>
+  <div class="row">
+    <div class="span4">
+      <h3>Variables in LESS</h3>
+      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in mixins.less.</p>
+    </div>
+    <div class="span4">
+      <h3>How to customize</h3>
+      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.</p>
+    </div>
+    <div class="span4">
+      <h3>Staying responsive</h3>
+      <p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
+    </div>
+  </div><!-- /row -->
+
+</section>
+
+
+
+<!-- Layouts (Default and fluid)
+================================================== -->
+<section id="layouts">
+  <div class="page-header">
+    <h1>Layouts <small>Basic templates to create webpages</small></h1>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h2>Fixed layout</h2>
+      <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div.container&gt;</code>.</p>
+      <div class="mini-layout">
+        <div class="mini-layout-body"></div>
+      </div>
+<pre class="prettyprint linenums">
+&lt;body&gt;
+  &lt;div class="container"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/body&gt;
+</pre>
+    </div><!-- /col -->
+    <div class="span6">
+      <h2>Fluid layout</h2>
+      <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
+      <div class="mini-layout fluid">
+        <div class="mini-layout-sidebar"></div>
+        <div class="mini-layout-body"></div>
+      </div>
+<pre class="prettyprint linenums">
+&lt;body&gt;
+  &lt;div class="container-fluid"&gt;
+    &lt;div class="sidebar"&gt;
+      ...
+    &lt;/div&gt;
+    &lt;div class="content"&gt;
+      ...
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/body&gt;
+</pre>
+    </div><!-- /col -->
+  </div><!-- /row -->
+</section>
+
+
+
+
+<!-- Responsive design
+================================================== -->
+<section id="responsive">
+  <div class="page-header">
+    <h1>Responsive design <small>Media queries for various devices and resolutions</small></h1>
+  </div>
+  <!-- Supported devices -->
+  <div class="row">
+    <div class="span4">
+      <img src="assets/img/responsive-illustrations.png" alt="Responsive devices">
+    </div>
+    <div class="span8">
+      <h2>Supported devices</h2>
+      <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
+      <table class="zebra-striped">
+        <thead>
+          <tr>
+            <th>Label</th>
+            <th>Layout width</th>
+            <th>Column width</th>
+            <th>Gutter width</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>Smartphones</td>
+            <td>480px and below</td>
+            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+          </tr>
+          <tr>
+            <td>Portrait tablets</td>
+            <td>480px to 768px</td>
+            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+          </tr>
+          <tr>
+            <td>Landscape tablets</td>
+            <td>768px to 940px</td>
+            <td>44px</td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td>Default</td>
+            <td>940px and up</td>
+            <td>60px</td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td>Large display</td>
+            <td>1210px and up</td>
+            <td>70px</td>
+            <td>30px</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <h3>What they do</h3>
+      <p>Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
+      <ul>
+        <li>Modify the width of column in our grid</li>
+        <li>Stack elements instead of float wherever necessary</li>
+        <li>Resize headings and text to be more appropriate for devices</li>
+      </ul>
+    </div>
+  </div>
+
+  <br>
+
+  <!-- Media query code -->
+  <h2>Using the media queries</h2>
+  <div class="row">
+    <div class="span5">
+      <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
+      <ol>
+        <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
+        <li>Add @import "responsive.less" and recompile Bootstrap</li>
+        <li>Compile responsive.less as a separate file and include that</li>
+      </ol>
+      <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
+    </div>
+    <div class="span7">
+<pre class="prettyprint linenums">
+  // Landscape phones and down
+  @media (max-width: 480px) { ... }
+
+  // Landscape phone to portrait tablet
+  @media (min-width: 480px) and (max-width: 768px) { ... }
+
+  // Portrait tablet to landscape and desktop
+  @media (min-width: 768px) and (max-width: 940px) { ... }
+
+  // Large desktop
+  @media (min-width: 1210px) { .. }
+</pre>
+    </div>
+  </div>
+</section>
+
+
+
+      <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>
+          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
+          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
+        </p>
+      </footer>
+    </div><!-- /container -->
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/lib/mixins.less b/lib/mixins.less
index 5b05654d50..6d034cbcc6 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -162,12 +162,19 @@
 }
 
 // Background clipping
+// Heads up: FF 3.6 and under need padding instead of padding-box
 .background-clip(@clip) {
   -webkit-background-clip: @clip;
      -moz-background-clip: @clip;
           background-clip: @clip;
 }
 
+// Resize anything
+.resizable(@direction: both) {
+  resize: @direction; // Options: horizontal, vertical, both
+  overflow: auto; // Safari fix
+}
+
 // CSS3 Content Columns
 .content-columns(@columnCount, @columnGap: 20px) {
   -webkit-column-count: @columnCount;
-- 
GitLab


From b4c894961c0b75361ead496f1686eb3cf41c5c97 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 26 Oct 2011 23:24:22 -0700
Subject: [PATCH 051/576] address issue #414 and fix up a number of docs loose
 ends

---
 docs/assets/css/docs.css | 58 +++++++++-------------------------------
 docs/base-css.html       | 14 ++++++----
 docs/components.html     |  2 +-
 docs/less.html           |  2 +-
 docs/scaffolding.html    |  2 +-
 5 files changed, 24 insertions(+), 54 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 8ed81e713a..3a4dcff1c3 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -15,7 +15,7 @@ body {
   background-repeat: repeat-x;
 }
 
-/* Tweak topbar brand link to be super sleek
+/* Tweak navbar brand link to be super sleek
 -------------------------------------------------- */
 body > .navbar-fixed .brand {
   padding-right: 0;
@@ -29,6 +29,12 @@ body > .navbar-fixed .brand:hover {
   text-decoration: none;
 }
 
+/* Space out sub-sections more
+-------------------------------------------------- */
+.page-header {
+  margin-top: 36px;
+}
+
 /* Jumbotrons
 -------------------------------------------------- */
 .jumbotron {
@@ -92,12 +98,12 @@ body > .navbar-fixed .brand:hover {
   color: #999;
 }
 
-
 /* Specific jumbotrons
 ------------------------- */
 /* supporting docs pages */
 .subhead {
   padding-bottom: 14px;
+  margin-bottom: 45px;
   border-bottom: 3px solid #e5e5e5;
 }
 .subhead h1,
@@ -224,46 +230,6 @@ body > .navbar-fixed .brand:hover {
 }
 
 
-/* Topbar special styles
--------------------------------------------------- */
-.topbar-wrapper {
-  position: relative;
-  height: 40px;
-  margin: 5px 0 15px;
-}
-.topbar-wrapper .topbar {
-  position: absolute;
-  margin: 0 -20px;
-}
-.topbar-wrapper .topbar .topbar-inner {
-  padding-left: 20px;
-  padding-right: 20px;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-/* Topbar in js docs
-------------------------- */
-#bootstrap-js .topbar-wrapper {
-  z-index: 1;
-}
-#bootstrap-js .topbar-wrapper .topbar {
-  position: absolute;
-  margin: 0 -20px;
-}
-#bootstrap-js .topbar-wrapper .topbar .topbar-inner {
-  padding-left: 20px;
-  padding-right: 20px;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-#bootstrap-js .topbar-wrapper .container {
-  width: auto;
-}
-
-
 /* Popover docs
 -------------------------------------------------- */
 .popover-well {
@@ -288,15 +254,13 @@ img.large-bird {
 }
 
 
-/* Pretty Print
+/* Misc
 -------------------------------------------------- */
+
 pre.prettyprint {
   overflow: hidden;
 }
 
-
-/* Wells
--------------------------------------------------- */
 .well form {
   margin-bottom: 0;
 }
@@ -311,6 +275,7 @@ h2 + table {
   margin-top: 5px;
 }
 
+
 /* Responsive Docs
 -------------------------------------------------- */
 @media (max-width: 480px) {
@@ -385,6 +350,7 @@ h2 + table {
 
 }
 
+
 @media (min-width: 768px) and (max-width: 940px) {
 
   /* Scale down the jumbotron content */
diff --git a/docs/base-css.html b/docs/base-css.html
index e3b3782c0a..47dff40e72 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -197,7 +197,8 @@
   <h2>Lists</h2>
   <div class="row">
     <div class="span3">
-      <h4>Unordered <code>&lt;ul&gt;</code></h4>
+      <h4>Unordered</h4>
+      <p><code>&lt;ul&gt;</code></p>
       <ul>
         <li>Lorem ipsum dolor sit amet</li>
         <li>Consectetur adipiscing elit</li>
@@ -217,7 +218,8 @@
       </ul>
     </div>
     <div class="span3">
-      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
+      <h4>Unstyled</h4>
+      <p><code>&lt;ul class="unstyled"&gt;</code></p>
       <ul class="unstyled">
         <li>Lorem ipsum dolor sit amet</li>
         <li>Consectetur adipiscing elit</li>
@@ -237,7 +239,8 @@
       </ul>
     </div>
     <div class="span3">
-      <h4>Ordered <code>&lt;ol&gt;</code></h4>
+      <h4>Ordered</h4>
+      <p><code>&lt;ol&gt;</code></p>
       <ol>
         <li>Lorem ipsum dolor sit amet</li>
         <li>Consectetur adipiscing elit</li>
@@ -250,7 +253,8 @@
       </ol>
     </div>
     <div class="span3">
-      <h4>Description <code>&lt;dl&gt;</code></h4>
+      <h4>Description</h4>
+      <p><code>&lt;dl&gt;</code></p>
       <dl>
         <dt>Description lists</dt>
         <dd>A description list is perfect for defining terms.</dd>
@@ -286,7 +290,7 @@
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here...&lt;/p&gt;
 &lt;/div&gt;</pre>
-          <p><strong>Note:</strong> Be sure to keep code within <code>pre</code> tags as close to the left as possible; it will render all tabs.</p>
+          <p><strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.</p>
         </td>
       </tr>
       <tr>
diff --git a/docs/components.html b/docs/components.html
index 0e3f0a223f..59273ac195 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -548,7 +548,7 @@
   <div class="row">
     <div class="span3">
       <h2>Block messages</h2>
-      <p><code>.alert-message.block-message</code></p>
+      <p><code>&lt;div class="alert-message block-message"&gt;</code></p>
       <p>For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer error messages, warning a user of a pending action, or just presenting information for more emphasis on the page.</p>
       <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
     </div>
diff --git a/docs/less.html b/docs/less.html
index 806c2eedec..d5a467bfa2 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -185,7 +185,7 @@
         </tr>
           <td>Javascript</td>
           <td>
-            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>head</code>.</p>
+            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.</p>
 <pre class="prettyprint">
 &lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
 &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 9334e830c1..2a5ae8bc63 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -234,7 +234,7 @@
     </div><!-- /col -->
     <div class="span6">
       <h2>Fluid layout</h2>
-      <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
+      <p><code>&lt;div class="fluid-container"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.</p>
       <div class="mini-layout fluid">
         <div class="mini-layout-sidebar"></div>
         <div class="mini-layout-body"></div>
-- 
GitLab


From 19feb1b1ff56db21bc36106e3b57943ca490a912 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 26 Oct 2011 23:25:57 -0700
Subject: [PATCH 052/576] fix new navbar in components

---
 docs/components.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/components.html b/docs/components.html
index 59273ac195..c18d8c113e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -158,7 +158,7 @@
   <h2>Fixed navbar</h2>
   <div class="navbar navbar-static" data-dropdown="dropdown">
     <div class="navbar-inner">
-      <div class="container">
+      <div class="container" style="width: auto;">
         <a class="brand" href="#">Project Name</a>
         <ul class="nav">
           <li class="active"><a href="#">Home</a></li>
-- 
GitLab


From 20b9390a9e3a94dae86af388821aa8f458ba057f Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 27 Oct 2011 09:35:58 -0700
Subject: [PATCH 053/576] update docs for responsive

---
 docs/assets/css/docs.css | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 3a4dcff1c3..7238badb35 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -351,6 +351,21 @@ h2 + table {
 }
 
 
+@media (min-width: 480px) and (max-width: 768px) {
+
+  /* Scale down the jumbotron content */
+  .jumbotron h1 {
+    font-size: 54px;
+  }
+
+  .jumbotron h1,
+  .jumbotron p {
+    margin-right: 40%;
+  }
+
+}
+
+
 @media (min-width: 768px) and (max-width: 940px) {
 
   /* Scale down the jumbotron content */
-- 
GitLab


From cb13f010e2dd1eb8f37048b5664ff455b60eba05 Mon Sep 17 00:00:00 2001
From: Bulat Shakirzyanov <mallluhuct@gmail.com>
Date: Thu, 27 Oct 2011 18:51:49 -0700
Subject: [PATCH 054/576] implement left and right tabs styles

---
 lib/patterns.less | 72 ++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 62 insertions(+), 10 deletions(-)

diff --git a/lib/patterns.less b/lib/patterns.less
index f1badc46d4..1db3158313 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -379,19 +379,71 @@
   }
 
   // Tabs on left
-  &.tabs-left .tabs {
-    float: left;
-  }
-  &.tabs-left .tabs > li {
-    float: none;
+  &.tabs-left {
+    .clearfix();
+
+    .tab-content {
+      float: left;
+    }
+    .tabs {
+      float: left;
+
+      > li {
+        float: none;
+        margin-bottom: -1px;
+        margin-right: -1px;
+        > a {
+          margin-right: 0;
+          margin-bottom: 2px;
+          .border-radius(4px 0 0 4px);
+
+          &:hover {
+            border-color: transparent;
+            border-right-color: #ddd;
+          }
+        }
+      }
+
+      > .active > a,
+      > .active > a:hover {
+        border-color: #ddd;
+        border-right-color: transparent;
+      }
+    }
   }
 
   // Tabs on right
-  &.tabs-right .tabs {
-    float: right;
-  }
-  &.tabs-right .tabs > li {
-    float: none;
+  &.tabs-right {
+    .clearfix();
+
+    .tab-content {
+      float: right;
+    }
+    .tabs {
+      float: right;
+
+      > li {
+        float: none;
+        margin-bottom: -1px;
+        margin-left: -1px;
+        > a {
+          margin-left: 0;
+          margin-bottom: 2px;
+          .border-radius(4px 0 0 4px);
+
+          &:hover {
+            border-color: transparent;
+            border-left-color: #ddd;
+          }
+        }
+      }
+
+      > .active > a,
+      > .active > a:hover {
+        border-color: #ddd;
+        border-left-color: transparent;
+      }
+    }
   }
 }
 
-- 
GitLab


From f3128d0fa1f1f14104b7c4ffab54f083b99a108e Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 27 Oct 2011 23:00:09 -0700
Subject: [PATCH 055/576] overhauled the front page to feel a bit more
 marketing-like, added the awesome glyphicons to bring some life to the docs

---
 bootstrap.css                                 |   2 +-
 docs/assets/css/docs.css                      |  35 +++++++-
 .../img/glyphicons/glyphicons_009_magic.png   | Bin 0 -> 1426 bytes
 .../img/glyphicons/glyphicons_042_group.png   | Bin 0 -> 1386 bytes
 .../img/glyphicons/glyphicons_079_podium.png  | Bin 0 -> 1328 bytes
 .../glyphicons/glyphicons_082_roundabout.png  | Bin 0 -> 1516 bytes
 .../glyphicons_155_show_thumbnails.png        | Bin 0 -> 1179 bytes
 .../img/glyphicons/glyphicons_163_iphone.png  | Bin 0 -> 1235 bytes
 .../glyphicons_214_resize_small.png           | Bin 0 -> 1406 bytes
 .../glyphicons/glyphicons_266_book_open.png   | Bin 0 -> 1405 bytes
 docs/index.html                               |  85 ++++++++++++++++--
 11 files changed, 112 insertions(+), 10 deletions(-)
 create mode 100644 docs/assets/img/glyphicons/glyphicons_009_magic.png
 create mode 100644 docs/assets/img/glyphicons/glyphicons_042_group.png
 create mode 100644 docs/assets/img/glyphicons/glyphicons_079_podium.png
 create mode 100644 docs/assets/img/glyphicons/glyphicons_082_roundabout.png
 create mode 100644 docs/assets/img/glyphicons/glyphicons_155_show_thumbnails.png
 create mode 100644 docs/assets/img/glyphicons/glyphicons_163_iphone.png
 create mode 100644 docs/assets/img/glyphicons/glyphicons_214_resize_small.png
 create mode 100644 docs/assets/img/glyphicons/glyphicons_266_book_open.png

diff --git a/bootstrap.css b/bootstrap.css
index 0baa88d110..ed0556b3d8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Oct 26 21:03:54 PDT 2011
+ * Date: Thu Oct 27 12:48:41 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 7238badb35..66e87fdf9e 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -5,6 +5,7 @@
   Special styles for presenting Bootstrap's documentation and examples
 */
 
+
 /* Body and structure
 -------------------------------------------------- */
 body {
@@ -15,6 +16,7 @@ body {
   background-repeat: repeat-x;
 }
 
+
 /* Tweak navbar brand link to be super sleek
 -------------------------------------------------- */
 body > .navbar-fixed .brand {
@@ -29,12 +31,14 @@ body > .navbar-fixed .brand:hover {
   text-decoration: none;
 }
 
+
 /* Space out sub-sections more
 -------------------------------------------------- */
 .page-header {
   margin-top: 36px;
 }
 
+
 /* Jumbotrons
 -------------------------------------------------- */
 .jumbotron {
@@ -119,7 +123,7 @@ body > .navbar-fixed .brand:hover {
 -------------------------------------------------- */
 .quick-links {
   padding: 5px 20px;
-  margin: 60px 0;
+  margin: 45px 0;
   list-style: none;
   text-align: center;
   background-color: #eee;
@@ -149,13 +153,40 @@ body > .navbar-fixed .brand:hover {
 }
 
 
+/* Marketing section of Overview
+-------------------------------------------------- */
+.marketing .row {
+  margin-bottom: 18px;
+}
+.marketing h1 {
+  margin-bottom: 18px;
+}
+.marketing h2,
+.marketing h3 {
+  font-weight: 300;
+  color: #000;
+}
+.marketing h2 {
+  margin-bottom: 9px;
+}
+.marketing p {
+  margin-right: 10px;
+}
+.marketing img {
+  float: left;
+  margin: 7px 10px 0 0;
+}
+
+
 /* Footer
 -------------------------------------------------- */
 .footer {
-  padding: 30px 0;
+  margin-top: 45px;
+  padding: 35px 0 36px;
   border-top: 1px solid #e5e5e5;
 }
 .footer p {
+  margin-bottom: 0;
   color: #555;
 }
 
diff --git a/docs/assets/img/glyphicons/glyphicons_009_magic.png b/docs/assets/img/glyphicons/glyphicons_009_magic.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef048aaaae38a1a4758df72aaaf87f33d13e2be5
GIT binary patch
literal 1426
zcmaJ>ZEVzJ9Pbzz8;nI3h|HZy?IggmyFTsh+Ph{4-g<ZLCO7Bp(94iO*FJYw)@y6q
z<L(xnyeNtAL6(5QNCGjyhb;`1AdZ>Mmqb9~%OFugd|77H4`>#3iPI0pr?<PY4}>Od
zpXcfC_xr#1weGGbSFe0zC5B<EBOSpQdat+d>MHb{&iUujtHBB-tR5|C<pcv_0ZHqF
zcqAjFU<?XU;f3q44Z|w`mg5O45#7d#TE->V7*{@{BQ}P$ZO!X~*bgnd52j?*Pt1-_
z61Xh+iRU~~5Y>5@mOBOv*fY=-7YF)9pG0ikg16;4B#?oYfaf!cYI1o$QPkzo+CC-;
zya=)S{ltP(iD);@YX-zUF5naa18|0NQSMfjWm|9>P=Ew9NzqP<<=iv}0A9KXWX+J0
zTr3za*+M%%k+v+IBgtGY=gPTVnvo(YpU-D&(6kdFoMu6_guGKVo5~77Xo`lcTe7C&
zwxZCdWi3B}JY5JOqer8Q!m3$H6iOMH7j%+x0Wy=Z<0_&}D+cemabL6<FX)hrK~u{b
zBC1ESsZ2(>d$6H0P!bn$de%^iaY`Zy6_|mlWg@4jqDRPc?rB3t1r(H^CT8ugk)WT*
zW@U+EJR!#I1B{p9!xR;44=^D*==HLED8RS30@gNW3oIp~6PJXzfMt0P@VMK(Zib>l
zz#E{$K?;Q23;;}k36!}J)wBdvgtk$eE8pYN59D&Z0R>Al;+m$ETcta#S(=&Fbe!+;
z;88)8ReNvOvE(T<<h@V|8(Ic07J`%SXP@!{iegcOGzy-gykUk82RuFx<8B3Xm?lbG
zX-UG$aff*p<!T8Rc->)&_3^05*bs0NByvU)IZL(_SnAM#VwF~kY<CH#2x<zY!zsa}
zkX0;VOG+u|X<5`%bC;PB6lIqr82xRe-HeKixW(0i47o(Sc)X;0%Sbd5_HuC+(PnX)
zp^8S>K(oqR`J)rVDyT>>5YOK^vwhW?PeASWpt~lttX>C>+7-w5y%Jep*IePKtvS7q
z4@5pVcDM7^xedA5_lM>-v`&8M`}QnGn^zo9to^8dZR$+L{M(J!9_EfDn4P_KQx`YA
z^kdUM>)zS1`9w!cXm?{%ZtlGIr?0zf9JQPOeBFgVdhnW<xH%F8hkv+w;^g3L^3btQ
z9XoH-dm9E1R1bev{onpyhF=~3ysvIgeY0_Ngs3Teclu=IDbN!covB)veebB_t8Ehx
zO{AW>*wHaK(>yxHH|*e<Tf<Ym*D2%NvLn89XZogm_tNseu1XiiDC6<T<^R5WJN@#r
zH}-U$O+FL7G(Yz9@2BR@zxm=fU%c`BWwTCk7Df;EO?OSKXq>CMeQ;*`osT8+(63G7
pBU7tdl;1vdPH%eb!q8=`65AMit9Sq2p}75*jD)&^qwTv7{10K9<ZA!`

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons/glyphicons_042_group.png b/docs/assets/img/glyphicons/glyphicons_042_group.png
new file mode 100644
index 0000000000000000000000000000000000000000..29393dda1da3e71e88b4b44f2acc77a634076590
GIT binary patch
literal 1386
zcmaJ>eQ4Zd7|&LxUAu~tQoDgJq&S%FE^m@vau<7@_m%dhsr7nb9UU`G-n+}1FO&Cr
zABwo@lwlR845cWd7R3*SIGAXs(=x@*4fltjj{3)NL(w|t7aK#IZ?1P;{}>A-dEO__
z@ArIX&)`5`Tg&<uf*{(`{mBe|cj3FE`C9zkYTeq0U+Yk67!BDuR8m|>#58*pl4(=P
z!wgik%7b&Thaj5H>)By6EZ;4vwi#4>n_$^=Fq$BGwv-)39fOD*g?ZhIQoqj}rbu0j
zQul>qAUg?I(EF<{9I6gv)#{iU(WouGWKUVd1SUiZSvC#J6U$Mm#w%jkSJM<(GeKif
zYB8u`d5}!lE+j)i5KsXRNS+BYT(=+yn@JWhfCenhumMI8IaUOKtX~xN=4v@Hla%Vd
z@F_|a5OPGCE|p5b5*M`HJk3NR5ubx)1K1+qRV<{G1D4m-U`Rqwb#({nwnh4k%BWpL
zQ3^-8n1boZ@)EJ-)eD77Mwb<bW`ck=O+T-iwTCkBau`>%_OcZR(i!O4MOVfB$aOWq
zxOP`})G*Z4B|E3+8nrw%m4*g1p@lpg6jO@`M=svu>bQZ5k+jvK|23VAQpKXKiF_!<
za}mIY`GmwU$#{%UvB_{)NTgzkcsCGyXFkDlAl3vmj15bm8vtI4hq(m9q(C^vN=XK!
zI38<be5`>@TOLv@75YwntbQ4rx++#oxKKg1o3(ADF)D)v8`)mLcF4p~h?EsoxBRo;
z$9kmD)yJVGxwc8x8X@Xe@DG?UU>E^s$l~M~CM@x+6bnT{Jl73aiKXgTZCSw@c}oca
z*J>FSggJ>3A_+WXLJDvcjf2rt5$VW)^$Cp`s4f}0KP94}Sb1EIfCh6)(Lhvh-l#YQ
zU9~N5hi58=u|rebu^!qVMnlKgnzTqmFC(w1mrZZO60d|WF6|;dENwHi@Cv(lSK-T_
zy-N@)R;QD(Z29EEzNgksfHhCN)e0uMK)i2P8)}l2_P(E+*X>%n^X=cZKRz|RDtd@3
zUAp;T<>A#M#-a1_(<e3`eYNM_3+6kXMf@?jASf>pKaM{Z`*rZn=brrOnfZs(Cr8$I
ze%b!$)=vJWeS22Wxyk!C^xoci_LC#R4?}l^u6uv9bK&oQH@)~uS^oCe_vHKw7q0(h
z?zFgVd{*xJ^SFHGyA5Fc#A{N!wsF;|{pZxYx4Zh)-Z##)w;Vr4&3t}on!o7YWluiB
zfAR5Ot^Y`~=bDL)M8^#Wa!qf>uQ|GD=X-M(`{!Ffz44pfr%z4I-7+x!`nG0k_W6!n
u$I64Zg+7{kw)*vge)xm@f8fa3m1~FtliO!FIP#(Y_e-Y+lKbNiO#Bax<<`vr

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons/glyphicons_079_podium.png b/docs/assets/img/glyphicons/glyphicons_079_podium.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5544545182313acaad4c785762642963b357ac8
GIT binary patch
literal 1328
zcmaJ>Ux?du9FNy=%wro98SLc1m=mY4Hoqio(uV8RG=Hvz>+S4ScAMgwCckTQ%|DZ0
zZSQd6rUQ%OtWUnl3c?{G^KIZj1%245=N?3554r~t-^N66h%kTYwYNTu1(N)JzkEKQ
z@Beg{mlh6AJvK!U#KB@gDdYDHzK`sm#Lwp^-hC0jrjfdeR=hRT)&odLrdNYx(b4O$
z40Utk<!f+`AY%Vml~uG_S`-b>N$3$K(Q$mtCWyIQ$JdP}L}U%tEjLTu`uq!uw9G7Z
zGF1X4Uxp2<uo=LW&83R5*)%dHm76E$IwBTuAkxW>W4oc)$x;Jd5wD|Tnj!}f)XY-5
zPOX-fN!be^nM#1T0eC?2OoHK(f*>3xS-=1qur$NQ8A0S&5dd;{QP^5wu8Czu8`{FV
zEY(2B7iqfPZYSDY!VBs&lgVTv4VH~#L_FMZk=}{B;p|93fuRvtKC(QQj1={n*Fsqe
zd%7Ef<CjW%!frTB6iyl4(S4dp0NQb)xCZDDmEk=%?u!m98$P7VF!Wl1f$On0J0j!U
zJ=o9)Xc~JszZKYnI8B3wHguqiLhKYX@CbV@o(L>lK;2e6qZNHEDp{)4vP_XrsXUhf
ze43XvhEehoud+%yEy$`Q=aWE)j70+DM0}DkF_+B<a!Sf``E)YLFe*q(tfnwP<#+&i
ziI+y)q8lRJHDF{k;#&8(>;t)?96%j;LB;dzQL8LBJmiH9&nM-T6j{;@%Z>I?9fzL6
zz<LFmTHrb4pb(;UANznw1BMZBge(r8VbU7UYEmkb;<+SXHI^E3&9Q`y;?`sV=W2`#
z(wxQ!85uX3paPDfu`{M2A`97Y*rAe*hAZ2Ox<s^fw~o^hH{qJzvJo|3w>SKTWq59Q
zCUkV$K4a=ZbB>Oh(Y7#mu-cWO$HWK6W8FJK;*p4!d$Wi)d(#YEJi-B<)$XaM96aYg
z6cwq`xl#M??%iDMv)6k)hA2$meD1GD8ZYJMxevCi>BGN0VIF!k8=u|Iub-ZrIIe7+
zI`QnU7tihcGT--}o?LwL^dAc!U%dS9d;30gsOqJu>z_=%di#6jn`-5u+H3jl+ZWza
zq|~>C?K?kSe&-ik+W&X&edp-8JGn#GN|o)0J8|XYmG0sjLT~-j;}_<YpKdK|HD-Ti
z`~BDpGj6|pwfDQcer)Dw=ezSC{n^*nzh2uhs?D1dv1GyOo|V*NThGLrJJ)aIuR!v^
a;VN<V&0y!N1M2PQA68VCluz^3^Zx^<@v~_F

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons/glyphicons_082_roundabout.png b/docs/assets/img/glyphicons/glyphicons_082_roundabout.png
new file mode 100644
index 0000000000000000000000000000000000000000..bbda0935c54e2601092be9ad2619ecb658b8dcef
GIT binary patch
literal 1516
zcmaJ>TWr%-7<OnWgS8rn4RO&X<BGuwiI1JcNlXGbHyR+NN<vpvNZ{HhiC4!qwnLLj
zn<%hN3@Y&gOh^pSn9wGHs%_8-Cg^}saT%i9G#G=83f>qnE`p6+*l|co9}t#opL6_u
z-+%Xp=B9;p<ED<oFsv@t7*3$~H0yq$20eRzyuS>+rkIgdGpVM{PF{x?C#vlbkLCCb
zOh8^Nt~v$%7*_RAO0}A;@g=OF<{Z3*aTIbIVq=(penI1f4rt=-Fe51e;`ZUA1TKjI
z;!SrP#I+F2N{wAQOm;P;gsu+3Cld4L;r;@P1ai>i@j^~k47Ly;O1dmsTgN1Ummp?G
zfOz6mYrGi`sXD~n4qz7m18|0NP)?V}<C%lgfC40-Ns6{p9@a^-0N~||K-P3I%_hRp
zvMsa=5LwgISd#4Q>~wTG9jcxoDWA`0Y0$JCA?!v`G5LaBG3qM{VQ2`tq?wYc;Fcoa
zuI9}EfjoT@LQadvhlLfRoG6qsvcPL3<p5+ZXT?=Q8)gDNb>o?6BURKOnSh3x*9BCM
zbbW=4a`${g6`&{#<Fvdkm*Nx!63Q?K71KaYQ6-O%=j>8lLIvdIuqx!Oud#4|$mb=I
zW!w?Q=>v?H2}LO?9ORe?9rk)Xp$HcWx`4+rW(kZWq7#RRxFHwE(ZNV4=yka$DgwM5
z9Su_;;$#3|IEJfmV~Sz&iU2L67FT-84L+C4hIGiAs-99+xzZ}lS=CgHtg7Lmq#KX(
zf}~h`tBz$)p)Re4VpLaic&QMq^bGre@&bzTpa^LcJVkk<3?1d%J~!iZ0Xj+(Wv)0P
zVU@U}ArH#c2rlqCqm;)NLQUq004G5rXGDQDB~ymw4&`LCypkoWOIVp#GAJE(5vKXP
zY!dS_a#71lf~puRj2th^D@0!J@RL?E$`az1R!?Ne5#pue5#3usqLHwc!?TDs!_y2E
zG{QQX)$|SgIEL9a#==~xaOumfgR9no+V|?VJrviORflZ#AJ(y>uI#G6PIoWN&b7%4
z=Gtyn@0sYmyW{H1(}k-2xBpvTeP-v3Gh4SDXz_8g2Qqhe)=X)B>GLIlBR^a|H<Q(_
zZCcnn=4z6RGu2<rp1yqBjEmfNzfAo5->OFo23vM#A77Yrrfu?{$yiU}_2T{4YI_py
zESBHhoTy)s{gqgg`Ny$*7B{dD^lgo#4t{gu{K;b5K>t)%gOF@%q_=;v{p+2<-Y(6?
z%n9#3JM{6pwQqqNjA!!keHTvMyVUdcwT@-K|MA&_f_ui|b7}3;&}HYHwaUJucmCS-
z{Q<K2(Ad7j`~FwP`oCIxWZR?bXKyyx`r0?#!8#sKU|!st{y91GY-3<9cX7J^ynW5y
zQ`D$bZ~V%}fh||BRG-*jE?!_0zdgOQb`!RTpU}PMMD@m59#{7wzin{Zr#0JG2I~74
z*N(sa#vndnQgMi?J$UQbweHo&*dv>Pa`^P<4~E7c9{r&I<mMd@C$;>x?AB1*m>usV
eU;U}mR)c-CsNvrFp5-^J|8FeP6y6_Px%PkgwiJ*6

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons/glyphicons_155_show_thumbnails.png b/docs/assets/img/glyphicons/glyphicons_155_show_thumbnails.png
new file mode 100644
index 0000000000000000000000000000000000000000..1062f4844e326ad2ebe81ee5eb0edab6d99d6c3e
GIT binary patch
literal 1179
zcmaJ>J#5oJ7&YQYs8S_ZkU#>AD>f3}*@>N)rmbtoG!iLQ8i{W0)xIQ0ZJ)6(#O+j7
zVqijIVnAYJgoTZPr9xt%J1a9F7GOXscWF{GpjxthcYg1E|9-Nvd}n&<%9JEY(~Tv!
z#ow32ef}JO?!OIh^VeloUt_DZ!v-kDk{!@ZEH@(5#Vw42?S~)ntR$WOMcQj@t$Ek-
zX;ef4Q_Q1;vn6SEK2MOpg_*pGyCkkD-`~AgWD?Yr`{gERCJyeArJWS7?ku<coh`o_
zDD!jjY;JLZ2s0$-Q5a`dUQ>p;7GH~FRgs4fwpCM(oLXzH$PP`hTrPrw4-6n1un6^%
zX_~iW4M3m*O@&$knwG9v0LY_D;nvciW3^mwWQ*@=N{_L`Qq{p=P#ow*ns!xKtyYDG
zrWH7%kZs2d<%Kw#87sIr^HY*ALStDdqD|UoHHCY66hf3Vo5#X&HcAvvnVO?Sg+-u7
zk%()E&R7fobK}40ti7FJwS_a<PkmmG&diw1b9b_#F);9taY;W7hj9kJibEXXm}T54
zIP{2nZrw`>FCYqC>i5OhhFeqmeG*tkxo+rHU{nmpgV0^Hjk@MmDyCDnoy8I`g)t#8
zN#rNRfOAX0HVkN&7As{P!aAtfn&(1L*9`y++px#nMw~Ge`&bwiT=I{rpUAbG6eC8{
zHl^XXRaSbG(X2-k*;y^iP2`hU>_r_%p5l}|!hx64NFEl#BLA@uU<E*E@(48^JcJd`
z&^)_bEgO0XXr88wxWPoi#&LU&$#XTq1r^<cX4T<MX4ZkOsN9*rw-{j|9(AZ4ve7Ce
zqD!n0#a*6`LV!D{A2MaG8*V2(;?p==&mt6t>j6r)W>wLQA>rKN>PSYN5FZ{-bnh6+
zM?x%*XOVA?ry0k5gi}7N&p$o>$>-c^xOO}Lycuk4{65${`{(fR<waN5v}ZRD_7`Tr
x1MqdabLPXh3)zpJb*-G2u0DPB1re~YdrErq;>PvHUdb1~i$;CfeZ9D`_ZP-jb4&mL

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons/glyphicons_163_iphone.png b/docs/assets/img/glyphicons/glyphicons_163_iphone.png
new file mode 100644
index 0000000000000000000000000000000000000000..bbb71dceb17f06c6de5a51ae65d0f8dd3af28174
GIT binary patch
literal 1235
zcmaJ>&u`OK9QOdhR1GwQR0@ag$xIv=iQjW-JF${d$Bt<vQo1w}y|pj)Yhr5qdG^ba
z_Amj{#5Re)VTXysI3TzoF$9N-pW9*A?XYUwangh|!~vx8oF;7!sFrNM_x$;MzQ6t5
z{M`A&V<*Q1K{#BUwd(wRgx?b%9^}vGPky<?Unf{)kuA^_*2OUq43{<us0O%2>IA!M
zUpym4LD>J=Yb>(G+6CRAK^CW&Y%hp7TM&xpdJ%S32?I^i^1_n%-~ERo@Z6GkNvXkF
zWRkWwyB?E;^|^+#zUmZQ@!T{h_H-@~5Qaf7@WVv!mBhZT&e!R&B!WJKt(L@Xrxt7T
zz@#w&N)~1us6wEkEXqx3nsye*5J3sb5|T4W({r*8AsAdDw-&oAdfl=Iw)n0jwi%0b
zN$PgH*={aN<CcU9g+i(!%NdTyBx@nVy-b*#8Y);MabhoG9t}aNh?}&-N+S1kJA@#r
z)pmr#WRNJHGO33n31y)a1ZiA-bi(Rn*Nyk0lg3&^q&i7xCw6!}R!$AcJa>B=8UkHs
z2N!i>zaOXTNW>=r30cCOLVb_8=laFi;|0XNMV(IiwQ7~bPRDa~RjH`C0#x&=X(MEn
z4YeX$`MhRU46{51wbWQDFiPYnS(kHV%}^CvM&-PsAXI^QL$)mhD>)TH)liKgw;Co4
zhYm@Nrd)5A3-{#eW=t@naf4ES*edgF%4pK25il1NP{WQFru(#x15ZipeMww9rUB>|
zLigTdAEG=&NaGR8Ja~liwkq3(Qc%>~6qIdQ9B|!{gbm}iO^xSjgbVXI8)*fTH<?y}
zIZ@)yxQ@;|=958(8a^AWd@t=1-N#{zrz7K%72NTeINkEsqPFMIFj-0h?E6bDj#rCP
z+Kj%(x&76)j5H$NKOX7cA(D?oy4;yXzS)^(67ms_`K*3(x%xey^SEjmjo$Cg=JN8L
zLw~)VdHcic+sRwkKdnW-UYIFgxyrz!jhWNSM)S?lpIXPh1%EvL{Kk(buRpNI|Nr;e
zf$7Z`|J?I`7B<G_ZycZf?cV0r*48J+#Kz;BFZYkXJYd`QS05j|d-v(ruQorM{PXWK
clOOE+NTA2H6GxsFAEv*VYGuy4U0%NS4g%4SdjJ3c

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons/glyphicons_214_resize_small.png b/docs/assets/img/glyphicons/glyphicons_214_resize_small.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ecaa72b2f363bd51d4f83670acce3fd30aed692
GIT binary patch
literal 1406
zcmaJ>duZHr98bGzk(PC<o33*kgcKZO-sN$<<SzEs<??7xceT5gTIXX;lV7i~c`f<f
z?ykaChhq<>J4FO>!X^$xbU2h@eJcoVqJxRxYMC2!D8gQ#Or$=3x!!gCV=R#5_xt7h
z`Fua$R}S>`b}wzZuL;AjrRg3ii{5R)eODuTUMwX4La)_O9)kVOC@iQRzy#eH0eIR{
zb07;;y|m*r=)|xkH;sWIIF#AKYmOCB1Di<EauFKCI=hOls*MAPkAR$ECy8qxe@@_r
zo+KWPWvGlRf-$3K!UO#iy#w0BxR%g~u1$Dnkw*j;fGS?JOxx#+Nut8bqjhjh5_rV~
zjwgwEQA3$NTy#8u$0Af%qgV=O=?ER|;5hC9oS|rnq!^NB!ZgQ68J?o>>O~-Lo<7QF
zC8g>M?UKY8gf35#g+d`xh(;VQN79KzBH&<{FtP~yB^#>6u<f_k7$o3pp5a2nvGIUW
z9dYt7Ng$>3Ay{rEvp{V7)kL9`kww)d=?FzyRuEUk+J{+iOU7-j{ehAT$Sm-kyr-dh
zjJDUnD0g>uR5R4I1v@wInUy$ojRYpJfDL^limoU^%K1k;0~Js;B}dB#U(-^O$mb26
zXJaxOO;Bu{6&0G6QUWV8QasLyvLL29C@ydo5G)3wlZcM6ObWs1sE~@Y6iv%iTwoN5
zrsOC~QLMlUHEi1Up=xU&a2jBZTiC=MvApO36*}I4<CwKp=^JyP<BvHmF80UpjH(%S
zun+23RSG;~C(sqovG7VEc;hzyDLRfcb0|Uv1y9p)g=G{WmWZ*@4vJA2qKefQC9D>=
zB628Ki?CEYs?c0QL`}xYRFoi*7+vF`0ZmZtP{D-Nm1zWB!kem{L+J?XU{uYUkl2(n
zOYWGVIkvyuw^Y;IuB+a7CmA%OX&`K6HBUn>BCi}T>fV|q8i`=JFpFrjFwMY5BkZAB
zUAqs@VOZU|v?L4^r#~3H)Vc>>*?9K9Q_tF)*Zg$<`No*g-jTAinc+3RHBN{AxOlX@
zqP%Ly&2<N_eYUK4c-e+ukGyHVe6AVZbF}X2s@D3GlY`iqy*D;aZiGzBhQ1{V=9hQN
z<@#r2TwXi-#0%{W-?x0VdTRf7<*9e-e|a45`eyxXlYQ*f-6Jp7f7(5HeEIb&|9tY%
z^4ZG=Lx=x9GJD|exzLv8<gt^3b%S{CjouaM2d{s<FSPQ~z3<h{h|lf(_T9$};(hM5
z{Us@UzGvn`q6Fa9wjaMt5pTV8>Y;KeG;wJ1irjtHZfX1B%%P`SU-@}X9&SiH^@Vuh
zZRYh|t@!U(;kFZ7pNySryWDVLYHlXJzCqc%Z7+X%<l)9**YUaMOU)D(*QVe2cUS1o
P;E$M=d!-Yp;XVHY3r^Ts

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons/glyphicons_266_book_open.png b/docs/assets/img/glyphicons/glyphicons_266_book_open.png
new file mode 100644
index 0000000000000000000000000000000000000000..de084d47227396df76e176a105008f69a94bdb78
GIT binary patch
literal 1405
zcmaJ>TWs4@7<N0_P2DQC3A92-<+|);CGj~<V<%qHk;E~}w6vuSZ3<|eYo8`oe8YA~
zT8ikphiOpS4Iw~W_A*Tx9h>?Fh)G+;E+AEc7o=$#5`zbXrm6^#CIJ;3r%Bg`X_joC
zbNqeZfA@*Lp68mIo@^orqB(Uy=*RCCeDB)Qh@U&!=Y06}gqzH|1Ll}pl59l86mt}j
zDP78;ek3X5uY8Ll1hMI!n#sD^^dVk0b-(0c{AJz3Y=VgFFI$paKrT6oa;g!fR=&DS
zk*X4<hJtC3wh}0>9+<Gvz(h|*o+!v+h1%auM#?-E(2*;VWnD8Iz8s}0x;$Qc$23J&
zAZ{T_tvQuV_mK(HMr6<rd@^7G$wEI2ba5Q_49NfpXu!~r@j;FcFgyTc^`fvfTN&f~
z1+i)i@1j)RbuFHzOQn*(6!4pNj)viI*wbJbA4d3`al@6$KEvs#DG11sZPjvB(;z)X
zY1AybQ3`vy7J_c2)9b>9Q%w|38C{kv8u|gP>t0+HwBz=p`))iC?PSI+ME4`dEZQ=z
z$5=;=jC1#JLp7ixuj8zutySVwWEyEmM~3TQr(ne+>^a|StGIxYCYW;3`<fD>RI#Wk
zJR3~1fiPf0Y(j)kh{xC@BZNX+A{k4>y8!1I^8_{$@rhr-++>i2@va0H53z9wlOPmh
zL;-?ifCYe!v9TIAWjL;6$jCG5an<`=_Mu!pVI#>k?Tl$^wN~lNo382PO^Zwn1j)1{
ztA@At>R9y@+3KrE5p7c^D}~_I2iONN1R&&agbWTI!jQ-^Vk{UAvVktZhzwQbDjO13
zi(5=^I9D6EAQTWG7f#?N<B}ji(byS9=3Uj*P_;v2np<6Is@EmFCK)-L4xfU?q@w0h
z-8pUC%B!+zI3tcOY1)V)*@X!0HKV3tZe_J5LvIkT9B=5}8WN9$w_Kk^yjh=SWZ)6D
z@vNR}o4iX9b-PnSEK|O9d+@F1>1Vesr-{~Y8kzczg}RP~`qtkX7mkMNLUr1d{>SXQ
zTW{PDp8x35?!VezUk)A)ehp3*u741q+t2*Ey3coW@6aRUJJA30hl_8Y3e=Ow&Dl=K
zJpTUE$F8>*XLg>yyTaP7SKGLQnH|}pvi-`){M_gEzGIu)TV90SD?i>oLA-S5pQ(FW
zeLwxu^j)WwZ7>F3n_s=qcJtun^P8RFRrAr=|DKvWG{yB^5@z08o!fIX=>N2pDH%(P
zUq=5N`a*74VLHDLTqN#%0-CPv6yH3vy|8#8^6z6?n#GsTPA?6gy_#xBMJ78>w|qSO
z+1~u}@8TwTPuu*Ae)1N(>kWc>A(lROg!y~&N@$6-(d6ON_1lQv<GS&KZ}6J;Lrf)m
Kgp2Vb)Bgke)zRYs

literal 0
HcmV?d00001

diff --git a/docs/index.html b/docs/index.html
index 64947dc15e..4524b79506 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -127,10 +127,82 @@
         </ul>
 
 
+        <div class="marketing">
+          <div class="row">
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_042_group.png">
+              <h2>Built for and by nerds</h2>
+              <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
+            </div>
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_079_podium.png">
+              <h2>For all skill levels</h2>
+              <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
+            </div>
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_163_iphone.png">
+              <h2>Cross-everything</h2>
+              <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <h2>12-column grid</h2>
+              <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
+            </div>
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+              <h2>Responsive design</h2>
+              <p>With Bootstrap 2, we've gone fully responsive. Our components are flexible enough to scale according to whatever resolution or device you're using to provide a consistent experience, no matter what.</p>
+            </div>
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_266_book_open.png">
+              <h2>Styleguide docs</h2>
+              <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+              <h2>Growing library</h2>
+              <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+            </div>
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_009_magic.png">
+              <h2>Custom jQuery plugins</h2>
+              <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
+            </div>
+            <div class="span4">
+              <img src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <h2>Built on LESS</h2>
+              <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span3">
+              <h3>HTML5</h3>
+              <p>Built to support new HTML5 elements and syntax.</p>
+            </div>
+            <div class="span3">
+              <h3>CSS3</h3>
+              <p>Progressively enhanced components for ultimate style.</p>
+            </div>
+            <div class="span3">
+              <h3>Open-source</h3>
+              <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
+            </div>
+            <div class="span3">
+              <h3>Made at Twitter</h3>
+              <p>Brought to you by experienced engineers and designers.</p>
+            </div>
+          </div><!--/row-->
+        </div>
+
 
         <!-- About Bootstrap
         ================================================== -->
-        <section id="about">
+        <section id="about" style="display: none;">
           <div class="row">
             <div class="span4">
               <h2>Built for and by nerds</h2>
@@ -163,7 +235,7 @@
           </div><!-- /row -->
         </section>
 
-        <h3>Quick-start examples</h3>
+<!--         <h3>Quick-start examples</h3>
         <p>Need some quick templates? Check out these basic examples we've put together:</p>
         <ul class="media-grid">
           <li>
@@ -176,7 +248,7 @@
             <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" alt="Simple hanging container for apps"></a>
           </li>
         </ul>
-
+ -->
       </div><!-- /#overview -->
 
 
@@ -184,10 +256,9 @@
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-        </p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
 
-- 
GitLab


From 9fd4e459fe829454c811118c64aa32eafd6e8b97 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 27 Oct 2011 23:34:48 -0700
Subject: [PATCH 056/576] adding more icons for the homepage for open source,
 twitter, and html5/css3

---
 docs/assets/css/docs.css         |   6 +++++-
 docs/assets/img/icon-css3.png    | Bin 0 -> 1145 bytes
 docs/assets/img/icon-github.png  | Bin 0 -> 1191 bytes
 docs/assets/img/icon-html5.png   | Bin 0 -> 1230 bytes
 docs/assets/img/icon-twitter.png | Bin 0 -> 1096 bytes
 docs/index.html                  |  22 +++++++++++++---------
 6 files changed, 18 insertions(+), 10 deletions(-)
 create mode 100644 docs/assets/img/icon-css3.png
 create mode 100644 docs/assets/img/icon-github.png
 create mode 100644 docs/assets/img/icon-html5.png
 create mode 100644 docs/assets/img/icon-twitter.png

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 66e87fdf9e..79c9047743 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -172,10 +172,14 @@ body > .navbar-fixed .brand:hover {
 .marketing p {
   margin-right: 10px;
 }
-.marketing img {
+.marketing .icon {
   float: left;
   margin: 7px 10px 0 0;
 }
+.marketing .small-icon {
+  float: left;
+  margin: 4px 5px 0 0;
+}
 
 
 /* Footer
diff --git a/docs/assets/img/icon-css3.png b/docs/assets/img/icon-css3.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb3651bacd68575d4a5be5bd3e098031f3e4aed3
GIT binary patch
literal 1145
zcmaJ>O=uKX9G@g+l@O^$V?GY@n3TF=cD}N++ZnS-HaolSiWAn!f=fYkcIG8JP3FUy
zm+mGWk|sH%U=KMoo(hXlsyW0`q?Zy6lpfRs{J4lh{lJ6Zp?H%j=$n|09^4Mhy!Zb6
ze!u_cn;)`6$96Y$HW37|JCl|aytd$X|E>W3&RjH)<D~;7^Jv%}K_%6NL|nHE5M)es
z6e>{FC(qr4y#&$lrIE{{ynI5`Y?D%b3{^HA%qEE5{<5QLV-SG?95t*M`R|`MNMPtO
z@)R#KvXg*CBR%E9;i;jVHZ`URI@#X`ddngfFd<Sw*&Me#u^b~ebw#}Q%`^!%A!sZ{
zeh4ZrXF<YtA>b({q%jc|M8XssW`wZN4LF8nXqKayXozJ*J}NRS*m_9p&DBRlMM`b?
z!lxKnM92|ox>PDrr5?(5M`>0N1e)P!jtgN#$eXl~S`JxWS5-lRp5_`3GHeU@ifX~0
zKrs?W`XL3=*_O4utuo<)(Ph=4S&H#fssd&C|DmS2jrNcNKgRo6VJ|o7Kw5#GJ>hD&
zaU)&6D@RPYP(`+zv+eO}6|+Sf*<R6hKw_AuSRkvKVfmI#hAfL2%R{QA!Hg6mu?A%r
zy4Vxuqwz%Y>y*H=ESqHFe3Tz#qv4)-G8~U{Qk5&&+Jp%$RORX)xk62@KMbaWJxkCv
zzJq$owN0>@v}n|hB~nvwi>ud;C0dh9<6vmNwV$-QYQpp5Z?^{*AGSvyT6o@FJlM+@
zuP@_E@iHUDbLEGHoT3yefwO~!(fU`@+^Zw{+=au=oko4GImo=|{yqNHz<Rp=pC4}n
z<@>tG)x~{xE@fBG%)IW~$Jci*yyH%GRTl5>y;8T@x{+*t9{7WbwEaysK1q?yPj?oC
z;G4ERkLNq)$N!UCPJ12Swm$%&Yi}bv7dC!te^U3;quGOfU~P7!;fp<o5^VY|2bKcQ
z9I&+3s)4ocVDNRva=KIAn_h2S2vrVLe*O9IKyTZ^^z4rI#amt3Z;m%S3l?WC%^l6Q
zQGXp+x{z;*9K3w$US(z8xIRM%+KrQg$_}EwnfN7@gsF3x^Zw5ulN^#(2G7pE2hk92
AO8@`>

literal 0
HcmV?d00001

diff --git a/docs/assets/img/icon-github.png b/docs/assets/img/icon-github.png
new file mode 100644
index 0000000000000000000000000000000000000000..8afcce9cbad95d92521ac14da65ded7f6d8aa232
GIT binary patch
literal 1191
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3HE7rssMADajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49qH-ArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8
zNvY|XdA3ULckfqH$V{<S3ODsN@GWpo&B*kqDoPEm@(W3>%1*XSQL?vFu&J;D8jzb>
zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}mUbW};_k
zVqj@vsiR<IU}&IkXrymou4`yuWom9^V5k5EN<iC+Qqrt~T-=~`0eQAc86_nJR{Hwo
z<>h+i#(Mch>H3D2mX`VkM*2oZx<D1W#g%y_i50qe#mX=fTvCgZi!uvJGV}8kKqe+8
z<(HP&Dgj*z@j`9^+}ONgXfOc-Our(rK;KZ$0OTc@LSJ9}N^^7Js*6j4QW5UOYH)E#
zWkITbP-=00X;CsT;?k5sRuxz|7o{ea<QIkH=jXseF(4zqB)>Q#zd*q`*i_F@!8b8E
zGY=#J*5T`G<(XGpl9-pA>gi&u1T;f0Gc(1?$k4#d($Uq>&C=A!(9qSu(bU}3$<W-y
z*wNL*(b32Srq?AuximL5uLPzy1)<jnr(RHE$SnZc?2=lPS(cjOR+OKs0QR(1CQi4w
zxZyMpsy79<TMTgO)dxC89~8AnQ4JFUrXLU!o^XL2c+yYJ1E%*PV8T}P)y`&MV3hQ9
zaSW-rwI!sHx5+?&<uSuu2e$;4ISzLj%oAA53Rv6}{2p*z<&<DFUlCuV>b_94*UYl>
z?ftL&{^n=(c>Xh;vOp-K@#BJx%kFi`u-bZjyUmrg;On(h6FfW}LsK?)vAmwp(Y9J?
zQdy_O^s1BHwi6P?r7v(w9qc{eXY`0S{aJ_J+^UBYYGX9c8oKg^n(q>IV(SwsSbNOi
zX40kz%|ntA>ux?c|M+y3^iIDFcJrI;PJNq`6|D;o=zX8+6#ht!^J;U`VwrGRE9rGv
zu3yb}9%_1}8NI`CzpmQS#T^rpH}dazH0{L6g||+f4=z~t>Ta^1Yt+%D`NugwZmxSQ
z_CeM(?kRhGLsDvLx#0HA*BkE3yXQIUU5dBes?W&A(71ngd$V%cY*5kR>FVdQ&MBb@
E09?P6761SM

literal 0
HcmV?d00001

diff --git a/docs/assets/img/icon-html5.png b/docs/assets/img/icon-html5.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9066c67268f25a393cfb2add703aaaac755c09c
GIT binary patch
literal 1230
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3HE7rssMADajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49qH-ArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8
zNvY|XdA3ULckfqH$V{<S3ODsN@GWpo&B*kqDoPEm@(W3>%1*XSQL?vFu&J;D8jzb>
zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}mUbW};_k
zVqj@vsiR<IU}&IkXrymou4`yuWom9^V5k5EN<iC+Qqrt~T-=~`0eQAc86_nJR{Hwo
z<>h+i#(Mch>H3D2mX`VkM*2oZx<D1W#g%y_i50qe#mX=fTvCgZi!uvJGV}8kKqe+8
z<(HP&Dgj*z@j`9^+}ONgXfOc-Our(rK;KZ$0OTc@LSJ9}N^^7Js*6j4QW5UOYH)E#
zWkITbP-=00X;CsT;?k5sRuxz|7o{ea<QIkH=jXseF(4zqB)>Q#zd*q`*i_F@!8b8E
zGY=#J*5T`G<(XGpl9-pA>gi&u1T;f0Gc(1?#L3*k+}Op`&C=As(9qSu(bU}3$<W-y
z*wNL*(b32Srq?AuximL5uLPzy1)<jrr(RHE$SnZc?2=lPS(cjOR+OKs0QR(1CT_PF
z<1`PdHwCv_OmOPe2RcR{6tzfE4HE*U9}p9saDg0n(of9;ruQOX!gksE_9+7cql2f5
zV@SoVq>!K>t1|}<Bph~-v^d0~5@#I17uU>F<;dC`w_(A~7a{`j3PGD01!gNsx4c=@
z>=5I&#Br|&+g>+*<v^i5%8l<#Q^Y-;GwT%oIe1Ad-0i{PRnPM1{gNY6dg6@@mI9j}
zUfjcd^3iggfZO$srkskJdwdRv{t1wJ^69;ffj!eknJXK91~hME47fCduU8~(Mz#aX
znFZGanjIbph8S^myuHX1)sP~<JSmP%O+{RB`O-*-8ky)f3EfpC;tQ9nPDqTO5W~7D
zL2}xcwxkQ(I-GCq1hzXF?mO~BYPzFvg9S@RIrB%m06|7kc2QG5hc{heZytP+@)71R
zXZmQp<w(~=iNc*6vK)e^<P@4B0|ErZ<Zd_qPz(v0*pN11`g5j2!!0io6IjHy?g-M=
p*k-dpf~Cyiqg_VMB8CPAW`;jseEc<!orngNFrKb{F6*2UngECum7o9s

literal 0
HcmV?d00001

diff --git a/docs/assets/img/icon-twitter.png b/docs/assets/img/icon-twitter.png
new file mode 100644
index 0000000000000000000000000000000000000000..98241d098d9f021642f1ecda4b115bb411a4a70c
GIT binary patch
literal 1096
zcmaJ=OH9;27%r>=t`LZiM2(SJj0fZP#TIPCx>>f1EK-8YCX#ru+YV6KcDn807NQAJ
z58_2*;v*h>#e*lso6#7Jaxoq}C?3$0CMG5(#0Q2biqnN%J-9ZR&di_x`~KHA6TLlq
z>Vlhs1VPj#JLMGK*Wk6TrV9VZFPL3;+lUhVs1FXHyy^fVro#*%lcqWdQb5&5b5B7V
zK?JrL>3-C&bW0jEY1Q|kJ=4Z$f@q6+wyF&SL}tLCVMVCf`wuD7&?D4-L17g;4u*`*
zF$eUG^`y12VNKMj=x(yjlQ4k^kV<-H)^a5;LKS!=eD=)@MHXDpaD-Y)s$c0P<In-5
zK(ir@ZQ;n4FwKQoF)Z#Rd6r`tj%V1`5XVYFtHg5T@<-uljy@oz<c{T7_!gmt5V9qP
z$>;NQzL|#3Aj65G$gn)a^C9dJaz`zsdLhegDl*8x)f~e{2DC_@QO&>+6rpgYOC^|g
ziPmzL+k_j&c&g2CH0zgCbX1i8yP9Un+eInxC*OY(yXjFIFe%`|5l6#=8)))F*;3pA
zDuPZL!fdgNy+aT|cL>^KyicGxQc*R-@+}2~qDV>0MXIHNq#U6z2W=R-#B*$m7?b4=
zQQ$c)!N!DEp`B|DH^&m;Sd5p8SQ%;~Ca_QutN+0!%3^&nm^O|q1IIWF^bQA_WT9xu
zD4$DvS-xegUOtz2SuBH-Vf@klHR_@X>&HKqgo`gF=>rSv-NC~CwfOl1eiZkTaxCr5
zWEK_|qXB_f8#qTy*HSBMh+MScc6FxuNHBIb=+%n#Q&)+j^;328wO!*o-qeGp<5f2|
z^OsLQpZwVwoDJlNm%{9w4PP6tJexFjoqp1A5mfcA-Zx&c<#kRy^L@qk%@unOWoO=<
zdhkWQ_r7iGfmdsdhOUp_v}AOZd}4YmTXCdu)7+1V+K+R0AE$^*k4{cptISrh*FUYl
uYCLXK7AhMWSG=veTX`-we|}H8xrTg1#7+33J8)yff7{7Kk9@2B;IZF)A7U^7

literal 0
HcmV?d00001

diff --git a/docs/index.html b/docs/index.html
index 4524b79506..e712f6ed05 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -130,69 +130,73 @@
         <div class="marketing">
           <div class="row">
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_042_group.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
               <h2>Built for and by nerds</h2>
               <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
             </div>
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_079_podium.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
               <h2>For all skill levels</h2>
               <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
             </div>
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_163_iphone.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
               <h2>Cross-everything</h2>
               <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
               <h2>12-column grid</h2>
               <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
             </div>
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
               <h2>Responsive design</h2>
               <p>With Bootstrap 2, we've gone fully responsive. Our components are flexible enough to scale according to whatever resolution or device you're using to provide a consistent experience, no matter what.</p>
             </div>
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_266_book_open.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
               <h2>Styleguide docs</h2>
               <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
               <h2>Growing library</h2>
               <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
             </div>
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_009_magic.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
               <h2>Custom jQuery plugins</h2>
               <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
             </div>
             <div class="span4">
-              <img src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
               <h2>Built on LESS</h2>
               <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span3">
+              <img class="small-icon" src="assets/img/icon-html5.png">
               <h3>HTML5</h3>
               <p>Built to support new HTML5 elements and syntax.</p>
             </div>
             <div class="span3">
+              <img class="small-icon" src="assets/img/icon-css3.png">
               <h3>CSS3</h3>
               <p>Progressively enhanced components for ultimate style.</p>
             </div>
             <div class="span3">
+              <img class="small-icon" src="assets/img/icon-github.png">
               <h3>Open-source</h3>
               <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
             </div>
             <div class="span3">
+              <img class="small-icon" src="assets/img/icon-twitter.png">
               <h3>Made at Twitter</h3>
               <p>Brought to you by experienced engineers and designers.</p>
             </div>
-- 
GitLab


From 2764cfda6dbda56b4a50561fb8cd2a8be86dc096 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Fri, 28 Oct 2011 18:38:06 -0700
Subject: [PATCH 057/576] remove html from body background

---
 bootstrap.css         | 6 ++----
 bootstrap.min.css     | 3 +--
 docs/scaffolding.html | 1 +
 lib/scaffolding.less  | 4 +---
 4 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ed0556b3d8..ec9217a21b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Oct 27 12:48:41 PDT 2011
+ * Date: Fri Oct 28 18:37:59 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -180,10 +180,8 @@ textarea {
  * Scaffolding
  * Basic and global styles for generating a grid system, structural layout, and page templates
  * ------------------------------------------------------------------------------------------- */
-html, body {
-  background-color: #ffffff;
-}
 body {
+  background-color: #ffffff;
   margin: 0;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b443f02e39..7eb8efe2fa 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -20,8 +20,7 @@ button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:poin
 input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}
 input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
-html,body{background-color:#ffffff;}
-body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;}
+body{background-color:#ffffff;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;}
 .container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;*display:inline;}
 .container:after{clear:both;}
 .fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";zoom:1;*display:inline;}
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 2a5ae8bc63..de612a0746 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -53,6 +53,7 @@
       </header>
 
 
+
 <!-- Grid system
 ================================================== -->
 <section id="grid-system">
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index f15f6853cf..7b8aa369a4 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -7,10 +7,8 @@
 // STRUCTURAL LAYOUT
 // -----------------
 
-html, body {
-  background-color: @white;
-}
 body {
+  background-color: @white;
   margin: 0;
   font-family: @baseFontFamily;
   font-size: @baseFontSize;
-- 
GitLab


From 0218d079ad83ce5f8fd08e9f68b6f661855a27a9 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sat, 29 Oct 2011 18:11:17 -0700
Subject: [PATCH 058/576] fix some of the docs styles at 480 to 768

---
 docs/assets/css/docs.css | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 79c9047743..52738d808b 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -348,11 +348,6 @@ h2 + table {
     font-size: 18px;
     line-height: 24px;
   }
-  .jumbotron .benefits {
-    position: relative;
-    width: auto;
-    margin: 36px 0;
-  }
   .jumbotron .btn {
     display: block;
     font-size: 18px;
@@ -365,6 +360,23 @@ h2 + table {
     margin: 40px 0 0;
   }
 
+}
+
+
+@media (max-width: 768px) {
+
+  /* Hide the nav for now */
+  body > .navbar-fixed .nav {
+    display: none;
+  }
+
+  /* Adjust the jumbotron */
+  .jumbotron .benefits {
+    position: relative;
+    width: auto;
+    margin: 36px 0;
+  }
+
   /* Popovers */
   .large-bird {
     display: none;
@@ -395,7 +407,7 @@ h2 + table {
 
   .jumbotron h1,
   .jumbotron p {
-    margin-right: 40%;
+    margin-right: 0;
   }
 
 }
-- 
GitLab


From 3f512adf953da3a3fbbfca18b138fb6659f2b77f Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sun, 30 Oct 2011 20:14:27 -0700
Subject: [PATCH 059/576] updated docs and type styles for blockquotes and a
 few fixes for type

---
 bootstrap.css            |  8 ++++-
 bootstrap.min.css        |  1 +
 docs/assets/css/docs.css |  3 +-
 docs/base-css.html       | 68 ++++++++++++++++++++++++++++++++------
 docs/index.html          | 70 +---------------------------------------
 docs/scaffolding.html    |  2 +-
 lib/type.less            |  9 ++++++
 7 files changed, 78 insertions(+), 83 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ec9217a21b..ca2bfe0b19 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Oct 28 18:37:59 PDT 2011
+ * Date: Sun Oct 30 20:12:53 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -490,6 +490,12 @@ blockquote small {
 blockquote small:before {
   content: '\2014 \00A0';
 }
+blockquote.pull-right {
+  float: right;
+}
+blockquote.pull-right p, blockquote.pull-right small {
+  text-align: right;
+}
 address {
   display: block;
   line-height: 18px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 7eb8efe2fa..776cb6e7bb 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -85,6 +85,7 @@ em{font-style:italic;font-weight:inherit;line-height:inherit;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
 blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:16px;font-weight:300;line-height:22.5px;margin-bottom:0;}
 blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
+blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;line-height:18px;margin-bottom:18px;}
 code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 52738d808b..185f381e92 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -164,7 +164,6 @@ body > .navbar-fixed .brand:hover {
 .marketing h2,
 .marketing h3 {
   font-weight: 300;
-  color: #000;
 }
 .marketing h2 {
   margin-bottom: 9px;
@@ -175,6 +174,7 @@ body > .navbar-fixed .brand:hover {
 .marketing .icon {
   float: left;
   margin: 7px 10px 0 0;
+  opacity: .8;
 }
 .marketing .small-icon {
   float: left;
@@ -300,7 +300,6 @@ pre.prettyprint {
   margin-bottom: 0;
 }
 
-
 .browser-support {
   max-width: 100%;
 }
diff --git a/docs/base-css.html b/docs/base-css.html
index 47dff40e72..750bbd2b3b 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -92,8 +92,8 @@
     <thead>
       <tr>
         <th>Element</th>
-        <th>Description</th>
         <th>Usage</th>
+        <th>Optional</th>
       </tr>
     </thead>
     <tbody>
@@ -175,24 +175,72 @@
 
   <!-- Blockquotes -->
   <h2>Blockquotes</h2>
+  <table class="bordered-table">
+    <thead>
+      <tr>
+        <th>Element</th>
+        <th>Usage</th>
+        <th>Optional</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <code>&lt;blockquote&gt;</code>
+        </td>
+        <td>
+          Block-level element for quoting content from another source
+        </td>
+        <td>
+          <p>Add <code>cite</code> attribute for source URL</p>
+          Use <code>.pull-left</code> and <code>.pull-right</code> classes for floated options
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;small&gt;</code>
+        </td>
+        <td>
+          Optional element for adding a user-facing citation, typically an author with title of work
+        </td>
+        <td>
+          Place the <code>&lt;cite&gt;</code> around the title or name of source
+        </td>
+      </tr>
+    </tbody>
+  </table>
   <div class="row">
-    <div class="span5">
-      <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around <code>&lt;p&gt;</code> and <code>&lt;small&gt;</code> tags. Use the <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it.</p>
-      <blockquote>
-        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
-        <small>Someone famous</small>
-      </blockquote>
+    <div class="span4">
+      <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes we recommend a <code>&lt;p&gt;</code>.</p>
+      <p>Include an optional <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it for styling purposes.</p>
     </div>
-    <div class="span7">
+    <div class="span8">
 <pre class="prettyprint linenums">
 &lt;blockquote&gt;
-  &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.&lt;/p&gt;
-  &lt;small&gt;Dr. Julius Hibbert&lt;/small&gt;
+  &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.&lt;/p&gt;
+  &lt;small&gt;Someone famous&lt;/small&gt;
 &lt;/blockquote&gt;
 </pre>
     </div>
+  </div><!--/row-->
+
+  <h3>Example blockquotes</h3>
+  <div class="row">
+    <div class="span6">
+      <blockquote>
+        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
+        <small>Someone famous</small>
+      </blockquote>
+    </div>
+    <div class="span6">
+      <blockquote class="pull-right">
+        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
+        <small>Someone famous</small>
+      </blockquote>
+    </div>
   </div>
 
+
   <!-- Lists -->
   <h2>Lists</h2>
   <div class="row">
diff --git a/docs/index.html b/docs/index.html
index e712f6ed05..7b91315029 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -38,41 +38,6 @@
             <li><a href="./components.html">Components</a></li>
             <li><a href="./javascript.html">Javascript plugins</a></li>
             <li><a href="./less.html">Using LESS</a></li>
-
-<!--
-            <li class="active"><a href="#overview">Overview</a></li>
-            <li><a href="#about">About</a></li>
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-dropdown="true">Scaffolding</a>
-              <ul class="dropdown-menu">
-                <li><a href="#grid-system">Grid</a></li>
-                <li><a href="#layouts">Layouts</a></li>
-                <li><a href="#responsive">Resposive</a></li>
-              </ul>
-            </li>
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-dropdown="true">CSS</a>
-              <ul class="dropdown-menu">
-                <li><a href="#typography">Type</a></li>
-                <li><a href="#tables">Tables</a></li>
-                <li><a href="#forms">Forms</a></li>
-              </ul>
-            </li>
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
-              <ul class="dropdown-menu">
-                <li><a href="#media">Media</a></li>
-                <li><a href="#navigation">Navigation</a></li>
-                <li><a href="#alerts">Alerts</a></li>
-                <li><a href="#popovers">Popovers</a></li>
-                <li><a href="#autocomplete">Autocomplete</a></li>
-                <li><a href="#accordion">Accordion</a></li>
-                <li><a href="#datepicker">Datepicker</a></li>
-              </ul>
-            </li>
-            <li><a href="#javascript">Javascript</a></li>
-            <li><a href="#less">Using Less</a></li>
--->
           </ul>
         </div>
       </div>
@@ -204,40 +169,7 @@
         </div>
 
 
-        <!-- About Bootstrap
-        ================================================== -->
-        <section id="about" style="display: none;">
-          <div class="row">
-            <div class="span4">
-              <h2>Built for and by nerds</h2>
-              <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
-              <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
-            </div>
-            <div class="span4">
-              <h2>Cross-everything</h2>
-              <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
-              <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
-              <ul>
-                <li>Latest Safari</li>
-                <li>Latest Google Chrome</li>
-                <li>Firefox 4+</li>
-                <li>Internet Explorer 7+</li>
-                <li>Opera 11</li>
-              </ul>
-            </div>
-            <div class="span4">
-              <h2>What's included</h2>
-              <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
-              <ul>
-                <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
-                <li>All original .less files</li>
-                <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
-                <li>Complete styleguide documentation</li>
-                <li>Three example pages with different layouts</li>
-              </ul>
-            </div>
-          </div><!-- /row -->
-        </section>
+
 
 <!--         <h3>Quick-start examples</h3>
         <p>Need some quick templates? Check out these basic examples we've put together:</p>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index de612a0746..4a5aa9a0b0 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -221,7 +221,7 @@
   <div class="row">
     <div class="span6">
       <h2>Fixed layout</h2>
-      <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div.container&gt;</code>.</p>
+      <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div class="container"&gt;</code>.</p>
       <div class="mini-layout">
         <div class="mini-layout-body"></div>
       </div>
diff --git a/lib/type.less b/lib/type.less
index 7f8044cd81..421d666a47 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -160,6 +160,15 @@ blockquote {
       content: '\2014 \00A0';
     }
   }
+
+  // Float right with text-align: right
+  &.pull-right {
+    float: right;
+    p,
+    small {
+      text-align: right;
+    }
+  }
 }
 
 // Addresses
-- 
GitLab


From ba597ef8458de4593b7a0269b0dd794f9ca89818 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 31 Oct 2011 16:32:13 -0700
Subject: [PATCH 060/576] updating table documentation, jumping to dev to bring
 over new table styles from there

---
 docs/base-css.html | 45 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 43 insertions(+), 2 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 750bbd2b3b..2872fbb997 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -227,15 +227,17 @@
   <h3>Example blockquotes</h3>
   <div class="row">
     <div class="span6">
+      <p>Default blockquotes are styled as such:</p>
       <blockquote>
         <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
-        <small>Someone famous</small>
+        <small>Someone famous in <cite title="">Body of work</cite></small>
       </blockquote>
     </div>
     <div class="span6">
+      <p>To float your blockquote to the right, add <code>class="pull-right"</code>:</p>
       <blockquote class="pull-right">
         <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
-        <small>Someone famous</small>
+        <small>Someone famous in <cite title="">Body of work</cite></small>
       </blockquote>
     </div>
   </div>
@@ -514,6 +516,45 @@
     </div>
   </div>
 
+  <h2>Table options</h2>
+  <table class="striped-table">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Class</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>Default</td>
+        <td class="muted">None</td>
+        <td>Only horizontal lines between rows</td>
+      </tr>
+      <tr>
+        <td>Bordered</td>
+        <td>
+          <code>.bordered-table</code>
+        </td>
+        <td>Rounds corners and adds outter border</td>
+      </tr>
+      <tr>
+        <td>Zebra-stripe</td>
+        <td>
+          <code>.striped-table</code>
+        </td>
+        <td>Adds light gray background color to odd rows (1, 3, 5, etc)</td>
+      </tr>
+      <tr>
+        <td>Condensed</td>
+        <td>
+          <code>.condensed-table</code>
+        </td>
+        <td>Cuts padding in half, from 10px to 5px, within all <code>td</code> and <code>th</code> elements</td>
+      </tr>
+    </tbody>
+  </table>
+
   <h2>Example tables</h2>
   <h3>1. Default table styles</h3>
   <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
-- 
GitLab


From 02bf27592c8eec51795ac806390bc57db501926d Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 31 Oct 2011 19:37:10 -0700
Subject: [PATCH 061/576] overhaul the table styles and update those everywhere
 in the docs, update the button docs, spec out the forms docs

---
 bootstrap.css         | 109 +++++++++++++++-----
 bootstrap.min.css     |  49 ++++++---
 docs/base-css.html    | 228 ++++++++++++++++++++++++++++--------------
 docs/javascript.html  |  10 +-
 docs/less.html        |   2 +-
 docs/scaffolding.html |   4 +-
 lib/tables.less       |  95 ++++++++++++++----
 7 files changed, 350 insertions(+), 147 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ca2bfe0b19..2795e42513 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Oct 30 20:12:53 PDT 2011
+ * Date: Mon Oct 31 19:36:50 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -927,17 +927,10 @@ textarea[readonly] {
  * ---------------------------------------- */
 table {
   width: 100%;
-  margin-bottom: 18px;
   padding: 0;
-  border-collapse: separate;
-  *border-collapse: collapse;
-  /* IE7, collapse table to remove spacing */
-
+  margin-bottom: 18px;
   font-size: 13px;
-  border: 1px solid #ddd;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+  border-collapse: collapse;
 }
 table th, table td {
   padding: 10px 10px 9px;
@@ -948,47 +941,109 @@ table th {
   padding-top: 9px;
   font-weight: bold;
   vertical-align: middle;
-  border-bottom: 1px solid #ddd;
 }
 table td {
   vertical-align: top;
+  border-top: 1px solid #ddd;
 }
-table th + th, table td + td {
-  border-left: 1px solid #ddd;
-}
-table tr + tr td {
+table tbody th {
   border-top: 1px solid #ddd;
+  vertical-align: top;
+}
+.condensed-table th, .condensed-table td {
+  padding: 5px 5px 4px;
+}
+.bordered-table {
+  border: 1px solid #ddd;
+  border-collapse: separate;
+  *border-collapse: collapse;
+  /* IE7, collapse table to remove spacing */
+
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
 }
-table tbody tr:first-child td:first-child {
+.bordered-table th + th, .bordered-table td + td, .bordered-table th + td {
+  border-left: 1px solid #ddd;
+}
+.bordered-table thead:first-child tr:first-child th:first-child, .bordered-table 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;
 }
-table tbody tr:first-child td:last-child {
+.bordered-table thead:first-child tr:first-child th:last-child, .bordered-table 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;
 }
-table tbody tr:last-child td:first-child {
+.bordered-table tbody 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;
 }
-table tbody tr:last-child td:last-child {
+.bordered-table tbody 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;
 }
-.zebra-striped tbody tr:nth-child(odd) td {
+table .span1 {
+  width: 40px;
+}
+table .span2 {
+  width: 120px;
+}
+table .span3 {
+  width: 200px;
+}
+table .span4 {
+  width: 280px;
+}
+table .span5 {
+  width: 360px;
+}
+table .span6 {
+  width: 440px;
+}
+table .span7 {
+  width: 520px;
+}
+table .span8 {
+  width: 600px;
+}
+table .span9 {
+  width: 680px;
+}
+table .span10 {
+  width: 760px;
+}
+table .span11 {
+  width: 840px;
+}
+table .span12 {
+  width: 920px;
+}
+table .span13 {
+  width: 1000px;
+}
+table .span14 {
+  width: 1080px;
+}
+table .span15 {
+  width: 1160px;
+}
+table .span16 {
+  width: 1240px;
+}
+.striped-table tbody tr:nth-child(odd) td, .striped-table tbody tr:nth-child(odd) th {
   background-color: #f9f9f9;
 }
-.zebra-striped tbody tr:hover td {
+.striped-table tbody tr:hover td, .striped-table tbody tr:hover th {
   background-color: #f5f5f5;
 }
-.zebra-striped .header {
+table .header {
   cursor: pointer;
 }
-.zebra-striped .header:after {
+table .header:after {
   content: "";
   float: right;
   margin-top: 7px;
@@ -997,21 +1052,21 @@ table tbody tr:last-child td:last-child {
   border-color: #000 transparent;
   visibility: hidden;
 }
-.zebra-striped .headerSortUp, .zebra-striped .headerSortDown {
+table .headerSortUp, table .headerSortDown {
   background-color: rgba(141, 192, 219, 0.25);
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
 }
-.zebra-striped .header:hover:after {
+table .header:hover:after {
   visibility: visible;
 }
-.zebra-striped .headerSortDown:after, .zebra-striped .headerSortDown:hover:after {
+table .headerSortDown:after, table .headerSortDown:hover:after {
   visibility: visible;
   filter: alpha(opacity=60);
   -khtml-opacity: 0.6;
   -moz-opacity: 0.6;
   opacity: 0.6;
 }
-.zebra-striped .headerSortUp:after {
+table .headerSortUp:after {
   border-bottom: none;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 776cb6e7bb..35f8a9bcd7 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -154,22 +154,39 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .form-horizontal .controls{margin-left:150px;}
 .form-horizontal .control-list{padding-top:6px;}
 .form-horizontal .form-actions{padding-left:150px;}
-table{width:100%;margin-bottom:18px;padding:0;border-collapse:separate;*border-collapse:collapse;font-size:13px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
-table th{padding-top:9px;font-weight:bold;vertical-align:middle;border-bottom:1px solid #ddd;}
-table td{vertical-align:top;}
-table th+th,table td+td{border-left:1px solid #ddd;}
-table tr+tr td{border-top:1px solid #ddd;}
-table tbody 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;}
-table tbody 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;}
-table tbody 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;}
-table tbody 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;}
-.zebra-striped tbody tr:nth-child(odd) td{background-color:#f9f9f9;}
-.zebra-striped tbody tr:hover td{background-color:#f5f5f5;}
-.zebra-striped .header{cursor:pointer;}.zebra-striped .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
-.zebra-striped .headerSortUp,.zebra-striped .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
-.zebra-striped .header:hover:after{visibility:visible;}
-.zebra-striped .headerSortDown:after,.zebra-striped .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
-.zebra-striped .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
+table{width:100%;padding:0;margin-bottom:18px;font-size:13px;border-collapse:collapse;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
+table th{padding-top:9px;font-weight:bold;vertical-align:middle;}
+table td{vertical-align:top;border-top:1px solid #ddd;}
+table tbody th{border-top:1px solid #ddd;vertical-align:top;}
+.condensed-table th,.condensed-table td{padding:5px 5px 4px;}
+.bordered-table{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td{border-left:1px solid #ddd;}
+.bordered-table thead:first-child tr:first-child th:first-child,.bordered-table 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;}
+.bordered-table thead:first-child tr:first-child th:last-child,.bordered-table 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;}
+.bordered-table tbody 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;}
+.bordered-table tbody 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;}
+table .span1{width:40px;}
+table .span2{width:120px;}
+table .span3{width:200px;}
+table .span4{width:280px;}
+table .span5{width:360px;}
+table .span6{width:440px;}
+table .span7{width:520px;}
+table .span8{width:600px;}
+table .span9{width:680px;}
+table .span10{width:760px;}
+table .span11{width:840px;}
+table .span12{width:920px;}
+table .span13{width:1000px;}
+table .span14{width:1080px;}
+table .span15{width:1160px;}
+table .span16{width:1240px;}
+.striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
+.striped-table tbody tr:hover td,.striped-table tbody tr:hover th{background-color:#f5f5f5;}
+table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
+table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
+table .header:hover:after{visibility:visible;}
+table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
+table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
 table .blue{color:#049cdb;border-bottom-color:#049cdb;}
 table .headerSortUp.blue,table .headerSortDown.blue{background-color:#ade6fe;}
 table .green{color:#46a546;border-bottom-color:#46a546;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 2872fbb997..6d3d92a171 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -88,7 +88,7 @@
 
   <!-- Misc Elements -->
   <h2>Emphasis, address, and abbreviation</h2>
-  <table class="zebra-striped">
+  <table class="bordered-table striped-table">
     <thead>
       <tr>
         <th>Element</th>
@@ -175,7 +175,7 @@
 
   <!-- Blockquotes -->
   <h2>Blockquotes</h2>
-  <table class="bordered-table">
+  <table class="bordered-table striped-table">
     <thead>
       <tr>
         <th>Element</th>
@@ -321,7 +321,7 @@
   <!-- Code -->
 
   <h2>Code <small>Inline and block</small></h2>
-  <table class="zebra-striped">
+  <table class="bordered-table striped-table">
     <thead>
       <tr>
         <th style="width: 190px;">Element</th>
@@ -363,7 +363,7 @@
 
   <!-- Labels -->
   <h2>Inline labels <small>for special attention</small></h2>
-  <table class="zebra-striped">
+  <table class="bordered-table striped-table">
     <thead>
       <tr>
         <th style="width: 190px;">Labels</th>
@@ -428,7 +428,7 @@
   <h2>Table markup</h2>
   <div class="row">
     <div class="span8">
-      <table class="zebra-striped">
+      <table class="bordered-table striped-table">
         <thead>
           <tr>
             <th>Tag</th>
@@ -517,7 +517,7 @@
   </div>
 
   <h2>Table options</h2>
-  <table class="striped-table">
+  <table class="bordered-table striped-table">
     <thead>
       <tr>
         <th>Name</th>
@@ -592,9 +592,9 @@
 &lt;table&gt;
   ...
 &lt;/table&gt;</pre>
-  <h3>2. Zebra-striped</h3>
-  <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.zebra-striped</code> class.</p>
-  <table class="zebra-striped">
+  <h3>2. Striped table</h3>
+  <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.striped-table</code> class.</p>
+  <table class="striped-table">
     <thead>
       <tr>
         <th>#</th>
@@ -626,12 +626,12 @@
   </table>
   <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
 <pre class="prettyprint linenums">
-&lt;table class="zebra-striped"&gt;
+&lt;table class="striped-table"&gt;
 ...
 &lt;/table&gt;</pre>
-  <h3>3. Zebra-striped w/ TableSorter.js</h3>
+  <h3>3. Striped table w/ TableSorter.js</h3>
   <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
-  <table class="zebra-striped" id="sortTableExample">
+  <table class="striped-table" id="sortTableExample">
     <thead>
       <tr>
         <th>#</th>
@@ -668,7 +668,7 @@
     $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
   });
 &lt;/script&gt;
-&lt;table class="zebra-striped"&gt;
+&lt;table class="striped-table"&gt;
   ...
 &lt;/table&gt;</pre>
 
@@ -682,19 +682,49 @@
   <div class="page-header">
     <h1>Forms</h1>
   </div>
+
+  <h2>Four types of forms</h2>
+  <table class="bordered-table striped-table">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Class</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <th>Vertical (default)</th>
+        <td><code>.vertical-form</code> <span class="muted">(not required)</span></td>
+        <td>Stacked, left-aligned labels over controls</td>
+      </tr>
+      <tr>
+        <th>Horiztonal</th>
+        <td><code>.horizontal-form</code></td>
+        <td>Float left, right-aligned labels on same line as controls</td>
+      </tr>
+      <tr>
+        <th>Inline</th>
+        <td><code>.inline-form</code></td>
+        <td>Left-aligned label and inline-block controls for compact style</td>
+      </tr>
+      <tr>
+        <th>Search</th>
+        <td><code>.search-form</code></td>
+        <td>Extra-rounded text input for a typical search aesthetic</td>
+      </tr>
+    </tbody>
+  </table>
+
+
   <div class="row">
     <div class="span4">
-      <h3>Four types of forms</h3>
-      <p>With 2.0, we now have four types of forms to choose from:</p>
-      <ul>
-        <li>Search form for a super-rounded input and optional button</li>
-        <li>Inline form for a series of elements on one line</li>
-        <li>Horizontal form for left-aligned labels</li>
-        <li>Vertical form for stacked labels and inputs</li>
-      </ul>
+      <h3>Why four types</h3>
+      <p>With Bootstrap 2, we completely recoded our forms to allow for simple base styles and improved namespacing on labels and controls. To address the many uses of forms, we've included some base styles to help get you started.</p>
     </div>
     <div class="span4">
-      <h3></h3>
+      <h3>Vertical or horizontal</h3>
+      <p>Our default form styles are now vertical, not horizontal. This makes it easier to customize bare-bones forms, as well as forms in tricker situations like sign-up, modals, etc. <strong>They share the same exact markup; just swap the class.</strong></p>
     </div>
   </div><!-- /row -->
   <div class="row">
@@ -875,79 +905,123 @@
     </div>
   </div><!-- /row -->
 
+
+
+  <h2>Buttons</h2>
+  <table class="bordered-table striped-table">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Preview</th>
+        <th>Class</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <th>Default</th>
+        <td><a class="btn" href="#">Button</a></td>
+        <td><code>.btn</code></td>
+        <td>Standard gray button with gradient</td>
+      </tr>
+      <tr>
+        <th>Primary</th>
+        <td><a class="btn primary" href="#">Button</a></td>
+        <td><code>.primary</code></td>
+        <td>Makes button blue for more visual weight to indicate the primary action in a set of buttons</td>
+      </tr>
+      <tr>
+        <th>Info</th>
+        <td><a class="btn info" href="#">Button</a></td>
+        <td><code>.info</code></td>
+        <td>Used as an alternate to the default styles</td>
+      </tr>
+      <tr>
+        <th>Success</th>
+        <td><a class="btn success" href="#">Button</a></td>
+        <td><code>.success</code></td>
+        <td>Used to indicate a successful or positive action will be taken</td>
+      </tr>
+      <tr>
+        <th>Danger</th>
+        <td><a class="btn danger" href="#">Button</a></td>
+        <td><code>.danger</code></td>
+        <td>Used to indicate a dangerous or potentially negative action will be taken</td>
+      </tr>
+    </tbody>
+  </table>
+
   <div class="row">
-    <div class="span3">
-      <h2>Buttons</h2>
-      <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
-      <p>All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue <code>.primary</code> class, a light-blue <code>.info</code> class, a green <code>.success</code> class, and a red <code>.danger</code> class.</p>
+    <div class="span4">
+      <h3>Buttons for actions</h3>
+      <p>As a convention, buttons should only be used for actions while hyperlinks are to be used for objects. For instance, "Download" should be a button while "recent activity" should be a link.</p>
     </div>
-    <div class="span9">
-      <h3>Example buttons</h3>
-      <p>Button styles can be applied to anything with the <code>.btn</code> applied. Typically you’ll want to apply these to only <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, and select <code>&lt;input&gt;</code> elements. Here’s how it looks:</p>
-      <div class="well" style="padding: 14px 19px;">
-        <button class="btn primary">Primary</button>&nbsp;<button class="btn">Default</button>&nbsp;<button class="btn info">Info</button>&nbsp;<button class="btn success">Success</button>&nbsp;<button class="btn danger">Danger</button>
-      </div>
-      <h3>Alternate sizes</h3>
+    <div class="span4">
+      <h3>For anchors and forms</h3>
+      <p>Button styles can be applied to anything with the <code>.btn</code> applied. However, typically you’ll want to apply these to only <code>&lt;a&gt;</code> and <code>&lt;button&gt;</code> elements.</p>
+    </div>
+    <div class="span4">
+      <p><strong>Note:</strong> All buttons must include the <code>.btn</code> class. Button styles should be applied to <code>&lt;button&gt;</code> and <code>&lt;a&gt;</code> elements for consistency.</p>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Multiple sizes</h3>
       <p>Fancy larger or smaller buttons? Have at it!</p>
-      <div class="well">
+      <p>
         <a href="#" class="btn large primary">Primary action</a>
         <a href="#" class="btn large">Action</a>
-      </div>
-      <div class="well" style="padding: 16px 19px;">
+      </p>
+      <p>
         <a href="#" class="btn small primary">Primary action</a>
         <a href="#" class="btn small">Action</a>
-      </div>
+      </p>
+    </div>
+    <div class="span8">
       <h3>Disabled state</h3>
       <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
-      <h4>Links</h4>
-      <div class="well">
+      <p>
         <a href="#" class="btn large primary disabled">Primary action</a>
         <a href="#" class="btn large disabled">Action</a>
-      </div>
-      <h4>Buttons</h4>
-      <div class="well">
+      </p>
+      <p>
         <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
-      </div>
+      </p>
     </div>
-  </div><!-- /row -->
+  </div>
 
-  <div class="row">
-    <div class="span3">
-      <h2>Button groups</h2>
+  <h2>Button groups</h2>
+
+  <div class="well">
+    <div class="btn-group">
+      <a class="btn" href="#">Left</a>
+      <a class="btn" href="#">Middle</a>
+      <a class="btn" href="#">Right</a>
     </div>
-    <div class="span9">
-      <h3>Example</h3>
-      <div class="well">
-        <div class="btn-group">
-          <a class="btn" href="#">Left</a>
-          <a class="btn" href="#">Middle</a>
-          <a class="btn" href="#">Right</a>
-        </div>
+  </div>
+  <div class="well">
+    <div class="btn-toolbar">
+      <div class="btn-group">
+        <a class="btn" href="#">1</a>
+        <a class="btn" href="#">2</a>
+        <a class="btn" href="#">3</a>
+        <a class="btn" href="#">4</a>
+        <a class="btn" href="#">5</a>
       </div>
-      <div class="well">
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn" href="#">1</a>
-            <a class="btn" href="#">2</a>
-            <a class="btn" href="#">3</a>
-            <a class="btn" href="#">4</a>
-            <a class="btn" href="#">5</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">6</a>
-            <a class="btn" href="#">7</a>
-            <a class="btn" href="#">8</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">9</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">10</a>
-          </div>
-        </div>
+      <div class="btn-group">
+        <a class="btn" href="#">6</a>
+        <a class="btn" href="#">7</a>
+        <a class="btn" href="#">8</a>
+      </div>
+      <div class="btn-group">
+        <a class="btn" href="#">9</a>
+      </div>
+      <div class="btn-group">
+        <a class="btn" href="#">10</a>
       </div>
     </div>
-  </div><!-- /row -->
+  </div>
 
 </section>
 
diff --git a/docs/javascript.html b/docs/javascript.html
index c9ac7e21da..3175d261e5 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -88,7 +88,7 @@
      <div class="span9">
       <h3>What's included</h3>
        <p>Bring some of Bootstrap's primary components to life with new custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>. We encourage you to extend and modify them to fit your specific development needs.</p>
-       <table class="zebra-striped">
+       <table class="striped-table">
          <thead>
            <tr>
              <th style="width: 150px;">File</th>
@@ -151,7 +151,7 @@
           <h3>Using bootstrap-modal</h3>
           <pre class="prettyprint linenums">$('#my-modal').modal(options)</pre>
           <h3>Options</h3>
-          <table class="zebra-striped">
+          <table class="striped-table">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -209,7 +209,7 @@ $('#my-modal').modal({
           <p><span class="label notice">Notice</span> Alternatively, this can be retrieved with <code>$().data('modal')</code>.</p>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="zebra-striped">
+          <table class="striped-table">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -457,7 +457,7 @@ $('#my-modal').bind('hidden', function () {
           <h3>Using bootstrap-twipsy.js</h3>
           <pre class="prettyprint linenums">$('#example').twipsy(options)</pre>
           <h3>Options</h3>
-          <table class="zebra-striped">
+          <table class="striped-table">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -574,7 +574,7 @@ $('#my-modal').bind('hidden', function () {
           <h3>Using boostrap-popover.js</h3>
           <pre class="prettyprint linenums">$('#example').popover(options)</pre>
           <h3>Options</h3>
-          <table class="zebra-striped">
+          <table class="striped-table">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
diff --git a/docs/less.html b/docs/less.html
index d5a467bfa2..4fa0f0bdd2 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -166,7 +166,7 @@
     <h2 id="compiling">Compiling Less</h2>
     <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
     <h3>Ways to compile</h3>
-    <table class="zebra-striped">
+    <table class="striped-table">
       <thead>
         <tr>
           <th style="width: 120px;">Method</th>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 4a5aa9a0b0..de50caf8d8 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -161,7 +161,7 @@
   </div>
 
   <h2>Grid customization</h2>
-  <table class="zebra-striped">
+  <table class="striped-table">
     <thead>
       <tr>
         <th>Variable</th>
@@ -273,7 +273,7 @@
     <div class="span8">
       <h2>Supported devices</h2>
       <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
-      <table class="zebra-striped">
+      <table class="striped-table">
         <thead>
           <tr>
             <th>Label</th>
diff --git a/lib/tables.less b/lib/tables.less
index 8a786ffd2a..b02087fbd2 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -9,14 +9,12 @@
 
 table {
   width: 100%;
-  margin-bottom: @baseLineHeight;
   padding: 0;
-  border-collapse: separate; // Done so we can round those corners!
-  *border-collapse: collapse; /* IE7, collapse table to remove spacing */
+  margin-bottom: @baseLineHeight;
   font-size: @baseFontSize;
-  border: 1px solid #ddd;
-  .border-radius(4px);
-  th, td {
+  border-collapse: collapse;
+  th,
+  td {
     padding: 10px 10px 9px;
     line-height: @baseLineHeight;
     text-align: left;
@@ -25,22 +23,49 @@ table {
     padding-top: 9px;
     font-weight: bold;
     vertical-align: middle;
-    border-bottom: 1px solid #ddd;
   }
   td {
     vertical-align: top;
+    border-top: 1px solid #ddd;
+  }
+  // When scoped to row, fix th in tbody
+  tbody th {
+    border-top: 1px solid #ddd;
+    vertical-align: top;
+  }
+}
+
+
+// CONDENSED VERSION
+// -----------------
+
+.condensed-table {
+  th,
+  td {
+    padding: 5px 5px 4px;
   }
+}
+
+
+// BORDERED VERSION
+// ----------------
+
+.bordered-table {
+  border: 1px solid #ddd;
+  border-collapse: separate; // Done so we can round those corners!
+  *border-collapse: collapse; /* IE7, collapse table to remove spacing */
+  .border-radius(4px);
   th + th,
-  td + td {
+  td + td,
+  th + td {
     border-left: 1px solid #ddd;
   }
-  tr + tr td {
-    border-top: 1px solid #ddd;
-  }
-  tbody tr:first-child td:first-child {
+  thead:first-child tr:first-child th:first-child,
+  tbody:first-child tr:first-child td:first-child {
     .border-radius(4px 0 0 0);
   }
-  tbody tr:first-child td:last-child {
+  thead:first-child tr:first-child th:last-child,
+  tbody:first-child tr:first-child td:last-child {
     .border-radius(0 4px 0 0);
   }
   tbody tr:last-child td:first-child {
@@ -52,20 +77,55 @@ table {
 }
 
 
+// ----------------
+
+// This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border
+.tableColumns(@columnSpan: 1) {
+  width: ((@gridColumnWidth - 20) * @columnSpan) + ((@gridColumnWidth - 20) * (@columnSpan - 1));
+}
+table {
+  // Default columns
+  .span1     { .tableColumns(1); }
+  .span2     { .tableColumns(2); }
+  .span3     { .tableColumns(3); }
+  .span4     { .tableColumns(4); }
+  .span5     { .tableColumns(5); }
+  .span6     { .tableColumns(6); }
+  .span7     { .tableColumns(7); }
+  .span8     { .tableColumns(8); }
+  .span9     { .tableColumns(9); }
+  .span10    { .tableColumns(10); }
+  .span11    { .tableColumns(11); }
+  .span12    { .tableColumns(12); }
+  .span13    { .tableColumns(13); }
+  .span14    { .tableColumns(14); }
+  .span15    { .tableColumns(15); }
+  .span16    { .tableColumns(16); }
+}
+
+
 // ZEBRA-STRIPING
 // --------------
 
 // Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.zebra-striped {
+.striped-table {
   tbody {
-    tr:nth-child(odd) td {
+    tr:nth-child(odd) td,
+    tr:nth-child(odd) th {
       background-color: #f9f9f9;
     }
-    tr:hover td {
+    tr:hover td,
+    tr:hover th {
       background-color: #f5f5f5;
     }
   }
+}
+
 
+// TABLESORTER
+// -----------
+
+table {
   // Tablesorting styles w/ jQuery plugin
   .header {
     cursor: pointer;
@@ -111,9 +171,6 @@ table {
       .opacity(60);
     }
   }
-}
-
-table {
   // Blue Table Headings
   .blue {
     color: @blue;
-- 
GitLab


From 27b8e5e4fce71ccc5ebd56230dedd9c2403239eb Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 31 Oct 2011 21:24:57 -0700
Subject: [PATCH 062/576] small docs tweak

---
 docs/base-css.html | 1 -
 1 file changed, 1 deletion(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 6d3d92a171..f6030ace1f 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -992,7 +992,6 @@
   </div>
 
   <h2>Button groups</h2>
-
   <div class="well">
     <div class="btn-group">
       <a class="btn" href="#">Left</a>
-- 
GitLab


From 31ea00304626ea68b758def41769606d4c049671 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 31 Oct 2011 21:45:46 -0700
Subject: [PATCH 063/576] remove alt tab styles for now, too complicated to
 accomplish both static and tabble; fix up CSS a bit

---
 bootstrap.css        | 66 ++++++++++++++++++++++++++++++++++++++++++--
 bootstrap.min.css    | 13 ++++++---
 docs/components.html | 47 +++++--------------------------
 lib/patterns.less    | 53 ++++++++++++++++++++---------------
 4 files changed, 109 insertions(+), 70 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 2795e42513..163ee6bcd8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 31 19:36:50 PDT 2011
+ * Date: Mon Oct 31 21:45:06 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1495,17 +1495,77 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 .tabbable.tabs-bottom .tabs > .active > a, .tabbable.tabs-bottom .tabs > .active > a:hover {
   border-color: transparent #ddd #ddd #ddd;
 }
+.tabbable.tabs-left, .tabbable.tabs-right {
+  zoom: 1;
+}
+.tabbable.tabs-left:before,
+.tabbable.tabs-right:before,
+.tabbable.tabs-left:after,
+.tabbable.tabs-right:after {
+  display: table;
+  content: "";
+  zoom: 1;
+  *display: inline;
+}
+.tabbable.tabs-left:after, .tabbable.tabs-right:after {
+  clear: both;
+}
+.tabbable.tabs-left .tabs, .tabbable.tabs-right .tabs {
+  width: 100px;
+}
+.tabbable.tabs-left .tabs > li, .tabbable.tabs-right .tabs > li {
+  float: none;
+  margin-bottom: -1px;
+}
+.tabbable.tabs-left .tabs > li > a, .tabbable.tabs-right .tabs > li > a {
+  margin-bottom: 2px;
+}
+.tabbable.tabs-left .tabs > li > a:hover, .tabbable.tabs-right .tabs > li > a:hover {
+  border-color: transparent;
+}
+.tabbable.tabs-left .tab-content {
+  margin-left: 100px;
+}
 .tabbable.tabs-left .tabs {
   float: left;
 }
 .tabbable.tabs-left .tabs > li {
-  float: none;
+  margin-right: -1px;
+}
+.tabbable.tabs-left .tabs > li > a {
+  margin-right: 0;
+  -webkit-border-radius: 4px 0 0 4px;
+  -moz-border-radius: 4px 0 0 4px;
+  border-radius: 4px 0 0 4px;
+}
+.tabbable.tabs-left .tabs > li > a:hover {
+  border-right-color: #ddd;
+}
+.tabbable.tabs-left .tabs .active > a, .tabbable.tabs-left .tabs .active > a:hover {
+  border-color: #ddd;
+  border-right-color: transparent;
+}
+.tabbable.tabs-right .tab-content {
+  margin-right: 100px;
 }
 .tabbable.tabs-right .tabs {
   float: right;
 }
 .tabbable.tabs-right .tabs > li {
-  float: none;
+  margin-left: -1px;
+}
+.tabbable.tabs-right .tabs > li > a {
+  margin-left: 0;
+  -webkit-border-radius: 0 4px 4px 0;
+  -moz-border-radius: 0 4px 4px 0;
+  border-radius: 0 4px 4px 0;
+}
+.tabbable.tabs-right .tabs > li > a:hover {
+  border-left-color: #ddd;
+}
+.tabbable.tabs-right .tabs .active > a, .tabbable.tabs-right .tabs .active > a:hover {
+  border-color: #ddd;
+  border-left-color: transparent;
 }
 .tabs .menu-dropdown, .tabs .dropdown-menu {
   top: 35px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 35f8a9bcd7..9e45659050 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -240,10 +240,15 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
 .tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
 .tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
-.tabbable.tabs-left .tabs{float:left;}
-.tabbable.tabs-left .tabs>li{float:none;}
-.tabbable.tabs-right .tabs{float:right;}
-.tabbable.tabs-right .tabs>li{float:none;}
+.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;content:"";zoom:1;*display:inline;}
+.tabbable.tabs-left:after,.tabbable.tabs-right:after{clear:both;}
+.tabbable.tabs-left .tabs,.tabbable.tabs-right .tabs{width:100px;}.tabbable.tabs-left .tabs>li,.tabbable.tabs-right .tabs>li{float:none;margin-bottom:-1px;}.tabbable.tabs-left .tabs>li>a,.tabbable.tabs-right .tabs>li>a{margin-bottom:2px;}.tabbable.tabs-left .tabs>li>a:hover,.tabbable.tabs-right .tabs>li>a:hover{border-color:transparent;}
+.tabbable.tabs-left .tab-content{margin-left:100px;}
+.tabbable.tabs-left .tabs{float:left;}.tabbable.tabs-left .tabs>li{margin-right:-1px;}.tabbable.tabs-left .tabs>li>a{margin-right:0;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.tabbable.tabs-left .tabs>li>a:hover{border-right-color:#ddd;}
+.tabbable.tabs-left .tabs .active>a,.tabbable.tabs-left .tabs .active>a:hover{border-color:#ddd;border-right-color:transparent;}
+.tabbable.tabs-right .tab-content{margin-right:100px;}
+.tabbable.tabs-right .tabs{float:right;}.tabbable.tabs-right .tabs>li{margin-left:-1px;}.tabbable.tabs-right .tabs>li>a{margin-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.tabbable.tabs-right .tabs>li>a:hover{border-left-color:#ddd;}
+.tabbable.tabs-right .tabs .active>a,.tabbable.tabs-right .tabs .active>a:hover{border-color:#ddd;border-left-color:transparent;}
 .tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
 .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
diff --git a/docs/components.html b/docs/components.html
index c18d8c113e..73a0492989 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -245,39 +245,6 @@
   &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 </pre>
-      <h3>Alternate tabs</h3>
-      <p>You can also use tabs that are stacked on either side of an element, or on the bottom.</p>
-      <div class="row">
-        <div class="span2">
-          <div class="clearfix">
-            <ul class="tabs tabs-left">
-              <li class="active"><a href="#">Active link</a></li>
-              <li><a href="#">Link</a></li>
-              <li><a href="#">Linky link</a></li>
-              <li><a href="#">What up link</a></li>
-            </ul>
-          </div>
-        </div>
-        <div class="span2">
-          <div class="clearfix">
-            <ul class="tabs tabs-right">
-              <li class="active"><a href="#">Active link</a></li>
-              <li><a href="#">Link</a></li>
-              <li><a href="#">Linky link</a></li>
-              <li><a href="#">What up link</a></li>
-            </ul>
-          </div>
-        </div>
-        <div class="span5">
-          <div class="clearfix">
-            <ul class="tabs tabs-bottom">
-              <li class="active"><a href="#">Active link</a></li>
-              <li><a href="#">Link</a></li>
-              <li><a href="#">Linky link</a></li>
-            </ul>
-          </div>
-        </div>
-      </div>
       <h3>Tabbable tabs</h3>
       <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>
 
@@ -315,20 +282,20 @@
             <div class="tab-content" id="myTabContent2">
               <div class="tab-pane active" id="1">
                 <h4>Section 1</h4>
-                <p>Oh hai!</p>
+                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
               <div class="tab-pane" id="2">
                 <h4>Section 2</h4>
-                <p>Oh hai!</p>
+                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
               <div class="tab-pane" id="3">
                 <h4>Section 3</h4>
-                <p>Oh hai!</p>
+                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
             </div>
           </div>
         </div>
-        <div class="span5">
+        <div class="span4 offset1">
           <div class="tabbable tabs-right">
             <ul class="tabs" data-tabs="tabs">
               <li class="active"><a href="#1">Section 1</a></li>
@@ -338,15 +305,15 @@
             <div class="tab-content" id="myTabContent3">
               <div class="tab-pane active" id="1">
                 <h4>Section 1</h4>
-                <p>Oh hai!</p>
+                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
               <div class="tab-pane" id="2">
                 <h4>Section 2</h4>
-                <p>Oh hai!</p>
+                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
               <div class="tab-pane" id="3">
                 <h4>Section 3</h4>
-                <p>Oh hai!</p>
+                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
             </div>
           </div>
diff --git a/lib/patterns.less b/lib/patterns.less
index 1db3158313..367347e270 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -378,34 +378,48 @@
     border-color: transparent #ddd #ddd #ddd;
   }
 
-  // Tabs on left
-  &.tabs-left {
+  // Tabs on left and right
+  &.tabs-left,
+  &.tabs-right {
     .clearfix();
+    .tabs {
+      // Give a fixed width to avoid floating .tab-con
+      width: 100px;
+      // Unfloat them so they stack
+      > li {
+        float: none;
+        margin-bottom: -1px;
+        > a {
+          margin-bottom: 2px;
+          &:hover {
+            border-color: transparent;
+          }
+        }
+      }
+    }
+  }
 
+  // Tabs on left
+  &.tabs-left {
     .tab-content {
-      float: left;
+      margin-left: 100px;
     }
     .tabs {
       float: left;
-
       > li {
-        float: none;
-        margin-bottom: -1px;
         margin-right: -1px;
         > a {
           margin-right: 0;
-          margin-bottom: 2px;
           .border-radius(4px 0 0 4px);
 
           &:hover {
-            border-color: transparent;
             border-right-color: #ddd;
           }
         }
       }
-
-      > .active > a,
-      > .active > a:hover {
+      // Active state
+      .active > a,
+      .active > a:hover {
         border-color: #ddd;
         border-right-color: transparent;
       }
@@ -414,32 +428,25 @@
 
   // Tabs on right
   &.tabs-right {
-    .clearfix();
-
     .tab-content {
-      float: right;
+      margin-right: 100px;
     }
     .tabs {
       float: right;
-
       > li {
-        float: none;
-        margin-bottom: -1px;
         margin-left: -1px;
         > a {
           margin-left: 0;
-          margin-bottom: 2px;
-          .border-radius(4px 0 0 4px);
+          .border-radius(0 4px 4px 0);
 
           &:hover {
-            border-color: transparent;
             border-left-color: #ddd;
           }
         }
       }
-
-      > .active > a,
-      > .active > a:hover {
+      // Active state
+      .active > a,
+      .active > a:hover {
         border-color: #ddd;
         border-left-color: transparent;
       }
-- 
GitLab


From f459f826af827735f8bfea2e850dba1151b19efc Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Mon, 31 Oct 2011 21:46:45 -0700
Subject: [PATCH 064/576] recompiling and pushing just to be sure

---
 bootstrap.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 163ee6bcd8..2c35362d00 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 31 21:45:06 PDT 2011
+ * Date: Mon Oct 31 21:46:38 PDT 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
-- 
GitLab


From 2534fee7538526e2b4e263258fe62953cf08f159 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Tue, 1 Nov 2011 13:56:00 -0700
Subject: [PATCH 065/576] adding unofficial github buttons

---
 docs/assets/css/docs.css        |  41 +++++++++++++++++++++++++++-
 docs/assets/img/github-16px.png | Bin 0 -> 398 bytes
 docs/index.html                 |  46 +++++++++++++++++++++++++++++++-
 3 files changed, 85 insertions(+), 2 deletions(-)
 create mode 100644 docs/assets/img/github-16px.png

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 185f381e92..2dde6a452e 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -39,6 +39,44 @@ body > .navbar-fixed .brand:hover {
 }
 
 
+/* Github buttons
+-------------------------------------------------- */
+.github-btn + .github-btn {
+  margin-left: 10px;
+}
+.github-btn {
+  display: inline-block;
+  height: 20px;
+  overflow: hidden;
+}
+.github-btn .btn,
+.github-btn .count {
+  float: left;
+  padding: 1px 5px 1px 4px;
+  font-size: 11px;
+  font-weight: normal;
+  line-height: 16px;
+  color: #555;
+  -webkit-border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
+}
+.github-btn .btn {
+  box-shadow: none;
+}
+.github-btn .github-ico {
+  float: left;
+  margin-right: 4px;
+  opacity: .75;
+}
+.github-btn .count {
+  display: inline-block;
+  margin-left: 2px;
+  background-color: #fff;
+  border: 1px solid #ddd;
+}
+
+
 /* Jumbotrons
 -------------------------------------------------- */
 .jumbotron {
@@ -59,7 +97,7 @@ body > .navbar-fixed .brand:hover {
   font-weight: 300;
   line-height: 36px;
 }
-.jumbotron .btn {
+.jumbotron .btn-large {
   font-size: 20px;
   padding: 14px 24px;
   margin-right: 5px;
@@ -146,6 +184,7 @@ body > .navbar-fixed .brand:hover {
   font-weight: normal;
   color: #999;
 }
+.quick-links .github-btn,
 .quick-links .tweet-btn,
 .quick-links .follow-btn {
   position: relative;
diff --git a/docs/assets/img/github-16px.png b/docs/assets/img/github-16px.png
new file mode 100644
index 0000000000000000000000000000000000000000..c99ab237a7e77fd149fba63e15e3463b387c0689
GIT binary patch
literal 398
zcmV;90df9`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkPKuJVFR5%fhlQByJK@dibR;dKRDj);|!PZK!^#|CAAOx&Z+1mOi
zY^{VqK(MtH1VIP{(%C5K1QAk*qUd|aj@;_4_`%EV&U~|bvzu$pm9;`@Ii(+YK9sF_
zW{>FzKH)jx*qFJZ+GK_>gF{$@&?*CC=Je?OrE?-zumcwSlr3$89=(}-wJ9vZDfr47
zZ(*FC#*RVHJ!I{S2poVq1I<mCQ+lnb)ZzCP?8{Ssho<6)ttYQFoq2w`;1#_XfCczV
zOC<GL({+Km?wGvQ0}W#fGu2x#u@9v-PEw`qRxPA?b<#a18eG6dk0AOUFy4YtkAb)I
zEw99@@ro|t0&XA{xMmz`yhf82dH3$V3I17Pf!NKQ9=(<7hqz1R2_~=s9}u$VKA7{v
s(p!{g;Eu6-JdK&l)XHZ0<X@lj7XtENzMcd$=>Px#07*qoM6N<$g5G<stN;K2

literal 0
HcmV?d00001

diff --git a/docs/index.html b/docs/index.html
index 7b91315029..ffc81596ec 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -57,6 +57,7 @@
               <a href="#" class="btn primary btn-large">Download on GitHub</a>
               Currently v2.0.0
             </p>
+
             <div class="benefits">
               <h4>Feature highlights</h4>
               <ul>
@@ -79,9 +80,29 @@
           <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
           <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
           <li class="divider">&middot;</li>
+          <li>
+            <span class="github-btn github-watchers">
+              <a href="https://github.com/twitter/bootstrap" class="btn">
+                <img class="github-ico" src="assets/img/github-16px.png">
+                Watch
+              </a>
+              <span class="count"></span>
+            </span>
+            <span class="github-btn github-forks">
+              <a href="https://github.com/twitter/bootstrap" class="btn">
+                <img class="github-ico" src="assets/img/github-16px.png">
+                Fork
+              </a>
+              <span class="count"></span>
+            </span>
+          </li>
+
+<!--
           <li><strong>Authors</strong></li>
           <li><a href="http://twitter.com/mdo">@mdo</a></li>
           <li><a href="http://twitter.com/fat">@fat</a></li>
+ -->
+
           <li class="divider">&middot;</li>
           <li class="follow-btn">
             <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a><script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
@@ -200,7 +221,7 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+    <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
@@ -209,5 +230,28 @@
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="assets/js/application.js"></script>
+
+
+    <script type="text/javascript">
+      $(document).ready(function($){
+        window.repoCallback = function (obj) {
+
+          // Variables
+          var watchers = obj['repository']['watchers'];
+          var forks = obj['repository']['forks'];
+
+          // Echo out the counts in correct elements
+          $('.github-watchers .count').html(watchers);
+          $('.github-forks .count').html(forks);
+
+          // Debug log
+          // console.log("Watchers:" + watchers);
+          // console.log("Forks:" + forks);
+        }
+        $.ajax("http://github.com/api/v2/json/repos/show/twitter/bootstrap?callback=repoCallback", {dataType: "jsonp"});
+      });
+
+    </script>
+
   </body>
 </html>
-- 
GitLab


From 5a702cc6eece2713ac6f6a2f6cbae1b1dd9c5a69 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 3 Nov 2011 17:14:19 -0700
Subject: [PATCH 066/576] no idea

---
 docs/index.html | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index ffc81596ec..a78c8bd871 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -234,6 +234,20 @@
 
     <script type="text/javascript">
       $(document).ready(function($){
+
+        function addCommas(nStr) {
+          nStr += '';
+          x = nStr.split('.');
+          x1 = x[0];
+          x2 = x.length > 1 ? '.' + x[1] : '';
+          var rgx = /(\d+)(\d{3})/;
+          while (rgx.test(x1)) {
+              x1 = x1.replace(rgx, '$1' + ',' + '$2');
+          }
+          return x1 + x2;
+        }
+
+        // GITHUB
         window.repoCallback = function (obj) {
 
           // Variables
@@ -241,8 +255,8 @@
           var forks = obj['repository']['forks'];
 
           // Echo out the counts in correct elements
-          $('.github-watchers .count').html(watchers);
-          $('.github-forks .count').html(forks);
+          $('.github-watchers .count').html(addCommas(watchers));
+          $('.github-forks .count').html(addCommas(forks));
 
           // Debug log
           // console.log("Watchers:" + watchers);
-- 
GitLab


From 4af6dac20ed17c616fbbee7e68b34a37252565e0 Mon Sep 17 00:00:00 2001
From: Silumesii Maboshe <silumesii@pencilcasestudios.com>
Date: Mon, 7 Nov 2011 09:06:13 +0200
Subject: [PATCH 067/576] Use 'fluid-container' instead of 'container-fluid' in
 the docs.

---
 docs/scaffolding.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index de50caf8d8..9a04f7c360 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -242,7 +242,7 @@
       </div>
 <pre class="prettyprint linenums">
 &lt;body&gt;
-  &lt;div class="container-fluid"&gt;
+  &lt;div class="fluid-container"&gt;
     &lt;div class="sidebar"&gt;
       ...
     &lt;/div&gt;
-- 
GitLab


From ae5badc9fbe7bd6fc0724ab84926eaabd5eb130e Mon Sep 17 00:00:00 2001
From: Silumesii Maboshe <silumesii@pencilcasestudios.com>
Date: Mon, 7 Nov 2011 09:09:17 +0200
Subject: [PATCH 068/576] Removed the 'View javascript docs' link because it is
 the page we are currently on. Copy tweak for intro paragraphy of the
 javascript docs.

---
 docs/javascript.html | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 3175d261e5..bb30cf2137 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -82,8 +82,7 @@
    <div class="row">
      <div class="span3">
        <h2>Getting started</h2>
-       <p>Integrating javascript with the Bootstrap library is super easy. Below we go over the basics and provide you with some awesome plugins to get you started!</p>
-       <p><a class="btn primary" href="./javascript.html">View javascript docs &raquo;</a></p>
+       <p>Integrating javascript with the Bootstrap library is super easy. Here we go over the basics and provide you with some awesome plugins to get you started!</p>
      </div>
      <div class="span9">
       <h3>What's included</h3>
-- 
GitLab


From 74dc83f211245dfaf06da9a1b2ad94f51f790be2 Mon Sep 17 00:00:00 2001
From: Raul Riera <rieraraul@gmail.com>
Date: Mon, 7 Nov 2011 10:22:28 +0100
Subject: [PATCH 069/576] Added the view port meta tag for proper
 responsiveness

---
 docs/base-css.html    | 1 +
 docs/components.html  | 1 +
 docs/index.html       | 1 +
 docs/javascript.html  | 1 +
 docs/less.html        | 1 +
 docs/scaffolding.html | 1 +
 6 files changed, 6 insertions(+)

diff --git a/docs/base-css.html b/docs/base-css.html
index f6030ace1f..03f50f6ff3 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/components.html b/docs/components.html
index 73a0492989..c03aac613e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/index.html b/docs/index.html
index 7b91315029..8109b6c956 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/javascript.html b/docs/javascript.html
index 3175d261e5..398b8130b0 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/less.html b/docs/less.html
index 4fa0f0bdd2..6d3802c3b8 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index de50caf8d8..d0dd6a19be 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -3,6 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="description" content="">
     <meta name="author" content="">
 
-- 
GitLab


From 0e6cd670ca0619c663c016c08059530b598e15d3 Mon Sep 17 00:00:00 2001
From: Raul Riera <rieraraul@gmail.com>
Date: Tue, 8 Nov 2011 20:32:28 +0100
Subject: [PATCH 070/576] Removed trailing backslash :)

---
 docs/base-css.html    | 2 +-
 docs/components.html  | 2 +-
 docs/index.html       | 2 +-
 docs/javascript.html  | 2 +-
 docs/less.html        | 2 +-
 docs/scaffolding.html | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 03f50f6ff3..51c4d35a3b 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/components.html b/docs/components.html
index c03aac613e..bb2f326b46 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/index.html b/docs/index.html
index 8109b6c956..ae32fa1455 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/javascript.html b/docs/javascript.html
index 398b8130b0..5426785884 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/less.html b/docs/less.html
index 6d3802c3b8..c76be9a5d1 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="description" content="">
     <meta name="author" content="">
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index d0dd6a19be..87995de9d6 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="description" content="">
     <meta name="author" content="">
 
-- 
GitLab


From 1fb98bed91977b710ae321443d0819939a1a8cc7 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Sat, 12 Nov 2011 00:46:02 -0800
Subject: [PATCH 071/576] updated docs pages (still wip), adding misc css
 classes, added form styles from 1.4, added github buttons to homepage

---
 bootstrap.css                       |  80 +++++++++++++++++++---------
 bootstrap.min.css                   |  14 +++--
 docs/assets/css/docs.css            |   7 +--
 docs/assets/img/less-logo-large.png | Bin 0 -> 13831 bytes
 docs/less.html                      |  73 ++++++++++++++++++++++++-
 lib/forms.less                      |  72 ++++++++++++-------------
 lib/mixins.less                     |   2 +-
 lib/patterns.less                   |  10 ++++
 8 files changed, 190 insertions(+), 68 deletions(-)
 create mode 100644 docs/assets/img/less-logo-large.png

diff --git a/bootstrap.css b/bootstrap.css
index 2c35362d00..71712829f0 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Oct 31 21:46:38 PDT 2011
+ * Date: Mon Nov  7 21:14:04 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -763,33 +763,59 @@ textarea[readonly] {
   border-color: #ddd;
   cursor: not-allowed;
 }
-.has-error {
-  background: #f8dcda;
-  padding: 9px 0;
-  margin: -10px 0 10px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+form .clearfix.error > label, form .clearfix.error .help-block, form .clearfix.error .help-inline {
+  color: #b94a48;
 }
-.has-error > label, .has-error span.help-inline, .has-error span.help-block {
-  color: #9d261d;
+form .clearfix.error input, form .clearfix.error textarea {
+  color: #b94a48;
+  border-color: #ee5f5b;
+}
+form .clearfix.error input:focus, form .clearfix.error textarea:focus {
+  border-color: #e9322d;
+  -webkit-box-shadow: 0 0 6px #f8b9b7;
+  -moz-box-shadow: 0 0 6px #f8b9b7;
+  box-shadow: 0 0 6px #f8b9b7;
+}
+form .clearfix.error .input-prepend .add-on, form .clearfix.error .input-append .add-on {
+  color: #b94a48;
+  background-color: #fce6e6;
+  border-color: #b94a48;
+}
+form .clearfix.warning > label, form .clearfix.warning .help-block, form .clearfix.warning .help-inline {
+  color: #c09853;
+}
+form .clearfix.warning input, form .clearfix.warning textarea {
+  color: #c09853;
+  border-color: #ccae64;
+}
+form .clearfix.warning input:focus, form .clearfix.warning textarea:focus {
+  border-color: #be9a3f;
+  -webkit-box-shadow: 0 0 6px #e5d6b1;
+  -moz-box-shadow: 0 0 6px #e5d6b1;
+  box-shadow: 0 0 6px #e5d6b1;
 }
-.has-error input, .has-error textarea, .has-error select {
-  border-color: #c87872;
-  -webkit-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
-  -moz-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
-  box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
+form .clearfix.warning .input-prepend .add-on, form .clearfix.warning .input-append .add-on {
+  color: #c09853;
+  background-color: #d2b877;
+  border-color: #c09853;
 }
-.has-error input:focus, .has-error textarea:focus, .has-error select:focus {
-  border-color: #b9554d;
-  -webkit-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
-  -moz-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
-  box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
+form .clearfix.success > label, form .clearfix.success .help-block, form .clearfix.success .help-inline {
+  color: #468847;
 }
-.has-error .input-prepend span.add-on, .has-error .input-append span.add-on {
-  background: #f4c8c5;
-  border-color: #c87872;
-  color: #b9554d;
+form .clearfix.success input, form .clearfix.success textarea {
+  color: #468847;
+  border-color: #57a957;
+}
+form .clearfix.success input:focus, form .clearfix.success textarea:focus {
+  border-color: #458845;
+  -webkit-box-shadow: 0 0 6px #9acc9a;
+  -moz-box-shadow: 0 0 6px #9acc9a;
+  box-shadow: 0 0 6px #9acc9a;
+}
+form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-append .add-on {
+  color: #468847;
+  background-color: #bcddbc;
+  border-color: #468847;
 }
 .form-actions {
   padding: 17px 20px 18px;
@@ -2377,6 +2403,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
   box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
 }
+.pull-right {
+  float: right;
+}
+.pull-left {
+  float: left;
+}
 /* Responsive.less
  * For phone and tablet devices
  * ------------------------------------------------------------- */
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9e45659050..04badb14ec 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -127,9 +127,15 @@ input.span14,textarea.span14,select.span14{display:inline-block;float:none;width
 input.span15,textarea.span15,select.span15{display:inline-block;float:none;width:1450px;margin-left:0;}
 input.span16,textarea.span16,select.span16{display:inline-block;float:none;width:1550px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
-.has-error{background:#f8dcda;padding:9px 0;margin:-10px 0 10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.has-error>label,.has-error span.help-inline,.has-error span.help-block{color:#9d261d;}
-.has-error input,.has-error textarea,.has-error select{border-color:#c87872;-webkit-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);-moz-box-shadow:0 0 3px rgba(171, 41, 32, 0.25);box-shadow:0 0 3px rgba(171, 41, 32, 0.25);}.has-error input:focus,.has-error textarea:focus,.has-error select:focus{border-color:#b9554d;-webkit-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);-moz-box-shadow:0 0 6px rgba(171, 41, 32, 0.5);box-shadow:0 0 6px rgba(171, 41, 32, 0.5);}
-.has-error .input-prepend span.add-on,.has-error .input-append span.add-on{background:#f4c8c5;border-color:#c87872;color:#b9554d;}
+form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;}
+form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
+form .clearfix.error .input-prepend .add-on,form .clearfix.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;}
+form .clearfix.warning>label,form .clearfix.warning .help-block,form .clearfix.warning .help-inline{color:#c09853;}
+form .clearfix.warning input,form .clearfix.warning textarea{color:#c09853;border-color:#ccae64;}form .clearfix.warning input:focus,form .clearfix.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;}
+form .clearfix.warning .input-prepend .add-on,form .clearfix.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;}
+form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.success .help-inline{color:#468847;}
+form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
+form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{background-color:#ffffff;display:block;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-placeholder{color:#bfbfbf;}
@@ -343,4 +349,6 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
+.pull-right{float:right;}
+.pull-left{float:left;}
 @media (max-width: 480px){.container{width:auto;padding:0 15px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 2dde6a452e..b503c23e43 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -54,9 +54,10 @@ body > .navbar-fixed .brand:hover {
   float: left;
   padding: 1px 5px 1px 4px;
   font-size: 11px;
-  font-weight: normal;
+  font-weight: bold;
   line-height: 16px;
-  color: #555;
+  color: #666;
+  text-shadow: 0 1px 0 #fff;
   -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
           border-radius: 3px;
@@ -67,7 +68,7 @@ body > .navbar-fixed .brand:hover {
 .github-btn .github-ico {
   float: left;
   margin-right: 4px;
-  opacity: .75;
+  opacity: .65;
 }
 .github-btn .count {
   display: inline-block;
diff --git a/docs/assets/img/less-logo-large.png b/docs/assets/img/less-logo-large.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a739b3e9903d8c023ade58af038277b60719d5a
GIT binary patch
literal 13831
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
JPDHLkV1g`~`5XWM

literal 0
HcmV?d00001

diff --git a/docs/less.html b/docs/less.html
index 4fa0f0bdd2..108ec35df6 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -48,11 +48,82 @@
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
-        <h1>Using LESS</h1>
+        <h1>Using LESS with Bootstrap</h1>
         <p class="lead">Be a boss and use Bootstrap's built-in variables, mixins, and more via LESS</p>
       </header>
 
 
+
+      <!-- BUILT WITH LESS
+      ================================================== -->
+      <div class="page-header">
+        <h1>Built with LESS</h1>
+      </div>
+      <div class="row">
+        <div class="span4">
+          <h3>Why LESS?</h3>
+          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by Alexis Sellier. It makes developing systems-based CSS faster, easier, and more fun.</p>
+        </div>
+        <div class="span4">
+          <h3>What's included?</h3>
+          <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
+        </div>
+        <div class="span4">
+          <h3>Learn more</h3>
+          <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
+          <p>Visit the official website at http://lesscss.org to learn more.</p>
+        </div>
+      </div>
+      <div class="row">
+        <div class="span4">
+          <h3>Variables</h3>
+          <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
+        </div>
+        <div class="span4">
+          <h3>Mixins</h3>
+          <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
+        </div>
+        <div class="span4">
+          <h3>Operations</h3>
+          <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
+        </div>
+      </div>
+
+
+
+      <!-- VARIABLES
+      ================================================== -->
+      <div class="page-header" id="variables">
+        <h1>Variables</h1>
+      </div>
+
+
+
+      <!-- MIXINS
+      ================================================== -->
+      <div class="page-header" id="mixins">
+        <h1>Mixins</h1>
+      </div>
+
+
+
+      <!-- OPERATIONS
+      ================================================== -->
+      <div class="page-header" id="operations">
+        <h1>Operations</h1>
+      </div>
+
+
+
+      <!-- COMPILING LESS AND BOOTSTRAP
+      ================================================== -->
+      <div class="page-header" id="compiling">
+        <h1>Compiling LESS and Bootstrap</h1>
+      </div>
+
+
+
+
 <!-- Using Bootstrap w/ Less
 ================================================== -->
 <section id="less">
diff --git a/lib/forms.less b/lib/forms.less
index 6edf29e536..b7eb150059 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -3,6 +3,7 @@
  * ------------------------------------------------------------- */
 
 
+
 // GENERAL STYLES
 // --------------
 
@@ -84,6 +85,7 @@ input[type=submit] {
   height: auto;
 }
 
+// Set the height of select and file controls to match text inputs
 select,
 input[type=file] {
   height: @baseLineHeight * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size
@@ -188,42 +190,47 @@ textarea[readonly] {
 
 
 
-// ERROR STATE
-// -----------
-
-// Set color of error text
-@error-text: desaturate(lighten(@red, 25%), 25%);
+// FORM FIELD FEEDBACK STATES
+// --------------------------
 
-// Style the background of control-groups with errors
-.has-error {
-  background: lighten(@red, 55%);
-  padding: (@baseLineHeight / 2) 0;
-  margin: -10px 0 10px;
-  .border-radius(4px);
+// Mixin for form field states
+.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
+  // Set the text color
   > label,
-  span.help-inline,
-  span.help-block {
-    color: @red;
+  .help-block,
+  .help-inline {
+    color: @textColor;
   }
+  // Style inputs accordingly
   input,
-  textarea,
-  select {
-    border-color: @error-text;
-    .box-shadow(0 0 3px rgba(171,41,32,.25));
+  textarea {
+    color: @textColor;
+    border-color: @borderColor;
     &:focus {
-      border-color: darken(@error-text, 10%);
-      .box-shadow(0 0 6px rgba(171,41,32,.5));
+      border-color: darken(@borderColor, 10%);
+      .box-shadow(0 0 6px lighten(@borderColor, 20%);
     }
   }
-  .input-prepend,
-  .input-append {
-    span.add-on {
-      background: lighten(@red, 50%);
-      border-color: @error-text;
-      color: darken(@error-text, 10%);
-    }
+  // Give a small background color for input-prepend/-append
+  .input-prepend .add-on,
+  .input-append .add-on {
+    color: @textColor;
+    background-color: @backgroundColor;
+    border-color: @textColor;
   }
 }
+// Error
+form .clearfix.error {
+  .formFieldState(#b94a48, #ee5f5b, lighten(#ee5f5b, 30%));
+}
+// Warning
+form .clearfix.warning {
+  .formFieldState(#c09853, #ccae64, lighten(#CCAE64, 5%));
+}
+// Success
+form .clearfix.success {
+  .formFieldState(#468847, #57a957, lighten(#57a957, 30%));
+}
 
 
 
@@ -238,7 +245,6 @@ textarea[readonly] {
   border-top: 1px solid #ddd;
 }
 
-
 // For text that needs to appear as an input but should not be an input
 .uneditable-input {
   background-color: @white;
@@ -281,6 +287,7 @@ textarea[readonly] {
 }
 
 
+
 // INLINE FIELDS
 // -------------
 
@@ -301,6 +308,7 @@ textarea[readonly] {
 }
 
 
+
 // INPUT GROUPS
 // ------------
 
@@ -353,7 +361,6 @@ textarea[readonly] {
 
 
 
-
 // SEARCH FORM
 // -----------
 
@@ -366,7 +373,6 @@ textarea[readonly] {
 // HORIZONTAL & VERTICAL FORMS
 // ---------------------------
 
-
 // Common properties
 // -----------------
 
@@ -374,17 +380,11 @@ textarea[readonly] {
 .control-group {
   margin-bottom: @baseLineHeight;
 }
-
 // Bold the labels so they stand out
 .control-group > label {
   font-weight: bold;
 }
 
-// Lists of controls (checkboxes and radios)
-.control-list {
-}
-
-
 // Horizontal-specific styles
 // --------------------------
 
diff --git a/lib/mixins.less b/lib/mixins.less
index 6d034cbcc6..1d2c68856e 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -139,7 +139,7 @@
 
 // Transform for scale and rotate
 // translate, rotate, scale -- need to finalize
-.rotation(@degrees: 5deg) {
+.rotate(@degrees: 5deg) {
   -webkit-transform: rotate(@degrees);
      -moz-transform: rotate(@degrees);
       -ms-transform: rotate(@degrees);
diff --git a/lib/patterns.less b/lib/patterns.less
index 367347e270..618b90840f 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -1151,3 +1151,13 @@ input[type=submit].btn {
     }
   }
 }
+
+
+// MISC
+// ----
+.pull-right {
+  float: right;
+}
+.pull-left {
+  float: left;
+}
\ No newline at end of file
-- 
GitLab


From 275da020c275b2eb76ef28a1d210b6e6340e4e6e Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Wed, 16 Nov 2011 11:10:27 -0800
Subject: [PATCH 072/576] added condensed example

---
 docs/base-css.html | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 51c4d35a3b..c8ce7b2228 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -630,7 +630,43 @@
 &lt;table class="striped-table"&gt;
 ...
 &lt;/table&gt;</pre>
-  <h3>3. Striped table w/ TableSorter.js</h3>
+  <h3>3. Condensed table</h3>
+  <p>Make your tables smaller&mdash;just add the <code>.condensed-table</code> class.</p>
+  <table class="condensed-table">
+    <thead>
+      <tr>
+        <th>#</th>
+        <th>First Name</th>
+        <th>Last Name</th>
+        <th>Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td>Some</td>
+        <td>One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
+<pre class="prettyprint linenums">
+&lt;table class="condensed-table"&gt;
+...
+&lt;/table&gt;</pre>
+  <h3>4. Striped table w/ TableSorter.js</h3>
   <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
   <table class="striped-table" id="sortTableExample">
     <thead>
-- 
GitLab


From a0179322854a9d1e2b9363447c9884e40733d04f Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Wed, 16 Nov 2011 23:58:36 -0800
Subject: [PATCH 073/576] start breaking down patterns.less into more distinct
 files, update docs for forms to use correct classes

---
 bootstrap.css        | 604 +++++++++++++++++++++----------------------
 bootstrap.min.css    |  78 +++---
 docs/base-css.html   |   8 +-
 docs/less.html       | 197 +++++++++++++-
 lib/bootstrap.less   |  10 +
 lib/breadcrumbs.less |  22 ++
 lib/media-grids.less |  26 ++
 lib/mixins.less      |  39 ++-
 lib/modals.less      |  60 +++++
 lib/pagination.less  |  40 +++
 lib/patterns.less    | 483 ----------------------------------
 lib/popovers.less    |  45 ++++
 lib/tabs-pills.less  | 221 ++++++++++++++++
 lib/twipsy.less      |  33 +++
 14 files changed, 1035 insertions(+), 831 deletions(-)
 create mode 100644 lib/breadcrumbs.less
 create mode 100644 lib/media-grids.less
 create mode 100644 lib/modals.less
 create mode 100644 lib/pagination.less
 create mode 100644 lib/popovers.less
 create mode 100644 lib/tabs-pills.less
 create mode 100644 lib/twipsy.less

diff --git a/bootstrap.css b/bootstrap.css
index 71712829f0..c59d499546 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Nov  7 21:14:04 PST 2011
+ * Date: Wed Nov 16 23:58:14 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1440,238 +1440,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 .dropdown.open .dropdown-menu {
   display: block;
 }
-.tabs, .pills {
-  margin: 0 0 20px;
-  padding: 0;
-  list-style: none;
-  zoom: 1;
-}
-.tabs:before,
-.pills:before,
-.tabs:after,
-.pills:after {
-  display: table;
-  content: "";
-  zoom: 1;
-  *display: inline;
-}
-.tabs:after, .pills:after {
-  clear: both;
-}
-.tabs > li, .pills > li {
-  float: left;
-}
-.tabs > li > a, .pills > li > a {
-  display: block;
-}
-.tabs {
-  border-color: #ddd;
-  border-style: solid;
-  border-width: 0 0 1px;
-}
-.tabs > li {
-  position: relative;
-  margin-bottom: -1px;
-}
-.tabs > li > a {
-  padding: 0 15px;
-  margin-right: 2px;
-  line-height: 36px;
-  border: 1px solid transparent;
-  -webkit-border-radius: 4px 4px 0 0;
-  -moz-border-radius: 4px 4px 0 0;
-  border-radius: 4px 4px 0 0;
-}
-.tabs > li > a:hover {
-  text-decoration: none;
-  background-color: #eee;
-  border-color: #eee #eee #ddd;
-}
-.tabs .active > a, .tabs .active > a:hover {
-  color: #808080;
-  background-color: #ffffff;
-  border: 1px solid #ddd;
-  border-bottom-color: transparent;
-  cursor: default;
-}
-.tabbable {
-  margin-bottom: 18px;
-}
-.tabbable .tabs {
-  margin-bottom: 0;
-  border-bottom: 0;
-}
-.tabbable .tab-content {
-  padding: 19px;
-  border: 1px solid #ddd;
-}
-.tabbable.tabs-bottom .tabs > li {
-  margin-top: -1px;
-  margin-bottom: 0;
-}
-.tabbable.tabs-bottom .tabs > li > a {
-  -webkit-border-radius: 0 0 4px 4px;
-  -moz-border-radius: 0 0 4px 4px;
-  border-radius: 0 0 4px 4px;
-}
-.tabbable.tabs-bottom .tabs > li > a:hover {
-  border-bottom-color: transparent;
-  border-top-color: #ddd;
-}
-.tabbable.tabs-bottom .tabs > .active > a, .tabbable.tabs-bottom .tabs > .active > a:hover {
-  border-color: transparent #ddd #ddd #ddd;
-}
-.tabbable.tabs-left, .tabbable.tabs-right {
-  zoom: 1;
-}
-.tabbable.tabs-left:before,
-.tabbable.tabs-right:before,
-.tabbable.tabs-left:after,
-.tabbable.tabs-right:after {
-  display: table;
-  content: "";
-  zoom: 1;
-  *display: inline;
-}
-.tabbable.tabs-left:after, .tabbable.tabs-right:after {
-  clear: both;
-}
-.tabbable.tabs-left .tabs, .tabbable.tabs-right .tabs {
-  width: 100px;
-}
-.tabbable.tabs-left .tabs > li, .tabbable.tabs-right .tabs > li {
-  float: none;
-  margin-bottom: -1px;
-}
-.tabbable.tabs-left .tabs > li > a, .tabbable.tabs-right .tabs > li > a {
-  margin-bottom: 2px;
-}
-.tabbable.tabs-left .tabs > li > a:hover, .tabbable.tabs-right .tabs > li > a:hover {
-  border-color: transparent;
-}
-.tabbable.tabs-left .tab-content {
-  margin-left: 100px;
-}
-.tabbable.tabs-left .tabs {
-  float: left;
-}
-.tabbable.tabs-left .tabs > li {
-  margin-right: -1px;
-}
-.tabbable.tabs-left .tabs > li > a {
-  margin-right: 0;
-  -webkit-border-radius: 4px 0 0 4px;
-  -moz-border-radius: 4px 0 0 4px;
-  border-radius: 4px 0 0 4px;
-}
-.tabbable.tabs-left .tabs > li > a:hover {
-  border-right-color: #ddd;
-}
-.tabbable.tabs-left .tabs .active > a, .tabbable.tabs-left .tabs .active > a:hover {
-  border-color: #ddd;
-  border-right-color: transparent;
-}
-.tabbable.tabs-right .tab-content {
-  margin-right: 100px;
-}
-.tabbable.tabs-right .tabs {
-  float: right;
-}
-.tabbable.tabs-right .tabs > li {
-  margin-left: -1px;
-}
-.tabbable.tabs-right .tabs > li > a {
-  margin-left: 0;
-  -webkit-border-radius: 0 4px 4px 0;
-  -moz-border-radius: 0 4px 4px 0;
-  border-radius: 0 4px 4px 0;
-}
-.tabbable.tabs-right .tabs > li > a:hover {
-  border-left-color: #ddd;
-}
-.tabbable.tabs-right .tabs .active > a, .tabbable.tabs-right .tabs .active > a:hover {
-  border-color: #ddd;
-  border-left-color: transparent;
-}
-.tabs .menu-dropdown, .tabs .dropdown-menu {
-  top: 35px;
-  border-width: 1px;
-  -webkit-border-radius: 0 6px 6px 6px;
-  -moz-border-radius: 0 6px 6px 6px;
-  border-radius: 0 6px 6px 6px;
-}
-.tabs a.menu:after, .tabs .dropdown-toggle:after {
-  border-top-color: #999;
-  margin-top: 15px;
-  margin-left: 5px;
-}
-.tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
-  border-color: #999;
-}
-.tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
-  border-top-color: #555;
-}
-.pills a {
-  margin: 5px 3px 5px 0;
-  padding: 0 15px;
-  line-height: 30px;
-  text-shadow: 0 1px 1px #ffffff;
-  -webkit-border-radius: 15px;
-  -moz-border-radius: 15px;
-  border-radius: 15px;
-}
-.pills a:hover {
-  color: #ffffff;
-  text-decoration: none;
-  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-  background-color: #00438a;
-}
-.pills .active a {
-  color: #ffffff;
-  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-  background-color: #0069d6;
-}
-.pills-vertical > li {
-  float: none;
-}
-.tab-content > .tab-pane, .pill-content > .pill-pane {
-  display: none;
-}
-.tab-content > .active, .pill-content > .active {
-  display: block;
-}
-.breadcrumb {
-  margin: 0 0 18px;
-  padding: 7px 14px;
-  background-color: #f5f5f5;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
-  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;
-  -webkit-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;
-  text-shadow: 0 1px 0 #ffffff;
-}
-.breadcrumb .divider {
-  padding: 0 5px;
-  color: #bfbfbf;
-}
-.breadcrumb .active a {
-  color: #404040;
-}
 .hero-unit {
   background-color: #f5f5f5;
   margin-bottom: 30px;
@@ -2038,18 +1806,308 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-color: #ddf4fb;
   border-color: #c6edf9;
 }
-.pagination {
-  height: 36px;
-  margin: 18px 0;
+.well {
+  background-color: #f5f5f5;
+  margin-bottom: 20px;
+  padding: 19px;
+  min-height: 20px;
+  border: 1px solid #eee;
+  border: 1px solid rgba(0, 0, 0, 0.05);
+  -webkit-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);
 }
-.pagination ul {
-  float: left;
-  margin: 0;
-  border: 1px solid #ddd;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
+.well blockquote {
+  border-color: #ddd;
+  border-color: rgba(0, 0, 0, 0.15);
+}
+.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;
+}
+.fade.in {
+  opacity: 1;
+}
+.label {
+  padding: 1px 3px 2px;
+  background-color: #bfbfbf;
+  font-size: 9.75px;
+  font-weight: bold;
+  color: #ffffff;
+  text-transform: uppercase;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.label.important {
+  background-color: #c43c35;
+}
+.label.warning {
+  background-color: #f89406;
+}
+.label.success {
+  background-color: #46a546;
+}
+.label.notice {
+  background-color: #62cffc;
+}
+.pull-right {
+  float: right;
+}
+.pull-left {
+  float: left;
+}
+.tabs, .pills {
+  margin: 0 0 20px;
+  padding: 0;
+  list-style: none;
+  zoom: 1;
+}
+.tabs:before,
+.pills:before,
+.tabs:after,
+.pills:after {
+  display: table;
+  content: "";
+  zoom: 1;
+  *display: inline;
+}
+.tabs:after, .pills:after {
+  clear: both;
+}
+.tabs > li, .pills > li {
+  float: left;
+}
+.tabs > li > a, .pills > li > a {
+  display: block;
+}
+.tabs {
+  border-color: #ddd;
+  border-style: solid;
+  border-width: 0 0 1px;
+}
+.tabs > li {
+  position: relative;
+  margin-bottom: -1px;
+}
+.tabs > li > a {
+  padding: 0 15px;
+  margin-right: 2px;
+  line-height: 36px;
+  border: 1px solid transparent;
+  -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
+  border-radius: 4px 4px 0 0;
+}
+.tabs > li > a:hover {
+  text-decoration: none;
+  background-color: #eee;
+  border-color: #eee #eee #ddd;
+}
+.tabs .active > a, .tabs .active > a:hover {
+  color: #808080;
+  background-color: #ffffff;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+  cursor: default;
+}
+.tabbable {
+  margin-bottom: 18px;
+}
+.tabbable .tabs {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tabbable .tab-content {
+  padding: 19px;
+  border: 1px solid #ddd;
+}
+.tabbable.tabs-bottom .tabs > li {
+  margin-top: -1px;
+  margin-bottom: 0;
+}
+.tabbable.tabs-bottom .tabs > li > a {
+  -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
+  border-radius: 0 0 4px 4px;
+}
+.tabbable.tabs-bottom .tabs > li > a:hover {
+  border-bottom-color: transparent;
+  border-top-color: #ddd;
+}
+.tabbable.tabs-bottom .tabs > .active > a, .tabbable.tabs-bottom .tabs > .active > a:hover {
+  border-color: transparent #ddd #ddd #ddd;
+}
+.tabbable.tabs-left, .tabbable.tabs-right {
+  zoom: 1;
+}
+.tabbable.tabs-left:before,
+.tabbable.tabs-right:before,
+.tabbable.tabs-left:after,
+.tabbable.tabs-right:after {
+  display: table;
+  content: "";
+  zoom: 1;
+  *display: inline;
+}
+.tabbable.tabs-left:after, .tabbable.tabs-right:after {
+  clear: both;
+}
+.tabbable.tabs-left .tabs, .tabbable.tabs-right .tabs {
+  width: 100px;
+}
+.tabbable.tabs-left .tabs > li, .tabbable.tabs-right .tabs > li {
+  float: none;
+  margin-bottom: -1px;
+}
+.tabbable.tabs-left .tabs > li > a, .tabbable.tabs-right .tabs > li > a {
+  margin-bottom: 2px;
+}
+.tabbable.tabs-left .tabs > li > a:hover, .tabbable.tabs-right .tabs > li > a:hover {
+  border-color: transparent;
+}
+.tabbable.tabs-left .tab-content {
+  margin-left: 100px;
+}
+.tabbable.tabs-left .tabs {
+  float: left;
+}
+.tabbable.tabs-left .tabs > li {
+  margin-right: -1px;
+}
+.tabbable.tabs-left .tabs > li > a {
+  margin-right: 0;
+  -webkit-border-radius: 4px 0 0 4px;
+  -moz-border-radius: 4px 0 0 4px;
+  border-radius: 4px 0 0 4px;
+}
+.tabbable.tabs-left .tabs > li > a:hover {
+  border-right-color: #ddd;
+}
+.tabbable.tabs-left .tabs .active > a, .tabbable.tabs-left .tabs .active > a:hover {
+  border-color: #ddd;
+  border-right-color: transparent;
+}
+.tabbable.tabs-right .tab-content {
+  margin-right: 100px;
+}
+.tabbable.tabs-right .tabs {
+  float: right;
+}
+.tabbable.tabs-right .tabs > li {
+  margin-left: -1px;
+}
+.tabbable.tabs-right .tabs > li > a {
+  margin-left: 0;
+  -webkit-border-radius: 0 4px 4px 0;
+  -moz-border-radius: 0 4px 4px 0;
+  border-radius: 0 4px 4px 0;
+}
+.tabbable.tabs-right .tabs > li > a:hover {
+  border-left-color: #ddd;
+}
+.tabbable.tabs-right .tabs .active > a, .tabbable.tabs-right .tabs .active > a:hover {
+  border-color: #ddd;
+  border-left-color: transparent;
+}
+.tabs .menu-dropdown, .tabs .dropdown-menu {
+  top: 35px;
+  border-width: 1px;
+  -webkit-border-radius: 0 6px 6px 6px;
+  -moz-border-radius: 0 6px 6px 6px;
+  border-radius: 0 6px 6px 6px;
+}
+.tabs a.menu:after, .tabs .dropdown-toggle:after {
+  border-top-color: #999;
+  margin-top: 15px;
+  margin-left: 5px;
+}
+.tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
+  border-color: #999;
+}
+.tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
+  border-top-color: #555;
+}
+.pills a {
+  margin: 5px 3px 5px 0;
+  padding: 0 15px;
+  line-height: 30px;
+  text-shadow: 0 1px 1px #ffffff;
+  -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
+}
+.pills a:hover {
+  color: #ffffff;
+  text-decoration: none;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  background-color: #00438a;
+}
+.pills .active a {
+  color: #ffffff;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  background-color: #0069d6;
+}
+.pills-vertical > li {
+  float: none;
+}
+.tab-content > .tab-pane, .pill-content > .pill-pane {
+  display: none;
+}
+.tab-content > .active, .pill-content > .active {
+  display: block;
+}
+.breadcrumb {
+  margin: 0 0 18px;
+  padding: 7px 14px;
+  background-color: #f5f5f5;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
+  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
+  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+  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;
+  -webkit-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;
+  text-shadow: 0 1px 0 #ffffff;
+}
+.breadcrumb .divider {
+  padding: 0 5px;
+  color: #bfbfbf;
+}
+.breadcrumb .active a {
+  color: #404040;
+}
+.pagination {
+  height: 36px;
+  margin: 18px 0;
+}
+.pagination ul {
+  float: left;
+  margin: 0;
+  border: 1px solid #ddd;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
   -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);
@@ -2079,24 +2137,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .pagination .next a {
   border: 0;
 }
-.well {
-  background-color: #f5f5f5;
-  margin-bottom: 20px;
-  padding: 19px;
-  min-height: 20px;
-  border: 1px solid #eee;
-  border: 1px solid rgba(0, 0, 0, 0.05);
-  -webkit-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);
-}
-.well blockquote {
-  border-color: #ddd;
-  border-color: rgba(0, 0, 0, 0.15);
-}
 .modal-backdrop {
   background-color: #000000;
   position: fixed;
@@ -2331,40 +2371,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .popover .content p, .popover .content ul, .popover .content ol {
   margin-bottom: 0;
 }
-.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;
-}
-.fade.in {
-  opacity: 1;
-}
-.label {
-  padding: 1px 3px 2px;
-  background-color: #bfbfbf;
-  font-size: 9.75px;
-  font-weight: bold;
-  color: #ffffff;
-  text-transform: uppercase;
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
-}
-.label.important {
-  background-color: #c43c35;
-}
-.label.warning {
-  background-color: #f89406;
-}
-.label.success {
-  background-color: #46a546;
-}
-.label.notice {
-  background-color: #62cffc;
-}
 .media-grid {
   margin-left: -20px;
   margin-bottom: 0;
@@ -2403,12 +2409,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
   box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
 }
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
 /* Responsive.less
  * For phone and tablet devices
  * ------------------------------------------------------------- */
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 04badb14ec..e236547a61 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -236,37 +236,6 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
-.tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
-.tabs:after,.pills:after{clear:both;}
-.tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
-.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
-.tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
-.tabbable{margin-bottom:18px;}.tabbable .tabs{margin-bottom:0;border-bottom:0;}
-.tabbable .tab-content{padding:19px;border:1px solid #ddd;}
-.tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
-.tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
-.tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
-.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;content:"";zoom:1;*display:inline;}
-.tabbable.tabs-left:after,.tabbable.tabs-right:after{clear:both;}
-.tabbable.tabs-left .tabs,.tabbable.tabs-right .tabs{width:100px;}.tabbable.tabs-left .tabs>li,.tabbable.tabs-right .tabs>li{float:none;margin-bottom:-1px;}.tabbable.tabs-left .tabs>li>a,.tabbable.tabs-right .tabs>li>a{margin-bottom:2px;}.tabbable.tabs-left .tabs>li>a:hover,.tabbable.tabs-right .tabs>li>a:hover{border-color:transparent;}
-.tabbable.tabs-left .tab-content{margin-left:100px;}
-.tabbable.tabs-left .tabs{float:left;}.tabbable.tabs-left .tabs>li{margin-right:-1px;}.tabbable.tabs-left .tabs>li>a{margin-right:0;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.tabbable.tabs-left .tabs>li>a:hover{border-right-color:#ddd;}
-.tabbable.tabs-left .tabs .active>a,.tabbable.tabs-left .tabs .active>a:hover{border-color:#ddd;border-right-color:transparent;}
-.tabbable.tabs-right .tab-content{margin-right:100px;}
-.tabbable.tabs-right .tabs{float:right;}.tabbable.tabs-right .tabs>li{margin-left:-1px;}.tabbable.tabs-right .tabs>li>a{margin-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.tabbable.tabs-right .tabs>li>a:hover{border-left-color:#ddd;}
-.tabbable.tabs-right .tabs .active>a,.tabbable.tabs-right .tabs .active>a:hover{border-color:#ddd;border-left-color:transparent;}
-.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
-.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
-.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
-.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
-.pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
-.pills-vertical>li{float:none;}
-.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
-.tab-content>.active,.pill-content>.active{display:block;}
-.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
-.breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
-.breadcrumb .active a{color:#404040;}
 .hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
@@ -307,13 +276,51 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
 .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
+.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.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;}.fade.in{opacity:1;}
+.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label.warning{background-color:#f89406;}
+.label.success{background-color:#46a546;}
+.label.notice{background-color:#62cffc;}
+.pull-right{float:right;}
+.pull-left{float:left;}
+.tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
+.tabs:after,.pills:after{clear:both;}
+.tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
+.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
+.tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
+.tabbable{margin-bottom:18px;}.tabbable .tabs{margin-bottom:0;border-bottom:0;}
+.tabbable .tab-content{padding:19px;border:1px solid #ddd;}
+.tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
+.tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
+.tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
+.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;content:"";zoom:1;*display:inline;}
+.tabbable.tabs-left:after,.tabbable.tabs-right:after{clear:both;}
+.tabbable.tabs-left .tabs,.tabbable.tabs-right .tabs{width:100px;}.tabbable.tabs-left .tabs>li,.tabbable.tabs-right .tabs>li{float:none;margin-bottom:-1px;}.tabbable.tabs-left .tabs>li>a,.tabbable.tabs-right .tabs>li>a{margin-bottom:2px;}.tabbable.tabs-left .tabs>li>a:hover,.tabbable.tabs-right .tabs>li>a:hover{border-color:transparent;}
+.tabbable.tabs-left .tab-content{margin-left:100px;}
+.tabbable.tabs-left .tabs{float:left;}.tabbable.tabs-left .tabs>li{margin-right:-1px;}.tabbable.tabs-left .tabs>li>a{margin-right:0;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.tabbable.tabs-left .tabs>li>a:hover{border-right-color:#ddd;}
+.tabbable.tabs-left .tabs .active>a,.tabbable.tabs-left .tabs .active>a:hover{border-color:#ddd;border-right-color:transparent;}
+.tabbable.tabs-right .tab-content{margin-right:100px;}
+.tabbable.tabs-right .tabs{float:right;}.tabbable.tabs-right .tabs>li{margin-left:-1px;}.tabbable.tabs-right .tabs>li>a{margin-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.tabbable.tabs-right .tabs>li>a:hover{border-left-color:#ddd;}
+.tabbable.tabs-right .tabs .active>a,.tabbable.tabs-right .tabs .active>a:hover{border-color:#ddd;border-left-color:transparent;}
+.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
+.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
+.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
+.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
+.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
+.pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
+.pills-vertical>li{float:none;}
+.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
+.tab-content>.active,.pill-content>.active{display:block;}
+.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
+.breadcrumb .active a{color:#404040;}
 .pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
 .pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
 .pagination .next a{border:0;}
-.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
 .modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
@@ -339,16 +346,9 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .popover .inner{background-color:#000000;background-color:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-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);}
 .popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
 .popover .content{background-color:#ffffff;padding:14px;-webkit-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;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
-.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;}.fade.in{opacity:1;}
-.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
-.label.warning{background-color:#f89406;}
-.label.success{background-color:#46a546;}
-.label.notice{background-color:#62cffc;}
 .media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;*display:inline;}
 .media-grid:after{clear:both;}
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-.pull-right{float:right;}
-.pull-left{float:left;}
 @media (max-width: 480px){.container{width:auto;padding:0 15px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/base-css.html b/docs/base-css.html
index 51c4d35a3b..9c1af11c4e 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -696,22 +696,22 @@
     <tbody>
       <tr>
         <th>Vertical (default)</th>
-        <td><code>.vertical-form</code> <span class="muted">(not required)</span></td>
+        <td><code>.form-vertical</code> <span class="muted">(not required)</span></td>
         <td>Stacked, left-aligned labels over controls</td>
       </tr>
       <tr>
         <th>Horiztonal</th>
-        <td><code>.horizontal-form</code></td>
+        <td><code>.form-horizontal</code></td>
         <td>Float left, right-aligned labels on same line as controls</td>
       </tr>
       <tr>
         <th>Inline</th>
-        <td><code>.inline-form</code></td>
+        <td><code>.form-inline</code></td>
         <td>Left-aligned label and inline-block controls for compact style</td>
       </tr>
       <tr>
         <th>Search</th>
-        <td><code>.search-form</code></td>
+        <td><code>.form-search</code></td>
         <td>Extra-rounded text input for a typical search aesthetic</td>
       </tr>
     </tbody>
diff --git a/docs/less.html b/docs/less.html
index fccd5b9a46..2d35eea267 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -95,15 +95,208 @@
       <!-- VARIABLES
       ================================================== -->
       <div class="page-header" id="variables">
-        <h1>Variables</h1>
+        <h1>Variables <small>from variables.less</small></h1>
       </div>
 
+      <div class="row">
+        <div class="span3">
+          <h3>Hyperlinks</h3>
+        </div>
+        <div class="span9">
+          <table class="bordered-table striped-table">
+            <thead>
+              <tr>
+                <th>Variable</th>
+                <th>Value</th>
+                <th>Usage</th>
+              </tr>
+            </thead>
+            <tbody>
+              <tr>
+                <td><code>@linkColor</code></td>
+                <td>#0069d6</td>
+                <td>Default link text color</td>
+              </tr>
+              <tr>
+                <td><code>@linkColorHover</code></td>
+                <td><code>darken(@linkColor, 15)</code></td>
+                <td>Default link text hover color</td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+      <div class="row">
+        <div class="span3">
+          <h3>Grayscale colors</h3>
+        </div>
+        <div class="span9">
+          <table class="bordered-table striped-table">
+            <tbody>
+              <tr>
+                <td><code>@black</code></td>
+                <td>#000</td>
+                <td>Black</td>
+              </tr>
+              <tr>
+                <td><code>@grayDark</code></td>
+                <td><code>lighten(@black, 25%)</code></td>
+                <td>Dark gray</td>
+              </tr>
+              <tr>
+                <td><code>@gray</code></td>
+                <td><code>lighten(@black, 50%)</code></td>
+                <td>Medium gray</td>
+              </tr>
+              <tr>
+                <td><code>@grayLight</code></td>
+                <td><code>lighten(@black, 75%)</code></td>
+                <td>Light gray</td>
+              </tr>
+              <tr>
+                <td><code>@grayLighter</code></td>
+                <td><code>lighten(@black, 90%)</code></td>
+                <td>Lighter gray</td>
+              </tr>
+              <tr>
+                <td><code>@white</code></td>
+                <td>#fff</td>
+                <td>White</td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+      <div class="row">
+        <div class="span3">
+          <h3>Accent colors</h3>
+        </div>
+        <div class="span9">
+          <table class="bordered-table striped-table">
+            <tbody>
+              <tr>
+                <td><code>@blue</code></td>
+                <td>#049CDB</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@green</code></td>
+                <td>#46a546</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@red</code></td>
+                <td>#9d261d</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@yellow</code></td>
+                <td>#ffc40d</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@orange</code></td>
+                <td>#f89406</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@pink</code></td>
+                <td>#c3325f</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@purple</code></td>
+                <td>#7a43b6</td>
+                <td></td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+      <div class="row">
+        <div class="span3">
+          <h3>Grid system</h3>
+        </div>
+        <div class="span9">
+          <table class="bordered-table striped-table">
+            <tbody>
+              <tr>
+                <td><code>@gridColumns</code></td>
+                <td>12</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@gridColumnWidth</code></td>
+                <td>60px</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@gridGutterWidth</code></td>
+                <td>20px</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@siteWidth</code></td>
+                <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
+                <td></td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+      <div class="row">
+        <div class="span3">
+          <h3>Typography</h3>
+        </div>
+        <div class="span9">
+          <table class="bordered-table striped-table">
+            <tbody>
+              <tr>
+                <td><code>@baseFontSize</code></td>
+                <td>13px</td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@baseFontFamily</code></td>
+                <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@baseLineHeight</code></td>
+                <td>18px</td>
+                <td></td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+      <div class="row">
+        <div class="span3">
+          <h3>Visuals</h3>
+        </div>
+        <div class="span9">
+          <table class="bordered-table striped-table">
+            <tbody>
+              <tr>
+                <td><code>@primaryButtonColor</code></td>
+                <td><code>@blue</code></td>
+                <td></td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
 
 
       <!-- MIXINS
       ================================================== -->
       <div class="page-header" id="mixins">
-        <h1>Mixins</h1>
+        <h1>Mixins <small>from mixins.less</small></h1>
       </div>
 
 
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 9665306fd5..ffad359130 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -23,7 +23,17 @@
 @import "type.less";
 @import "forms.less";
 @import "tables.less";
+
+// Temp catchall for what's missing thus far
 @import "patterns.less";
 
+@import "tabs-pills.less";
+@import "breadcrumbs.less";
+@import "pagination.less";
+@import "modals.less";
+@import "twipsy.less";
+@import "popovers.less";
+@import "media-grids.less";
+
 // Responsive
 @import "responsive.less";
\ No newline at end of file
diff --git a/lib/breadcrumbs.less b/lib/breadcrumbs.less
new file mode 100644
index 0000000000..89a7aef13a
--- /dev/null
+++ b/lib/breadcrumbs.less
@@ -0,0 +1,22 @@
+// BREADCRUMBS
+// -----------
+
+.breadcrumb {
+  margin: 0 0 @baseLineHeight;
+  padding: 7px 14px;
+  #gradient > .vertical(#ffffff, #f5f5f5);
+  border: 1px solid #ddd;
+  .border-radius(3px);
+  .box-shadow(inset 0 1px 0 @white);
+  li {
+    display: inline;
+    text-shadow: 0 1px 0 @white;
+  }
+  .divider {
+    padding: 0 5px;
+    color: @grayLight;
+  }
+  .active a {
+    color: @grayDark;
+  }
+}
diff --git a/lib/media-grids.less b/lib/media-grids.less
new file mode 100644
index 0000000000..7ceade651b
--- /dev/null
+++ b/lib/media-grids.less
@@ -0,0 +1,26 @@
+// MEDIA GRIDS
+// -----------
+
+.media-grid {
+  margin-left: -20px;
+  margin-bottom: 0;
+  .clearfix();
+  li {
+    display: inline;
+  }
+  a {
+    float: left;
+    padding: 4px;
+    margin: 0 0 20px 20px;
+    border: 1px solid #ddd;
+    .border-radius(4px);
+    .box-shadow(0 1px 1px rgba(0,0,0,.075));
+    img {
+      display: block;
+    }
+    &:hover {
+      border-color: @linkColor;
+      .box-shadow(0 1px 4px rgba(0,105,214,.25));
+    }
+  }
+}
diff --git a/lib/mixins.less b/lib/mixins.less
index 1d2c68856e..b8565bbdcc 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -272,4 +272,41 @@
   -khtml-opacity: @opacity / 100;
     -moz-opacity: @opacity / 100;
          opacity: @opacity / 100;
-}
\ No newline at end of file
+}
+
+// Popover arrows
+// For tipsies and popovers
+#popoverArrow {
+  .above(@arrowWidth: 5px) {
+    bottom: 0;
+    left: 50%;
+    margin-left: -@arrowWidth;
+    border-left: @arrowWidth solid transparent;
+    border-right: @arrowWidth solid transparent;
+    border-top: @arrowWidth solid @black;
+  }
+  .left(@arrowWidth: 5px) {
+    top: 50%;
+    right: 0;
+    margin-top: -@arrowWidth;
+    border-top: @arrowWidth solid transparent;
+    border-bottom: @arrowWidth solid transparent;
+    border-left: @arrowWidth solid @black;
+  }
+  .below(@arrowWidth: 5px) {
+    top: 0;
+    left: 50%;
+    margin-left: -@arrowWidth;
+    border-left: @arrowWidth solid transparent;
+    border-right: @arrowWidth solid transparent;
+    border-bottom: @arrowWidth solid @black;
+  }
+  .right(@arrowWidth: 5px) {
+    top: 50%;
+    left: 0;
+    margin-top: -@arrowWidth;
+    border-top: @arrowWidth solid transparent;
+    border-bottom: @arrowWidth solid transparent;
+    border-right: @arrowWidth solid @black;
+  }
+}
diff --git a/lib/modals.less b/lib/modals.less
new file mode 100644
index 0000000000..672431beb6
--- /dev/null
+++ b/lib/modals.less
@@ -0,0 +1,60 @@
+// MODALS
+// ------
+
+.modal-backdrop {
+  background-color: @black;
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 10000;
+  // Fade for backdrop
+  &.fade { opacity: 0; }
+}
+
+.modal-backdrop, .modal-backdrop.fade.in {
+  .opacity(80);
+}
+
+.modal {
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  z-index: 11000;
+  width: 560px;
+  margin: -250px 0 0 -250px;
+  background-color: @white;
+  border: 1px solid #999;
+  border: 1px solid rgba(0,0,0,.3);
+  *border: 1px solid #999; /* IE6-7 */
+  .border-radius(6px);
+  .box-shadow(0 3px 7px rgba(0,0,0,0.3));
+  .background-clip(padding-box);
+  .close { margin-top: 7px; }
+  &.fade {
+    .transition(e('opacity .3s linear, top .3s ease-out'));
+    top: -25%;
+  }
+  &.fade.in { top: 50%; }
+}
+.modal-header {
+  border-bottom: 1px solid #eee;
+  padding: 5px 15px;
+}
+.modal-body {
+  padding: 15px;
+}
+.modal-footer {
+  background-color: #f5f5f5;
+  padding: 14px 15px 15px;
+  border-top: 1px solid #ddd;
+  .border-radius(0 0 6px 6px);
+  .box-shadow(inset 0 1px 0 @white);
+  .clearfix();
+  margin-bottom: 0;
+  .btn {
+    float: right;
+    margin-left: 5px;
+  }
+}
diff --git a/lib/pagination.less b/lib/pagination.less
new file mode 100644
index 0000000000..d97a1bab3b
--- /dev/null
+++ b/lib/pagination.less
@@ -0,0 +1,40 @@
+// PAGINATION
+// ----------
+
+.pagination {
+  height: @baseLineHeight * 2;
+  margin: @baseLineHeight 0;
+  ul {
+    float: left;
+    margin: 0;
+    border: 1px solid #ddd;
+    border: 1px solid rgba(0,0,0,.15);
+    .border-radius(3px);
+    .box-shadow(0 1px 2px rgba(0,0,0,.05));
+  }
+  li {
+    display: inline;
+  }
+  a {
+    float: left;
+    padding: 0 14px;
+    line-height: (@baseLineHeight * 2) - 2;
+    border-right: 1px solid;
+    border-right-color: #ddd;
+    border-right-color: rgba(0,0,0,.15);
+    *border-right-color: #ddd; /* IE6-7 */
+    text-decoration: none;
+  }
+  a:hover,
+  .active a {
+    background-color: lighten(@blue, 45%);
+  }
+  .disabled a,
+  .disabled a:hover {
+    background-color: transparent;
+    color: @grayLight;
+  }
+  .next a {
+    border: 0;
+  }
+}
diff --git a/lib/patterns.less b/lib/patterns.less
index 618b90840f..bc1229bd90 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -301,251 +301,8 @@
 }
 
 
-// Tabs and Pills
-.tabs,
-.pills {
-  margin: 0 0 20px;
-  padding: 0;
-  list-style: none;
-  .clearfix();
-  > li {
-    float: left;
-    > a {
-      display: block;
-    }
-  }
-}
-
-// Tabs
-.tabs {
-  border-color: #ddd;
-  border-style: solid;
-  border-width: 0 0 1px;
-  > li {
-    position: relative; // For the dropdowns mostly
-    margin-bottom: -1px;
-    > a {
-      padding: 0 15px;
-      margin-right: 2px;
-      line-height: @baseLineHeight * 2;
-      border: 1px solid transparent;
-      .border-radius(4px 4px 0 0);
-      &:hover {
-        text-decoration: none;
-        background-color: #eee;
-        border-color: #eee #eee #ddd;
-      }
-    }
-  }
-  // Active state, and it's :hover to override normal :hover
-  .active > a,
-  .active > a:hover {
-    color: @gray;
-    background-color: @white;
-    border: 1px solid #ddd;
-    border-bottom-color: transparent;
-    cursor: default;
-  }
-}
-
-.tabbable {
-  margin-bottom: @baseLineHeight;
-
-  // Tabs on top
-  .tabs {
-    margin-bottom: 0;
-    border-bottom: 0;
-  }
-  .tab-content {
-    padding: 19px;
-    border: 1px solid #ddd;
-  }
-
-  // Tabs on bottom
-  &.tabs-bottom .tabs > li {
-    margin-top: -1px;
-    margin-bottom: 0;
-  }
-  &.tabs-bottom .tabs > li > a {
-    .border-radius(0 0 4px 4px);
-    &:hover {
-      border-bottom-color: transparent;
-      border-top-color: #ddd;
-    }
-  }
-  &.tabs-bottom .tabs > .active > a,
-  &.tabs-bottom .tabs > .active > a:hover {
-    border-color: transparent #ddd #ddd #ddd;
-  }
-
-  // Tabs on left and right
-  &.tabs-left,
-  &.tabs-right {
-    .clearfix();
-    .tabs {
-      // Give a fixed width to avoid floating .tab-con
-      width: 100px;
-      // Unfloat them so they stack
-      > li {
-        float: none;
-        margin-bottom: -1px;
-        > a {
-          margin-bottom: 2px;
-          &:hover {
-            border-color: transparent;
-          }
-        }
-      }
-    }
-  }
-
-  // Tabs on left
-  &.tabs-left {
-    .tab-content {
-      margin-left: 100px;
-    }
-    .tabs {
-      float: left;
-      > li {
-        margin-right: -1px;
-        > a {
-          margin-right: 0;
-          .border-radius(4px 0 0 4px);
-
-          &:hover {
-            border-right-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-right-color: transparent;
-      }
-    }
-  }
-
-  // Tabs on right
-  &.tabs-right {
-    .tab-content {
-      margin-right: 100px;
-    }
-    .tabs {
-      float: right;
-      > li {
-        margin-left: -1px;
-        > a {
-          margin-left: 0;
-          .border-radius(0 4px 4px 0);
-
-          &:hover {
-            border-left-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-left-color: transparent;
-      }
-    }
-  }
-}
-
 
-// Dropdowns in tabs
-.tabs {
-  // first one for backwards compatibility
-  .menu-dropdown,
-  .dropdown-menu {
-    top: 35px;
-    border-width: 1px;
-    .border-radius(0 6px 6px 6px);
-  }
-  // first one for backwards compatibility
-  a.menu:after,
-  .dropdown-toggle:after {
-    border-top-color: #999;
-    margin-top: 15px;
-    margin-left: 5px;
-  }
-  // first one for backwards compatibility
-  li.open.menu .menu,
-  .open.dropdown .dropdown-toggle {
-    border-color: #999;
-  }
-  // first one for backwards compatibility
-  li.open a.menu:after,
-  .dropdown.open .dropdown-toggle:after {
-    border-top-color: #555;
-  }
-}
 
-// Pills
-.pills {
-  a {
-    margin: 5px 3px 5px 0;
-    padding: 0 15px;
-    line-height: 30px;
-    text-shadow: 0 1px 1px @white;
-    .border-radius(15px);
-    &:hover {
-      color: @white;
-      text-decoration: none;
-      text-shadow: 0 1px 1px rgba(0,0,0,.25);
-      background-color: @linkColorHover;
-    }
-  }
-  .active a {
-    color: @white;
-    text-shadow: 0 1px 1px rgba(0,0,0,.25);
-    background-color: @linkColor;
-  }
-}
-
-// Stacked pills
-.pills-vertical > li {
-  float: none;
-}
-
-// Tabbable areas
-.tab-content,
-.pill-content {
-}
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
-  display: none;
-}
-.tab-content > .active,
-.pill-content > .active {
-  display: block;
-}
-
-
-// BREADCRUMBS
-// -----------
-
-.breadcrumb {
-  margin: 0 0 @baseLineHeight;
-  padding: 7px 14px;
-  #gradient > .vertical(#ffffff, #f5f5f5);
-  border: 1px solid #ddd;
-  .border-radius(3px);
-  .box-shadow(inset 0 1px 0 @white);
-  li {
-    display: inline;
-    text-shadow: 0 1px 0 @white;
-  }
-  .divider {
-    padding: 0 5px;
-    color: @grayLight;
-  }
-  .active a {
-    color: @grayDark;
-  }
-}
 
 
 // PAGE HEADERS
@@ -852,46 +609,6 @@ input[type=submit].btn {
 }
 
 
-// PAGINATION
-// ----------
-
-.pagination {
-  height: @baseLineHeight * 2;
-  margin: @baseLineHeight 0;
-  ul {
-    float: left;
-    margin: 0;
-    border: 1px solid #ddd;
-    border: 1px solid rgba(0,0,0,.15);
-    .border-radius(3px);
-    .box-shadow(0 1px 2px rgba(0,0,0,.05));
-  }
-  li {
-    display: inline;
-  }
-  a {
-    float: left;
-    padding: 0 14px;
-    line-height: (@baseLineHeight * 2) - 2;
-    border-right: 1px solid;
-    border-right-color: #ddd;
-    border-right-color: rgba(0,0,0,.15);
-    *border-right-color: #ddd; /* IE6-7 */
-    text-decoration: none;
-  }
-  a:hover,
-  .active a {
-    background-color: lighten(@blue, 45%);
-  }
-  .disabled a,
-  .disabled a:hover {
-    background-color: transparent;
-    color: @grayLight;
-  }
-  .next a {
-    border: 0;
-  }
-}
 
 
 // WELLS
@@ -913,186 +630,12 @@ input[type=submit].btn {
 }
 
 
-// MODALS
-// ------
-
-.modal-backdrop {
-  background-color: @black;
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  z-index: 10000;
-  // Fade for backdrop
-  &.fade { opacity: 0; }
-}
-
-.modal-backdrop, .modal-backdrop.fade.in {
-  .opacity(80);
-}
-
-.modal {
-  position: fixed;
-  top: 50%;
-  left: 50%;
-  z-index: 11000;
-  width: 560px;
-  margin: -250px 0 0 -250px;
-  background-color: @white;
-  border: 1px solid #999;
-  border: 1px solid rgba(0,0,0,.3);
-  *border: 1px solid #999; /* IE6-7 */
-  .border-radius(6px);
-  .box-shadow(0 3px 7px rgba(0,0,0,0.3));
-  .background-clip(padding-box);
-  .close { margin-top: 7px; }
-  &.fade {
-    .transition(e('opacity .3s linear, top .3s ease-out'));
-    top: -25%;
-  }
-  &.fade.in { top: 50%; }
-}
-.modal-header {
-  border-bottom: 1px solid #eee;
-  padding: 5px 15px;
-}
-.modal-body {
-  padding: 15px;
-}
-.modal-footer {
-  background-color: #f5f5f5;
-  padding: 14px 15px 15px;
-  border-top: 1px solid #ddd;
-  .border-radius(0 0 6px 6px);
-  .box-shadow(inset 0 1px 0 @white);
-  .clearfix();
-  margin-bottom: 0;
-  .btn {
-    float: right;
-    margin-left: 5px;
-  }
-}
-
-
-// POPOVER ARROWS
-// --------------
 
-#popoverArrow {
-  .above(@arrowWidth: 5px) {
-    bottom: 0;
-    left: 50%;
-    margin-left: -@arrowWidth;
-    border-left: @arrowWidth solid transparent;
-    border-right: @arrowWidth solid transparent;
-    border-top: @arrowWidth solid @black;
-  }
-  .left(@arrowWidth: 5px) {
-    top: 50%;
-    right: 0;
-    margin-top: -@arrowWidth;
-    border-top: @arrowWidth solid transparent;
-    border-bottom: @arrowWidth solid transparent;
-    border-left: @arrowWidth solid @black;
-  }
-  .below(@arrowWidth: 5px) {
-    top: 0;
-    left: 50%;
-    margin-left: -@arrowWidth;
-    border-left: @arrowWidth solid transparent;
-    border-right: @arrowWidth solid transparent;
-    border-bottom: @arrowWidth solid @black;
-  }
-  .right(@arrowWidth: 5px) {
-    top: 50%;
-    left: 0;
-    margin-top: -@arrowWidth;
-    border-top: @arrowWidth solid transparent;
-    border-bottom: @arrowWidth solid transparent;
-    border-right: @arrowWidth solid @black;
-  }
-}
 
-// TWIPSY
-// ------
 
-.twipsy {
-  display: block;
-  position: absolute;
-  visibility: visible;
-  padding: 5px;
-  font-size: 11px;
-  z-index: 1000;
-  .opacity(80);
-  &.fade.in {
-    .opacity(80);
-  }
-  &.above .twipsy-arrow   { #popoverArrow > .above(); }
-  &.left .twipsy-arrow    { #popoverArrow > .left(); }
-  &.below .twipsy-arrow   { #popoverArrow > .below(); }
-  &.right .twipsy-arrow   { #popoverArrow > .right(); }
-}
-.twipsy-inner {
-  padding: 3px 8px;
-  background-color: @black;
-  color: white;
-  text-align: center;
-  max-width: 200px;
-  text-decoration: none;
-  .border-radius(4px);
-}
-.twipsy-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-}
 
 
-// POPOVERS
-// --------
 
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 1000;
-  padding: 5px;
-  display: none;
-  &.above .arrow { #popoverArrow > .above(); }
-  &.right .arrow { #popoverArrow > .right(); }
-  &.below .arrow { #popoverArrow > .below(); }
-  &.left .arrow  { #popoverArrow > .left(); }
-  .arrow {
-    position: absolute;
-    width: 0;
-    height: 0;
-  }
-  .inner {
-    background-color: @black;
-    background-color: rgba(0,0,0,.8);
-    padding: 3px;
-    overflow: hidden;
-    width: 280px;
-    .border-radius(6px);
-    .box-shadow(0 3px 7px rgba(0,0,0,0.3));
-  }
-  .title {
-    background-color: #f5f5f5;
-    padding: 9px 15px;
-    line-height: 1;
-    .border-radius(3px 3px 0 0);
-    border-bottom:1px solid #eee;
-  }
-  .content {
-    background-color: @white;
-    padding: 14px;
-    .border-radius(0 0 3px 3px);
-    .background-clip(padding-box);
-    p, ul, ol {
-      margin-bottom: 0;
-    }
-  }
-}
 
 
 // PATTERN ANIMATIONS
@@ -1125,32 +668,6 @@ input[type=submit].btn {
 }
 
 
-// MEDIA GRIDS
-// -----------
-
-.media-grid {
-  margin-left: -20px;
-  margin-bottom: 0;
-  .clearfix();
-  li {
-    display: inline;
-  }
-  a {
-    float: left;
-    padding: 4px;
-    margin: 0 0 20px 20px;
-    border: 1px solid #ddd;
-    .border-radius(4px);
-    .box-shadow(0 1px 1px rgba(0,0,0,.075));
-    img {
-      display: block;
-    }
-    &:hover {
-      border-color: @linkColor;
-      .box-shadow(0 1px 4px rgba(0,105,214,.25));
-    }
-  }
-}
 
 
 // MISC
diff --git a/lib/popovers.less b/lib/popovers.less
new file mode 100644
index 0000000000..ed335eeedf
--- /dev/null
+++ b/lib/popovers.less
@@ -0,0 +1,45 @@
+// POPOVERS
+// --------
+
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1000;
+  padding: 5px;
+  display: none;
+  &.above .arrow { #popoverArrow > .above(); }
+  &.right .arrow { #popoverArrow > .right(); }
+  &.below .arrow { #popoverArrow > .below(); }
+  &.left .arrow  { #popoverArrow > .left(); }
+  .arrow {
+    position: absolute;
+    width: 0;
+    height: 0;
+  }
+  .inner {
+    background-color: @black;
+    background-color: rgba(0,0,0,.8);
+    padding: 3px;
+    overflow: hidden;
+    width: 280px;
+    .border-radius(6px);
+    .box-shadow(0 3px 7px rgba(0,0,0,0.3));
+  }
+  .title {
+    background-color: #f5f5f5;
+    padding: 9px 15px;
+    line-height: 1;
+    .border-radius(3px 3px 0 0);
+    border-bottom:1px solid #eee;
+  }
+  .content {
+    background-color: @white;
+    padding: 14px;
+    .border-radius(0 0 3px 3px);
+    .background-clip(padding-box);
+    p, ul, ol {
+      margin-bottom: 0;
+    }
+  }
+}
\ No newline at end of file
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
new file mode 100644
index 0000000000..7e6c0bf39e
--- /dev/null
+++ b/lib/tabs-pills.less
@@ -0,0 +1,221 @@
+// Tabs and Pills
+.tabs,
+.pills {
+  margin: 0 0 20px;
+  padding: 0;
+  list-style: none;
+  .clearfix();
+  > li {
+    float: left;
+    > a {
+      display: block;
+    }
+  }
+}
+
+// Tabs
+.tabs {
+  border-color: #ddd;
+  border-style: solid;
+  border-width: 0 0 1px;
+  > li {
+    position: relative; // For the dropdowns mostly
+    margin-bottom: -1px;
+    > a {
+      padding: 0 15px;
+      margin-right: 2px;
+      line-height: @baseLineHeight * 2;
+      border: 1px solid transparent;
+      .border-radius(4px 4px 0 0);
+      &:hover {
+        text-decoration: none;
+        background-color: #eee;
+        border-color: #eee #eee #ddd;
+      }
+    }
+  }
+  // Active state, and it's :hover to override normal :hover
+  .active > a,
+  .active > a:hover {
+    color: @gray;
+    background-color: @white;
+    border: 1px solid #ddd;
+    border-bottom-color: transparent;
+    cursor: default;
+  }
+}
+
+.tabbable {
+  margin-bottom: @baseLineHeight;
+
+  // Tabs on top
+  .tabs {
+    margin-bottom: 0;
+    border-bottom: 0;
+  }
+  .tab-content {
+    padding: 19px;
+    border: 1px solid #ddd;
+  }
+
+  // Tabs on bottom
+  &.tabs-bottom .tabs > li {
+    margin-top: -1px;
+    margin-bottom: 0;
+  }
+  &.tabs-bottom .tabs > li > a {
+    .border-radius(0 0 4px 4px);
+    &:hover {
+      border-bottom-color: transparent;
+      border-top-color: #ddd;
+    }
+  }
+  &.tabs-bottom .tabs > .active > a,
+  &.tabs-bottom .tabs > .active > a:hover {
+    border-color: transparent #ddd #ddd #ddd;
+  }
+
+  // Tabs on left and right
+  &.tabs-left,
+  &.tabs-right {
+    .clearfix();
+    .tabs {
+      // Give a fixed width to avoid floating .tab-con
+      width: 100px;
+      // Unfloat them so they stack
+      > li {
+        float: none;
+        margin-bottom: -1px;
+        > a {
+          margin-bottom: 2px;
+          &:hover {
+            border-color: transparent;
+          }
+        }
+      }
+    }
+  }
+
+  // Tabs on left
+  &.tabs-left {
+    .tab-content {
+      margin-left: 100px;
+    }
+    .tabs {
+      float: left;
+      > li {
+        margin-right: -1px;
+        > a {
+          margin-right: 0;
+          .border-radius(4px 0 0 4px);
+
+          &:hover {
+            border-right-color: #ddd;
+          }
+        }
+      }
+      // Active state
+      .active > a,
+      .active > a:hover {
+        border-color: #ddd;
+        border-right-color: transparent;
+      }
+    }
+  }
+
+  // Tabs on right
+  &.tabs-right {
+    .tab-content {
+      margin-right: 100px;
+    }
+    .tabs {
+      float: right;
+      > li {
+        margin-left: -1px;
+        > a {
+          margin-left: 0;
+          .border-radius(0 4px 4px 0);
+
+          &:hover {
+            border-left-color: #ddd;
+          }
+        }
+      }
+      // Active state
+      .active > a,
+      .active > a:hover {
+        border-color: #ddd;
+        border-left-color: transparent;
+      }
+    }
+  }
+}
+
+
+// Dropdowns in tabs
+.tabs {
+  // first one for backwards compatibility
+  .menu-dropdown,
+  .dropdown-menu {
+    top: 35px;
+    border-width: 1px;
+    .border-radius(0 6px 6px 6px);
+  }
+  // first one for backwards compatibility
+  a.menu:after,
+  .dropdown-toggle:after {
+    border-top-color: #999;
+    margin-top: 15px;
+    margin-left: 5px;
+  }
+  // first one for backwards compatibility
+  li.open.menu .menu,
+  .open.dropdown .dropdown-toggle {
+    border-color: #999;
+  }
+  // first one for backwards compatibility
+  li.open a.menu:after,
+  .dropdown.open .dropdown-toggle:after {
+    border-top-color: #555;
+  }
+}
+
+// Pills
+.pills {
+  a {
+    margin: 5px 3px 5px 0;
+    padding: 0 15px;
+    line-height: 30px;
+    text-shadow: 0 1px 1px @white;
+    .border-radius(15px);
+    &:hover {
+      color: @white;
+      text-decoration: none;
+      text-shadow: 0 1px 1px rgba(0,0,0,.25);
+      background-color: @linkColorHover;
+    }
+  }
+  .active a {
+    color: @white;
+    text-shadow: 0 1px 1px rgba(0,0,0,.25);
+    background-color: @linkColor;
+  }
+}
+
+// Stacked pills
+.pills-vertical > li {
+  float: none;
+}
+
+// Tabbable areas
+.tab-content,
+.pill-content {
+}
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+  display: none;
+}
+.tab-content > .active,
+.pill-content > .active {
+  display: block;
+}
diff --git a/lib/twipsy.less b/lib/twipsy.less
new file mode 100644
index 0000000000..5d168db3e6
--- /dev/null
+++ b/lib/twipsy.less
@@ -0,0 +1,33 @@
+// TWIPSY
+// ------
+
+.twipsy {
+  display: block;
+  position: absolute;
+  visibility: visible;
+  padding: 5px;
+  font-size: 11px;
+  z-index: 1000;
+  .opacity(80);
+  &.fade.in {
+    .opacity(80);
+  }
+  &.above .twipsy-arrow   { #popoverArrow > .above(); }
+  &.left .twipsy-arrow    { #popoverArrow > .left(); }
+  &.below .twipsy-arrow   { #popoverArrow > .below(); }
+  &.right .twipsy-arrow   { #popoverArrow > .right(); }
+}
+.twipsy-inner {
+  padding: 3px 8px;
+  background-color: @black;
+  color: white;
+  text-align: center;
+  max-width: 200px;
+  text-decoration: none;
+  .border-radius(4px);
+}
+.twipsy-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+}
-- 
GitLab


From a8e88d14a422c3dfdb79eaf6d6a3a2f1144df150 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 17 Nov 2011 00:06:16 -0800
Subject: [PATCH 074/576] make form classes match table classes (readable left
 to right), update docs associated with it

---
 bootstrap.css      | 12 ++++++------
 bootstrap.min.css  | 10 +++++-----
 docs/base-css.html | 16 ++++++++--------
 lib/forms.less     | 40 +++++++++++++++++++++-------------------
 4 files changed, 40 insertions(+), 38 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c59d499546..c88f4ecafe 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Nov 16 23:58:14 PST 2011
+ * Date: Thu Nov 17 00:05:35 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -921,7 +921,7 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
   margin-right: 0;
   margin-left: -1px;
 }
-.form-search .search-query {
+.search-form .search-query {
   -webkit-border-radius: 14px;
   -moz-border-radius: 14px;
   border-radius: 14px;
@@ -932,19 +932,19 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
 .control-group > label {
   font-weight: bold;
 }
-.form-horizontal .control-group > label {
+.horizontal-form .control-group > label {
   float: left;
   width: 130px;
   padding-top: 5px;
   text-align: right;
 }
-.form-horizontal .controls {
+.horizontal-form .controls {
   margin-left: 150px;
 }
-.form-horizontal .control-list {
+.horizontal-form .control-list {
   padding-top: 6px;
 }
-.form-horizontal .form-actions {
+.horizontal-form .form-actions {
   padding-left: 150px;
 }
 /*
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e236547a61..fb3dcd4db4 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -153,13 +153,13 @@ form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-appe
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
-.form-search .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
+.search-form .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
-.form-horizontal .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
-.form-horizontal .controls{margin-left:150px;}
-.form-horizontal .control-list{padding-top:6px;}
-.form-horizontal .form-actions{padding-left:150px;}
+.horizontal-form .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
+.horizontal-form .controls{margin-left:150px;}
+.horizontal-form .control-list{padding-top:6px;}
+.horizontal-form .form-actions{padding-left:150px;}
 table{width:100%;padding:0;margin-bottom:18px;font-size:13px;border-collapse:collapse;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
 table th{padding-top:9px;font-weight:bold;vertical-align:middle;}
 table td{vertical-align:top;border-top:1px solid #ddd;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 9c1af11c4e..0b84d01ad7 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -696,22 +696,22 @@
     <tbody>
       <tr>
         <th>Vertical (default)</th>
-        <td><code>.form-vertical</code> <span class="muted">(not required)</span></td>
+        <td><code>.vertical-form</code> <span class="muted">(not required)</span></td>
         <td>Stacked, left-aligned labels over controls</td>
       </tr>
       <tr>
         <th>Horiztonal</th>
-        <td><code>.form-horizontal</code></td>
+        <td><code>.horizontal-form</code></td>
         <td>Float left, right-aligned labels on same line as controls</td>
       </tr>
       <tr>
         <th>Inline</th>
-        <td><code>.form-inline</code></td>
+        <td><code>.inline-form</code></td>
         <td>Left-aligned label and inline-block controls for compact style</td>
       </tr>
       <tr>
         <th>Search</th>
-        <td><code>.form-search</code></td>
+        <td><code>.search-form</code></td>
         <td>Extra-rounded text input for a typical search aesthetic</td>
       </tr>
     </tbody>
@@ -734,7 +734,7 @@
     </div>
     <div class="span9">
       <div class="well">
-        <form class="form-search">
+        <form class="search-form">
           <input type="text" class="search-query">
           <button type="submit" class="btn">Search</button>
         </form>
@@ -747,7 +747,7 @@
     </div>
     <div class="span9">
       <div class="well">
-        <form class="form-inline">
+        <form class="inline-form">
           <h4>Some directional text</h4>
           <p>And maybe some kind of optional supporting text right here.</p>
           <input type="text" class="input-medium">
@@ -763,7 +763,7 @@
       <h2>Horizontal form</h2>
     </div>
     <div class="span9">
-      <form class="form-horizontal">
+      <form class="horizontal-form">
         <legend>Example form</legend>
         <fieldset class="control-group">
           <label class="control-label" for="input01">Text input</label>
@@ -867,7 +867,7 @@
       <h2>Vertical form</h2>
     </div>
     <div class="span9">
-      <form class="form-vertical">
+      <form class="vertical-form">
         <legend>Example form</legend>
         <fieldset class="control-group">
           <label class="control-label" for="input01">Label</label>
diff --git a/lib/forms.less b/lib/forms.less
index b7eb150059..adc050d7a8 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -364,7 +364,7 @@ form .clearfix.success {
 // SEARCH FORM
 // -----------
 
-.form-search .search-query {
+.search-form .search-query {
   .border-radius(14px);
 }
 
@@ -388,22 +388,24 @@ form .clearfix.success {
 // Horizontal-specific styles
 // --------------------------
 
-// Float the labels left
-.form-horizontal .control-group > label {
-  float: left;
-  width: 130px;
-  padding-top: 5px;
-  text-align: right;
-}
-// Move over all input controls and content
-.form-horizontal .controls {
-  margin-left: 150px;
-}
-// Move the options list down to align with labels
-.form-horizontal .control-list {
-  padding-top: 6px; // has to be padding because margin collaspes
-}
-// Move over buttons in .form-actions to align with .controls
-.form-horizontal .form-actions {
-  padding-left: 150px;
+.horizontal-form {
+  // Float the labels left
+  .control-group > label {
+    float: left;
+    width: 130px;
+    padding-top: 5px;
+    text-align: right;
+  }
+  // Move over all input controls and content
+  .controls {
+    margin-left: 150px;
+  }
+  // Move the options list down to align with labels
+  .control-list {
+    padding-top: 6px; // has to be padding because margin collaspes
+  }
+  // Move over buttons in .form-actions to align with .controls
+  .form-actions {
+    padding-left: 150px;
+  }
 }
-- 
GitLab


From 5abb4b32004d493ac6bbefcdd1b1f71bdf6e5437 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 17 Nov 2011 00:09:12 -0800
Subject: [PATCH 075/576] update tables docs after merging in the condensed
 styles

---
 docs/base-css.html | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 2935f88678..aa4a2ebfc0 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -628,10 +628,10 @@
   <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
 <pre class="prettyprint linenums">
 &lt;table class="striped-table"&gt;
-...
+  ...
 &lt;/table&gt;</pre>
   <h3>3. Condensed table</h3>
-  <p>Make your tables smaller&mdash;just add the <code>.condensed-table</code> class.</p>
+  <p>Make your tables more compact by adding the <code>.condensed-table</code> class to cut table cell padding in half (from 10px to 5px).</p>
   <table class="condensed-table">
     <thead>
       <tr>
@@ -664,7 +664,7 @@
   </table>
 <pre class="prettyprint linenums">
 &lt;table class="condensed-table"&gt;
-...
+  ...
 &lt;/table&gt;</pre>
   <h3>4. Striped table w/ TableSorter.js</h3>
   <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
-- 
GitLab


From 160970560b819fe3e3a3396f7385ed8cafc43bf9 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 17 Nov 2011 00:37:14 -0800
Subject: [PATCH 076/576] updated font mixins courtesy of @apancutt

---
 bootstrap.css     | 14 +++++++-------
 bootstrap.min.css |  6 +++---
 lib/mixins.less   | 37 +++++++++++++++++++++----------------
 3 files changed, 31 insertions(+), 26 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c88f4ecafe..c1de34a91c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Nov 17 00:05:35 PST 2011
+ * Date: Thu Nov 17 00:36:27 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -477,8 +477,8 @@ blockquote {
   padding-left: 15px;
 }
 blockquote p {
-  font-size: 16px;
-  font-weight: 300;
+  font-size: 300;
+  font-weight: 16px;
   line-height: 22.5px;
   margin-bottom: 0;
 }
@@ -550,8 +550,8 @@ input,
 select,
 textarea {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
-  font-weight: normal;
+  font-size: normal;
+  font-weight: 13px;
   line-height: 18px;
 }
 label {
@@ -1209,8 +1209,8 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-color: #444;
   background-color: rgba(255, 255, 255, 0.3);
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: normal;
-  font-weight: 13px;
+  font-size: 13px;
+  font-weight: normal;
   line-height: 1;
   padding: 4px 9px;
   color: #ffffff;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index fb3dcd4db4..3424525be7 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -83,7 +83,7 @@ strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#bfbfbf;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:16px;font-weight:300;line-height:22.5px;margin-bottom:0;}
+blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:300;font-weight:16px;line-height:22.5px;margin-bottom:0;}
 blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;line-height:18px;margin-bottom:18px;}
@@ -92,7 +92,7 @@ code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
 pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 9px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
-label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
+label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#404040;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
@@ -211,7 +211,7 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .navbar .brand a:hover,.navbar ul .active>a{background-color:#333333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{background-color:transparent;color:#ffffff;}
-.navbar-search{position:relative;margin-top:6px;margin-bottom:0;float:left;}.navbar-search .search-query{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
+.navbar-search{position:relative;margin-top:6px;margin-bottom:0;float:left;}.navbar-search .search-query{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
 .navbar-search .search-query::-webkit-input-placeholder{color:#e6e6e6;}
 .navbar-search .search-query:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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);}
diff --git a/lib/mixins.less b/lib/mixins.less
index b8565bbdcc..fc17950426 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -46,28 +46,33 @@
 
 // Font Stacks
 #font {
-  .shorthand(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
+  #family {
+    .serif() {
+      font-family: "Georgia", Times New Roman, Times, serif;
+    }
+    .sans-serif() {
+      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+    }
+    .monospace() {
+      font-family: "Menlo", Monaco, Courier New, monospace;
+    }
   }
-  .sans-serif(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
-    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
     font-size: @size;
     font-weight: @weight;
     line-height: @lineHeight;
   }
-  .serif(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
-    font-family: "Georgia", Times New Roman, Times, serif;
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
+  .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
+    #font > #family > .serif;
+    #font > .shorthand(@size, @weight, @lineHeight);
   }
-  .monospace(@weight: normal, @size: @baseFontSize, @lineHeight: @baseLineHeight) {
-    font-family: Menlo, Monaco, Andale Mono, Courier New, monospace;
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
+  .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
+    #font > #family > .sans-serif;
+    #font > .shorthand(@size, @weight, @lineHeight);
+  }
+  .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
+    #font > #family > .monospace;
+    #font > .shorthand(@size, @weight, @lineHeight);
   }
 }
 
-- 
GitLab


From 6418a40675a2354df757e949e2092a246485ff1c Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 17 Nov 2011 00:41:26 -0800
Subject: [PATCH 077/576] spelling mistake in comment

---
 lib/mixins.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/mixins.less b/lib/mixins.less
index fc17950426..670b17384b 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -201,7 +201,7 @@
   }
 }
 
-// Gradient Bar Colors for buttons and allerts
+// Gradient Bar Colors for buttons and alerts
 .gradientBar(@primaryColor, @secondaryColor) {
   #gradient > .vertical(@primaryColor, @secondaryColor);
   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-- 
GitLab


From ba9fcd8b57ad7974a52aecabac7c90dccda4afcb Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 17 Nov 2011 00:49:51 -0800
Subject: [PATCH 078/576] make uneditable inputs work with span* classes

---
 bootstrap.css     | 82 +++++++++++++++++++++++++++++++++++++----------
 bootstrap.min.css | 32 +++++++++---------
 lib/forms.less    |  3 +-
 3 files changed, 83 insertions(+), 34 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c1de34a91c..b65126285f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Nov 17 00:36:27 PST 2011
+ * Date: Thu Nov 17 00:48:46 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -657,97 +657,145 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus {
 .input-xxlarge {
   width: 530px;
 }
-input.span1, textarea.span1, select.span1 {
+input.span1,
+textarea.span1,
+select.span1,
+.uneditable-input.span1 {
   display: inline-block;
   float: none;
   width: 50px;
   margin-left: 0;
 }
-input.span2, textarea.span2, select.span2 {
+input.span2,
+textarea.span2,
+select.span2,
+.uneditable-input.span2 {
   display: inline-block;
   float: none;
   width: 150px;
   margin-left: 0;
 }
-input.span3, textarea.span3, select.span3 {
+input.span3,
+textarea.span3,
+select.span3,
+.uneditable-input.span3 {
   display: inline-block;
   float: none;
   width: 250px;
   margin-left: 0;
 }
-input.span4, textarea.span4, select.span4 {
+input.span4,
+textarea.span4,
+select.span4,
+.uneditable-input.span4 {
   display: inline-block;
   float: none;
   width: 350px;
   margin-left: 0;
 }
-input.span5, textarea.span5, select.span5 {
+input.span5,
+textarea.span5,
+select.span5,
+.uneditable-input.span5 {
   display: inline-block;
   float: none;
   width: 450px;
   margin-left: 0;
 }
-input.span6, textarea.span6, select.span6 {
+input.span6,
+textarea.span6,
+select.span6,
+.uneditable-input.span6 {
   display: inline-block;
   float: none;
   width: 550px;
   margin-left: 0;
 }
-input.span7, textarea.span7, select.span7 {
+input.span7,
+textarea.span7,
+select.span7,
+.uneditable-input.span7 {
   display: inline-block;
   float: none;
   width: 650px;
   margin-left: 0;
 }
-input.span8, textarea.span8, select.span8 {
+input.span8,
+textarea.span8,
+select.span8,
+.uneditable-input.span8 {
   display: inline-block;
   float: none;
   width: 750px;
   margin-left: 0;
 }
-input.span9, textarea.span9, select.span9 {
+input.span9,
+textarea.span9,
+select.span9,
+.uneditable-input.span9 {
   display: inline-block;
   float: none;
   width: 850px;
   margin-left: 0;
 }
-input.span10, textarea.span10, select.span10 {
+input.span10,
+textarea.span10,
+select.span10,
+.uneditable-input.span10 {
   display: inline-block;
   float: none;
   width: 950px;
   margin-left: 0;
 }
-input.span11, textarea.span11, select.span11 {
+input.span11,
+textarea.span11,
+select.span11,
+.uneditable-input.span11 {
   display: inline-block;
   float: none;
   width: 1050px;
   margin-left: 0;
 }
-input.span12, textarea.span12, select.span12 {
+input.span12,
+textarea.span12,
+select.span12,
+.uneditable-input.span12 {
   display: inline-block;
   float: none;
   width: 1150px;
   margin-left: 0;
 }
-input.span13, textarea.span13, select.span13 {
+input.span13,
+textarea.span13,
+select.span13,
+.uneditable-input.span13 {
   display: inline-block;
   float: none;
   width: 1250px;
   margin-left: 0;
 }
-input.span14, textarea.span14, select.span14 {
+input.span14,
+textarea.span14,
+select.span14,
+.uneditable-input.span14 {
   display: inline-block;
   float: none;
   width: 1350px;
   margin-left: 0;
 }
-input.span15, textarea.span15, select.span15 {
+input.span15,
+textarea.span15,
+select.span15,
+.uneditable-input.span15 {
   display: inline-block;
   float: none;
   width: 1450px;
   margin-left: 0;
 }
-input.span16, textarea.span16, select.span16 {
+input.span16,
+textarea.span16,
+select.span16,
+.uneditable-input.span16 {
   display: inline-block;
   float: none;
   width: 1550px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 3424525be7..b71f2c74f9 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -110,22 +110,22 @@ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shado
 .input-large{width:210px;}
 .input-xlarge{width:270px;}
 .input-xxlarge{width:530px;}
-input.span1,textarea.span1,select.span1{display:inline-block;float:none;width:50px;margin-left:0;}
-input.span2,textarea.span2,select.span2{display:inline-block;float:none;width:150px;margin-left:0;}
-input.span3,textarea.span3,select.span3{display:inline-block;float:none;width:250px;margin-left:0;}
-input.span4,textarea.span4,select.span4{display:inline-block;float:none;width:350px;margin-left:0;}
-input.span5,textarea.span5,select.span5{display:inline-block;float:none;width:450px;margin-left:0;}
-input.span6,textarea.span6,select.span6{display:inline-block;float:none;width:550px;margin-left:0;}
-input.span7,textarea.span7,select.span7{display:inline-block;float:none;width:650px;margin-left:0;}
-input.span8,textarea.span8,select.span8{display:inline-block;float:none;width:750px;margin-left:0;}
-input.span9,textarea.span9,select.span9{display:inline-block;float:none;width:850px;margin-left:0;}
-input.span10,textarea.span10,select.span10{display:inline-block;float:none;width:950px;margin-left:0;}
-input.span11,textarea.span11,select.span11{display:inline-block;float:none;width:1050px;margin-left:0;}
-input.span12,textarea.span12,select.span12{display:inline-block;float:none;width:1150px;margin-left:0;}
-input.span13,textarea.span13,select.span13{display:inline-block;float:none;width:1250px;margin-left:0;}
-input.span14,textarea.span14,select.span14{display:inline-block;float:none;width:1350px;margin-left:0;}
-input.span15,textarea.span15,select.span15{display:inline-block;float:none;width:1450px;margin-left:0;}
-input.span16,textarea.span16,select.span16{display:inline-block;float:none;width:1550px;margin-left:0;}
+input.span1,textarea.span1,select.span1,.uneditable-input.span1{display:inline-block;float:none;width:50px;margin-left:0;}
+input.span2,textarea.span2,select.span2,.uneditable-input.span2{display:inline-block;float:none;width:150px;margin-left:0;}
+input.span3,textarea.span3,select.span3,.uneditable-input.span3{display:inline-block;float:none;width:250px;margin-left:0;}
+input.span4,textarea.span4,select.span4,.uneditable-input.span4{display:inline-block;float:none;width:350px;margin-left:0;}
+input.span5,textarea.span5,select.span5,.uneditable-input.span5{display:inline-block;float:none;width:450px;margin-left:0;}
+input.span6,textarea.span6,select.span6,.uneditable-input.span6{display:inline-block;float:none;width:550px;margin-left:0;}
+input.span7,textarea.span7,select.span7,.uneditable-input.span7{display:inline-block;float:none;width:650px;margin-left:0;}
+input.span8,textarea.span8,select.span8,.uneditable-input.span8{display:inline-block;float:none;width:750px;margin-left:0;}
+input.span9,textarea.span9,select.span9,.uneditable-input.span9{display:inline-block;float:none;width:850px;margin-left:0;}
+input.span10,textarea.span10,select.span10,.uneditable-input.span10{display:inline-block;float:none;width:950px;margin-left:0;}
+input.span11,textarea.span11,select.span11,.uneditable-input.span11{display:inline-block;float:none;width:1050px;margin-left:0;}
+input.span12,textarea.span12,select.span12,.uneditable-input.span12{display:inline-block;float:none;width:1150px;margin-left:0;}
+input.span13,textarea.span13,select.span13,.uneditable-input.span13{display:inline-block;float:none;width:1250px;margin-left:0;}
+input.span14,textarea.span14,select.span14,.uneditable-input.span14{display:inline-block;float:none;width:1350px;margin-left:0;}
+input.span15,textarea.span15,select.span15,.uneditable-input.span15{display:inline-block;float:none;width:1450px;margin-left:0;}
+input.span16,textarea.span16,select.span16,.uneditable-input.span16{display:inline-block;float:none;width:1550px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;}
 form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
diff --git a/lib/forms.less b/lib/forms.less
index adc050d7a8..f590101cd0 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -151,7 +151,8 @@ select:focus {
 }
 input,
 textarea,
-select {
+select,
+.uneditable-input {
   // Default columns
   &.span1     { .formColumns(1); }
   &.span2     { .formColumns(2); }
-- 
GitLab


From 159c7a7fdae4a3bd929ee9cc76aaa3b509a969dc Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 17 Nov 2011 00:52:11 -0800
Subject: [PATCH 079/576] remove code styling if it's in a pre tag

---
 bootstrap.css     | 10 +++++++---
 bootstrap.min.css |  6 +++---
 lib/type.less     | 13 ++++++++++---
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index b65126285f..e8b9d2d530 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Nov 17 00:48:46 PST 2011
+ * Date: Thu Nov 17 00:52:01 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -503,15 +503,15 @@ address {
 }
 code, pre {
   padding: 0 3px 2px;
-  font-family: Menlo, Monaco, Andale Mono, Courier New, monospace;
+  font-family: "Menlo", Monaco, Courier New, monospace;
   font-size: 12px;
+  color: #404040;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
 }
 code {
   background-color: #fee9cc;
-  color: rgba(0, 0, 0, 0.75);
   padding: 1px 3px;
 }
 pre {
@@ -530,6 +530,10 @@ pre {
   white-space: pre-wrap;
   word-break: break-all;
 }
+pre code {
+  padding: 0;
+  background-color: transparent;
+}
 /* Forms.less
  * Base styles for various input types, form layouts, and states
  * ------------------------------------------------------------- */
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b71f2c74f9..832d50ff81 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -87,9 +87,9 @@ blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}bloc
 blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;line-height:18px;margin-bottom:18px;}
-code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
-pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 9px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}
+code,pre{padding:0 3px 2px;font-family:"Menlo",Monaco,Courier New,monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code{background-color:#fee9cc;padding:1px 3px;}
+pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 9px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre code{padding:0;background-color:transparent;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
diff --git a/lib/type.less b/lib/type.less
index 421d666a47..f5b5ff272d 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -179,15 +179,16 @@ address {
 }
 
 // Inline and block code styles
-code, pre {
+code,
+pre {
   padding: 0 3px 2px;
-  font-family: Menlo, Monaco, Andale Mono, Courier New, monospace;
+  #font > #family > .monospace;
   font-size: 12px;
+  color: @grayDark;
   .border-radius(3px);
 }
 code {
   background-color: lighten(@orange, 40%);
-  color: rgba(0,0,0,.75);
   padding: 1px 3px;
 }
 pre {
@@ -203,4 +204,10 @@ pre {
   white-space: pre;
   white-space: pre-wrap;
   word-break: break-all;
+
+  // Account for some code outputs that place code tags in pre tags
+  code {
+    padding: 0;
+    background-color: transparent;
+  }
 }
\ No newline at end of file
-- 
GitLab


From 4e6275d0fe0880d32633a2c139dad8d3e2745bb6 Mon Sep 17 00:00:00 2001
From: Mark Otto <mark.otto@twitter.com>
Date: Thu, 17 Nov 2011 01:28:42 -0800
Subject: [PATCH 080/576] update property order and do some misc cleanup

---
 lib/breadcrumbs.less |  2 +-
 lib/forms.less       | 30 +++++++-------
 lib/mixins.less      | 11 ++---
 lib/modals.less      | 10 ++---
 lib/pagination.less  |  4 +-
 lib/patterns.less    | 95 ++++++++++++++++++++------------------------
 lib/popovers.less    | 14 +++----
 lib/reset.less       | 12 +++---
 lib/scaffolding.less |  6 +--
 lib/tables.less      |  8 ++--
 lib/tabs-pills.less  |  7 +---
 lib/twipsy.less      |  8 ++--
 lib/type.less        | 16 ++++----
 13 files changed, 105 insertions(+), 118 deletions(-)

diff --git a/lib/breadcrumbs.less b/lib/breadcrumbs.less
index 89a7aef13a..2fa9921ac8 100644
--- a/lib/breadcrumbs.less
+++ b/lib/breadcrumbs.less
@@ -2,8 +2,8 @@
 // -----------
 
 .breadcrumb {
-  margin: 0 0 @baseLineHeight;
   padding: 7px 14px;
+  margin: 0 0 @baseLineHeight;
   #gradient > .vertical(#ffffff, #f5f5f5);
   border: 1px solid #ddd;
   .border-radius(3px);
diff --git a/lib/forms.less b/lib/forms.less
index f590101cd0..845eec185e 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -69,11 +69,11 @@ input[type=radio] {
 
 // Reset the file input to browser defaults
 input[type=file] {
-  background-color: @white;
-  background-color: initial;
   padding: initial;
-  border: initial;
   line-height: initial;
+  border: initial;
+  background-color: @white;
+  background-color: initial;
   .box-shadow(none);
 }
 
@@ -89,14 +89,14 @@ input[type=submit] {
 select,
 input[type=file] {
   height: @baseLineHeight * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size
-  line-height: @baseLineHeight * 1.5;
   *margin-top: 4px; /* For IE7, add top margin to align select with labels */
+  line-height: @baseLineHeight * 1.5;
 }
 
 // Make multiple select elements height not fixed
 select[multiple] {
-  background-color: @white; // Fixes Chromium bug?
   height: inherit;
+  background-color: @white; // Fixes Chromium bug?
 }
 
 textarea {
@@ -110,16 +110,16 @@ textarea {
 
 input,
 textarea {
+  .box-shadow(inset 0 1px 3px rgba(0,0,0,.1));
   @transition: border linear .2s, box-shadow linear .2s;
   .transition(@transition);
-  .box-shadow(inset 0 1px 3px rgba(0,0,0,.1));
 }
 input:focus,
 textarea:focus {
-  outline: 0;
   border-color: rgba(82,168,236,.8);
   @shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
   .box-shadow(@shadow);
+  outline: 0;
 }
 input[type=file]:focus,
 input[type=checkbox]:focus,
@@ -248,8 +248,8 @@ form .clearfix.success {
 
 // For text that needs to appear as an input but should not be an input
 .uneditable-input {
-  background-color: @white;
   display: block;
+  background-color: @white;
   border-color: #eee;
   .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
   cursor: not-allowed;
@@ -275,10 +275,10 @@ form .clearfix.success {
 }
 
 .help-inline {
-  display: inline;
-  padding-left: 5px;
   *position: relative; /* IE6-7 */
   *top: -5px; /* IE6-7 */
+  display: inline;
+  padding-left: 5px;
 }
 
 // Big blocks of help text
@@ -321,25 +321,25 @@ form .clearfix.success {
   }
   .add-on {
     position: relative;
-    background: #f5f5f5;
-    border: 1px solid #ccc;
     z-index: 2;
     float: left;
     display: block;
     width: auto;
     min-width: 16px;
     height: @baseLineHeight;
-    padding: 4px 4px 4px 5px;
     margin-right: -1px;
+    padding: 4px 4px 4px 5px;
     font-weight: normal;
     line-height: @baseLineHeight;
     color: @grayLight;
     text-align: center;
     text-shadow: 0 1px 0 @white;
+    background-color: #f5f5f5;
+    border: 1px solid #ccc;
     .border-radius(3px 0 0 3px);
   }
   .active {
-    background: lighten(@green, 30);
+    background-color: lighten(@green, 30);
     border-color: @green;
   }
 }
@@ -354,9 +354,9 @@ form .clearfix.success {
     .border-radius(3px 0 0 3px);
   }
   .add-on {
-    .border-radius(0 3px 3px 0);
     margin-right: 0;
     margin-left: -1px;
+    .border-radius(0 3px 3px 0);
   }
 }
 
diff --git a/lib/mixins.less b/lib/mixins.less
index 670b17384b..d77ecf6215 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -9,9 +9,9 @@
   &:before,
   &:after {
     display: table;
+    *display: inline;
     content: "";
     zoom: 1;
-    *display: inline;
   }
   &:after {
     clear: both;
@@ -27,8 +27,8 @@
 
 // Sizing shortcuts
 .size(@height: 5px, @width: 5px) {
-  height: @height;
   width: @width;
+  height: @height;
 }
 .square(@size: 5px) {
   .size(@size, @size);
@@ -197,14 +197,16 @@
   }
   .border(@color: @white, @alpha: 1) {
     border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
-    background-clip: padding-box;
+    -webkit-background-clip: padding-box;
+       -moz-background-clip: padding;
+            background-clip: padding-box;
   }
 }
 
 // Gradient Bar Colors for buttons and alerts
 .gradientBar(@primaryColor, @secondaryColor) {
-  #gradient > .vertical(@primaryColor, @secondaryColor);
   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+  #gradient > .vertical(@primaryColor, @secondaryColor);
   border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
   border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
 }
@@ -274,7 +276,6 @@
 // Opacity
 .opacity(@opacity: 100) {
   filter: e(%("alpha(opacity=%d)", @opacity));
-  -khtml-opacity: @opacity / 100;
     -moz-opacity: @opacity / 100;
          opacity: @opacity / 100;
 }
diff --git a/lib/modals.less b/lib/modals.less
index 672431beb6..53d6cd4089 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -2,13 +2,13 @@
 // ------
 
 .modal-backdrop {
-  background-color: @black;
   position: fixed;
   top: 0;
-  left: 0;
   right: 0;
   bottom: 0;
+  left: 0;
   z-index: 10000;
+  background-color: @black;
   // Fade for backdrop
   &.fade { opacity: 0; }
 }
@@ -39,20 +39,20 @@
   &.fade.in { top: 50%; }
 }
 .modal-header {
-  border-bottom: 1px solid #eee;
   padding: 5px 15px;
+  border-bottom: 1px solid #eee;
 }
 .modal-body {
   padding: 15px;
 }
 .modal-footer {
-  background-color: #f5f5f5;
   padding: 14px 15px 15px;
+  margin-bottom: 0;
+  background-color: #f5f5f5;
   border-top: 1px solid #ddd;
   .border-radius(0 0 6px 6px);
   .box-shadow(inset 0 1px 0 @white);
   .clearfix();
-  margin-bottom: 0;
   .btn {
     float: right;
     margin-left: 5px;
diff --git a/lib/pagination.less b/lib/pagination.less
index d97a1bab3b..d82a0bbd07 100644
--- a/lib/pagination.less
+++ b/lib/pagination.less
@@ -19,11 +19,11 @@
     float: left;
     padding: 0 14px;
     line-height: (@baseLineHeight * 2) - 2;
+    text-decoration: none;
     border-right: 1px solid;
     border-right-color: #ddd;
     border-right-color: rgba(0,0,0,.15);
     *border-right-color: #ddd; /* IE6-7 */
-    text-decoration: none;
   }
   a:hover,
   .active a {
@@ -31,8 +31,8 @@
   }
   .disabled a,
   .disabled a:hover {
-    background-color: transparent;
     color: @grayLight;
+    background-color: transparent;
   }
   .next a {
     border: 0;
diff --git a/lib/patterns.less b/lib/patterns.less
index bc1229bd90..2fcc4f2b38 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -33,10 +33,10 @@
   // Hover and active states
   .brand a:hover,
   ul .active > a {
-    background-color: @navBarBgStart;
-    background-color: rgba(255,255,255,.05);
     color: @white;
     text-decoration: none;
+    background-color: @navBarBgStart;
+    background-color: rgba(255,255,255,.05);
   }
   // Website or project name
   .brand {
@@ -44,18 +44,18 @@
     display: block;
     padding: 8px 20px 12px;
     margin-left: -20px; // negative indent to left-align the text down the page
-    color: @white;
     font-size: 20px;
     font-weight: 200;
     line-height: 1;
+    color: @white;
   }
   // Plain text in topbar
   p {
     margin: 0;
     line-height: 40px;
     a:hover {
-      background-color: transparent;
       color: @white;
+      background-color: transparent;
     }
   }
 }
@@ -63,16 +63,16 @@
 // Navbar search
 .navbar-search {
   position: relative;
+  float: left;
   margin-top: 6px;
   margin-bottom: 0;
-  float: left;
   .search-query {
-    background-color: #444;
-    background-color: rgba(255,255,255,.3);
-    #font > .sans-serif(13px, normal, 1);
     padding: 4px 9px;
+    #font > .sans-serif(13px, normal, 1);
     color: @white;
     color: rgba(255,255,255,.75);
+    background-color: #444;
+    background-color: rgba(255,255,255,.3);
     border: 1px solid #111;
     @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
     .box-shadow(@shadow);
@@ -87,20 +87,20 @@
     }
     // Hover states
     &:hover {
+      color: @white;
       background-color: @grayLight;
       background-color: rgba(255,255,255,.5);
-      color: @white;
     }
     // Focus states (we use .focused since IE8 and down doesn't support :focus)
     &:focus,
     &.focused {
-      outline: 0;
-      background-color: @white;
+      padding: 5px 10px;
       color: @grayDark;
       text-shadow: 0 1px 0 @white;
+      background-color: @white;
       border: 0;
-      padding: 5px 10px;
       .box-shadow(0 0 3px rgba(0,0,0,.15));
+      outline: 0;
     }
   }
 }
@@ -120,8 +120,8 @@
 .navbar-fixed {
   position: fixed;
   top: 0;
-  left: 0;
   right: 0;
+  left: 0;
   z-index: 10000;
 }
 
@@ -133,11 +133,11 @@
 // Nav for navbar and topbar
 // ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
 .nav {
+  position: relative;
+  left: 0;
   display: block;
   float: left;
   margin: 0 10px 0 0;
-  position: relative;
-  left: 0;
   > li {
     display: block;
     float: left;
@@ -212,37 +212,36 @@
 }
 // The link that is clicked to toggle the dropdown
 .dropdown-toggle:after {
+  display: inline-block;
   width: 0;
   height: 0;
-  display: inline-block;
-  content: "&darr;";
-  text-indent: -99999px;
-  vertical-align: top;
   margin-top: 8px;
   margin-left: 6px;
+  text-indent: -99999px;
+  vertical-align: top;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
   border-top: 4px solid @white;
   .opacity(30);
+  content: "&darr;";
 }
 .dropdown:hover .dropdown-toggle:after {
   .opacity(100);
 }
 // The dropdown menu (ul)
 .dropdown-menu {
-  background-color: @white;
-  float: left;
-  display: none; // None by default, but block on "open" of the menu
   position: absolute;
   top: 40px;
   z-index: 900;
+  float: left;
+  display: none; // None by default, but block on "open" of the menu
   min-width: 160px;
   max-width: 220px;
   _width: 160px;
+  padding: 6px 0;
   margin-left: 0; // override default ul styles
   margin-right: 0;
-  padding: 6px 0;
-  zoom: 1; // do we need this?
+  background-color: @white;
   border-color: #999;
   border-color: rgba(0,0,0,.2);
   border-style: solid;
@@ -250,6 +249,7 @@
   .border-radius(0 0 6px 6px);
   .box-shadow(0 2px 4px rgba(0,0,0,.2));
   .background-clip(padding-box);
+  zoom: 1; // do we need this?
 
   // Unfloat any li's to make them stack
   li {
@@ -279,9 +279,9 @@
     text-shadow: 0 1px 0 @white;
     // Hover state
     &:hover {
-      #gradient > .vertical(#eeeeee, #dddddd);
       color: @grayDark;
       text-decoration: none;
+      #gradient > .vertical(#eeeeee, #dddddd);
       @shadow: inset 0 1px 0 rgba(0,0,0,.025), inset 0 -1px rgba(0,0,0,.025);
       .box-shadow(@shadow);
     }
@@ -309,9 +309,9 @@
 // ------------
 
 .hero-unit {
-  background-color: #f5f5f5;
-  margin-bottom: 30px;
   padding: 60px;
+  margin-bottom: 30px;
+  background-color: #f5f5f5;
   .border-radius(6px);
   h1 {
     margin-bottom: 0;
@@ -326,8 +326,8 @@
   }
 }
 footer {
-  margin-top: @baseLineHeight - 1;
   padding-top: @baseLineHeight - 1;
+  margin-top: @baseLineHeight - 1;
   border-top: 1px solid #eee;
 }
 
@@ -380,24 +380,24 @@ footer {
 // Base .btn styles
 .btn {
   // Button Base
-  cursor: pointer;
   display: inline-block;
-  #gradient > .vertical-three-colors(#ffffff, #ffffff, 25%, darken(#ffffff, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
   padding: 5px 14px 6px;
-  text-shadow: 0 1px 1px rgba(255,255,255,.75);
-  color: #333;
   font-size: @baseFontSize;
   line-height: normal;
+  color: #333;
+  text-shadow: 0 1px 1px rgba(255,255,255,.75);
+  #gradient > .vertical-three-colors(#ffffff, #ffffff, 25%, darken(#ffffff, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
   .border-radius(4px);
   @shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
   .box-shadow(@shadow);
+  cursor: pointer;
 
   &:hover {
-    background-position: 0 -15px;
     color: #333;
     text-decoration: none;
+    background-position: 0 -15px;
   }
 
   // Focus state for keyboard and accessibility
@@ -438,9 +438,9 @@ footer {
 
   // Button Sizes
   &.large {
+    padding: 9px 14px 9px;
     font-size: @baseFontSize + 2px;
     line-height: normal;
-    padding: 9px 14px 9px;
     .border-radius(6px);
   }
   &.small {
@@ -516,10 +516,10 @@ input[type=submit].btn {
 // -----------
 .close {
   float: right;
-  color: @black;
   font-size: 20px;
   font-weight: bold;
   line-height: @baseLineHeight * .75;
+  color: @black;
   text-shadow: 0 1px 0 rgba(255,255,255,1);
   .opacity(20);
   &:hover {
@@ -539,8 +539,8 @@ input[type=submit].btn {
   padding: 7px 15px;
   margin-bottom: @baseLineHeight;
   color: @grayDark;
-  .gradientBar(#fceec1, #eedc94); // warning by default
   text-shadow: 0 1px 0 rgba(255,255,255,.5);
+  .gradientBar(#fceec1, #eedc94); // warning by default
   border-width: 1px;
   border-style: solid;
   .border-radius(4px);
@@ -569,10 +569,10 @@ input[type=submit].btn {
   }
 
   &.block-message {
+    padding: 14px;
     background-image: none;
     background-color: lighten(#fceec1, 5%);
-    .reset-filter();
-    padding: 14px;
+    .reset-filter(); // undo gradient for IE9
     border-color: #fceec1;
     .box-shadow(none);
     ul, p {
@@ -615,10 +615,10 @@ input[type=submit].btn {
 // -----
 
 .well {
-  background-color: #f5f5f5;
-  margin-bottom: 20px;
-  padding: 19px;
   min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
   border: 1px solid #eee;
   border: 1px solid rgba(0,0,0,.05);
   .border-radius(4px);
@@ -655,11 +655,11 @@ input[type=submit].btn {
 
 .label {
   padding: 1px 3px 2px;
-  background-color: @grayLight;
   font-size: @baseFontSize * .75;
   font-weight: bold;
   color: @white;
   text-transform: uppercase;
+  background-color: @grayLight;
   .border-radius(3px);
   &.important { background-color: #c43c35; }
   &.warning   { background-color: @orange; }
@@ -667,14 +667,3 @@ input[type=submit].btn {
   &.notice    { background-color: lighten(@blue, 25%); }
 }
 
-
-
-
-// MISC
-// ----
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
\ No newline at end of file
diff --git a/lib/popovers.less b/lib/popovers.less
index ed335eeedf..570bc906c4 100644
--- a/lib/popovers.less
+++ b/lib/popovers.less
@@ -6,8 +6,8 @@
   top: 0;
   left: 0;
   z-index: 1000;
-  padding: 5px;
   display: none;
+  padding: 5px;
   &.above .arrow { #popoverArrow > .above(); }
   &.right .arrow { #popoverArrow > .right(); }
   &.below .arrow { #popoverArrow > .below(); }
@@ -18,24 +18,24 @@
     height: 0;
   }
   .inner {
-    background-color: @black;
-    background-color: rgba(0,0,0,.8);
     padding: 3px;
-    overflow: hidden;
     width: 280px;
+    overflow: hidden;
+    background-color: @black;
+    background-color: rgba(0,0,0,.8);
     .border-radius(6px);
     .box-shadow(0 3px 7px rgba(0,0,0,0.3));
   }
   .title {
-    background-color: #f5f5f5;
     padding: 9px 15px;
     line-height: 1;
-    .border-radius(3px 3px 0 0);
+    background-color: #f5f5f5;
     border-bottom:1px solid #eee;
+    .border-radius(3px 3px 0 0);
   }
   .content {
-    background-color: @white;
     padding: 14px;
+    background-color: @white;
     .border-radius(0 0 3px 3px);
     .background-clip(padding-box);
     p, ul, ol {
diff --git a/lib/reset.less b/lib/reset.less
index 983f14f3dc..8bff573352 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -75,9 +75,9 @@ audio:not([controls]) {
 // Source: http://github.com/necolas/normalize.css
 sub,
 sup {
+  position: relative;
   font-size: 75%;
   line-height: 0;
-  position: relative;
   vertical-align: baseline;
 }
 sup {
@@ -91,8 +91,8 @@ sub {
 // -------------------------
 // Source: http://github.com/necolas/normalize.css
 img {
-    border: 0;
-    -ms-interpolation-mode: bicubic;
+  border: 0;
+  -ms-interpolation-mode: bicubic;
 }
 
 // Forms
@@ -104,20 +104,20 @@ button,
 input,
 select,
 textarea {
-  font-size: 100%;
   margin: 0;
+  font-size: 100%;
   vertical-align: baseline;
   *vertical-align: middle;
 }
 button,
 input {
-  line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
   *overflow: visible; // Inner spacing ie IE6/7
+  line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
 }
 button::-moz-focus-inner,
 input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
-  border: 0;
   padding: 0;
+  border: 0;
 }
 button,
 input[type="button"],
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 7b8aa369a4..179ef26387 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -8,12 +8,12 @@
 // -----------------
 
 body {
-  background-color: @white;
   margin: 0;
   font-family: @baseFontFamily;
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
   color: @grayDark;
+  background-color: @white;
 }
 
 // Container (centered, fixed-width layouts)
@@ -52,10 +52,10 @@ body {
 
 // Links
 a {
+  font-weight: inherit;
+  line-height: inherit;
   color: @linkColor;
   text-decoration: none;
-  line-height: inherit;
-  font-weight: inherit;
   &:hover {
     color: @linkColorHover;
     text-decoration: underline;
diff --git a/lib/tables.less b/lib/tables.less
index b02087fbd2..4aed466b11 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -130,32 +130,32 @@ table {
   .header {
     cursor: pointer;
     &:after {
-      content: "";
       float: right;
       margin-top: 7px;
       border-width: 0 4px 4px;
       border-style: solid;
       border-color: #000 transparent;
+      content: "";
       visibility: hidden;
     }
   }
   // Style the sorted column headers (THs)
   .headerSortUp,
   .headerSortDown {
-    background-color: rgba(141,192,219,.25);
     text-shadow: 0 1px 1px rgba(255,255,255,.75);
+    background-color: rgba(141,192,219,.25);
   }
   // Style the ascending (reverse alphabetical) column header
   .header:hover {
     &:after {
-      visibility:visible;
+      visibility: visible;
     }
   }
   // Style the descending (alphabetical) column header
   .headerSortDown,
   .headerSortDown:hover {
     &:after {
-      visibility:visible;
+      visibility: visible;
       .opacity(60);
     }
   }
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index 7e6c0bf39e..3ff08a6766 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -1,8 +1,8 @@
 // Tabs and Pills
 .tabs,
 .pills {
-  margin: 0 0 20px;
   padding: 0;
+  margin: 0 0 20px;
   list-style: none;
   .clearfix();
   > li {
@@ -183,8 +183,8 @@
 // Pills
 .pills {
   a {
-    margin: 5px 3px 5px 0;
     padding: 0 15px;
+    margin: 5px 3px 5px 0;
     line-height: 30px;
     text-shadow: 0 1px 1px @white;
     .border-radius(15px);
@@ -208,9 +208,6 @@
 }
 
 // Tabbable areas
-.tab-content,
-.pill-content {
-}
 .tab-content > .tab-pane,
 .pill-content > .pill-pane {
   display: none;
diff --git a/lib/twipsy.less b/lib/twipsy.less
index 5d168db3e6..4193eda5fb 100644
--- a/lib/twipsy.less
+++ b/lib/twipsy.less
@@ -2,12 +2,12 @@
 // ------
 
 .twipsy {
-  display: block;
   position: absolute;
+  z-index: 1000;
+  display: block;
   visibility: visible;
   padding: 5px;
   font-size: 11px;
-  z-index: 1000;
   .opacity(80);
   &.fade.in {
     .opacity(80);
@@ -18,12 +18,12 @@
   &.right .twipsy-arrow   { #popoverArrow > .right(); }
 }
 .twipsy-inner {
+  max-width: 200px;
   padding: 3px 8px;
-  background-color: @black;
   color: white;
   text-align: center;
-  max-width: 200px;
   text-decoration: none;
+  background-color: @black;
   .border-radius(4px);
 }
 .twipsy-arrow {
diff --git a/lib/type.less b/lib/type.less
index f5b5ff272d..8e25fd9c51 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -7,10 +7,10 @@
 // ---------
 
 p {
+  margin-bottom: @baseLineHeight / 2;
   font-family: @baseFontFamily;
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
-  margin-bottom: @baseLineHeight / 2;
   small {
     font-size: @baseFontSize - 2;
     color: @grayLight;
@@ -93,8 +93,8 @@ li {
   color: @grayDark;
 }
 ul.unstyled {
-  list-style: none;
   margin-left: 0;
+  list-style: none;
 }
 
 // Description Lists
@@ -145,12 +145,12 @@ abbr {
 
 // Blockquotes
 blockquote {
+  padding-left: 15px;
   margin-bottom: @baseLineHeight;
   border-left: 5px solid #eee;
-  padding-left: 15px;
   p {
-    #font > .shorthand(300,16px,@baseLineHeight * 1.25);
     margin-bottom: 0;
+    #font > .shorthand(300,16px,@baseLineHeight * 1.25);
   }
   small {
     display: block;
@@ -174,8 +174,8 @@ blockquote {
 // Addresses
 address {
   display: block;
-  line-height: @baseLineHeight;
   margin-bottom: @baseLineHeight;
+  line-height: @baseLineHeight;
 }
 
 // Inline and block code styles
@@ -188,16 +188,16 @@ pre {
   .border-radius(3px);
 }
 code {
-  background-color: lighten(@orange, 40%);
   padding: 1px 3px;
+  background-color: lighten(@orange, 40%);
 }
 pre {
-  background-color: #f5f5f5;
   display: block;
   padding: (@baseLineHeight - 1) / 2;
   margin: 0 0 @baseLineHeight / 2;
-  line-height: @baseLineHeight;
   font-size: 12px;
+  line-height: @baseLineHeight;
+  background-color: #f5f5f5;
   border: 1px solid #ccc;
   border: 1px solid rgba(0,0,0,.15);
   .border-radius(3px);
-- 
GitLab


From 0b1d5d9189ea82cde5e848e5a8771a8f4850e21f Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 20 Nov 2011 18:19:50 -0800
Subject: [PATCH 081/576] revert all js stuff back to 1.4 :/

---
 bootstrap.css            | 247 ++++++++++++++++++---------------------
 bootstrap.min.css        | 152 ++++++++++++------------
 js/bootstrap-alerts.js   | 104 ++++++++++++++---
 js/bootstrap-buttons.js  |  62 ++++++++++
 js/bootstrap-dropdown.js |  37 ++++--
 js/bootstrap-modal.js    | 131 ++++++++++++++-------
 js/bootstrap-popover.js  |  24 +++-
 js/bootstrap-tabs.js     |  15 ++-
 js/bootstrap-twipsy.js   |  75 +++++++++---
 9 files changed, 543 insertions(+), 304 deletions(-)
 create mode 100644 js/bootstrap-buttons.js

diff --git a/bootstrap.css b/bootstrap.css
index e8b9d2d530..e17c454d5c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Nov 17 00:52:01 PST 2011
+ * Date: Sun Nov 20 18:13:58 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -118,9 +118,9 @@ audio:not([controls]) {
   display: none;
 }
 sub, sup {
+  position: relative;
   font-size: 75%;
   line-height: 0;
-  position: relative;
   vertical-align: baseline;
 }
 sup {
@@ -137,18 +137,18 @@ button,
 input,
 select,
 textarea {
-  font-size: 100%;
   margin: 0;
+  font-size: 100%;
   vertical-align: baseline;
   *vertical-align: middle;
 }
 button, input {
-  line-height: normal;
   *overflow: visible;
+  line-height: normal;
 }
 button::-moz-focus-inner, input::-moz-focus-inner {
-  border: 0;
   padding: 0;
+  border: 0;
 }
 button,
 input[type="button"],
@@ -181,12 +181,12 @@ textarea {
  * Basic and global styles for generating a grid system, structural layout, and page templates
  * ------------------------------------------------------------------------------------------- */
 body {
-  background-color: #ffffff;
   margin: 0;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   line-height: 18px;
   color: #404040;
+  background-color: #ffffff;
 }
 .container {
   width: 940px;
@@ -196,9 +196,9 @@ body {
 }
 .container:before, .container:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .container:after {
   clear: both;
@@ -212,9 +212,9 @@ body {
 }
 .fluid-container:before, .fluid-container:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .fluid-container:after {
   clear: both;
@@ -236,10 +236,10 @@ body {
   margin-right: 240px;
 }
 a {
+  font-weight: inherit;
+  line-height: inherit;
   color: #0069d6;
   text-decoration: none;
-  line-height: inherit;
-  font-weight: inherit;
 }
 a:hover {
   color: #00438a;
@@ -263,9 +263,9 @@ a:hover {
 }
 .row:before, .row:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .row:after {
   clear: both;
@@ -348,10 +348,10 @@ a:hover {
  * Headings, body text, lists, code, and more for a versatile and durable typography system
  * ---------------------------------------------------------------------------------------- */
 p {
+  margin-bottom: 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   line-height: 18px;
-  margin-bottom: 9px;
 }
 p small {
   font-size: 11px;
@@ -433,8 +433,8 @@ li {
   color: #404040;
 }
 ul.unstyled {
-  list-style: none;
   margin-left: 0;
+  list-style: none;
 }
 dl {
   margin-bottom: 18px;
@@ -472,15 +472,15 @@ abbr {
   cursor: help;
 }
 blockquote {
+  padding-left: 15px;
   margin-bottom: 18px;
   border-left: 5px solid #eee;
-  padding-left: 15px;
 }
 blockquote p {
+  margin-bottom: 0;
   font-size: 300;
   font-weight: 16px;
   line-height: 22.5px;
-  margin-bottom: 0;
 }
 blockquote small {
   display: block;
@@ -498,8 +498,8 @@ blockquote.pull-right p, blockquote.pull-right small {
 }
 address {
   display: block;
-  line-height: 18px;
   margin-bottom: 18px;
+  line-height: 18px;
 }
 code, pre {
   padding: 0 3px 2px;
@@ -511,16 +511,16 @@ code, pre {
   border-radius: 3px;
 }
 code {
-  background-color: #fee9cc;
   padding: 1px 3px;
+  background-color: #fee9cc;
 }
 pre {
-  background-color: #f5f5f5;
   display: block;
   padding: 8.5px;
   margin: 0 0 9px;
-  line-height: 18px;
   font-size: 12px;
+  line-height: 18px;
+  background-color: #f5f5f5;
   border: 1px solid #ccc;
   border: 1px solid rgba(0, 0, 0, 0.15);
   -webkit-border-radius: 3px;
@@ -593,11 +593,11 @@ input[type=checkbox], input[type=radio] {
   cursor: pointer;
 }
 input[type=file] {
-  background-color: #ffffff;
-  background-color: initial;
   padding: initial;
-  border: initial;
   line-height: initial;
+  border: initial;
+  background-color: #ffffff;
+  background-color: initial;
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
   box-shadow: none;
@@ -608,34 +608,34 @@ input[type=button], input[type=reset], input[type=submit] {
 }
 select, input[type=file] {
   height: 27px;
-  line-height: 27px;
   *margin-top: 4px;
   /* For IE7, add top margin to align select with labels */
 
+  line-height: 27px;
 }
 select[multiple] {
-  background-color: #ffffff;
   height: inherit;
+  background-color: #ffffff;
 }
 textarea {
   height: auto;
 }
 input, textarea {
+  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
   -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;
-  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
-  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
 }
 input:focus, textarea:focus {
-  outline: 0;
   border-color: rgba(82, 168, 236, 0.8);
   -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
   -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
   box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+  outline: 0;
 }
 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
   -webkit-box-shadow: none;
@@ -877,8 +877,8 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
   border-top: 1px solid #ddd;
 }
 .uneditable-input {
-  background-color: #ffffff;
   display: block;
+  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);
@@ -897,14 +897,14 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
   color: #bfbfbf;
 }
 .help-inline {
-  display: inline;
-  padding-left: 5px;
   *position: relative;
   /* IE6-7 */
 
   *top: -5px;
   /* IE6-7 */
 
+  display: inline;
+  padding-left: 5px;
 }
 .help-block {
   display: block;
@@ -932,27 +932,27 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
 }
 .input-prepend .add-on, .input-append .add-on {
   position: relative;
-  background: #f5f5f5;
-  border: 1px solid #ccc;
   z-index: 2;
   float: left;
   display: block;
   width: auto;
   min-width: 16px;
   height: 18px;
-  padding: 4px 4px 4px 5px;
   margin-right: -1px;
+  padding: 4px 4px 4px 5px;
   font-weight: normal;
   line-height: 18px;
   color: #bfbfbf;
   text-align: center;
   text-shadow: 0 1px 0 #ffffff;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
 }
 .input-prepend .active, .input-append .active {
-  background: #a9dba9;
+  background-color: #a9dba9;
   border-color: #46a546;
 }
 .input-prepend .add-on {
@@ -967,11 +967,11 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
   border-radius: 3px 0 0 3px;
 }
 .input-append .add-on {
+  margin-right: 0;
+  margin-left: -1px;
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
-  margin-right: 0;
-  margin-left: -1px;
 }
 .search-form .search-query {
   -webkit-border-radius: 14px;
@@ -1122,17 +1122,17 @@ table .header {
   cursor: pointer;
 }
 table .header:after {
-  content: "";
   float: right;
   margin-top: 7px;
   border-width: 0 4px 4px;
   border-style: solid;
   border-color: #000 transparent;
+  content: "";
   visibility: hidden;
 }
 table .headerSortUp, table .headerSortDown {
-  background-color: rgba(141, 192, 219, 0.25);
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+  background-color: rgba(141, 192, 219, 0.25);
 }
 table .header:hover:after {
   visibility: visible;
@@ -1140,7 +1140,6 @@ table .header:hover:after {
 table .headerSortDown:after, table .headerSortDown:hover:after {
   visibility: visible;
   filter: alpha(opacity=60);
-  -khtml-opacity: 0.6;
   -moz-opacity: 0.6;
   opacity: 0.6;
 }
@@ -1154,7 +1153,6 @@ table .headerSortUp:after {
   -moz-box-shadow: none;
   box-shadow: none;
   filter: alpha(opacity=60);
-  -khtml-opacity: 0.6;
   -moz-opacity: 0.6;
   opacity: 0.6;
 }
@@ -1228,45 +1226,45 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
 .navbar .brand a:hover, .navbar ul .active > a {
-  background-color: #333333;
-  background-color: rgba(255, 255, 255, 0.05);
   color: #ffffff;
   text-decoration: none;
+  background-color: #333333;
+  background-color: rgba(255, 255, 255, 0.05);
 }
 .navbar .brand {
   float: left;
   display: block;
   padding: 8px 20px 12px;
   margin-left: -20px;
-  color: #ffffff;
   font-size: 20px;
   font-weight: 200;
   line-height: 1;
+  color: #ffffff;
 }
 .navbar p {
   margin: 0;
   line-height: 40px;
 }
 .navbar p a:hover {
-  background-color: transparent;
   color: #ffffff;
+  background-color: transparent;
 }
 .navbar-search {
   position: relative;
+  float: left;
   margin-top: 6px;
   margin-bottom: 0;
-  float: left;
 }
 .navbar-search .search-query {
-  background-color: #444;
-  background-color: rgba(255, 255, 255, 0.3);
+  padding: 4px 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   font-weight: normal;
   line-height: 1;
-  padding: 4px 9px;
   color: #ffffff;
   color: rgba(255, 255, 255, 0.75);
+  background-color: #444;
+  background-color: rgba(255, 255, 255, 0.3);
   border: 1px solid #111;
   -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);
@@ -1284,20 +1282,20 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   color: #e6e6e6;
 }
 .navbar-search .search-query:hover {
+  color: #ffffff;
   background-color: #bfbfbf;
   background-color: rgba(255, 255, 255, 0.5);
-  color: #ffffff;
 }
 .navbar-search .search-query:focus, .navbar-search .search-query.focused {
-  outline: 0;
-  background-color: #ffffff;
+  padding: 5px 10px;
   color: #404040;
   text-shadow: 0 1px 0 #ffffff;
+  background-color: #ffffff;
   border: 0;
-  padding: 5px 10px;
   -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;
 }
 .navbar-static {
   margin-bottom: 18px;
@@ -1312,16 +1310,16 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 .navbar-fixed {
   position: fixed;
   top: 0;
-  left: 0;
   right: 0;
+  left: 0;
   z-index: 10000;
 }
 .nav {
+  position: relative;
+  left: 0;
   display: block;
   float: left;
   margin: 0 10px 0 0;
-  position: relative;
-  left: 0;
 }
 .nav > li {
   display: block;
@@ -1396,42 +1394,39 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   position: relative;
 }
 .dropdown-toggle:after {
+  display: inline-block;
   width: 0;
   height: 0;
-  display: inline-block;
-  content: "&darr;";
-  text-indent: -99999px;
-  vertical-align: top;
   margin-top: 8px;
   margin-left: 6px;
+  text-indent: -99999px;
+  vertical-align: top;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
   border-top: 4px solid #ffffff;
   filter: alpha(opacity=30);
-  -khtml-opacity: 0.3;
   -moz-opacity: 0.3;
   opacity: 0.3;
+  content: "&darr;";
 }
 .dropdown:hover .dropdown-toggle:after {
   filter: alpha(opacity=100);
-  -khtml-opacity: 1;
   -moz-opacity: 1;
   opacity: 1;
 }
 .dropdown-menu {
-  background-color: #ffffff;
-  float: left;
-  display: none;
   position: absolute;
   top: 40px;
   z-index: 900;
+  float: left;
+  display: none;
   min-width: 160px;
   max-width: 220px;
   _width: 160px;
+  padding: 6px 0;
   margin-left: 0;
   margin-right: 0;
-  padding: 6px 0;
-  zoom: 1;
+  background-color: #ffffff;
   border-color: #999;
   border-color: rgba(0, 0, 0, 0.2);
   border-style: solid;
@@ -1445,6 +1440,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-background-clip: padding-box;
   -moz-background-clip: padding-box;
   background-clip: padding-box;
+  zoom: 1;
 }
 .dropdown-menu li {
   float: none;
@@ -1468,6 +1464,8 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   text-shadow: 0 1px 0 #ffffff;
 }
 .topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
+  color: #404040;
+  text-decoration: none;
   background-color: #dddddd;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
   background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
@@ -1478,8 +1476,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-image: linear-gradient(top, #eeeeee, #dddddd);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
-  color: #404040;
-  text-decoration: none;
   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
@@ -1493,9 +1489,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   display: block;
 }
 .hero-unit {
-  background-color: #f5f5f5;
-  margin-bottom: 30px;
   padding: 60px;
+  margin-bottom: 30px;
+  background-color: #f5f5f5;
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
@@ -1512,8 +1508,8 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   line-height: 27px;
 }
 footer {
-  margin-top: 17px;
   padding-top: 17px;
+  margin-top: 17px;
   border-top: 1px solid #eee;
 }
 .page-header {
@@ -1548,6 +1544,7 @@ footer {
 .alert-message.danger,
 .btn.error,
 .alert-message.error {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #c43c35;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
@@ -1558,11 +1555,11 @@ footer {
   background-image: linear-gradient(top, #ee5f5b, #c43c35);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #c43c35 #c43c35 #882a25;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn.success, .alert-message.success {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #57a957;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
@@ -1573,11 +1570,11 @@ footer {
   background-image: linear-gradient(top, #62c462, #57a957);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #57a957 #57a957 #3d773d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn.info, .alert-message.info {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #339bb9;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
@@ -1588,13 +1585,16 @@ footer {
   background-image: linear-gradient(top, #5bc0de, #339bb9);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #339bb9 #339bb9 #22697d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn {
-  cursor: pointer;
   display: inline-block;
+  padding: 5px 14px 6px;
+  font-size: 13px;
+  line-height: normal;
+  color: #333;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
   background-color: #e6e6e6;
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
   background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
@@ -1604,11 +1604,6 @@ footer {
   background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-repeat: no-repeat;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
-  padding: 5px 14px 6px;
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-  color: #333;
-  font-size: 13px;
-  line-height: normal;
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
   -webkit-border-radius: 4px;
@@ -1617,6 +1612,7 @@ footer {
   -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;
   -webkit-transition: 0.1s linear all;
   -moz-transition: 0.1s linear all;
   -ms-transition: 0.1s linear all;
@@ -1624,15 +1620,16 @@ footer {
   transition: 0.1s linear all;
 }
 .btn:hover {
-  background-position: 0 -15px;
   color: #333;
   text-decoration: none;
+  background-position: 0 -15px;
 }
 .btn:focus {
   outline: 1px dotted #666;
 }
 .btn.primary {
   color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0064cd;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
   background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
@@ -1643,7 +1640,6 @@ footer {
   background-image: linear-gradient(top, #049cdb, #0064cd);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #0064cd #0064cd #003f81;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
@@ -1657,7 +1653,6 @@ footer {
   background-image: none;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
   filter: alpha(opacity=65);
-  -khtml-opacity: 0.65;
   -moz-opacity: 0.65;
   opacity: 0.65;
   -webkit-box-shadow: none;
@@ -1669,7 +1664,6 @@ footer {
   background-image: none;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
   filter: alpha(opacity=65);
-  -khtml-opacity: 0.65;
   -moz-opacity: 0.65;
   opacity: 0.65;
   -webkit-box-shadow: none;
@@ -1677,9 +1671,9 @@ footer {
   box-shadow: none;
 }
 .btn.large {
+  padding: 9px 14px 9px;
   font-size: 15px;
   line-height: normal;
-  padding: 9px 14px 9px;
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
@@ -1700,9 +1694,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .btn-toolbar:before, .btn-toolbar:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .btn-toolbar:after {
   clear: both;
@@ -1716,9 +1710,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .btn-group:before, .btn-group:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .btn-group:after {
   clear: both;
@@ -1753,13 +1747,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .close {
   float: right;
-  color: #000000;
   font-size: 20px;
   font-weight: bold;
   line-height: 13.5px;
+  color: #000000;
   text-shadow: 0 1px 0 #ffffff;
   filter: alpha(opacity=20);
-  -khtml-opacity: 0.2;
   -moz-opacity: 0.2;
   opacity: 0.2;
 }
@@ -1767,7 +1760,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   color: #000000;
   text-decoration: none;
   filter: alpha(opacity=40);
-  -khtml-opacity: 0.4;
   -moz-opacity: 0.4;
   opacity: 0.4;
 }
@@ -1776,6 +1768,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding: 7px 15px;
   margin-bottom: 18px;
   color: #404040;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #eedc94;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
   background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
@@ -1786,10 +1780,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-image: linear-gradient(top, #fceec1, #eedc94);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #eedc94 #eedc94 #e4c652;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   border-width: 1px;
   border-style: solid;
   -webkit-border-radius: 4px;
@@ -1821,10 +1813,10 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
 }
 .alert-message.block-message {
+  padding: 14px;
   background-image: none;
   background-color: #fdf5d9;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  padding: 14px;
   border-color: #fceec1;
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
@@ -1859,10 +1851,10 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-color: #c6edf9;
 }
 .well {
-  background-color: #f5f5f5;
-  margin-bottom: 20px;
-  padding: 19px;
   min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
   border: 1px solid #eee;
   border: 1px solid rgba(0, 0, 0, 0.05);
   -webkit-border-radius: 4px;
@@ -1889,11 +1881,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .label {
   padding: 1px 3px 2px;
-  background-color: #bfbfbf;
   font-size: 9.75px;
   font-weight: bold;
   color: #ffffff;
   text-transform: uppercase;
+  background-color: #bfbfbf;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
@@ -1910,15 +1902,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .label.notice {
   background-color: #62cffc;
 }
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
 .tabs, .pills {
-  margin: 0 0 20px;
   padding: 0;
+  margin: 0 0 20px;
   list-style: none;
   zoom: 1;
 }
@@ -1927,9 +1913,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .tabs:after,
 .pills:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .tabs:after, .pills:after {
   clear: both;
@@ -2005,9 +1991,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .tabbable.tabs-left:after,
 .tabbable.tabs-right:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .tabbable.tabs-left:after, .tabbable.tabs-right:after {
   clear: both;
@@ -2088,8 +2074,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-top-color: #555;
 }
 .pills a {
-  margin: 5px 3px 5px 0;
   padding: 0 15px;
+  margin: 5px 3px 5px 0;
   line-height: 30px;
   text-shadow: 0 1px 1px #ffffff;
   -webkit-border-radius: 15px;
@@ -2117,8 +2103,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   display: block;
 }
 .breadcrumb {
-  margin: 0 0 18px;
   padding: 7px 14px;
+  margin: 0 0 18px;
   background-color: #f5f5f5;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
   background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
@@ -2171,39 +2157,38 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   float: left;
   padding: 0 14px;
   line-height: 34px;
+  text-decoration: none;
   border-right: 1px solid;
   border-right-color: #ddd;
   border-right-color: rgba(0, 0, 0, 0.15);
   *border-right-color: #ddd;
   /* IE6-7 */
 
-  text-decoration: none;
 }
 .pagination a:hover, .pagination .active a {
   background-color: #c7eefe;
 }
 .pagination .disabled a, .pagination .disabled a:hover {
-  background-color: transparent;
   color: #bfbfbf;
+  background-color: transparent;
 }
 .pagination .next a {
   border: 0;
 }
 .modal-backdrop {
-  background-color: #000000;
   position: fixed;
   top: 0;
-  left: 0;
   right: 0;
   bottom: 0;
+  left: 0;
   z-index: 10000;
+  background-color: #000000;
 }
 .modal-backdrop.fade {
   opacity: 0;
 }
 .modal-backdrop, .modal-backdrop.fade.in {
   filter: alpha(opacity=80);
-  -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
@@ -2245,15 +2230,16 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   top: 50%;
 }
 .modal-header {
-  border-bottom: 1px solid #eee;
   padding: 5px 15px;
+  border-bottom: 1px solid #eee;
 }
 .modal-body {
   padding: 15px;
 }
 .modal-footer {
-  background-color: #f5f5f5;
   padding: 14px 15px 15px;
+  margin-bottom: 0;
+  background-color: #f5f5f5;
   border-top: 1px solid #ddd;
   -webkit-border-radius: 0 0 6px 6px;
   -moz-border-radius: 0 0 6px 6px;
@@ -2262,13 +2248,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
   zoom: 1;
-  margin-bottom: 0;
 }
 .modal-footer:before, .modal-footer:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .modal-footer:after {
   clear: both;
@@ -2278,20 +2263,18 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   margin-left: 5px;
 }
 .twipsy {
-  display: block;
   position: absolute;
+  z-index: 1000;
+  display: block;
   visibility: visible;
   padding: 5px;
   font-size: 11px;
-  z-index: 1000;
   filter: alpha(opacity=80);
-  -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
 .twipsy.fade.in {
   filter: alpha(opacity=80);
-  -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
@@ -2328,12 +2311,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-right: 5px solid #000000;
 }
 .twipsy-inner {
+  max-width: 200px;
   padding: 3px 8px;
-  background-color: #000000;
   color: white;
   text-align: center;
-  max-width: 200px;
   text-decoration: none;
+  background-color: #000000;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
@@ -2348,8 +2331,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   top: 0;
   left: 0;
   z-index: 1000;
-  padding: 5px;
   display: none;
+  padding: 5px;
 }
 .popover.above .arrow {
   bottom: 0;
@@ -2389,11 +2372,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   height: 0;
 }
 .popover .inner {
-  background-color: #000000;
-  background-color: rgba(0, 0, 0, 0.8);
   padding: 3px;
-  overflow: hidden;
   width: 280px;
+  overflow: hidden;
+  background-color: #000000;
+  background-color: rgba(0, 0, 0, 0.8);
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
@@ -2402,17 +2385,17 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
 }
 .popover .title {
-  background-color: #f5f5f5;
   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;
-  border-bottom: 1px solid #eee;
 }
 .popover .content {
-  background-color: #ffffff;
   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;
@@ -2430,9 +2413,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .media-grid:before, .media-grid:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .media-grid:after {
   clear: both;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 832d50ff81..e0584b480f 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -9,33 +9,33 @@ a:hover,a:active{outline:0;}
 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
 audio:not([controls]){display:none;}
-sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
+sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
 sup{top:-0.5em;}
 sub{bottom:-0.25em;}
 img{border:0;-ms-interpolation-mode:bicubic;}
-button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;}
-button,input{line-height:normal;*overflow:visible;}
-button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
+button,input,select,textarea{margin:0;font-size:100%;vertical-align:baseline;*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"],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;}
 input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
-body{background-color:#ffffff;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;}
-.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;*display:inline;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;background-color:#ffffff;}
+.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;*display:inline;content:"";zoom:1;}
 .container:after{clear:both;}
-.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";zoom:1;*display:inline;}
+.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;*display:inline;content:"";zoom:1;}
 .fluid-container:after{clear:both;}
 .fluid-sidebar-left,.fluid-sidebar-right{width:220px;}
 .fluid-sidebar-left{float:left;}
 .fluid-sidebar-right{float:right;}
 .fluid-content{margin-left:240px;}
 .fluid-container.reverse .fluid-content{margin-left:0;margin-right:240px;}
-a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;}
+a{font-weight:inherit;line-height:inherit;color:#0069d6;text-decoration:none;}a:hover{color:#00438a;text-decoration:underline;}
 .pull-right{float:right;}
 .pull-left{float:left;}
 .hide{display:none;}
 .show{display:block;}
-.row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;content:"";zoom:1;*display:inline;}
+.row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;*display:inline;content:"";zoom:1;}
 .row:after{clear:both;}
 [class*="span"]{display:inline;float:left;margin-left:20px;}
 .span1{width:60px;}
@@ -61,7 +61,7 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .offset9{margin-left:740px;}
 .offset10{margin-left:820px;}
 .offset11{margin-left:900px;}
-p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
+p{margin-bottom:9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
 h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
@@ -74,7 +74,7 @@ ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
 li{line-height:18px;color:#404040;}
-ul.unstyled{list-style:none;margin-left:0;}
+ul.unstyled{margin-left:0;list-style:none;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
 dl dd{margin-left:9px;}
@@ -83,26 +83,26 @@ strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#bfbfbf;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:300;font-weight:16px;line-height:22.5px;margin-bottom:0;}
+blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:300;font-weight:16px;line-height:22.5px;}
 blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
-address{display:block;line-height:18px;margin-bottom:18px;}
+address{display:block;margin-bottom:18px;line-height:18px;}
 code,pre{padding:0 3px 2px;font-family:"Menlo",Monaco,Courier New,monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-code{background-color:#fee9cc;padding:1px 3px;}
-pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 9px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre code{padding:0;background-color:transparent;}
+code{padding:1px 3px;background-color:#fee9cc;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre code{padding:0;background-color:transparent;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#404040;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
-input[type=file]{background-color:#ffffff;background-color:initial;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;line-height:27px;*margin-top:4px;}
-select[multiple]{background-color:#ffffff;height:inherit;}
+select,input[type=file]{height:27px;*margin-top:4px;line-height:27px;}
+select[multiple]{height:inherit;background-color:#ffffff;}
 textarea{height:auto;}
-input,textarea{-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;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);}
-input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);}
+input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
+input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
 input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
 .input-mini{width:60px;}
 .input-small{width:90px;}
@@ -137,22 +137,22 @@ form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.s
 form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
 form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
-.uneditable-input{background-color:#ffffff;display:block;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;}
+.uneditable-input{display:block;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-placeholder{color:#bfbfbf;}
 ::-webkit-input-placeholder{color:#bfbfbf;}
 .help-text{margin-top:5px;margin-bottom:0;color:#bfbfbf;}
-.help-inline{display:inline;padding-left:5px;*position:relative;*top:-5px;}
+.help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .help-block{display:block;max-width:600px;}
 .inline-inputs{color:#808080;}.inline-inputs span,.inline-inputs input{display:inline-block;}
 .inline-inputs input.mini{width:60px;}
 .inline-inputs input.small{width:90px;}
 .inline-inputs span{padding:0 2px 0 1px;}
 .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;}
+.input-prepend .add-on,.input-append .add-on{position:relative;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
+.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .search-form .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
@@ -188,11 +188,11 @@ table .span15{width:1160px;}
 table .span16{width:1240px;}
 .striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
 .striped-table tbody tr:hover td,.striped-table tbody tr:hover th{background-color:#f5f5f5;}
-table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
-table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
+table .header{cursor:pointer;}table .header:after{float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;content:"";visibility:hidden;}
+table .headerSortUp,table .headerSortDown{text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:rgba(141, 192, 219, 0.25);}
 table .header:hover:after{visibility:visible;}
-table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
-table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
+table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
+table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
 table .blue{color:#049cdb;border-bottom-color:#049cdb;}
 table .headerSortUp.blue,table .headerSortDown.blue{background-color:#ade6fe;}
 table .green{color:#46a546;border-bottom-color:#46a546;}
@@ -208,17 +208,17 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .navbar{height:40px;overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .navbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.navbar .brand a:hover,.navbar ul .active>a{background-color:#333333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
-.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
-.navbar p{margin:0;line-height:40px;}.navbar p a:hover{background-color:transparent;color:#ffffff;}
-.navbar-search{position:relative;margin-top:6px;margin-bottom:0;float:left;}.navbar-search .search-query{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
+.navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
+.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
+.navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
+.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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
 .navbar-search .search-query::-webkit-input-placeholder{color:#e6e6e6;}
-.navbar-search .search-query:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
-.navbar-search .search-query:focus,.navbar-search .search-query.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-search .search-query:hover{color:#ffffff;background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#404040;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;}
 .navbar-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;left:0;right:0;z-index:10000;}
-.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
+.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:10000;}
+.nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
 .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
@@ -229,46 +229,46 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
 .topbar ul .dropdown-menu li a{padding:4px 15px;}
 .dropdown{position:relative;}
-.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-khtml-opacity:0.3;-moz-opacity:0.3;opacity:0.3;}
-.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
-.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
+.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"&darr;";}
+.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:6px 0;margin-left:0;margin-right:0;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;zoom:1;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
-.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
+.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{color:#404040;text-decoration:none;background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
-.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
+.hero-unit{padding:60px;margin-bottom:30px;background-color:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
-footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
+footer{padding-top:17px;margin-top:17px;border-top:1px solid #eee;}
 .page-header{margin-bottom:27px;border-bottom:1px solid #eee;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:13.5px;}
 .btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
-.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
+.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.success,.alert-message.success{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.info,.alert-message.info{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
-.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
+.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;content:"";zoom:1;*display:inline;}
+.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;*display:inline;content:"";zoom:1;}
 .btn-toolbar:after{clear:both;}
 .btn-toolbar .btn-group{float:left;margin-right:10px;}
-.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";zoom:1;*display:inline;}
+.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;*display:inline;content:"";zoom:1;}
 .btn-group:after{clear:both;}
 .btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
 .btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
-.close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-khtml-opacity:0.2;-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
 .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
 .alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
-.alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
+.alert-message.block-message{padding:14px;background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
 .alert-message.block-message ul{margin-bottom:0;}
 .alert-message.block-message li{color:#404040;}
 .alert-message.block-message .alert-actions{margin-top:5px;}
@@ -276,15 +276,13 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
 .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
-.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
-.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-.pull-right{float:right;}
-.pull-left{float:left;}
-.tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
+.tabs,.pills{padding:0;margin:0 0 20px;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
 .tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
@@ -294,7 +292,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
 .tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
 .tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
-.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;content:"";zoom:1;*display:inline;}
+.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;*display:inline;content:"";zoom:1;}
 .tabbable.tabs-left:after,.tabbable.tabs-right:after{clear:both;}
 .tabbable.tabs-left .tabs,.tabbable.tabs-right .tabs{width:100px;}.tabbable.tabs-left .tabs>li,.tabbable.tabs-right .tabs>li{float:none;margin-bottom:-1px;}.tabbable.tabs-left .tabs>li>a,.tabbable.tabs-right .tabs>li>a{margin-bottom:2px;}.tabbable.tabs-left .tabs>li>a:hover,.tabbable.tabs-right .tabs>li>a:hover{border-color:transparent;}
 .tabbable.tabs-left .tab-content{margin-left:100px;}
@@ -307,46 +305,46 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
 .tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
+.pills a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
 .pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
 .pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
-.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
 .breadcrumb .active a{color:#404040;}
 .pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
-.pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
+.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
-.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
+.pagination .disabled a,.pagination .disabled a:hover{color:#bfbfbf;background-color:transparent;}
 .pagination .next a{border:0;}
-.modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
-.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
+.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
+.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
 .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%;}
 .modal.fade.in{top:50%;}
-.modal-header{border-bottom:1px solid #eee;padding:5px 15px;}
+.modal-header{padding:5px 15px;border-bottom:1px solid #eee;}
 .modal-body{padding:15px;}
-.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;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;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;*display:inline;}
+.modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
+.twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
-.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
+.popover{position:absolute;top:0;left:0;z-index:1000;display:none;padding:5px;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .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;}
 .popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{background-color:#000000;background-color:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-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);}
-.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
-.popover .content{background-color:#ffffff;padding:14px;-webkit-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;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
-.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;*display:inline;}
+.popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
+.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;}
+.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;-webkit-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;}
+.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;*display:inline;content:"";zoom:1;}
 .media-grid:after{clear:both;}
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index 4f1acfa3d0..3ef1672bc0 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-alerts.js v2.0.0
+ * bootstrap-alerts.js v1.4.0
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
  * Copyright 2011 Twitter, Inc.
@@ -17,32 +17,108 @@
  * limitations under the License.
  * ========================================================== */
 
-(function( $ ){
+
+!function( $ ){
+
+  "use strict"
+
+  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+   * ======================================================= */
+
+   var transitionEnd
+
+   $(document).ready(function () {
+
+     $.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
+     })()
+
+     // set CSS transition event type
+     if ( $.support.transition ) {
+       transitionEnd = "TransitionEnd"
+       if ( $.browser.webkit ) {
+        transitionEnd = "webkitTransitionEnd"
+       } else if ( $.browser.mozilla ) {
+        transitionEnd = "transitionend"
+       } else if ( $.browser.opera ) {
+        transitionEnd = "oTransitionEnd"
+       }
+     }
+
+   })
 
  /* ALERT CLASS DEFINITION
   * ====================== */
 
-  function close(e) {
-    var $element = $(this).parent('.alert-message')
+  var Alert = function ( content, options ) {
+    if (options == 'close') return this.close.call(content)
+    this.settings = $.extend({}, $.fn.alert.defaults, options)
+    this.$element = $(content)
+      .delegate(this.settings.selector, 'click', this.close)
+  }
+
+  Alert.prototype = {
+
+    close: function (e) {
+      var $element = $(this)
+        , className = 'alert-message'
+
+      $element = $element.hasClass(className) ? $element : $element.parent()
+
+      e && e.preventDefault()
+      $element.removeClass('in')
 
-    e && e.preventDefault()
-    $element.removeClass('in')
+      function removeElement () {
+        $element.remove()
+      }
 
-    function removeElement () {
-      $element.remove()
+      $.support.transition && $element.hasClass('fade') ?
+        $element.bind(transitionEnd, removeElement) :
+        removeElement()
     }
 
-    $.support.transition && $element.hasClass('fade') ?
-      $element.bind($.support.transition.end, removeElement) :
-      removeElement()
   }
 
 
  /* ALERT PLUGIN DEFINITION
   * ======================= */
 
-  $(function () {
-    $('body').delegate('[data-alert-dismiss]', 'click', close)
+  $.fn.alert = function ( options ) {
+
+    if ( options === true ) {
+      return this.data('alert')
+    }
+
+    return this.each(function () {
+      var $this = $(this)
+        , data
+
+      if ( typeof options == 'string' ) {
+
+        data = $this.data('alert')
+
+        if (typeof data == 'object') {
+          return data[options].call( $this )
+        }
+
+      }
+
+      $(this).data('alert', new Alert( this, options ))
+
+    })
+  }
+
+  $.fn.alert.defaults = {
+    selector: '.close'
+  }
+
+  $(document).ready(function () {
+    new Alert($('body'), {
+      selector: '.alert-message[data-alert] .close'
+    })
   })
 
-})( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-buttons.js b/js/bootstrap-buttons.js
new file mode 100644
index 0000000000..16fa161cb9
--- /dev/null
+++ b/js/bootstrap-buttons.js
@@ -0,0 +1,62 @@
+/* ============================================================
+ * bootstrap-buttons.js v1.4.0
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * ============================================================
+ * Copyright 2011 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"
+
+  function setState(el, state) {
+    var d = 'disabled'
+      , $el = $(el)
+      , data = $el.data()
+
+    state = state + 'Text'
+    data.resetText || $el.data('resetText', $el.html())
+
+    $el.html( data[state] || $.fn.button.defaults[state] )
+
+    state == 'loadingText' ?
+      $el.addClass(d).attr(d, d) :
+      $el.removeClass(d).removeAttr(d)
+  }
+
+  function toggle(el) {
+    $(el).toggleClass('active')
+  }
+
+  $.fn.button = function(options) {
+    return this.each(function () {
+      if (options == 'toggle') {
+        return toggle(this)
+      }
+      options && setState(this, options)
+    })
+  }
+
+  $.fn.button.defaults = {
+    loadingText: 'loading...'
+  }
+
+  $(function () {
+    $('body').delegate('.btn[data-toggle]', 'click', function () {
+      $(this).button('toggle')
+    })
+  })
+
+}( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index d12fe48cb6..cab0ec27ed 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -1,5 +1,5 @@
 /* ============================================================
- * bootstrap-dropdown.js v2.0.0
+ * bootstrap-dropdown.js v1.4.0
  * http://twitter.github.com/bootstrap/javascript.html#dropdown
  * ============================================================
  * Copyright 2011 Twitter, Inc.
@@ -18,25 +18,38 @@
  * ============================================================ */
 
 
-(function( $ ){
+!function( $ ){
+
+  "use strict"
+
+  /* DROPDOWN PLUGIN DEFINITION
+   * ========================== */
+
+  $.fn.dropdown = function ( selector ) {
+    return this.each(function () {
+      $(this).delegate(selector || d, 'click', function (e) {
+        var li = $(this).parent('li')
+          , isActive = li.hasClass('open')
+
+        clearMenus()
+        !isActive && li.toggleClass('open')
+        return false
+      })
+    })
+  }
 
   /* APPLY TO STANDARD DROPDOWN ELEMENTS
    * =================================== */
-  var selector = '[data-dropdown]'
+
+  var d = 'a.menu, .dropdown-toggle'
 
   function clearMenus() {
-    $(selector).parent('li').removeClass('open')
+    $(d).parent('li').removeClass('open')
   }
 
   $(function () {
     $('html').bind("click", clearMenus)
-    $('body').delegate(selector, 'click', function (e) {
-      var li = $(this).parent('li')
-        , isActive = li.hasClass('open')
-      clearMenus()
-      !isActive && li.toggleClass('open')
-      return false
-    })
+    $('body').dropdown( '[data-dropdown] a.menu, [data-dropdown] .dropdown-toggle' )
   })
 
-})( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 984b091d61..be2315afba 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -1,5 +1,5 @@
 /* =========================================================
- * bootstrap-modal.js v2.0.0
+ * bootstrap-modal.js v1.4.0
  * http://twitter.github.com/bootstrap/javascript.html#modal
  * =========================================================
  * Copyright 2011 Twitter, Inc.
@@ -20,13 +20,44 @@
 
 !function( $ ){
 
+  "use strict"
+
+ /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+  * ======================================================= */
+
+  var transitionEnd
+
+  $(document).ready(function () {
+
+    $.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
+    })()
+
+    // set CSS transition event type
+    if ( $.support.transition ) {
+      transitionEnd = "TransitionEnd"
+      if ( $.browser.webkit ) {
+        transitionEnd = "webkitTransitionEnd"
+      } else if ( $.browser.mozilla ) {
+        transitionEnd = "transitionend"
+      } else if ( $.browser.opera ) {
+        transitionEnd = "oTransitionEnd"
+      }
+    }
+
+  })
+
+
  /* MODAL PUBLIC CLASS DEFINITION
   * ============================= */
 
   var Modal = function ( content, options ) {
     this.settings = $.extend({}, $.fn.modal.defaults, options)
     this.$element = $(content)
-      .delegate('[data-modal-dismiss]', 'click', $.proxy(this.hide, this))
+      .delegate('.close', 'click.modal', $.proxy(this.hide, this))
 
     if ( this.settings.show ) {
       this.show()
@@ -47,7 +78,24 @@
         this.$element.trigger('show')
 
         escape.call(this)
-        backdrop.call(this)
+        backdrop.call(this, function () {
+          var transition = $.support.transition && that.$element.hasClass('fade')
+
+          that.$element
+            .appendTo(document.body)
+            .show()
+
+          if (transition) {
+            that.$element[0].offsetWidth // force reflow
+          }
+
+          that.$element.addClass('in')
+
+          transition ?
+            that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
+            that.$element.trigger('shown')
+
+        })
 
         return this
       }
@@ -68,17 +116,9 @@
           .trigger('hide')
           .removeClass('in')
 
-        function removeElement () {
-          that.$element
-            .hide()
-            .trigger('hidden')
-
-          backdrop.call(that)
-        }
-
         $.support.transition && this.$element.hasClass('fade') ?
-          this.$element.one($.support.transition.end, removeElement) :
-          removeElement()
+          hideWithTransition.call(this) :
+          hideModal.call(this)
 
         return this
       }
@@ -89,11 +129,31 @@
  /* MODAL PRIVATE METHODS
   * ===================== */
 
-  function backdrop () {
+  function hideWithTransition() {
+    // firefox drops transitionEnd events :{o
     var that = this
-      , animate = this.$element.hasClass('fade') ? 'fade' : ''
-      , callback = $.proxy(show, this)
+      , timeout = setTimeout(function () {
+          that.$element.unbind(transitionEnd)
+          hideModal.call(that)
+        }, 500)
+
+    this.$element.one(transitionEnd, 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 && this.settings.backdrop ) {
       var doAnimate = $.support.transition && animate
 
@@ -111,43 +171,24 @@
       this.$backdrop.addClass('in')
 
       doAnimate ?
-        this.$backdrop.one($.support.transition.end, callback) :
+        this.$backdrop.one(transitionEnd, callback) :
         callback()
 
     } else if ( !this.isShown && this.$backdrop ) {
       this.$backdrop.removeClass('in')
 
-      function removeElement() {
-        that.$backdrop.remove()
-        that.$backdrop = null
-      }
-
       $.support.transition && this.$element.hasClass('fade')?
-        this.$backdrop.one($.support.transition.end, removeElement) :
-        removeElement()
+        this.$backdrop.one(transitionEnd, $.proxy(removeBackdrop, this)) :
+        removeBackdrop.call(this)
+
     } else if ( callback ) {
        callback()
     }
   }
 
-  function show() {
-    var transition = $.support.transition && that.$element.hasClass('fade')
-      , that = this
-
-    this.$element
-      .appendTo(document.body)
-      .show()
-
-    if (transition) {
-      this.$element[0].offsetWidth // force reflow
-    }
-
-    this.$element
-      .addClass('in')
-
-    transition ?
-      this.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
-      this.$element.trigger('shown')
+  function removeBackdrop() {
+    this.$backdrop.remove()
+    this.$backdrop = null
   }
 
   function escape() {
@@ -205,10 +246,10 @@
   }
 
 
- /* MODAL DATA-IMPLEMENTATION
-  * ========================= */
+ /* MODAL DATA- IMPLEMENTATION
+  * ========================== */
 
-  $(function () {
+  $(document).ready(function () {
     $('body').delegate('[data-controls-modal]', 'click', function (e) {
       e.preventDefault()
       var $this = $(this).data('show', true)
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 3fdde19b51..c23741735b 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -1,5 +1,5 @@
 /* ===========================================================
- * bootstrap-popover.js v2.0.0
+ * bootstrap-popover.js v1.4.0
  * http://twitter.github.com/bootstrap/javascript.html#popover
  * ===========================================================
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
 
 !function( $ ) {
 
+ "use strict"
+
   var Popover = function ( element, options ) {
     this.$element = $(element)
     this.options = options
@@ -35,33 +37,39 @@
     setContent: function () {
       var $tip = this.tip()
       $tip.find('.title')[this.options.html ? 'html' : 'text'](this.getTitle())
-      $tip.find('.content p')[this.options.html ? 'html' : 'text'](this.getContent())
+      $tip.find('.content > *')[this.options.html ? 'html' : 'text'](this.getContent())
       $tip[0].className = 'popover'
     }
 
+  , hasContent: function () {
+      return this.getTitle() || this.getContent()
+    }
+
   , getContent: function () {
       var content
        , $e = this.$element
        , o = this.options
 
       if (typeof this.options.content == 'string') {
-        content = $e.attr(o.content)
+        content = $e.attr(this.options.content)
       } else if (typeof this.options.content == 'function') {
         content = this.options.content.call(this.$element[0])
       }
+
       return content
     }
 
   , tip: function() {
       if (!this.$tip) {
         this.$tip = $('<div class="popover" />')
-          .html('<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>')
+          .html(this.options.template)
       }
       return this.$tip
     }
 
   })
 
+
  /* POPOVER PLUGIN DEFINITION
   * ======================= */
 
@@ -71,6 +79,12 @@
     return this
   }
 
-  $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, { content: 'data-content', placement: 'right'})
+  $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
+    placement: 'right'
+  , content: 'data-content'
+  , template: '<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>'
+  })
+
+  $.fn.twipsy.rejectAttrOptions.push( 'content' )
 
 }( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index 86bd4784f3..790180ca2e 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -1,5 +1,5 @@
 /* ========================================================
- * bootstrap-tabs.js v2.0.0
+ * bootstrap-tabs.js v1.4.0
  * http://twitter.github.com/bootstrap/javascript.html#tabs
  * ========================================================
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
 
 !function( $ ){
 
+  "use strict"
+
   function activate ( element, container ) {
     container
       .find('> .active')
@@ -39,6 +41,7 @@
       , $ul = $this.closest('ul:not(.dropdown-menu)')
       , href = $this.attr('href')
       , previous
+      , $href
 
     if ( /^#\w+/.test(href) ) {
       e.preventDefault()
@@ -64,8 +67,14 @@
  /* TABS/PILLS PLUGIN DEFINITION
   * ============================ */
 
-  $(function () {
-    $('body').delegate('ul[data-tabs] > li > a, ul[data-pills] > li > a', 'click', tab)
+  $.fn.tabs = $.fn.pills = function ( selector ) {
+    return this.each(function () {
+      $(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab)
+    })
+  }
+
+  $(document).ready(function () {
+    $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
   })
 
 }( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 7c195fbc78..fc22d0218b 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-twipsy.js v2.0.0
+ * bootstrap-twipsy.js v1.4.0
  * http://twitter.github.com/bootstrap/javascript.html#twipsy
  * Adapted from the original jQuery.tipsy by Jason Frame
  * ==========================================================
@@ -21,6 +21,37 @@
 
 !function( $ ) {
 
+  "use strict"
+
+ /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+  * ======================================================= */
+
+  var transitionEnd
+
+  $(document).ready(function () {
+
+    $.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
+    })()
+
+    // set CSS transition event type
+    if ( $.support.transition ) {
+      transitionEnd = "TransitionEnd"
+      if ( $.browser.webkit ) {
+        transitionEnd = "webkitTransitionEnd"
+      } else if ( $.browser.mozilla ) {
+        transitionEnd = "transitionend"
+      } else if ( $.browser.opera ) {
+        transitionEnd = "oTransitionEnd"
+      }
+    }
+
+  })
+
+
  /* TWIPSY PUBLIC CLASS DEFINITION
   * ============================== */
 
@@ -41,7 +72,7 @@
         , $tip
         , tp
 
-      if (this.getTitle() && this.enabled) {
+      if (this.hasContent() && this.enabled) {
         $tip = this.tip()
         this.setContent()
 
@@ -61,7 +92,8 @@
 
         actualWidth = $tip[0].offsetWidth
         actualHeight = $tip[0].offsetHeight
-        placement = _.maybeCall(this.options.placement, this.$element[0])
+
+        placement = maybeCall(this.options.placement, this, [ $tip[0], this.$element[0] ])
 
         switch (placement) {
           case 'below':
@@ -102,7 +134,7 @@
       }
 
       $.support.transition && this.$tip.hasClass('fade') ?
-        $tip.bind($.support.transition.end, removeElement) :
+        $tip.bind(transitionEnd, removeElement) :
         removeElement()
     }
 
@@ -113,6 +145,10 @@
       }
     }
 
+  , hasContent: function () {
+      return this.getTitle()
+    }
+
   , getTitle: function() {
       var title
         , $e = this.$element
@@ -132,10 +168,7 @@
     }
 
   , tip: function() {
-      if (!this.$tip) {
-        this.$tip = $('<div class="twipsy" />').html('<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>')
-      }
-      return this.$tip
+      return this.$tip = this.$tip || $('<div class="twipsy" />').html(this.options.template)
     }
 
   , validate: function() {
@@ -158,21 +191,20 @@
       this.enabled = !this.enabled
     }
 
+  , toggle: function () {
+      this[this.tip().hasClass('in') ? 'hide' : 'show']()
+    }
+
   }
 
 
  /* TWIPSY PRIVATE METHODS
   * ====================== */
 
-   var _ = {
-
-     maybeCall: function ( thing, ctx ) {
-       return (typeof thing == 'function') ? (thing.call(ctx)) : thing
-     }
-
+   function maybeCall ( thing, ctx, args ) {
+     return typeof thing == 'function' ? thing.apply(ctx, args) : thing
    }
 
-
  /* TWIPSY PLUGIN DEFINITION
   * ======================== */
 
@@ -269,10 +301,21 @@
   , offset: 0
   , title: 'title'
   , trigger: 'hover'
+  , template: '<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>'
   }
 
+  $.fn.twipsy.rejectAttrOptions = [ 'title' ]
+
   $.fn.twipsy.elementOptions = function(ele, options) {
-    return $.metadata ? $.extend({}, options, $(ele).metadata()) : options
+    var data = $(ele).data()
+      , rejects = $.fn.twipsy.rejectAttrOptions
+      , i = rejects.length
+
+    while (i--) {
+      delete data[rejects[i]]
+    }
+
+    return $.extend({}, options, data)
   }
 
 }( window.jQuery || window.ender );
\ No newline at end of file
-- 
GitLab


From bc65b58551575c9dfb2e4d9f4f7af97009e39432 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 20 Nov 2011 20:58:04 -0800
Subject: [PATCH 082/576] merge in js from 1.4... start working through js docs

---
 Makefile                    |   2 +-
 bootstrap.css               |  12 +-
 bootstrap.min.css           |   2 +-
 docs/assets/css/docs.css    |   7 +
 docs/base-css.html          |   2 +-
 docs/javascript.html        | 356 ++++++++++++++++++------------------
 js/bootstrap-alerts.js      |  44 +----
 js/bootstrap-dropdown.js    |  43 +++--
 js/bootstrap-modal.js       |  48 +----
 js/bootstrap-popover.js     |   6 +-
 js/bootstrap-scrollspy.js   |  33 ++--
 js/bootstrap-tabs.js        |   2 +-
 js/bootstrap-transitions.js |   2 +-
 js/bootstrap-twipsy.js      |  68 ++-----
 lib/twipsy.less             |   4 +-
 15 files changed, 281 insertions(+), 350 deletions(-)

diff --git a/Makefile b/Makefile
index b3dce89ac4..294f0ed72e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-VERSION=1.2.0
+VERSION=2.0.0
 DATE=$(shell DATE)
 BOOTSTRAP = ./bootstrap.css
 BOOTSTRAP_MIN = ./bootstrap.min.css
diff --git a/bootstrap.css b/bootstrap.css
index e17c454d5c..d6cc76b6d8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -1,12 +1,12 @@
 /*!
- * Bootstrap v1.2.0
+ * Bootstrap v2.0.0
  *
  * Copyright 2011 Twitter, Inc
  * Licensed under the Apache License v2.0
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Nov 20 18:13:58 PST 2011
+ * Date: Sun Nov 20 20:05:48 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -2269,11 +2269,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   visibility: visible;
   padding: 5px;
   font-size: 11px;
-  filter: alpha(opacity=80);
-  -moz-opacity: 0.8;
-  opacity: 0.8;
+  filter: alpha(opacity=0);
+  -moz-opacity: 0;
+  opacity: 0;
 }
-.twipsy.fade.in {
+.twipsy.in {
   filter: alpha(opacity=80);
   -moz-opacity: 0.8;
   opacity: 0.8;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e0584b480f..69441b76e7 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -329,7 +329,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index b503c23e43..cde8ff1e0d 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -304,6 +304,13 @@ body > .navbar-fixed .brand:hover {
   margin-left: 10px;
 }
 
+/* scrollspy docs */
+
+.scrollspy-example {
+  overflow: auto;
+  height: 200px;
+  position: relative;
+}
 
 /* Popover docs
 -------------------------------------------------- */
diff --git a/docs/base-css.html b/docs/base-css.html
index aa4a2ebfc0..11346b5b02 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -37,7 +37,7 @@
             <li><a href="./scaffolding.html">Scaffolding</a></li>
             <li class="active"><a href="./base-css.html">Base CSS</a></li>
             <li><a href="./components.html">Components</a></li>
-            <li><a href="./javascript.html">Javascript</a></li>
+            <li><a href="./javascript.html">Javascript plugins</a></li>
             <li><a href="./less.html">Using LESS</a></li>
           </ul>
         </div>
diff --git a/docs/javascript.html b/docs/javascript.html
index a962e043c8..c9709d35fb 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -22,6 +22,40 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
+    <!-- Le javascript -->
+    <!-- placed up here so that the inline demos can be next to their markup -->
+    <script src="http://code.jquery.com/jquery-1.7.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-alerts.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tabs.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script>
+      $(function () {
+
+        // twipsy demo
+        $("a[rel=twipsy]").twipsy({
+          live: true
+        })
+
+        //popover demo
+        $("a[rel=popover]")
+          .popover({
+            offset: 10
+          })
+          .click(function(e) {
+            e.preventDefault()
+          })
+      })
+    </script>
+
   </head>
 
   <body id="bootstrap-js">
@@ -44,26 +78,6 @@
       </div>
     </div>
 
-<!--
-     <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
-      <div class="navbar-inner">
-        <div class="container">
-          <a class="brand" href="./index.html">Bootstrap</a>
-          <ul class="nav">
-            <li><a href="#overview">Overview</a></li>
-            <li><a href="#modal">Modals</a></li>
-            <li><a href="#dropdown">Dropdown</a></li>
-            <li><a href="#scrollspy">ScrollSpy</a></li>
-            <li><a href="#tabs">Tabs</a></li>
-            <li><a href="#twipsy">Twipsy</a></li>
-            <li><a href="#popover">Popover</a></li>
-            <li><a href="#alerts">Alerts</a></li>
-          </ul>
-        </div>
-      </div>
-    </div>
- -->
-
     <div class="container">
       <!-- Masthead
       ================================================== -->
@@ -105,7 +119,7 @@
              <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
            </tr>
            <tr>
-             <td><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></td>
+             <td><a href="./javascript.html#dropdown">bootstrap-dropdown.js</a></td>
              <td>This plugin is for adding dropdown interaction to the bootstrap navbar or tabbed navigations.</td>
            </tr>
            <tr>
@@ -164,35 +178,35 @@
              <tr>
                <td>backdrop</td>
                <td>boolean</td>
-               <td>false</td>
+               <td>true</td>
                <td>Includes a modal-backdrop element</td>
              </tr>
              <tr>
                <td>keyboard</td>
                <td>boolean</td>
-               <td>false</td>
+               <td>true</td>
                <td>Closes the modal when escape key is pressed</td>
              </tr>
              <tr>
                <td>show</td>
                <td>boolean</td>
-               <td>false</td>
+               <td>true</td>
                <td>Opens modal on class initialization</td>
              </tr>
             </tbody>
           </table>
           <h3>Markup</h3>
-          <p>You can activate modals on your page easily without having to write a single line of javascript. Just give an element a <code>data-controls-modal</code> attribute which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as data attributes as well.</p>
+          <p>You can activate modals on your page easily without having to write a single line of javascript. Just give an element a <code>data-controls-modal</code> attribute which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as data attributes.</p>
 <pre class="prettyprint linenums">
 &lt;a class="btn" data-controls-modal="my-modal" data-backdrop="true" &gt;Launch Modal&lt;/a&gt;
 </pre>
-          <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to your <code>.modal</code> element (refer to the demo to see this in action).</p>
+          <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
           <h3>Methods</h3>
           <h4>.modal(options)</h4>
           <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
 $('#my-modal').modal({
-  closeOnEscape: true
+  keyboard: false
 })</pre>
           <h4>.modal('toggle')</h4>
           <p>Manually toggles a modal.</p>
@@ -203,10 +217,6 @@ $('#my-modal').modal({
           <h4>.modal('hide')</h4>
           <p>Manually hides a modal.</p>
           <pre class="prettyprint linenums">$('#my-modal').modal('hide')</pre>
-          <h4>.modal(true)</h4>
-          <p>Returns an elements modal class instance.</p>
-          <pre class="prettyprint linenums">$('#my-modal').modal(true)</pre>
-          <p><span class="label notice">Notice</span> Alternatively, this can be retrieved with <code>$().data('modal')</code>.</p>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
           <table class="striped-table">
@@ -255,7 +265,7 @@ $('#my-modal').bind('hidden', function () {
               <a href="#" class="btn" data-modal-dismiss="true" >Close</a>
             </div>
           </div>
-          <button data-controls-modal="modal-from-dom" data-backdrop="true" data-keyboard="true" class="btn danger">Launch Modal</button>
+          <button data-controls-modal="modal-from-dom" class="btn danger">Launch Modal</button>
         </div>
       </div>
     </section>
@@ -275,14 +285,14 @@ $('#my-modal').bind('hidden', function () {
         </div>
         <div class="span9 columns">
           <h3>Using boostrap-dropdown.js</h3>
-          <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
+          <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
           <h3>Markup</h3>
-          <p>To quickly add dropdown functionality to any nav element, use the <code>data-dropdown</code> attribute. Any valid bootstrap dropdown will automatically be activated.</p>
+          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code>. Any valid bootstrap dropdown will automatically be activated.</p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
   &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li class="dropdown" data-dropdown="true" &gt;
-    &lt;a href="#" class="dropdown-toggle"&gt;Dropdown&lt;/a&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a href="#" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown&lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
       &lt;li&gt;&lt;a href="#"&gt;Secondary link&lt;/a&gt;&lt;/li&gt;
       &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
@@ -310,7 +320,7 @@ $('#my-modal').bind('hidden', function () {
                 </form>
                 <ul class="nav secondary-nav">
                   <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 1</a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1</a>
                     <ul class="dropdown-menu">
                       <li><a href="#">Secondary link</a></li>
                       <li><a href="#">Something else here</a></li>
@@ -319,7 +329,7 @@ $('#my-modal').bind('hidden', function () {
                     </ul>
                   </li>
                   <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-dropdown="true">Dropdown 2</a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2</a>
                     <ul class="dropdown-menu">
                       <li><a href="#">Secondary link</a></li>
                       <li><a href="#">Something else here</a></li>
@@ -351,21 +361,60 @@ $('#my-modal').bind('hidden', function () {
           <h2>Using boostrap-scrollspy.js</h2>
           <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
           <h3>Markup</h3>
-          <p>To easily add scrollspy behavior to your nav, just add the <code>data-scrollspy</code> attribute to the <code>.navbar</code>.
-          <pre class="prettyprint linenums">&lt;div class="navbar" data-scrollspy="scrollspy" &gt;...&lt;/div&gt;</pre>
-          <h3>Methods</h3>
-          <h4>$().scrollspy()</h4>
-          <p>
-          Auto activates navigation buttons by users scroll position.
-          </p>
-          <pre class="prettyprint linenums">$('body > .navbar').scrollSpy()</pre>
+          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+          <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
            <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
-          </p>
-          <h4>.scrollspy('refresh')</h4>
-          <p>The scrollspy caches nav buttons and section coordinates for performance. If you need to update this cache (likely if you have dynamic content) just call this refresh method. If you used the data attribute to define your scrollspy, just call refresh on the body.</p>
-          <pre class="prettyprint linenums">$('body').scrollspy('refresh')</pre>
           <h3>Demo</h3>
-          <p>Checkout the the navbar navigation on this page.</p>
+          <p>
+            Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
+          <p>
+
+          <div id="navbar-example" class="navbar navbar-static">
+            <div class="navbar-inner">
+              <div class="container" style="width: auto;">
+                <a class="brand" href="#">Project Name</a>
+                <ul class="nav">
+                  <li><a href="#fat">@fat</a></li>
+                  <li><a href="#mdo">@mdo</a></li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#one">one</a></li>
+                      <li><a href="#two">two</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#three">three</a></li>
+                    </ul>
+                  </li>
+                </ul>
+              </div>
+            </div>
+          </div>
+
+          <div data-spy="scroll" class="scrollspy-example">
+            <h4 id="fat">@fat</h4>
+            <p>
+            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+            </p>
+            <h4 id="mdo">@mdo</h4>
+            <p>
+            Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
+            </p>
+            <h4 id="one">one</h4>
+            <p>
+            Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
+            </p>
+            <h4 id="two">two</h4>
+            <p>
+            In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
+            </p>
+            <h4 id="three">three</h4>
+            <p>
+            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+            </p>
+            <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
+            </p>
+          </div>
+
         </div>
       </div>
     </section>
@@ -414,27 +463,59 @@ $('#my-modal').bind('hidden', function () {
   })
 &lt;/script&gt;</pre>
           </p>
+          <h3>Events</h3>
+          <table class="zebra-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>change</td>
+               <td>This event fires on tab change. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab respectively.</td>
+             </tr>
+            </tbody>
+          </table>
+
+          <pre class="prettyprint linenums">
+$('.tabs a').bind('change', function (e) {
+  e.target // activated tab
+  e.relatedTarget // previous tab
+})</pre>
           <h3>Demo</h3>
-          <div class="tabbable">
-            <ul class="tabs" data-tabs="tabs">
-              <li class="active"><a href="#home">Home</a></li>
-              <li><a href="#profile">Profile</a></li>
-              <li><a href="#messages">Messages</a></li>
-              <li><a href="#settings">Settings</a></li>
-            </ul>
-            <div class="tab-content" id="myTabContent">
-              <div class="tab-pane active" id="home">
-                <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
-              </div>
-              <div class="tab-pane" id="profile">
-                <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
-              </div>
-              <div class="tab-pane" id="messages">
-                <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
-              </div>
-              <div class="tab-pane" id="settings">
-                <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
-              </div>
+          <ul class="tabs" data-tabs="tabs">
+            <li class="active"><a href="#home">Home</a></li>
+            <li><a href="#profile">Profile</a></li>
+            <li><a href="#messages">Messages</a></li>
+            <li><a href="#settings">Settings</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+              <ul class="dropdown-menu">
+                <li><a href="#dropdown1">@fat</a></li>
+                <li><a href="#dropdown2">@mdo</a></li>
+              </ul>
+            </li>
+          </ul>
+          <div id="my-tab-content" class="tab-content">
+            <div class="active tab-pane" id="home">
+              <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+            </div>
+            <div class="tab-pane" id="profile">
+              <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+            </div>
+            <div class="tab-pane" id="messages">
+              <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
+            </div>
+            <div class="tab-pane" id="settings">
+              <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
+            </div>
+            <div class="tab-pane" id="dropdown1">
+              <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+            </div>
+            <div class="tab-pane" id="dropdown2">
+              <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
             </div>
           </div>
         </div>
@@ -473,36 +554,12 @@ $('#my-modal').bind('hidden', function () {
                <td>true</td>
                <td>apply a css fade transition to the tooltip</td>
              </tr>
-             <tr>
-               <td>delayIn</td>
-               <td>number</td>
-               <td>0</td>
-               <td>delay before showing tooltip (ms)</td>
-             </tr>
-             <tr>
-               <td>delayOut</td>
-               <td>number</td>
-               <td>0</td>
-               <td>delay before hiding tooltip (ms)</td>
-             </tr>
-             <tr>
-               <td>fallback</td>
-               <td>string</td>
-               <td>''</td>
-               <td>text to use when no tooltip title is present</td>
-             </tr>
              <tr>
                <td>placement</td>
                <td>string</td>
                <td>'above'</td>
                <td>how to position the tooltip - above | below | left | right</td>
              </tr>
-             <tr>
-               <td>html</td>
-               <td>boolean</td>
-               <td>false</td>
-               <td>allows html content within tooltip</td>
-             </tr>
              <tr>
                <td>live</td>
                <td>boolean</td>
@@ -515,20 +572,28 @@ $('#my-modal').bind('hidden', function () {
                <td>0</td>
                <td>pixel offset of tooltip from target element</td>
              </tr>
-             <tr>
-               <td>title</td>
-               <td>string | function</td>
-               <td>'title'</td>
-               <td>attribute or method for retrieving title text</td>
-             </tr>
              <tr>
                <td>trigger</td>
                <td>string</td>
                <td>'hover'</td>
                <td>how tooltip is triggered - hover | focus | manual</td>
              </tr>
+             <tr>
+               <td>delay</td>
+               <td>number | object</td>
+               <td>0</td>
+               <td>
+                <p>delay showing/hiding the tooltip (ms)</p>
+                <p>If a number is supplied, delay is applied to both hide/show</p>
+                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+               </td>
+             </tr>
             </tbody>
           </table>
+          <p><span class="label notice">Notice</span> Individual twipsy instance options can alternatively be specified through the use of data attributes.</code></p>
+          <h3>Markup</h3>
+          <p>Twipsy's should contain a title tag which will be use to fill the tip content.<p>
+          <pre class="prettyprint linenums">&lt;a href="#" rel='twipsy' title='twipsy text'&gt;@fat&lt;/a&gt;</pre>
           <h3>Methods</h3>
           <h4>$().twipsy(options)</h4>
           <p>Attaches a twipsy handler to an element collection.</p>
@@ -538,22 +603,11 @@ $('#my-modal').bind('hidden', function () {
           <h4>.twipsy('hide')</h4>
           <p>Hides an elements twipsy.</p>
           <pre class="prettyprint linenums">$('#element').twipsy('hide')</pre>
-          <h4>.twipsy(true)</h4>
-          <p>Returns an elements twipsy class instance.</p>
-          <pre class="prettyprint linenums">$('#element').twipsy(true)</pre>
-          <p><span class="label notice">Notice</span> Alternatively, this can be retrieved with <code>$().data('twipsy')</code>.</p>
           <h3>Demo</h3>
           <div class="well">
             <p class="muted">Tight pants next level keffiyeh <a href="#" rel='twipsy' title='Some title text'>you probably</a> 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 <a href="#" rel='twipsy' title='Another twipsy'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='twipsy' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='twipsy' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
             </p>
           </div>
-          <script>
-            $(function () {
-              $("a[rel=twipsy]").twipsy({
-                live: true
-              })
-            })
-          </script>
         </div>
       </div>
     </section>
@@ -591,34 +645,16 @@ $('#my-modal').bind('hidden', function () {
                <td>apply a css fade transition to the tooltip</td>
              </tr>
              <tr>
-               <td>delayIn</td>
-               <td>number</td>
-               <td>0</td>
-               <td>delay before showing tooltip (ms)</td>
-             </tr>
-             <tr>
-               <td>delayOut</td>
-               <td>number</td>
+               <td>delay</td>
+               <td>number | object</td>
                <td>0</td>
-               <td>delay before hiding tooltip (ms)</td>
-             </tr>
-             <tr>
-               <td>fallback</td>
-               <td>string</td>
-               <td>''</td>
-               <td>text to use when no tooltip title is present</td>
+               <td>delay before showing/hiding the tooltip (ms)</td>
              </tr>
              <tr>
                <td>placement</td>
                <td>string</td>
                <td>'right'</td>
-               <td>how to position the tooltip - above | below | left | right</td>
-             </tr>
-             <tr>
-               <td>html</td>
-               <td>boolean</td>
-               <td>false</td>
-               <td>allows html content within tooltip</td>
+               <td>how to position the popover - above | below | left | right</td>
              </tr>
              <tr>
                <td>live</td>
@@ -632,18 +668,6 @@ $('#my-modal').bind('hidden', function () {
                <td>0</td>
                <td>pixel offset of tooltip from target element</td>
              </tr>
-             <tr>
-               <td>title</td>
-               <td>string | function</td>
-               <td>'title'</td>
-               <td>attribute or method for retrieving title text</td>
-             </tr>
-             <tr>
-               <td>content</td>
-               <td>string | function</td>
-               <td>'data-content'</td>
-               <td>attribute or method for retrieving content text</td>
-             </tr>
              <tr>
                <td>trigger</td>
                <td>string</td>
@@ -652,6 +676,12 @@ $('#my-modal').bind('hidden', function () {
              </tr>
             </tbody>
           </table>
+          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
+          <h3>Markup</h3>
+          <p>Popover's should contain a title tag and a data-content attribute.<p>
+<pre class="prettyprint linenums">&lt;a href="#" class="btn" rel="popover" title="A Title" data-content="Some content"&gt;
+  hover for popover
+&lt;/a&gt;</pre>
           <h3>Methods</h3>
           <h4>$().popover(options)</h4>
           <p>Initializes popovers for an element collection.</p>
@@ -663,17 +693,6 @@ $('#my-modal').bind('hidden', function () {
           <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
           <h3>Demo</h3>
           <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
-          <script>
-            $(function () {
-              $("a[rel=popover]")
-                .popover({
-                  offset: 10
-                })
-                .click(function(e) {
-                  e.preventDefault()
-                })
-            })
-          </script>
         </div>
       </div>
     </section>
@@ -695,7 +714,8 @@ $('#my-modal').bind('hidden', function () {
           <h3>Using bootstrap-alerts.js</h3>
           <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
           <h3>Markup</h3>
-          <p>Just add a <code>data-alert</code> attribute to your alert messages to automatically give them close functionality.</p>
+          <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
+          <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
           <h3>Methods</h3>
           <h4>$().alert()</h4>
           <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
@@ -703,12 +723,12 @@ $('#my-modal').bind('hidden', function () {
           <p>Closes an alert.</p>
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
           <h3>Demo</h3>
-          <div class="alert-message warning fade in" data-alert="alert" >
-            <a class="close" data-alert-dismiss="true" href="#">&times;</a>
+          <div class="alert-message warning fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
             <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
           </div>
-          <div class="alert-message block-message error fade in" data-alert="alert" >
-            <a class="close" data-alert-dismiss="true" href="#">&times;</a>
+          <div class="alert-message block-message error fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
             <p><strong>Oh snap! You got an error!</strong> Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
             <div class="alert-actions">
               <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
@@ -729,17 +749,5 @@ $('#my-modal').bind('hidden', function () {
         </p>
       </footer>
     </div><!-- /container -->
-
-    <!-- Le javascript -->
-    <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index 3ef1672bc0..600440e40e 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-alerts.js v1.4.0
+ * bootstrap-alerts.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
  * Copyright 2011 Twitter, Inc.
@@ -22,34 +22,6 @@
 
   "use strict"
 
-  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-   * ======================================================= */
-
-   var transitionEnd
-
-   $(document).ready(function () {
-
-     $.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
-     })()
-
-     // set CSS transition event type
-     if ( $.support.transition ) {
-       transitionEnd = "TransitionEnd"
-       if ( $.browser.webkit ) {
-        transitionEnd = "webkitTransitionEnd"
-       } else if ( $.browser.mozilla ) {
-        transitionEnd = "transitionend"
-       } else if ( $.browser.opera ) {
-        transitionEnd = "oTransitionEnd"
-       }
-     }
-
-   })
-
  /* ALERT CLASS DEFINITION
   * ====================== */
 
@@ -76,7 +48,7 @@
       }
 
       $.support.transition && $element.hasClass('fade') ?
-        $element.bind(transitionEnd, removeElement) :
+        $element.bind($.support.transition.end, removeElement) :
         removeElement()
     }
 
@@ -88,10 +60,6 @@
 
   $.fn.alert = function ( options ) {
 
-    if ( options === true ) {
-      return this.data('alert')
-    }
-
     return this.each(function () {
       var $this = $(this)
         , data
@@ -112,13 +80,11 @@
   }
 
   $.fn.alert.defaults = {
-    selector: '.close'
+    selector: '[data-dismiss="alert"]'
   }
 
-  $(document).ready(function () {
-    new Alert($('body'), {
-      selector: '.alert-message[data-alert] .close'
-    })
+  $(function () {
+    new Alert( $('body') )
   })
 
 }( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index cab0ec27ed..bb7d11b1fa 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -1,5 +1,5 @@
 /* ============================================================
- * bootstrap-dropdown.js v1.4.0
+ * bootstrap-dropdown.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#dropdown
  * ============================================================
  * Copyright 2011 Twitter, Inc.
@@ -22,34 +22,45 @@
 
   "use strict"
 
+  /* SIMPLE DROPDOWN LOGIC
+   * ===================== */
+
+  var s = '[data-toggle="dropdown"]'
+
+  function clearMenus() {
+    $(s).parent('li').removeClass('open')
+  }
+
+  function toggle(e) {
+    var li = $(this).parent('li')
+      , isActive = li.hasClass('open')
+
+    clearMenus()
+    !isActive && li.toggleClass('open')
+
+    return false
+  }
+
+
   /* DROPDOWN PLUGIN DEFINITION
    * ========================== */
 
   $.fn.dropdown = function ( selector ) {
     return this.each(function () {
-      $(this).delegate(selector || d, 'click', function (e) {
-        var li = $(this).parent('li')
-          , isActive = li.hasClass('open')
-
-        clearMenus()
-        !isActive && li.toggleClass('open')
-        return false
-      })
+      var args = ['click', toggle]
+        , $this = $(this)
+      selector && args.unshift(selector)
+      $this[selector ? 'delegate' : 'bind'].apply($this, args)
     })
   }
 
+
   /* APPLY TO STANDARD DROPDOWN ELEMENTS
    * =================================== */
 
-  var d = 'a.menu, .dropdown-toggle'
-
-  function clearMenus() {
-    $(d).parent('li').removeClass('open')
-  }
-
   $(function () {
     $('html').bind("click", clearMenus)
-    $('body').dropdown( '[data-dropdown] a.menu, [data-dropdown] .dropdown-toggle' )
+    $('body').dropdown(s)
   })
 
 }( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index be2315afba..ccc7b133b2 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -22,35 +22,6 @@
 
   "use strict"
 
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-  * ======================================================= */
-
-  var transitionEnd
-
-  $(document).ready(function () {
-
-    $.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
-    })()
-
-    // set CSS transition event type
-    if ( $.support.transition ) {
-      transitionEnd = "TransitionEnd"
-      if ( $.browser.webkit ) {
-        transitionEnd = "webkitTransitionEnd"
-      } else if ( $.browser.mozilla ) {
-        transitionEnd = "transitionend"
-      } else if ( $.browser.opera ) {
-        transitionEnd = "oTransitionEnd"
-      }
-    }
-
-  })
-
-
  /* MODAL PUBLIC CLASS DEFINITION
   * ============================= */
 
@@ -92,7 +63,7 @@
           that.$element.addClass('in')
 
           transition ?
-            that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
+            that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
             that.$element.trigger('shown')
 
         })
@@ -130,14 +101,13 @@
   * ===================== */
 
   function hideWithTransition() {
-    // firefox drops transitionEnd events :{o
     var that = this
       , timeout = setTimeout(function () {
-          that.$element.unbind(transitionEnd)
+          that.$element.unbind($.support.transition.end)
           hideModal.call(that)
         }, 500)
 
-    this.$element.one(transitionEnd, function () {
+    this.$element.one($.support.transition.end, function () {
       clearTimeout(timeout)
       hideModal.call(that)
     })
@@ -171,14 +141,14 @@
       this.$backdrop.addClass('in')
 
       doAnimate ?
-        this.$backdrop.one(transitionEnd, callback) :
+        this.$backdrop.one($.support.transition.end, callback) :
         callback()
 
     } else if ( !this.isShown && this.$backdrop ) {
       this.$backdrop.removeClass('in')
 
       $.support.transition && this.$element.hasClass('fade')?
-        this.$backdrop.one(transitionEnd, $.proxy(removeBackdrop, this)) :
+        this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
         removeBackdrop.call(this)
 
     } else if ( callback ) {
@@ -240,9 +210,9 @@
   $.fn.modal.Modal = Modal
 
   $.fn.modal.defaults = {
-    backdrop: false
-  , keyboard: false
-  , show: false
+    backdrop: true
+  , keyboard: true
+  , show: true
   }
 
 
@@ -252,7 +222,7 @@
   $(document).ready(function () {
     $('body').delegate('[data-controls-modal]', 'click', function (e) {
       e.preventDefault()
-      var $this = $(this).data('show', true)
+      var $this = $(this)
       $('#' + $this.attr('data-controls-modal')).modal( $this.data() )
     })
   })
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index c23741735b..d0bd831317 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -1,5 +1,5 @@
 /* ===========================================================
- * bootstrap-popover.js v1.4.0
+ * bootstrap-popover.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#popover
  * ===========================================================
  * Copyright 2011 Twitter, Inc.
@@ -36,8 +36,8 @@
 
     setContent: function () {
       var $tip = this.tip()
-      $tip.find('.title')[this.options.html ? 'html' : 'text'](this.getTitle())
-      $tip.find('.content > *')[this.options.html ? 'html' : 'text'](this.getContent())
+      $tip.find('.title')['html'](this.getTitle())
+      $tip.find('.content > *')['html'](this.getContent())
       $tip[0].className = 'popover'
     }
 
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 1269d91ecb..91c2dcb1ed 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -20,33 +20,34 @@
 
 !function ( $ ) {
 
-  var $window = $(window)
-
   function ScrollSpy() {
     var process = $.proxy(this.process, this)
-    this.$topbar = $('body')
-    this.selector = '[data-scrollspy] li > a'
+    this.selector = '.nav li > a'
+
+    this.$body = $('body').delegate(this.selector, 'click', process)
+    this.$scrollElement = $('[data-spy="scroll"]').bind('scroll', process)
+
     this.refresh()
-    this.$topbar.delegate(this.selector, 'click', process)
-    $window.scroll(process)
     this.process()
   }
 
   ScrollSpy.prototype = {
 
       refresh: function () {
-        this.targets = this.$topbar.find(this.selector).map(function () {
-          var href = $(this).attr('href')
-          return /^#\w/.test(href) && $(href).length ? href : null
-        })
+        this.targets = this.$body
+          .find(this.selector)
+          .map(function () {
+            var href = $(this).attr('href')
+            return /^#\w/.test(href) && $(href).length ? href : null
+          })
 
         this.offsets = $.map(this.targets, function (id) {
-          return $(id).offset().top
+          return $(id).position().top
         })
       }
 
     , process: function () {
-        var scrollTop = $window.scrollTop() + 10
+        var scrollTop = this.$scrollElement.scrollTop() + 10
           , offsets = this.offsets
           , targets = this.targets
           , activeTarget = this.activeTarget
@@ -65,11 +66,11 @@
 
         this.activeTarget = target
 
-        this.$topbar
+        this.$body
           .find(this.selector).parent('.active')
           .removeClass('active')
 
-        active = this.$topbar
+        active = this.$body
           .find(this.selector + '[href="' + target + '"]')
           .parent('li')
           .addClass('active')
@@ -82,8 +83,6 @@
 
   }
 
-  $(function () {
-    new ScrollSpy()
-  })
+  $(function () { new ScrollSpy() })
 
 }( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index 790180ca2e..35418fd447 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -1,5 +1,5 @@
 /* ========================================================
- * bootstrap-tabs.js v1.4.0
+ * bootstrap-tabs.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#tabs
  * ========================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-transitions.js b/js/bootstrap-transitions.js
index 49b5338a8f..25f8b111f1 100644
--- a/js/bootstrap-transitions.js
+++ b/js/bootstrap-transitions.js
@@ -38,7 +38,7 @@ $(function () {
         	transitionEnd = "oTransitionEnd"
         }
         return transitionEnd
-      })()
+      }())
     }
   })()
 
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index fc22d0218b..19e43a7234 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-twipsy.js v1.4.0
+ * bootstrap-twipsy.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#twipsy
  * Adapted from the original jQuery.tipsy by Jason Frame
  * ==========================================================
@@ -18,40 +18,10 @@
  * limitations under the License.
  * ========================================================== */
 
-
 !function( $ ) {
 
   "use strict"
 
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-  * ======================================================= */
-
-  var transitionEnd
-
-  $(document).ready(function () {
-
-    $.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
-    })()
-
-    // set CSS transition event type
-    if ( $.support.transition ) {
-      transitionEnd = "TransitionEnd"
-      if ( $.browser.webkit ) {
-        transitionEnd = "webkitTransitionEnd"
-      } else if ( $.browser.mozilla ) {
-        transitionEnd = "transitionend"
-      } else if ( $.browser.opera ) {
-        transitionEnd = "oTransitionEnd"
-      }
-    }
-
-  })
-
-
  /* TWIPSY PUBLIC CLASS DEFINITION
   * ============================== */
 
@@ -119,7 +89,7 @@
 
   , setContent: function () {
       var $tip = this.tip()
-      $tip.find('.twipsy-inner')[this.options.html ? 'html' : 'text'](this.getTitle())
+      $tip.find('.twipsy-inner').html(this.getTitle())
       $tip[0].className = 'twipsy'
     }
 
@@ -134,7 +104,7 @@
       }
 
       $.support.transition && this.$tip.hasClass('fade') ?
-        $tip.bind(transitionEnd, removeElement) :
+        $tip.bind( $.support.transition.end, removeElement) :
         removeElement()
     }
 
@@ -164,7 +134,7 @@
 
         title = ('' + title).replace(/(^\s*|\s*$)/, "")
 
-        return title || o.fallback
+        return title
     }
 
   , tip: function() {
@@ -219,18 +189,21 @@
       , eventIn
       , eventOut
 
-    if (options === true) {
-      return this.data(name)
-    } else if (typeof options == 'string') {
+    if (typeof options == 'string') {
       twipsy = this.data(name)
-      if (twipsy) {
-        twipsy[options]()
-      }
+      if (twipsy) twipsy[options]()
       return this
     }
 
     options = $.extend({}, $.fn[name].defaults, options)
 
+    if (options.delay && typeof options.delay == 'number') {
+      options.delay = {
+        show: options.delay
+      , hide: options.delay
+      }
+    }
+
     function get(ele) {
       var twipsy = $.data(ele, name)
 
@@ -246,7 +219,7 @@
       var twipsy = get(this)
       twipsy.hoverState = 'in'
 
-      if (options.delayIn == 0) {
+      if (!options.delay || !options.delay.show) {
         twipsy.show()
       } else {
         twipsy.fixTitle()
@@ -254,21 +227,21 @@
           if (twipsy.hoverState == 'in') {
             twipsy.show()
           }
-        }, options.delayIn)
+        }, options.delay.show)
       }
     }
 
     function leave() {
       var twipsy = get(this)
       twipsy.hoverState = 'out'
-      if (options.delayOut == 0) {
+      if (!options.delay || !options.delay.hide) {
         twipsy.hide()
       } else {
         setTimeout(function() {
           if (twipsy.hoverState == 'out') {
             twipsy.hide()
           }
-        }, options.delayOut)
+        }, options.delay.hide)
       }
     }
 
@@ -292,15 +265,12 @@
 
   $.fn.twipsy.defaults = {
     animate: true
-  , delayIn: 0
-  , delayOut: 0
-  , fallback: ''
+  , delay: 0
   , placement: 'above'
-  , html: false
   , live: false
   , offset: 0
-  , title: 'title'
   , trigger: 'hover'
+  , title: 'title'
   , template: '<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>'
   }
 
diff --git a/lib/twipsy.less b/lib/twipsy.less
index 4193eda5fb..3fa21fa012 100644
--- a/lib/twipsy.less
+++ b/lib/twipsy.less
@@ -8,8 +8,8 @@
   visibility: visible;
   padding: 5px;
   font-size: 11px;
-  .opacity(80);
-  &.fade.in {
+  .opacity(0);
+  &.in {
     .opacity(80);
   }
   &.above .twipsy-arrow   { #popoverArrow > .above(); }
-- 
GitLab


From 8a891f2a7b9720845932c0be8853fc25c6e49eed Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 20 Nov 2011 21:06:32 -0800
Subject: [PATCH 083/576] act on all twipsy instances

---
 js/bootstrap-twipsy.js | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 19e43a7234..3cb9841c52 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -190,9 +190,10 @@
       , eventOut
 
     if (typeof options == 'string') {
-      twipsy = this.data(name)
-      if (twipsy) twipsy[options]()
-      return this
+      return this.each(function (){
+        twipsy = $.data(this, name)
+        if (twipsy) twipsy[options]()
+      })
     }
 
     options = $.extend({}, $.fn[name].defaults, options)
-- 
GitLab


From 47c7f655ac455cf76a4865f129a523a91486d3ad Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 20 Nov 2011 21:13:28 -0800
Subject: [PATCH 084/576] update comment numbers

---
 js/bootstrap-buttons.js | 2 +-
 js/bootstrap-modal.js   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/js/bootstrap-buttons.js b/js/bootstrap-buttons.js
index 16fa161cb9..2fe1a7352d 100644
--- a/js/bootstrap-buttons.js
+++ b/js/bootstrap-buttons.js
@@ -1,5 +1,5 @@
 /* ============================================================
- * bootstrap-buttons.js v1.4.0
+ * bootstrap-buttons.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#buttons
  * ============================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index ccc7b133b2..e15b1237ce 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -1,5 +1,5 @@
 /* =========================================================
- * bootstrap-modal.js v1.4.0
+ * bootstrap-modal.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#modal
  * =========================================================
  * Copyright 2011 Twitter, Inc.
-- 
GitLab


From 36a7eb3851855b608266f301a63b561ac316bca9 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 20 Nov 2011 21:36:26 -0800
Subject: [PATCH 085/576] add build script for minified files and allow
 elements to be returned to getContent and title in popovers

---
 .gitignore              |  3 ++-
 Makefile                | 19 +++++++++++++++++++
 js/bootstrap-popover.js |  8 ++++++--
 3 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/.gitignore b/.gitignore
index 496ee2ca6a..38ad090992 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-.DS_Store
\ No newline at end of file
+.DS_Store
+js/min
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 294f0ed72e..e5c083ae6f 100644
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,7 @@ BOOTSTRAP = ./bootstrap.css
 BOOTSTRAP_MIN = ./bootstrap.min.css
 BOOTSTRAP_LESS = ./lib/bootstrap.less
 LESS_COMPESSOR ?= `which lessc`
+UGLIFY_JS ?= `which uglifyjs`
 WATCHR ?= `which watchr`
 
 build:
@@ -18,6 +19,24 @@ build:
 		echo "You can install it by running: npm install less -g"; \
 	fi
 
+uglify:
+	@@if test ! -z ${UGLIFY_JS}; then \
+		mkdir -p js/min; \
+		uglifyjs -o js/min/bootstrap-accordion.js js/bootstrap-accordion.js;\
+		uglifyjs -o js/min/bootstrap-alerts.js js/bootstrap-alerts.js;\
+		uglifyjs -o js/min/bootstrap-buttons.js js/bootstrap-buttons.js;\
+		uglifyjs -o js/min/bootstrap-dropdown.js js/bootstrap-dropdown.js;\
+		uglifyjs -o js/min/bootstrap-modal.js js/bootstrap-modal.js;\
+		uglifyjs -o js/min/bootstrap-popover.js js/bootstrap-popover.js;\
+		uglifyjs -o js/min/bootstrap-scrollspy.js js/bootstrap-scrollspy.js;\
+		uglifyjs -o js/min/bootstrap-tabs.js js/bootstrap-tabs.js;\
+		uglifyjs -o js/min/bootstrap-transitions.js js/bootstrap-transitions.js;\
+		uglifyjs -o js/min/bootstrap-twipsy.js js/bootstrap-twipsy.js;\
+	else \
+		echo "You must have the UGLIFYJS minifier installed in order to minify Bootstrap's js."; \
+		echo "You can install it by running: npm install uglify-js -g"; \
+	fi
+
 watch:
 	@@if test ! -z ${WATCHR}; then \
 	  echo "Watching less files..."; \
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index d0bd831317..934ab05453 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -36,8 +36,12 @@
 
     setContent: function () {
       var $tip = this.tip()
-      $tip.find('.title')['html'](this.getTitle())
-      $tip.find('.content > *')['html'](this.getContent())
+        , title = this.getTitle()
+        , content = this.getContent()
+
+      $tip.find('.title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
+      $tip.find('.content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
+
       $tip[0].className = 'popover'
     }
 
-- 
GitLab


From b2650859d6c6dcb0665311b6e983d230fee1111f Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 24 Nov 2011 14:43:26 -0800
Subject: [PATCH 086/576] update buttons js for button groups

---
 bootstrap.css           |   4 +-
 bootstrap.min.css       |   2 +-
 docs/javascript.html    | 112 +++++++++++++++++++++++++++++++++++++++-
 js/bootstrap-buttons.js |  32 ++++++++----
 lib/patterns.less       |   1 +
 5 files changed, 136 insertions(+), 15 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index d6cc76b6d8..895f1c8613 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Nov 20 20:05:48 PST 2011
+ * Date: Thu Nov 24 13:45:21 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1643,7 +1643,7 @@ footer {
   border-color: #0064cd #0064cd #003f81;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.btn:active {
+.btn.active, .btn:active {
   -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
   -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
   box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 69441b76e7..333e4db18c 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -247,7 +247,7 @@ footer{padding-top:17px;margin-top:17px;border-top:1px solid #eee;}
 .btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
 .btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
+.btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
diff --git a/docs/javascript.html b/docs/javascript.html
index c9709d35fb..28f5e30356 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -26,7 +26,6 @@
     <!-- Le javascript -->
     <!-- placed up here so that the inline demos can be next to their markup -->
     <script src="http://code.jquery.com/jquery-1.7.js"></script>
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
     <script src="../js/bootstrap-transitions.js"></script>
@@ -37,6 +36,7 @@
     <script src="../js/bootstrap-tabs.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-buttons.js"></script>
     <script>
       $(function () {
 
@@ -138,6 +138,10 @@
              <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
              <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
            </tr>
+           <tr>
+              <td><a href="./javascript.html#buttons">bootstrap-buttons.js</a></td>
+              <td>This plugin offers additional functionality for managing button state.</td>
+            </tr>
          </tbody>
        </table>
        <h3>Is javascript necessary?</h3>
@@ -739,6 +743,112 @@ $('.tabs a').bind('change', function (e) {
     </section>
 
 
+     <!-- Buttons
+    ================================================== -->
+
+    <section id="buttons">
+      <div class="page-header">
+        <h1>Buttons <small>bootstrap-buttons.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <p>This plugin offers additional functionality for managing button state.</p>
+          <a href="../js/bootstrap-buttons.js" target="_blank" class="btn primary">Download</a>
+        </div>
+        <div class="span9 columns">
+          <h3>Using bootstrap-buttons.js</h3>
+          <pre class="prettyprint linenums">$('.tabs').button()</pre>
+            <h3>Markup</h3>
+          <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
+<pre class="prettyprint linenums">
+&lt;!-- Add data-toggle="button" to activate toggling on a single button --&gt;
+&lt;button class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;
+
+&lt;!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group --&gt;
+&lt;div class="btn-group" data-toggle="buttons-checkbox"&gt;
+  &lt;button class="btn"&gt;Left&lt;/button&gt;
+  &lt;button class="btn"&gt;Middle&lt;/button&gt;
+  &lt;button class="btn"&gt;Right&lt;/button&gt;
+&lt;/div&gt;
+
+&lt;!-- Add data-toggle="buttons-radio" for radio style toggling on btn-group --&gt;
+&lt;div class="btn-group" data-toggle="buttons-radio"&gt;
+  &lt;button class="btn"&gt;Left&lt;/button&gt;
+  &lt;button class="btn"&gt;Middle&lt;/button&gt;
+  &lt;button class="btn"&gt;Right&lt;/button&gt;
+&lt;/div&gt;
+</pre>
+          <h3>Methods</h3>
+          <h4>$().button('toggle')</h4>
+          <p>Toggles push state. Gives btn the look that it's been activated.</p>
+          <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
+          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
+          <h4>$().button('loading')</h4>
+          <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
+          </p>
+           <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+           <h4>$().button('reset')</h4>
+           <p>Resets button state - swaps text to original text.</p>
+           <h4>$().button(string)</h4>
+           <p>Resets button state - swaps text to any data defined text state.</p>
+<pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
+&lt;script&gt;
+  $('.btn').button('complete')
+&lt;/scrip&gt;</pre>
+          <h3>Demo</h3>
+          <table class="striped-table">
+            <tbody>
+             <tr>
+               <td>Stateful</td>
+               <td>
+                  <button id="fat-btn" data-loading-text="loading..." class="btn">
+                    Loading State
+                  </button>
+                  <script>
+                    $(function() {
+                      var btn = $('#fat-btn').click(function () {
+                        btn.button('loading')
+                        setTimeout(function () {
+                          btn.button('reset')
+                        }, 3000)
+                      })
+                    })
+                  </script>
+                </td>
+             </tr>
+             <tr>
+               <td>Single Toggle</td>
+               <td>
+                  <button class="btn" data-toggle="button">Single Toggle</button>
+                </td>
+             </tr>
+             <tr>
+               <td>Checkbox</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-checkbox">
+                    <button class="btn">Left</button>
+                    <button class="btn">Middle</button>
+                    <button class="btn">Right</button>
+                  </div>
+               </td>
+             </tr>
+             <tr>
+               <td>Radio</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-radio">
+                    <button class="btn">Left</button>
+                    <button class="btn">Middle</button>
+                    <button class="btn">Right</button>
+                  </div>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+    </section>
+
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/js/bootstrap-buttons.js b/js/bootstrap-buttons.js
index 2fe1a7352d..759a65f842 100644
--- a/js/bootstrap-buttons.js
+++ b/js/bootstrap-buttons.js
@@ -25,26 +25,36 @@
     var d = 'disabled'
       , $el = $(el)
       , data = $el.data()
+      , val = $el.is('input') ? 'val' : 'html'
 
     state = state + 'Text'
-    data.resetText || $el.data('resetText', $el.html())
+    data.resetText || $el.data('resetText', $el[val]())
 
-    $el.html( data[state] || $.fn.button.defaults[state] )
+    $el[val]( data[state] || $.fn.button.defaults[state] )
 
-    state == 'loadingText' ?
-      $el.addClass(d).attr(d, d) :
-      $el.removeClass(d).removeAttr(d)
+    setTimeout(function () {
+      state == 'loadingText' ?
+        $el.addClass(d).attr(d, d) :
+        $el.removeClass(d).removeAttr(d)
+    }, 0)
   }
 
   function toggle(el) {
-    $(el).toggleClass('active')
+    var $el = $(el)
+      , $parent = $el.parent('[data-toggle="buttons-radio"]')
+
+    if ($parent) {
+      $parent
+        .find('.active')
+        .removeClass('active')
+    }
+
+    $el.toggleClass('active')
   }
 
   $.fn.button = function(options) {
     return this.each(function () {
-      if (options == 'toggle') {
-        return toggle(this)
-      }
+      if (options == 'toggle') return toggle(this)
       options && setState(this, options)
     })
   }
@@ -54,8 +64,8 @@
   }
 
   $(function () {
-    $('body').delegate('.btn[data-toggle]', 'click', function () {
-      $(this).button('toggle')
+    $('body').delegate('[data-toggle^=button]', 'click', function (e) {
+      $(e.srcElement).button('toggle')
     })
   })
 
diff --git a/lib/patterns.less b/lib/patterns.less
index 2fcc4f2b38..01b32cd900 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -415,6 +415,7 @@ footer {
   .transition(.1s linear all);
 
   // Active and Disabled states
+  &.active,
   &:active {
     @shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05);
     .box-shadow(@shadow);
-- 
GitLab


From 71654cbf69333c3cf6f0bb373121640c6f061d68 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 24 Nov 2011 18:55:44 -0800
Subject: [PATCH 087/576] refactor alerts + add new readme which idefientifies
 goals for 2.0 js

---
 docs/javascript.html        | 42 +++++++++++++++--
 js/README.md                | 89 +++++++++++++++++++++++++++++++++++++
 js/bootstrap-alerts.js      | 45 +++++++------------
 js/bootstrap-buttons.js     | 25 ++++++++---
 js/bootstrap-collapsible.js | 37 +++++++++++++++
 js/bootstrap-dropdown.js    |  2 +-
 js/bootstrap-modal.js       |  6 +--
 7 files changed, 201 insertions(+), 45 deletions(-)
 create mode 100644 js/README.md
 create mode 100644 js/bootstrap-collapsible.js

diff --git a/docs/javascript.html b/docs/javascript.html
index 28f5e30356..f5f0520c3a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -39,7 +39,6 @@
     <script src="../js/bootstrap-buttons.js"></script>
     <script>
       $(function () {
-
         // twipsy demo
         $("a[rel=twipsy]").twipsy({
           live: true
@@ -200,9 +199,9 @@
             </tbody>
           </table>
           <h3>Markup</h3>
-          <p>You can activate modals on your page easily without having to write a single line of javascript. Just give an element a <code>data-controls-modal</code> attribute which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as data attributes.</p>
+          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as additoinal data attributes.</p>
 <pre class="prettyprint linenums">
-&lt;a class="btn" data-controls-modal="my-modal" data-backdrop="true" &gt;Launch Modal&lt;/a&gt;
+&lt;a class="btn" data-toggle="modal" data-target="my-modal" &gt;Launch Modal&lt;/a&gt;
 </pre>
           <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
           <h3>Methods</h3>
@@ -269,7 +268,9 @@ $('#my-modal').bind('hidden', function () {
               <a href="#" class="btn" data-modal-dismiss="true" >Close</a>
             </div>
           </div>
-          <button data-controls-modal="modal-from-dom" class="btn danger">Launch Modal</button>
+          <button data-toggle="modal" data-target="modal-from-dom" class="btn danger">
+            Launch Modal
+          </button>
         </div>
       </div>
     </section>
@@ -849,6 +850,39 @@ $('.tabs a').bind('change', function (e) {
     </section>
 
 
+    <!-- Collapsible
+    ================================================== -->
+
+    <section id="collapsible">
+      <div class="page-header">
+        <h1>Collapsible <small>bootstrap-collapsible.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <p>collapsible collapsible collapsible bitches.</p>
+          <a href="../js/bootstrap-collapsible.js" target="_blank" class="btn primary">Download</a>
+        </div>
+        <div class="span9 columns">
+          <h3>Using bootstrap-collapsible.js</h3>
+          <pre class="prettyprint linenums">$(".collapsible").collapsible()</pre>
+          <h3>Markup</h3>
+          <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
+          <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
+          <h3>Methods</h3>
+
+          <h3>Demo</h3>
+
+          <button data-toggle="collapse"></butotn>
+          <div>
+
+          </div>
+
+
+        </div>
+      </div>
+    </section>
+
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/js/README.md b/js/README.md
new file mode 100644
index 0000000000..98be75421d
--- /dev/null
+++ b/js/README.md
@@ -0,0 +1,89 @@
+2.0 BOOTSTRAP JS PHILSOPHY
+These are the highlevel design rules which guide the developement of Bootstrap's js plugins.
+
+---
+
+### 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 acknoledge 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:
+
+    $('body').unbind('.data-api')
+
+To target a specific plugin, just include the plugins name as a namespace along with the data-api namespace like this:
+
+    $('body').unbind('.alert.data-api')
+
+---
+
+### PROGRAMATIC API
+
+We also believe you should be able to use all plugins provided by bootstrap purely through the JS api.
+
+All pubilc APIs should be a single, chainable method, and return the collection acted upon.
+
+    $(".btn.danger").button("toggle").addClass("fat")
+
+All methods should accept an optional options object, a string which targets a particular method, or null which innitiates the default behavior:
+
+    $("#myModal").modal() // initialized with defaults
+
+---
+
+### PLUGIN OPTIONS
+
+Options should be sparse and add universal value. We should pick the right defaults.
+
+All plugins should have a default object which can be modified to effect all instance's default options. The defaults object should be available via `$.fn.plugin.defaults`.
+
+    $.fn.modal.defaults = { … }
+
+An options definiton should take the following form:
+
+    *noun*: *adjective* - describes or modifies a quality of an instance
+
+examples:
+
+    backdrop: true
+    keyboard: false
+    placement: 'above'
+
+---
+
+### PLUGIN EVENTS
+
+All events should have an infinitive and past participle form. The infinitive is fired just before an action takes place, the past participle on completion of the action.
+
+    show | shown
+    hide | hidden
+    change | changed
+
+---
+
+
+### DATA ATTRIBUTES
+
+Data attributes should take the following form:
+
+data-*(verb)* - defines main interaction
+data-target - defined on controller element (if element interacts with an element other than self)
+data-*(noun)* - defines options for element invocation
+
+examples:
+
+    // control other targets
+    data-toggle="modal" data-target="#foo"
+    data-toggle="view" data-target="#foo"
+
+    // defined on element they control
+    data-spy="scroll"
+
+    data-dismiss="modal"
+    data-dismiss="alert"
+
+    data-toggle="dropdown"
+
+    data-toggle="button"
+    data-toggle="buttons-checkbox"
+    data-toggle="buttons-radio"
\ No newline at end of file
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index 600440e40e..565f831936 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -25,25 +25,22 @@
  /* ALERT CLASS DEFINITION
   * ====================== */
 
-  var Alert = function ( content, options ) {
-    if (options == 'close') return this.close.call(content)
-    this.settings = $.extend({}, $.fn.alert.defaults, options)
-    this.$element = $(content)
-      .delegate(this.settings.selector, 'click', this.close)
-  }
+  var dismiss = '[data-dismiss="alert"]'
+    , Alert = function ( el, close ) {
+        $(el).delegate(dismiss, 'click', this.close)
+      }
 
   Alert.prototype = {
 
-    close: function (e) {
+    close: function ( e ) {
       var $element = $(this)
-        , className = 'alert-message'
 
-      $element = $element.hasClass(className) ? $element : $element.parent()
+      $element = $element.hasClass('alert-message') ? $element : $element.parent()
 
       e && e.preventDefault()
       $element.removeClass('in')
 
-      function removeElement () {
+      function removeElement() {
         $element.remove()
       }
 
@@ -59,32 +56,22 @@
   * ======================= */
 
   $.fn.alert = function ( options ) {
-
     return this.each(function () {
       var $this = $(this)
-        , data
-
-      if ( typeof options == 'string' ) {
-
-        data = $this.data('alert')
-
-        if (typeof data == 'object') {
-          return data[options].call( $this )
-        }
-
-      }
-
-      $(this).data('alert', new Alert( this, options ))
-
+        , data = $this.data('alert')
+      if (!data) $this.data('alert', (data = new Alert(this)))
+      if (typeof options == 'string') data[options].call($this)
     })
   }
 
-  $.fn.alert.defaults = {
-    selector: '[data-dismiss="alert"]'
-  }
+  $.fn.alert.Alert = Alert
+
+
+ /* ALERT DATA-API
+  * ============== */
 
   $(function () {
-    new Alert( $('body') )
+    $('body').delegate(dismiss, 'click.alert.data-api', Alert.prototype.close)
   })
 
 }( window.jQuery || window.ender );
\ No newline at end of file
diff --git a/js/bootstrap-buttons.js b/js/bootstrap-buttons.js
index 759a65f842..5ca678df8b 100644
--- a/js/bootstrap-buttons.js
+++ b/js/bootstrap-buttons.js
@@ -21,6 +21,11 @@
 
   "use strict"
 
+ /* BUTTON PUBLIC CLASS DEFINITION
+  * ============================== */
+
+  var Button
+
   function setState(el, state) {
     var d = 'disabled'
       , $el = $(el)
@@ -43,15 +48,17 @@
     var $el = $(el)
       , $parent = $el.parent('[data-toggle="buttons-radio"]')
 
-    if ($parent) {
-      $parent
-        .find('.active')
-        .removeClass('active')
-    }
+    $parent && $parent
+      .find('.active')
+      .removeClass('active')
 
     $el.toggleClass('active')
   }
 
+
+ /* BUTTON PLUGIN DEFINITION
+  * ======================== */
+
   $.fn.button = function(options) {
     return this.each(function () {
       if (options == 'toggle') return toggle(this)
@@ -63,8 +70,14 @@
     loadingText: 'loading...'
   }
 
+  $.fn.button.Button = Button
+
+
+ /* BUTTON DATA-API
+  * =============== */
+
   $(function () {
-    $('body').delegate('[data-toggle^=button]', 'click', function (e) {
+    $('body').delegate('[data-toggle^=button]', 'click.button.data-api', function (e) {
       $(e.srcElement).button('toggle')
     })
   })
diff --git a/js/bootstrap-collapsible.js b/js/bootstrap-collapsible.js
new file mode 100644
index 0000000000..273eb22720
--- /dev/null
+++ b/js/bootstrap-collapsible.js
@@ -0,0 +1,37 @@
+/* =============================================================
+ * bootstrap-collapsible.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#collapsible
+ * =============================================================
+ * Copyright 2011 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( $ ){
+
+  var Collapsible = function ( element, options ) {}
+
+  Collapsible.prototype = {}
+
+  /* collapsible PLUGIN DEFINITION
+   * ======================= */
+
+  $.fn.collapsible = function ( options ) {
+
+    return this.each(function () {
+      new Collapsible(this, options)
+    })
+  }
+
+
+})( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index bb7d11b1fa..ef243fc6f6 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -59,7 +59,7 @@
    * =================================== */
 
   $(function () {
-    $('html').bind("click", clearMenus)
+    $('html').bind("click.dropdown.data-api", clearMenus)
     $('body').dropdown(s)
   })
 
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index e15b1237ce..16c805a4e7 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -194,10 +194,6 @@
       })
     }
 
-    if ( options === true ) {
-      return modal
-    }
-
     if ( typeof options == 'string' ) {
       modal[options]()
     } else if ( modal ) {
@@ -220,7 +216,7 @@
   * ========================== */
 
   $(document).ready(function () {
-    $('body').delegate('[data-controls-modal]', 'click', function (e) {
+    $('body').delegate('[data-controls-modal]', 'click.modal.data-api', function (e) {
       e.preventDefault()
       var $this = $(this)
       $('#' + $this.attr('data-controls-modal')).modal( $this.data() )
-- 
GitLab


From 69372701cfe58876623c89a0bdeca5ce91dd839b Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 24 Nov 2011 19:40:25 -0800
Subject: [PATCH 088/576] refactor dropdown in accordance with readme

---
 js/bootstrap-accordion.js | 41 --------------------------
 js/bootstrap-alerts.js    |  7 ++---
 js/bootstrap-buttons.js   | 61 +++++++++++++++++++++++----------------
 js/bootstrap-dropdown.js  | 45 +++++++++++++++++------------
 4 files changed, 65 insertions(+), 89 deletions(-)
 delete mode 100644 js/bootstrap-accordion.js

diff --git a/js/bootstrap-accordion.js b/js/bootstrap-accordion.js
deleted file mode 100644
index 9a24b5ddfc..0000000000
--- a/js/bootstrap-accordion.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/* =============================================================
- * bootstrap-accordion.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#accordion
- * =============================================================
- * Copyright 2011 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( $ ){
-
-  var Accordion = function ( element, options ) {}
-
-  Accordion.prototype = {}
-
-  /* ALERT PLUGIN DEFINITION
-   * ======================= */
-
-  $.fn.accordion = function ( options ) {
-
-    if ( options === true ) {
-     return this.data('accordion')
-    }
-
-    return this.each(function () {
-      new Accordion(this, options)
-    })
-  }
-
-
-})( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index 565f831936..fabafa4f92 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -26,7 +26,7 @@
   * ====================== */
 
   var dismiss = '[data-dismiss="alert"]'
-    , Alert = function ( el, close ) {
+    , Alert = function ( el ) {
         $(el).delegate(dismiss, 'click', this.close)
       }
 
@@ -36,7 +36,6 @@
       var $element = $(this)
 
       $element = $element.hasClass('alert-message') ? $element : $element.parent()
-
       e && e.preventDefault()
       $element.removeClass('in')
 
@@ -55,12 +54,12 @@
  /* ALERT PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.alert = function ( options ) {
+  $.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 options == 'string') data[options].call($this)
+      if (typeof option == 'string') data[option].call($this)
     })
   }
 
diff --git a/js/bootstrap-buttons.js b/js/bootstrap-buttons.js
index 5ca678df8b..82d80df2d9 100644
--- a/js/bootstrap-buttons.js
+++ b/js/bootstrap-buttons.js
@@ -24,45 +24,56 @@
  /* BUTTON PUBLIC CLASS DEFINITION
   * ============================== */
 
-  var Button
+  var Button = function (element, options) {
+    this.$element = $(element)
+    this.settings = $.extend({}, $.fn.button.defaults, options)
+  }
 
-  function setState(el, state) {
-    var d = 'disabled'
-      , $el = $(el)
-      , data = $el.data()
-      , val = $el.is('input') ? 'val' : 'html'
+  Button.prototype = {
 
-    state = state + 'Text'
-    data.resetText || $el.data('resetText', $el[val]())
+      setState: function (state) {
+        var d = 'disabled'
+          , $el = this.$element
+          , data = $el.data()
+          , val = $el.is('input') ? 'val' : 'html'
 
-    $el[val]( data[state] || $.fn.button.defaults[state] )
+        state = state + 'Text'
+        data.resetText || $el.data('resetText', $el[val]())
 
-    setTimeout(function () {
-      state == 'loadingText' ?
-        $el.addClass(d).attr(d, d) :
-        $el.removeClass(d).removeAttr(d)
-    }, 0)
-  }
+        $el[val](data[state] || this.settings[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"]')
 
-  function toggle(el) {
-    var $el = $(el)
-      , $parent = $el.parent('[data-toggle="buttons-radio"]')
+        $parent && $parent
+          .find('.active')
+          .removeClass('active')
 
-    $parent && $parent
-      .find('.active')
-      .removeClass('active')
+        this.$element.toggleClass('active')
+      }
 
-    $el.toggleClass('active')
   }
 
 
  /* BUTTON PLUGIN DEFINITION
   * ======================== */
 
-  $.fn.button = function(options) {
+  $.fn.button = function ( option ) {
     return this.each(function () {
-      if (options == 'toggle') return toggle(this)
-      options && setState(this, options)
+      var $this = $(this)
+        , data = $this.data('button')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('button', (data = new Button(this, options)))
+      if (option == 'toggle') data.toggle()
+      else if (option) data.setState(option)
     })
   }
 
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index ef243fc6f6..4526a9203b 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -22,35 +22,42 @@
 
   "use strict"
 
-  /* SIMPLE DROPDOWN LOGIC
-   * ===================== */
+ /* DROPDOWN CLASS DEFINITION
+  * ========================= */
 
-  var s = '[data-toggle="dropdown"]'
+  var toggle = '[data-toggle="dropdown"]'
+    , Dropdown = function ( element ) {
+        $(element).bind('click', this.toggle)
+      }
 
-  function clearMenus() {
-    $(s).parent('li').removeClass('open')
-  }
+  Dropdown.prototype = {
+
+    toggle: function ( e ) {
+      var li = $(this).parent('li')
+        , isActive = li.hasClass('open')
 
-  function toggle(e) {
-    var li = $(this).parent('li')
-      , isActive = li.hasClass('open')
+      clearMenus()
+      !isActive && li.toggleClass('open')
 
-    clearMenus()
-    !isActive && li.toggleClass('open')
+      return false
+    }
 
-    return false
+  }
+
+  function clearMenus() {
+    $(toggle).parent('li').removeClass('open')
   }
 
 
   /* DROPDOWN PLUGIN DEFINITION
    * ========================== */
 
-  $.fn.dropdown = function ( selector ) {
+  $.fn.dropdown = function ( option ) {
     return this.each(function () {
-      var args = ['click', toggle]
-        , $this = $(this)
-      selector && args.unshift(selector)
-      $this[selector ? 'delegate' : 'bind'].apply($this, args)
+      var $this = $(this)
+        , data = $this.data('dropdown')
+      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+      if (typeof option == 'string') data[option].call($this)
     })
   }
 
@@ -59,8 +66,8 @@
    * =================================== */
 
   $(function () {
-    $('html').bind("click.dropdown.data-api", clearMenus)
-    $('body').dropdown(s)
+    $('html').bind('click.dropdown.data-api', clearMenus)
+    $('body').delegate(toggle, 'click.dropdown.data-api', Dropdown.prototype.toggle)
   })
 
 }( window.jQuery || window.ender );
\ No newline at end of file
-- 
GitLab


From 1fa02fbda2bb3710a9f26a487da2c34565e8c406 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 24 Nov 2011 20:04:07 -0800
Subject: [PATCH 089/576] refactor modal

---
 docs/javascript.html  |   9 ++--
 js/bootstrap-modal.js | 104 ++++++++++++++++--------------------------
 2 files changed, 44 insertions(+), 69 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index f5f0520c3a..aa13d523da 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -255,9 +255,9 @@ $('#my-modal').bind('hidden', function () {
 })</pre>
           <h3>Demo</h3>
           <!-- sample modal content -->
-          <div id="modal-from-dom" class="modal hide fade">
+          <div id="myModal" class="modal hide fade">
             <div class="modal-header">
-              <a href="#" class="close" data-modal-dismiss="true" >&times;</a>
+              <a href="#" class="close" data-dismiss="modal" >&times;</a>
               <h3>Modal Heading</h3>
             </div>
             <div class="modal-body">
@@ -265,10 +265,11 @@ $('#my-modal').bind('hidden', function () {
             </div>
             <div class="modal-footer">
               <a href="#" class="btn primary">Save changes</a>
-              <a href="#" class="btn" data-modal-dismiss="true" >Close</a>
+              <a href="#" class="btn" data-dismiss="modal" >Close</a>
             </div>
           </div>
-          <button data-toggle="modal" data-target="modal-from-dom" class="btn danger">
+
+          <button data-toggle="modal" data-target="#myModal" class="btn danger">
             Launch Modal
           </button>
         </div>
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 16c805a4e7..14c03e6a3e 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -22,19 +22,14 @@
 
   "use strict"
 
- /* MODAL PUBLIC CLASS DEFINITION
-  * ============================= */
+ /* MODAL CLASS DEFINITION
+  * ====================== */
 
   var Modal = function ( content, options ) {
     this.settings = $.extend({}, $.fn.modal.defaults, options)
     this.$element = $(content)
-      .delegate('.close', 'click.modal', $.proxy(this.hide, this))
-
-    if ( this.settings.show ) {
-      this.show()
-    }
-
-    return this
+      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
+    this.settings.show && this.show()
   }
 
   Modal.prototype = {
@@ -45,6 +40,9 @@
 
     , show: function () {
         var that = this
+
+        if (this.isShown) return
+
         this.isShown = true
         this.$element.trigger('show')
 
@@ -67,16 +65,12 @@
             that.$element.trigger('shown')
 
         })
-
-        return this
       }
 
-    , hide: function (e) {
+    , hide: function ( e ) {
         e && e.preventDefault()
 
-        if ( !this.isShown ) {
-          return this
-        }
+        if (!this.isShown) return
 
         var that = this
         this.isShown = false
@@ -90,8 +84,6 @@
         $.support.transition && this.$element.hasClass('fade') ?
           hideWithTransition.call(this) :
           hideModal.call(this)
-
-        return this
       }
 
   }
@@ -124,19 +116,18 @@
   function backdrop ( callback ) {
     var that = this
       , animate = this.$element.hasClass('fade') ? 'fade' : ''
-    if ( this.isShown && this.settings.backdrop ) {
+
+    if (this.isShown && this.settings.backdrop) {
       var doAnimate = $.support.transition && animate
 
       this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
         .appendTo(document.body)
 
-      if ( this.settings.backdrop != 'static' ) {
+      if (this.settings.backdrop != 'static') {
         this.$backdrop.click($.proxy(this.hide, this))
       }
 
-      if ( doAnimate ) {
-        this.$backdrop[0].offsetWidth // force reflow
-      }
+      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
 
       this.$backdrop.addClass('in')
 
@@ -144,15 +135,15 @@
         this.$backdrop.one($.support.transition.end, callback) :
         callback()
 
-    } else if ( !this.isShown && this.$backdrop ) {
+    } else if (!this.isShown && this.$backdrop) {
       this.$backdrop.removeClass('in')
 
       $.support.transition && this.$element.hasClass('fade')?
         this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
         removeBackdrop.call(this)
 
-    } else if ( callback ) {
-       callback()
+    } else if (callback) {
+      callback()
     }
   }
 
@@ -163,14 +154,12 @@
 
   function escape() {
     var that = this
-    if ( this.isShown && this.settings.keyboard ) {
-      $(document).bind('keyup.modal', function ( e ) {
-        if ( e.which == 27 ) {
-          that.hide()
-        }
+    if (this.isShown && this.settings.keyboard) {
+      $(document).bind('keyup.dismiss.modal', function ( e ) {
+        e.which == 27 && that.hide()
       })
-    } else if ( !this.isShown ) {
-      $(document).unbind('keyup.modal')
+    } else if (!this.isShown) {
+      $(document).unbind('keyup.dismiss.modal')
     }
   }
 
@@ -178,48 +167,33 @@
  /* MODAL PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.modal = function ( options ) {
-    var modal = this.data('modal')
-
-    if (!modal) {
-
-      if (typeof options == 'string') {
-        options = {
-          show: /show|toggle/.test(options)
-        }
-      }
-
-      return this.each(function () {
-        $(this).data('modal', new Modal(this, options))
-      })
-    }
-
-    if ( typeof options == 'string' ) {
-      modal[options]()
-    } else if ( modal ) {
-      modal.toggle()
-    }
-
-    return this
+  $.fn.modal = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('modal')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('modal', (data = new Modal(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
   }
 
-  $.fn.modal.Modal = Modal
-
   $.fn.modal.defaults = {
-    backdrop: true
-  , keyboard: true
-  , show: true
+      backdrop: true
+    , keyboard: true
+    , show: true
   }
 
+  $.fn.modal.Modal = Modal
+
 
- /* MODAL DATA- IMPLEMENTATION
-  * ========================== */
+ /* MODAL DATA-API
+  * ============== */
 
   $(document).ready(function () {
-    $('body').delegate('[data-controls-modal]', 'click.modal.data-api', function (e) {
-      e.preventDefault()
+    $('body').delegate('[data-toggle="modal"]', 'click.modal.data-api', function ( e ) {
       var $this = $(this)
-      $('#' + $this.attr('data-controls-modal')).modal( $this.data() )
+      e.preventDefault()
+      $($this.attr('data-target')).modal($this.data())
     })
   })
 
-- 
GitLab


From b14f551c9c1498247dc69251f8eebfde3b1002f6 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 24 Nov 2011 20:12:13 -0800
Subject: [PATCH 090/576] fix some more modal things

---
 js/bootstrap-modal.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 14c03e6a3e..2860c8a518 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -192,8 +192,10 @@
   $(document).ready(function () {
     $('body').delegate('[data-toggle="modal"]', 'click.modal.data-api', function ( e ) {
       var $this = $(this)
+        , target = $this.attr('data-target')
+        , option = $(target).data('modal') ? 'toggle' : $this.data()
       e.preventDefault()
-      $($this.attr('data-target')).modal($this.data())
+      $(target).modal(option)
     })
   })
 
-- 
GitLab


From 53ff2682cd95dd96fc1fbf234d7b0530127a464b Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 24 Nov 2011 20:27:18 -0800
Subject: [PATCH 091/576] clean up scrollspy a bit - add public api method

---
 docs/javascript.html      |  2 +-
 js/bootstrap-scrollspy.js | 34 ++++++++++++++++++++++++++++------
 2 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index aa13d523da..f625e2323c 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -201,7 +201,7 @@
           <h3>Markup</h3>
           <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as additoinal data attributes.</p>
 <pre class="prettyprint linenums">
-&lt;a class="btn" data-toggle="modal" data-target="my-modal" &gt;Launch Modal&lt;/a&gt;
+&lt;a class="btn" data-toggle="modal" data-target="#myModal" &gt;Launch Modal&lt;/a&gt;
 </pre>
           <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
           <h3>Methods</h3>
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 91c2dcb1ed..e846fd7182 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -17,15 +17,19 @@
  * limitations under the License.
  * ============================================================== */
 
-
 !function ( $ ) {
 
-  function ScrollSpy() {
+  "use strict"
+
+  /* SCROLLSPY CLASS DEFINITION
+   * ========================== */
+
+  function ScrollSpy( element ) {
     var process = $.proxy(this.process, this)
     this.selector = '.nav li > a'
 
-    this.$body = $('body').delegate(this.selector, 'click', process)
-    this.$scrollElement = $('[data-spy="scroll"]').bind('scroll', process)
+    this.$body = $('body').delegate(this.selector, 'click.scroll.data-api', process)
+    this.$scrollElement = $(element).bind('scroll.scroll.data-api', process)
 
     this.refresh()
     this.process()
@@ -78,11 +82,29 @@
         if ( active.parent('.dropdown-menu') )  {
           active.closest('li.dropdown').addClass('active')
         }
-
       }
 
   }
 
-  $(function () { new ScrollSpy() })
+
+ /* SCROLLSPY PLUGIN DEFINITION
+  * =========================== */
+
+  $.fn.scrollspy = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('scrollspy')
+      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.alert.ScrollSpy = ScrollSpy
+
+
+ /* SCROLLSPY DATA-API
+  * ============== */
+
+  $(function () { $('[data-spy="scroll"]').scrollspy() })
 
 }( window.jQuery || window.ender )
\ No newline at end of file
-- 
GitLab


From 96adf8f91811a71bf2fbd6737c8bd80fe400b8c2 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 24 Nov 2011 20:27:55 -0800
Subject: [PATCH 092/576] fix copy paste bug

---
 js/bootstrap-scrollspy.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index e846fd7182..ac9477d0ef 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -99,7 +99,7 @@
     })
   }
 
-  $.fn.alert.ScrollSpy = ScrollSpy
+  $.fn.scrollspy.ScrollSpy = ScrollSpy
 
 
  /* SCROLLSPY DATA-API
-- 
GitLab


From 98fddaa3557b1c872f1e585d579ec7e5e989e95d Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 25 Nov 2011 17:23:14 -0800
Subject: [PATCH 093/576] new plugin "collapse" for collapsible lists and
 "accordion" like support

---
 bootstrap.css            |  28 ++++++-
 bootstrap.min.css        |   2 +
 docs/assets/css/docs.css |  16 ++++
 docs/javascript.html     | 155 +++++++++++++++++++++++++++++++++------
 js/bootstrap-collapse.js | 127 ++++++++++++++++++++++++++++++++
 lib/patterns.less        |  23 ++++--
 6 files changed, 321 insertions(+), 30 deletions(-)
 create mode 100644 js/bootstrap-collapse.js

diff --git a/bootstrap.css b/bootstrap.css
index 895f1c8613..19d07745e4 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Nov 24 13:45:21 PST 2011
+ * Date: Fri Nov 25 12:09:37 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -1879,6 +1879,32 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .fade.in {
   opacity: 1;
 }
+.collapse {
+  position: relative;
+  overflow: hidden;
+}
+.collapse.height {
+  -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;
+  height: 0;
+}
+.collapse.height.in {
+  height: auto;
+}
+.collapse.width {
+  -webkit-transition: width 0.35s ease;
+  -moz-transition: width 0.35s ease;
+  -ms-transition: width 0.35s ease;
+  -o-transition: width 0.35s ease;
+  transition: width 0.35s ease;
+  width: 0;
+}
+.collapse.width.in {
+  width: auto;
+}
 .label {
   padding: 1px 3px 2px;
   font-size: 9.75px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 333e4db18c..f0e1a8dec4 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -278,6 +278,8 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
+.collapse{position:relative;overflow:hidden;}.collapse.height{-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;height:0;}.collapse.height.in{height:auto;}
+.collapse.width{-webkit-transition:width 0.35s ease;-moz-transition:width 0.35s ease;-ms-transition:width 0.35s ease;-o-transition:width 0.35s ease;transition:width 0.35s ease;width:0;}.collapse.width.in{width:auto;}
 .label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index cde8ff1e0d..0873d443f6 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -473,3 +473,19 @@ h2 + table {
   }
 }
 
+#accordion dt a{
+  display:block;
+  padding: 9px 15px;
+  line-height: 1;
+  background-color: whiteSmoke;
+  border: 1px solid #EEE;
+  border-top-color: #fff;
+}
+
+#accordion dt:first-child a {
+  border-top-color:#eee;
+}
+
+#accordion dd p {
+  padding: 10px;
+}
\ No newline at end of file
diff --git a/docs/javascript.html b/docs/javascript.html
index f625e2323c..fae1038566 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -37,6 +37,7 @@
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-popover.js"></script>
     <script src="../js/bootstrap-buttons.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
     <script>
       $(function () {
         // twipsy demo
@@ -141,6 +142,10 @@
               <td><a href="./javascript.html#buttons">bootstrap-buttons.js</a></td>
               <td>This plugin offers additional functionality for managing button state.</td>
             </tr>
+            <tr>
+              <td><a href="./javascript.html#collapse">bootstrap-collapse.js</a></td>
+              <td>The collapse plugin offers simple, generic collapsible element support for making accordions and other collapsible ui components.</td>
+            </tr>
          </tbody>
        </table>
        <h3>Is javascript necessary?</h3>
@@ -166,7 +171,7 @@
         </div>
         <div class="span9 columns">
           <h3>Using bootstrap-modal</h3>
-          <pre class="prettyprint linenums">$('#my-modal').modal(options)</pre>
+          <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
           <h3>Options</h3>
           <table class="striped-table">
             <thead>
@@ -208,18 +213,18 @@
           <h4>.modal(options)</h4>
           <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
-$('#my-modal').modal({
+$('#myModal').modal({
   keyboard: false
 })</pre>
           <h4>.modal('toggle')</h4>
           <p>Manually toggles a modal.</p>
-          <pre class="prettyprint linenums">$('#my-modal').modal('toggle')</pre>
+          <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
           <h4>.modal('show')</h4>
           <p>Manually opens a modal.</p>
-          <pre class="prettyprint linenums">$('#my-modal').modal('show')</pre>
+          <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
           <h4>.modal('hide')</h4>
           <p>Manually hides a modal.</p>
-          <pre class="prettyprint linenums">$('#my-modal').modal('hide')</pre>
+          <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
           <table class="striped-table">
@@ -250,7 +255,7 @@ $('#my-modal').modal({
           </table>
 
 <pre class="prettyprint linenums">
-$('#my-modal').bind('hidden', function () {
+$('#myModal').bind('hidden', function () {
   // do something ...
 })</pre>
           <h3>Demo</h3>
@@ -504,7 +509,7 @@ $('.tabs a').bind('change', function (e) {
               </ul>
             </li>
           </ul>
-          <div id="my-tab-content" class="tab-content">
+          <div id="myTabContent" class="tab-content">
             <div class="active tab-pane" id="home">
               <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
             </div>
@@ -851,39 +856,147 @@ $('.tabs a').bind('change', function (e) {
     </section>
 
 
-    <!-- Collapsible
+    <!-- Collapse
     ================================================== -->
 
-    <section id="collapsible">
+    <section id="collapse">
       <div class="page-header">
-        <h1>Collapsible <small>bootstrap-collapsible.js</small></h1>
+        <h1>collapse <small>bootstrap-collapse.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>collapsible collapsible collapsible bitches.</p>
+          <p>The collapse plugin offers simple, flexible collapsible element support for making accordions and other collapsible ui components.</p>
           <a href="../js/bootstrap-collapsible.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-collapsible.js</h3>
-          <pre class="prettyprint linenums">$(".collapsible").collapsible()</pre>
+          <h3>Using bootstrap-collapse.js</h3>
+          <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
+          <h3>Options</h3>
+          <table class="striped-table">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>parent</td>
+               <td>selector</td>
+               <td>false</td>
+               <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
+             </tr>
+             <tr>
+               <td>toggle</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>Toggles the collapsible element on invocation</td>
+             </tr>
+            </tbody>
+          </table>
           <h3>Markup</h3>
-          <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
-          <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
+          <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
+          <pre class="prettyprint linenums">
+&lt;button class="btn danger" data-toggle="collapse" data-target="#demo"&gt;
+  simple collapsible
+&lt;/button&gt;
+
+&lt;div id="demo" class="collapse height in"&gt; … &lt;/div&gt;</pre>
+         <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
           <h3>Methods</h3>
+          <h4>.collapse(options)</h4>
+          <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
+<pre class="prettyprint linenums">
+$('#myCollapsible').collapse({
+  toggle: false
+})</pre>
+          <h4>.collapse('toggle')</h4>
+          <p>Toggles a collapsible element to shown or hidden.</p>
+          <h4>.collapse('show')</h4>
+          <p>Shows a collapsible element.</p>
+          <h4>.collapse('hide')</h4>
+          <p>Hides a collapsible element.</p>
+          <h3>Events</h3>
+          <p>
+            Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
+          </p>
+          <table class="striped-table">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>show</td>
+               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>shown</td>
+               <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
+             </tr>
+             <tr>
+               <td>hide</td>
+               <td>
+                This event is fired immediately when the <code>hide</code> method has been called.
+               </td>
+             </tr>
+             <tr>
+               <td>hidden</td>
+               <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
 
+<pre class="prettyprint linenums">
+$('#myCollapsible').bind('hidden', function () {
+  // do something ...
+})</pre>
           <h3>Demo</h3>
 
-          <button data-toggle="collapse"></butotn>
-          <div>
-
-          </div>
-
+            <!-- single collapse -->
+            <p>
+              <button class="btn danger" data-toggle="collapse" data-target="#collapseDemoWrap">
+                simple collapsible
+              </button>
+            </p>
 
+            <div id="collapseDemoWrap" class="collapse height">
+              <!-- group collapse -->
+              <dl id="accordion" >
+                <dt data-toggle="collapse" data-target="#collapseOne" data-parent="#accordion">
+                  <a href="#">Collapsible Group Item #1</a>
+                </dt>
+                <dd id="collapseOne" class="collapse height">
+                  <p>
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                  </p>
+                </dd>
+                <dt data-toggle="collapse"  data-target="#collapseTwo" data-parent="#accordion" >
+                  <a href="#">Collapsible Group Item #2</a>
+                </dt>
+                <dd id="collapseTwo"  class="collapse height">
+                  <p>
+                  Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
+                  </p>
+                </dd>
+                <dt data-toggle="collapse" data-target="#collapseThree" data-parent="#accordion" >
+                  <a href="#">Collapsible Group Item #3</a>
+                </dt>
+                <dd id="collapseThree"  class="collapse height">
+                  <p>
+                  Tempor gentrify pariatur nihil salvia, irony synth incididunt odio commodo brunch aute. Four loko est vice echo park wes anderson jean shorts, tempor ea vero locavore. Seitan DIY dolore readymade williamsburg viral. Dolor fap master cleanse delectus, ad butcher labore duis vice mollit cillum exercitation eu banh mi. Austin banksy 3 wolf moon locavore sed, helvetica next level VHS you probably haven't heard of them ethical odio. Incididunt locavore minim, do seitan consequat qui thundercats labore before they sold out retro laborum. Esse twee readymade laboris fap vice, voluptate DIY.
+                  </p>
+                </dd>
+              </dl>
+            </div>
         </div>
       </div>
     </section>
 
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
new file mode 100644
index 0000000000..6de3d971a3
--- /dev/null
+++ b/js/bootstrap-collapse.js
@@ -0,0 +1,127 @@
+/* =============================================================
+ * bootstrap-collapsible.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#collapsible
+ * =============================================================
+ * Copyright 2011 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"
+
+  var Collapse = function ( element, options ) {
+  	this.$element = $(element)
+    this.settings = $.extend({}, $.fn.collapse.defaults, options)
+
+    if (this.settings["parent"]) {
+      this.$parent = $(this.settings["parent"])
+    }
+
+    this.settings.toggle && this.toggle()
+  }
+
+  Collapse.prototype = {
+
+    dimension: function () {
+      var hasWidth = this.$element.hasClass('width')
+      return hasWidth ? 'width' : 'height'
+    }
+
+  , show: function () {
+      var dimension = this.dimension()
+        , scroll = $.camelCase(['scroll', dimension].join('-'))
+
+      this.$parent && this.$parent.find('.in').collapse('hide')
+
+      this.$element[dimension](0)
+      this.transition('addClass', 'show', 'shown')
+      this.$element[dimension](this.$element[0][scroll])
+
+    }
+
+  , hide: function () {
+      var dimension = this.dimension()
+      this.reset(this.$element[dimension]())
+      this.transition('removeClass', 'hide', 'hidden')
+      this.$element[dimension](0)
+    }
+
+  , reset: function ( size ) {
+      var dimension = this.dimension()
+
+      this.$element
+        .removeClass('collapse')
+        [dimension](size || '')
+        [0].offsetWidth
+
+      this.$element.addClass('collapse')
+    }
+
+  , transition: function ( method, startEvent, completeEvent ) {
+      var that = this
+        , complete = function () {
+            if (startEvent == 'show') that.reset()
+            that.$element.trigger(completeEvent)
+          }
+
+      this.$element
+        .trigger(startEvent)
+        [method]('in')
+
+      $.support.transition && 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' && option
+      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.collapse.defaults = {
+    toggle: true
+  }
+
+  $.fn.collapse.Collapse = Collapse
+
+
+ /* COLLAPSIBLE DATA-API
+  * ==================== */
+
+  $(function () {
+    $('body').delegate('[data-toggle=collapse]', 'click.collapse.data-api', function ( e ) {
+      var $this = $(this)
+        , target = $this.attr('data-target')
+        , option = $(target).data('collapse') ? 'toggle' : $this.data()
+      e.preventDefault()
+      $(target).collapse(option)
+    })
+  })
+
+})( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/lib/patterns.less b/lib/patterns.less
index 01b32cd900..1b4c5a9416 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -631,14 +631,6 @@ input[type=submit].btn {
 }
 
 
-
-
-
-
-
-
-
-
 // PATTERN ANIMATIONS
 // ------------------
 
@@ -650,6 +642,21 @@ input[type=submit].btn {
   }
 }
 
+.collapse {
+  position:relative;
+  overflow:hidden;
+  &.height {
+    .transition(height .35s ease);
+    height: 0;
+    &.in { height: auto; }
+  }
+  &.width {
+    .transition(width .35s ease);
+    width: 0;
+    &.in { width: auto; }
+  }
+}
+
 
 // LABELS
 // ------
-- 
GitLab


From bd8745a98b93fb55e4c1c08a34e97bd30a16798c Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 25 Nov 2011 17:30:52 -0800
Subject: [PATCH 094/576] allow scrollspy to target a specific nav

---
 docs/javascript.html      | 4 ++--
 js/bootstrap-scrollspy.js | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index fae1038566..3e2bacc9d4 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -380,7 +380,7 @@ $('#myModal').bind('hidden', function () {
             Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
           <p>
 
-          <div id="navbar-example" class="navbar navbar-static">
+          <div id="navbarExample" class="navbar navbar-static">
             <div class="navbar-inner">
               <div class="container" style="width: auto;">
                 <a class="brand" href="#">Project Name</a>
@@ -401,7 +401,7 @@ $('#myModal').bind('hidden', function () {
             </div>
           </div>
 
-          <div data-spy="scroll" class="scrollspy-example">
+          <div data-spy="scroll" data-target="#navbarExample" class="scrollspy-example">
             <h4 id="fat">@fat</h4>
             <p>
             Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index ac9477d0ef..e4bfea4836 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -26,10 +26,10 @@
 
   function ScrollSpy( element ) {
     var process = $.proxy(this.process, this)
-    this.selector = '.nav li > a'
 
-    this.$body = $('body').delegate(this.selector, 'click.scroll.data-api', process)
     this.$scrollElement = $(element).bind('scroll.scroll.data-api', process)
+    this.selector = (this.$scrollElement.attr('data-target') || '') + ' .nav li > a'
+    this.$body = $('body').delegate(this.selector, 'click.scroll.data-api', process)
 
     this.refresh()
     this.process()
-- 
GitLab


From 3157de8d1d4b69c0f5152b4a784bd185f76c9ac4 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 25 Nov 2011 21:34:55 -0800
Subject: [PATCH 095/576] clean up comments for better built files

---
 bootstrap.css               | 50 +++----------------------------------
 bootstrap.min.css           |  3 +--
 docs/javascript.html        | 10 ++++----
 js/bootstrap-collapsible.js | 37 ---------------------------
 lib/forms.less              |  7 +++---
 lib/mixins.less             |  6 ++---
 lib/patterns.less           | 19 +++++---------
 lib/reset.less              |  8 +++---
 lib/responsive.less         |  6 ++---
 lib/scaffolding.less        |  8 +++---
 lib/tables.less             |  8 +++---
 lib/type.less               |  6 ++---
 lib/variables.less          |  6 ++---
 13 files changed, 44 insertions(+), 130 deletions(-)
 delete mode 100644 js/bootstrap-collapsible.js

diff --git a/bootstrap.css b/bootstrap.css
index 19d07745e4..4c4d85aa9e 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,11 +6,8 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Nov 25 12:09:37 PST 2011
+ * Date: Fri Nov 25 21:33:58 PST 2011
  */
-/* Reset.less
- * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
- * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
 html, body {
   margin: 0;
   padding: 0;
@@ -170,16 +167,6 @@ textarea {
   overflow: auto;
   vertical-align: top;
 }
-/* Variables.less
- * Variables to customize the look and feel of Bootstrap
- * ----------------------------------------------------- */
-/* Mixins.less
- * Snippets of reusable CSS to develop faster and keep code readable
- * ----------------------------------------------------------------- */
-/*
- * Scaffolding
- * Basic and global styles for generating a grid system, structural layout, and page templates
- * ------------------------------------------------------------------------------------------- */
 body {
   margin: 0;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -344,9 +331,6 @@ a:hover {
 .offset11 {
   margin-left: 900px;
 }
-/* Typography.less
- * Headings, body text, lists, code, and more for a versatile and durable typography system
- * ---------------------------------------------------------------------------------------- */
 p {
   margin-bottom: 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -534,9 +518,6 @@ pre code {
   padding: 0;
   background-color: transparent;
 }
-/* Forms.less
- * Base styles for various input types, form layouts, and states
- * ------------------------------------------------------------- */
 form {
   margin-bottom: 18px;
 }
@@ -999,10 +980,6 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
 .horizontal-form .form-actions {
   padding-left: 150px;
 }
-/*
- * Tables.less
- * Tables for, you guessed it, tabular data
- * ---------------------------------------- */
 table {
   width: 100%;
   padding: 0;
@@ -1198,9 +1175,6 @@ table .purple {
 table .headerSortUp.purple, table .headerSortDown.purple {
   background-color: #e2d5f0;
 }
-/* Patterns.less
- * Repeatable UI elements outside the base styles provided from the scaffolding
- * ---------------------------------------------------------------------------- */
 .navbar {
   height: 40px;
   overflow: visible;
@@ -1880,31 +1854,18 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   opacity: 1;
 }
 .collapse {
-  position: relative;
-  overflow: hidden;
-}
-.collapse.height {
   -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;
 }
-.collapse.height.in {
+.collapse.in {
   height: auto;
 }
-.collapse.width {
-  -webkit-transition: width 0.35s ease;
-  -moz-transition: width 0.35s ease;
-  -ms-transition: width 0.35s ease;
-  -o-transition: width 0.35s ease;
-  transition: width 0.35s ease;
-  width: 0;
-}
-.collapse.width.in {
-  width: auto;
-}
 .label {
   padding: 1px 3px 2px;
   font-size: 9.75px;
@@ -2470,9 +2431,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
   box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
 }
-/* Responsive.less
- * For phone and tablet devices
- * ------------------------------------------------------------- */
 @media (max-width: 480px) {
   .container {
     width: auto;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f0e1a8dec4..2a802744cf 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -278,8 +278,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
-.collapse{position:relative;overflow:hidden;}.collapse.height{-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;height:0;}.collapse.height.in{height:auto;}
-.collapse.width{-webkit-transition:width 0.35s ease;-moz-transition:width 0.35s ease;-ms-transition:width 0.35s ease;-o-transition:width 0.35s ease;transition:width 0.35s ease;width:0;}.collapse.width.in{width:auto;}
+.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;}.collapse.in{height:auto;}
 .label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 3e2bacc9d4..e57e452236 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -903,7 +903,7 @@ $('.tabs a').bind('change', function (e) {
   simple collapsible
 &lt;/button&gt;
 
-&lt;div id="demo" class="collapse height in"&gt; … &lt;/div&gt;</pre>
+&lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
          <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
           <h3>Methods</h3>
           <h4>.collapse(options)</h4>
@@ -964,13 +964,13 @@ $('#myCollapsible').bind('hidden', function () {
               </button>
             </p>
 
-            <div id="collapseDemoWrap" class="collapse height">
+            <div id="collapseDemoWrap" class="collapse">
               <!-- group collapse -->
               <dl id="accordion" >
                 <dt data-toggle="collapse" data-target="#collapseOne" data-parent="#accordion">
                   <a href="#">Collapsible Group Item #1</a>
                 </dt>
-                <dd id="collapseOne" class="collapse height">
+                <dd id="collapseOne" class="collapse in">
                   <p>
                   Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
                   </p>
@@ -978,7 +978,7 @@ $('#myCollapsible').bind('hidden', function () {
                 <dt data-toggle="collapse"  data-target="#collapseTwo" data-parent="#accordion" >
                   <a href="#">Collapsible Group Item #2</a>
                 </dt>
-                <dd id="collapseTwo"  class="collapse height">
+                <dd id="collapseTwo" class="collapse">
                   <p>
                   Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
                   </p>
@@ -986,7 +986,7 @@ $('#myCollapsible').bind('hidden', function () {
                 <dt data-toggle="collapse" data-target="#collapseThree" data-parent="#accordion" >
                   <a href="#">Collapsible Group Item #3</a>
                 </dt>
-                <dd id="collapseThree"  class="collapse height">
+                <dd id="collapseThree" class="collapse">
                   <p>
                   Tempor gentrify pariatur nihil salvia, irony synth incididunt odio commodo brunch aute. Four loko est vice echo park wes anderson jean shorts, tempor ea vero locavore. Seitan DIY dolore readymade williamsburg viral. Dolor fap master cleanse delectus, ad butcher labore duis vice mollit cillum exercitation eu banh mi. Austin banksy 3 wolf moon locavore sed, helvetica next level VHS you probably haven't heard of them ethical odio. Incididunt locavore minim, do seitan consequat qui thundercats labore before they sold out retro laborum. Esse twee readymade laboris fap vice, voluptate DIY.
                   </p>
diff --git a/js/bootstrap-collapsible.js b/js/bootstrap-collapsible.js
deleted file mode 100644
index 273eb22720..0000000000
--- a/js/bootstrap-collapsible.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/* =============================================================
- * bootstrap-collapsible.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#collapsible
- * =============================================================
- * Copyright 2011 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( $ ){
-
-  var Collapsible = function ( element, options ) {}
-
-  Collapsible.prototype = {}
-
-  /* collapsible PLUGIN DEFINITION
-   * ======================= */
-
-  $.fn.collapsible = function ( options ) {
-
-    return this.each(function () {
-      new Collapsible(this, options)
-    })
-  }
-
-
-})( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/lib/forms.less b/lib/forms.less
index 845eec185e..39c2937999 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -1,7 +1,6 @@
-/* Forms.less
- * Base styles for various input types, form layouts, and states
- * ------------------------------------------------------------- */
-
+// Forms.less
+// Base styles for various input types, form layouts, and states
+// -------------------------------------------------------------
 
 
 // GENERAL STYLES
diff --git a/lib/mixins.less b/lib/mixins.less
index d77ecf6215..0effdfa37a 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -1,6 +1,6 @@
-/* Mixins.less
- * Snippets of reusable CSS to develop faster and keep code readable
- * ----------------------------------------------------------------- */
+// Mixins.less
+// Snippets of reusable CSS to develop faster and keep code readable
+// -----------------------------------------------------------------
 
 
 // Clearfix for clearing floats like a boss h5bp.com/q
diff --git a/lib/patterns.less b/lib/patterns.less
index 1b4c5a9416..15c3c9c067 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -1,6 +1,6 @@
-/* Patterns.less
- * Repeatable UI elements outside the base styles provided from the scaffolding
- * ---------------------------------------------------------------------------- */
+// Patterns.less
+// Repeatable UI elements outside the base styles provided from the scaffolding
+// ----------------------------------------------------------------------------
 
 
 // NAVBAR (FIXED AND STATIC)
@@ -643,18 +643,11 @@ input[type=submit].btn {
 }
 
 .collapse {
+  .transition(height .35s ease);
   position:relative;
   overflow:hidden;
-  &.height {
-    .transition(height .35s ease);
-    height: 0;
-    &.in { height: auto; }
-  }
-  &.width {
-    .transition(width .35s ease);
-    width: 0;
-    &.in { width: auto; }
-  }
+  height: 0;
+  &.in { height: auto; }
 }
 
 
diff --git a/lib/reset.less b/lib/reset.less
index 8bff573352..c95c7b04c5 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -1,6 +1,8 @@
-/* Reset.less
- * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
- * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
+// Reset.less
+// Props to Eric Meyer (meyerweb.com) for his CSS reset file.
+// We're using an adapted version here that cuts out some of the reset HTML
+// elements we will never need here (i.e., dfn, samp, etc).
+// ------------------------------------------------------------------------
 
 
 // ERIC MEYER RESET
diff --git a/lib/responsive.less b/lib/responsive.less
index 75c33b1a8e..f63f90c982 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -1,6 +1,6 @@
-/* Responsive.less
- * For phone and tablet devices
- * ------------------------------------------------------------- */
+// Responsive.less
+// For phone and tablet devices
+// -------------------------------------------------------------
 
 
 // UP TO LANDSCAPE PHONE
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 179ef26387..3e231aae5e 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -1,7 +1,7 @@
-/*
- * Scaffolding
- * Basic and global styles for generating a grid system, structural layout, and page templates
- * ------------------------------------------------------------------------------------------- */
+//
+// Scaffolding
+// Basic and global styles for generating a grid system, structural layout, and page templates
+// -------------------------------------------------------------------------------------------
 
 
 // STRUCTURAL LAYOUT
diff --git a/lib/tables.less b/lib/tables.less
index 4aed466b11..22a3199185 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -1,7 +1,7 @@
-/*
- * Tables.less
- * Tables for, you guessed it, tabular data
- * ---------------------------------------- */
+//
+// Tables.less
+// Tables for, you guessed it, tabular data
+// ----------------------------------------
 
 
 // BASELINE STYLES
diff --git a/lib/type.less b/lib/type.less
index 8e25fd9c51..407a20ec29 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -1,6 +1,6 @@
-/* Typography.less
- * Headings, body text, lists, code, and more for a versatile and durable typography system
- * ---------------------------------------------------------------------------------------- */
+// Typography.less
+// Headings, body text, lists, code, and more for a versatile and durable typography system
+// ----------------------------------------------------------------------------------------
 
 
 // BODY TEXT
diff --git a/lib/variables.less b/lib/variables.less
index 92d09de709..caa9c0f602 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -1,6 +1,6 @@
-/* Variables.less
- * Variables to customize the look and feel of Bootstrap
- * ----------------------------------------------------- */
+// Variables.less
+// Variables to customize the look and feel of Bootstrap
+// -----------------------------------------------------
 
 
 // LINK COLORS
-- 
GitLab


From ecc9764c831078a186fed69c3ae0af2f7c9ee495 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 27 Nov 2011 00:44:30 -0800
Subject: [PATCH 096/576] Remove static github buttons and replace with iframe
 versions

---
 docs/index.html | 72 +++----------------------------------------------
 1 file changed, 4 insertions(+), 68 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index 0517787417..c9c5df7cdb 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -82,22 +82,11 @@
           <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
           <li class="divider">&middot;</li>
           <li>
-            <span class="github-btn github-watchers">
-              <a href="https://github.com/twitter/bootstrap" class="btn">
-                <img class="github-ico" src="assets/img/github-16px.png">
-                Watch
-              </a>
-              <span class="count"></span>
-            </span>
-            <span class="github-btn github-forks">
-              <a href="https://github.com/twitter/bootstrap" class="btn">
-                <img class="github-ico" src="assets/img/github-16px.png">
-                Fork
-              </a>
-              <span class="count"></span>
-            </span>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110px" height="20px"></iframe>
+          </li>
+          <li>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="94px" height="20px"></iframe>
           </li>
-
 <!--
           <li><strong>Authors</strong></li>
           <li><a href="http://twitter.com/mdo">@mdo</a></li>
@@ -190,23 +179,6 @@
           </div><!--/row-->
         </div>
 
-
-
-
-<!--         <h3>Quick-start examples</h3>
-        <p>Need some quick templates? Check out these basic examples we've put together:</p>
-        <ul class="media-grid">
-          <li>
-            <a href="../examples/hero.html"><img src="assets/img/example-diagram-01.png" alt="Simple three-column layout with hero unit"></a>
-          </li>
-          <li>
-            <a href="../examples/fluid.html"><img src="assets/img/example-diagram-02.png" alt="Fluid layout with static sidebar"></a>
-          </li>
-          <li>
-            <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" alt="Simple hanging container for apps"></a>
-          </li>
-        </ul>
- -->
       </div><!-- /#overview -->
 
 
@@ -232,41 +204,5 @@
     <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="assets/js/application.js"></script>
 
-
-    <script type="text/javascript">
-      $(document).ready(function($){
-
-        function addCommas(nStr) {
-          nStr += '';
-          x = nStr.split('.');
-          x1 = x[0];
-          x2 = x.length > 1 ? '.' + x[1] : '';
-          var rgx = /(\d+)(\d{3})/;
-          while (rgx.test(x1)) {
-              x1 = x1.replace(rgx, '$1' + ',' + '$2');
-          }
-          return x1 + x2;
-        }
-
-        // GITHUB
-        window.repoCallback = function (obj) {
-
-          // Variables
-          var watchers = obj['repository']['watchers'];
-          var forks = obj['repository']['forks'];
-
-          // Echo out the counts in correct elements
-          $('.github-watchers .count').html(addCommas(watchers));
-          $('.github-forks .count').html(addCommas(forks));
-
-          // Debug log
-          // console.log("Watchers:" + watchers);
-          // console.log("Forks:" + forks);
-        }
-        $.ajax("http://github.com/api/v2/json/repos/show/twitter/bootstrap?callback=repoCallback", {dataType: "jsonp"});
-      });
-
-    </script>
-
   </body>
 </html>
-- 
GitLab


From 3925ea9986e70f5a87883563c47c8ecd3d631c02 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 16:01:26 -0800
Subject: [PATCH 097/576] remove trailing semicolons - we'll be hosting
 minified files with semicolons - no reason to make the dev source ugly

---
 js/bootstrap-alerts.js   | 2 +-
 js/bootstrap-buttons.js  | 2 +-
 js/bootstrap-dropdown.js | 2 +-
 js/bootstrap-modal.js    | 2 +-
 js/bootstrap-popover.js  | 2 +-
 js/bootstrap-tabs.js     | 2 +-
 js/bootstrap-twipsy.js   | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index fabafa4f92..5f600ba1ff 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -73,4 +73,4 @@
     $('body').delegate(dismiss, 'click.alert.data-api', Alert.prototype.close)
   })
 
-}( window.jQuery || window.ender );
\ No newline at end of file
+}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-buttons.js b/js/bootstrap-buttons.js
index 82d80df2d9..1cafe4d688 100644
--- a/js/bootstrap-buttons.js
+++ b/js/bootstrap-buttons.js
@@ -93,4 +93,4 @@
     })
   })
 
-}( window.jQuery || window.ender );
\ No newline at end of file
+}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 4526a9203b..7259284bfe 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -70,4 +70,4 @@
     $('body').delegate(toggle, 'click.dropdown.data-api', Dropdown.prototype.toggle)
   })
 
-}( window.jQuery || window.ender );
\ No newline at end of file
+}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 2860c8a518..dab67d1b23 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -199,4 +199,4 @@
     })
   })
 
-}( window.jQuery || window.ender );
\ No newline at end of file
+}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 934ab05453..3c67b18fc2 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -91,4 +91,4 @@
 
   $.fn.twipsy.rejectAttrOptions.push( 'content' )
 
-}( window.jQuery || window.ender );
\ No newline at end of file
+}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index 35418fd447..bd49e130f2 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -77,4 +77,4 @@
     $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
   })
 
-}( window.jQuery || window.ender );
\ No newline at end of file
+}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 3cb9841c52..fe4469a232 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -289,4 +289,4 @@
     return $.extend({}, options, data)
   }
 
-}( window.jQuery || window.ender );
\ No newline at end of file
+}( window.jQuery || window.ender )
\ No newline at end of file
-- 
GitLab


From 46fe38386afce7149810b1feb534726735ce28b2 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 17:04:55 -0800
Subject: [PATCH 098/576] rename tabs to tab - clean up lots of api stuff make
 href acceptable target val

---
 docs/javascript.html                          |  89 ++++++++-------
 js/README.md                                  |   4 +-
 js/bootstrap-collapse.js                      |   4 +-
 js/bootstrap-modal.js                         |   2 +-
 js/bootstrap-scrollspy.js                     |   4 +-
 js/bootstrap-tab.js                           | 102 ++++++++++++++++++
 js/bootstrap-tabs.js                          |  80 --------------
 ...transitions.js => bootstrap-transition.js} |   0
 8 files changed, 161 insertions(+), 124 deletions(-)
 create mode 100644 js/bootstrap-tab.js
 delete mode 100644 js/bootstrap-tabs.js
 rename js/{bootstrap-transitions.js => bootstrap-transition.js} (100%)

diff --git a/docs/javascript.html b/docs/javascript.html
index e57e452236..833e6ec026 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -28,12 +28,12 @@
     <script src="http://code.jquery.com/jquery-1.7.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-alerts.js"></script>
     <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="../js/bootstrap-tabs.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-popover.js"></script>
     <script src="../js/bootstrap-buttons.js"></script>
@@ -127,7 +127,7 @@
              <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap navbar.</td>
            </tr>
            <tr>
-             <td><a href="./javascript.html#tabs">bootstrap-tabs.js</a></td>
+             <td><a href="./javascript.html#tabs">bootstrap-tab.js</a></td>
              <td>This plugin adds quick, dynamic tab and pill functionality for cycling through local content.</td>
            </tr>
            <tr>
@@ -204,9 +204,9 @@
             </tbody>
           </table>
           <h3>Markup</h3>
-          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as additoinal data attributes.</p>
+          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as additoinal data attributes.</p>
 <pre class="prettyprint linenums">
-&lt;a class="btn" data-toggle="modal" data-target="#myModal" &gt;Launch Modal&lt;/a&gt;
+&lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
 </pre>
           <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
           <h3>Methods</h3>
@@ -274,9 +274,9 @@ $('#myModal').bind('hidden', function () {
             </div>
           </div>
 
-          <button data-toggle="modal" data-target="#myModal" class="btn danger">
+          <a data-toggle="modal" href="#myModal" class="btn danger">
             Launch Modal
-          </button>
+          </a>
         </div>
       </div>
     </section>
@@ -435,23 +435,28 @@ $('#myModal').bind('hidden', function () {
 
     <section id="tabs">
       <div class="page-header">
-        <h1>Tabs <small>bootstrap-tabs.js</small></h1>
+        <h1>Tabs <small>bootstrap-tab.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
           <p>This plugin adds quick, dynamic tab and pill functionality.</p>
-          <a href="../js/bootstrap-tabs.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-tab.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using boostrap-tabs.js</h3>
-          <pre class="prettyprint linenums">$('.tabs').tabs()</pre>
+          <h3>Using boostrap-tab.js</h3>
+          <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
           <h3>Markup</h3>
-          <p>You can activate a tab or pill navigation without writing any javascript by simply giving them a <code>data-tabs</code> or <code>data-pills</code> attribute.</p>
-          <pre class="prettyprint linenums"> &lt;ul class="tabs" data-tabs="tabs" &gt;...&lt;/ul&gt;</pre>
+          <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="tabs"&gt;
+  &lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="http://twitter.com/fat"&gt;twitter&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;</pre>
           <h3>Methods</h3>
-          <h4>$().tabs or $().pills</h4>
+          <h4>$().tab</h4>
           <p>
-            Activates tab and pill functionality for a given container. Tab links should reference id's in the document.
+            Activates tab functionality for a given element controller. Tab should have either a `data-target` or an `href` referencing a node in the dom.
           </p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
@@ -470,7 +475,7 @@ $('#myModal').bind('hidden', function () {
 
 &lt;script&gt;
   $(function () {
-    $('.tabs').tabs()
+    $('.tabs a:last').tab('show')
   })
 &lt;/script&gt;</pre>
           </p>
@@ -484,28 +489,32 @@ $('#myModal').bind('hidden', function () {
             </thead>
             <tbody>
              <tr>
-               <td>change</td>
-               <td>This event fires on tab change. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab respectively.</td>
+               <td>show</td>
+               <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+            </tr>
+            <tr>
+               <td>show</td>
+               <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
              </tr>
             </tbody>
           </table>
 
           <pre class="prettyprint linenums">
-$('.tabs a').bind('change', function (e) {
+$('a[data-toggle="tab"]').bind('shown', function (e) {
   e.target // activated tab
   e.relatedTarget // previous tab
 })</pre>
           <h3>Demo</h3>
-          <ul class="tabs" data-tabs="tabs">
-            <li class="active"><a href="#home">Home</a></li>
-            <li><a href="#profile">Profile</a></li>
-            <li><a href="#messages">Messages</a></li>
-            <li><a href="#settings">Settings</a></li>
+          <ul id="tab" class="tabs">
+            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
+            <li><a href="#profile" data-toggle="tab">Profile</a></li>
+            <li><a href="#messages" data-toggle="tab">Messages</a></li>
+            <li><a href="#settings" data-toggle="tab">Settings</a></li>
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
               <ul class="dropdown-menu">
-                <li><a href="#dropdown1">@fat</a></li>
-                <li><a href="#dropdown2">@mdo</a></li>
+                <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
+                <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
               </ul>
             </li>
           </ul>
@@ -603,8 +612,7 @@ $('.tabs a').bind('change', function (e) {
           </table>
           <p><span class="label notice">Notice</span> Individual twipsy instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
-          <p>Twipsy's should contain a title tag which will be use to fill the tip content.<p>
-          <pre class="prettyprint linenums">&lt;a href="#" rel='twipsy' title='twipsy text'&gt;@fat&lt;/a&gt;</pre>
+          For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just set the live flag to true, however we recommend you know what you are doing if you do that. :)
           <h3>Methods</h3>
           <h4>$().twipsy(options)</h4>
           <p>Attaches a twipsy handler to an element collection.</p>
@@ -689,10 +697,9 @@ $('.tabs a').bind('change', function (e) {
           </table>
           <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
-          <p>Popover's should contain a title tag and a data-content attribute.<p>
-<pre class="prettyprint linenums">&lt;a href="#" class="btn" rel="popover" title="A Title" data-content="Some content"&gt;
-  hover for popover
-&lt;/a&gt;</pre>
+          <p>
+          For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just set the live flag to true, however we recommend you know what you are doing if you do that. :)
+          </p>
           <h3>Methods</h3>
           <h4>$().popover(options)</h4>
           <p>Initializes popovers for an element collection.</p>
@@ -967,24 +974,30 @@ $('#myCollapsible').bind('hidden', function () {
             <div id="collapseDemoWrap" class="collapse">
               <!-- group collapse -->
               <dl id="accordion" >
-                <dt data-toggle="collapse" data-target="#collapseOne" data-parent="#accordion">
-                  <a href="#">Collapsible Group Item #1</a>
+                <dt>
+                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
+                    Collapsible Group Item #1
+                  </a>
                 </dt>
                 <dd id="collapseOne" class="collapse in">
                   <p>
                   Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
                   </p>
                 </dd>
-                <dt data-toggle="collapse"  data-target="#collapseTwo" data-parent="#accordion" >
-                  <a href="#">Collapsible Group Item #2</a>
+                <dt>
+                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
+                    Collapsible Group Item #2
+                  </a>
                 </dt>
                 <dd id="collapseTwo" class="collapse">
                   <p>
                   Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
                   </p>
                 </dd>
-                <dt data-toggle="collapse" data-target="#collapseThree" data-parent="#accordion" >
-                  <a href="#">Collapsible Group Item #3</a>
+                <dt>
+                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
+                    Collapsible Group Item #3
+                  </a>
                 </dt>
                 <dd id="collapseThree" class="collapse">
                   <p>
diff --git a/js/README.md b/js/README.md
index 98be75421d..5224d65b7b 100644
--- a/js/README.md
+++ b/js/README.md
@@ -67,14 +67,14 @@ All events should have an infinitive and past participle form. The infinitive is
 Data attributes should take the following form:
 
 data-*(verb)* - defines main interaction
-data-target - defined on controller element (if element interacts with an element other than self)
+data-target || href^=# - defined on controller element (if element interacts with an element other than self)
 data-*(noun)* - defines options for element invocation
 
 examples:
 
     // control other targets
     data-toggle="modal" data-target="#foo"
-    data-toggle="view" data-target="#foo"
+    data-toggle="collapse" data-target="#foo" data-parent="#foo"
 
     // defined on element they control
     data-spy="scroll"
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 6de3d971a3..629d9b589e 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -117,9 +117,9 @@
   $(function () {
     $('body').delegate('[data-toggle=collapse]', 'click.collapse.data-api', function ( e ) {
       var $this = $(this)
-        , target = $this.attr('data-target')
+        , target = $this.attr('data-target') || $this.attr('href')
         , option = $(target).data('collapse') ? 'toggle' : $this.data()
-      e.preventDefault()
+        e.preventDefault()
       $(target).collapse(option)
     })
   })
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index dab67d1b23..5f543c5537 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -192,7 +192,7 @@
   $(document).ready(function () {
     $('body').delegate('[data-toggle="modal"]', 'click.modal.data-api', function ( e ) {
       var $this = $(this)
-        , target = $this.attr('data-target')
+        , target = $this.attr('data-target') || $this.attr('href')
         , option = $(target).data('modal') ? 'toggle' : $this.data()
       e.preventDefault()
       $(target).modal(option)
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index e4bfea4836..fe34019ffc 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -28,7 +28,9 @@
     var process = $.proxy(this.process, this)
 
     this.$scrollElement = $(element).bind('scroll.scroll.data-api', process)
-    this.selector = (this.$scrollElement.attr('data-target') || '') + ' .nav li > a'
+    this.selector = (this.$scrollElement.attr('data-target')
+      || this.$scrollElement.attr('href')
+      || '') + ' .nav li > a'
     this.$body = $('body').delegate(this.selector, 'click.scroll.data-api', process)
 
     this.refresh()
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
new file mode 100644
index 0000000000..ba956cbe86
--- /dev/null
+++ b/js/bootstrap-tab.js
@@ -0,0 +1,102 @@
+/* ========================================================
+ * bootstrap-tabs.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * ========================================================
+ * Copyright 2011 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"
+
+ /* TAB CLASS DEFINITION
+  * ==================== */
+
+  var Tab = function ( element ) {
+    this.element = $(element)
+  }
+
+  Tab.prototype = {
+
+    show: function () {
+      var $this = this.element
+        , $ul = $this.closest('ul:not(.dropdown-menu)')
+        , href = $this.attr('data-target') || $this.attr('href')
+        , previous
+        , $href
+
+      if ( $this.parent('li').hasClass('active') ) return
+
+      previous = $ul.find('.active a').last()[0]
+
+      $this.trigger({
+        type: 'show'
+      , relatedTarget: previous
+      })
+
+      $href = $(href)
+
+      this.activate($this.parent('li'), $ul)
+      this.activate($href, $href.parent())
+
+      $this.trigger({
+        type: 'shown'
+      , relatedTarget: previous
+      })
+    }
+
+  , activate: function ( element, container ) {
+      container
+        .find('> .active')
+        .removeClass('active')
+        .find('> .dropdown-menu > .active')
+        .removeClass('active')
+
+      element.addClass('active')
+
+      if ( element.parent('.dropdown-menu') ) {
+        element.closest('li.dropdown').addClass('active')
+      }
+    }
+  }
+
+
+ /* 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.Tab = Tab
+
+
+ /* TAB DATA-API
+  * ============ */
+
+  $(document).ready(function () {
+    $('body').delegate('[data-toggle="tab"], [data-toggle="pill"]', 'click.tab.data-api', function (e) {
+      e.preventDefault()
+      $(this).tab('show')
+    })
+  })
+
+}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
deleted file mode 100644
index bd49e130f2..0000000000
--- a/js/bootstrap-tabs.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/* ========================================================
- * bootstrap-tabs.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#tabs
- * ========================================================
- * Copyright 2011 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"
-
-  function activate ( element, container ) {
-    container
-      .find('> .active')
-      .removeClass('active')
-      .find('> .dropdown-menu > .active')
-      .removeClass('active')
-
-    element.addClass('active')
-
-    if ( element.parent('.dropdown-menu') ) {
-      element.closest('li.dropdown').addClass('active')
-    }
-  }
-
-  function tab( e ) {
-    var $this = $(this)
-      , $ul = $this.closest('ul:not(.dropdown-menu)')
-      , href = $this.attr('href')
-      , previous
-      , $href
-
-    if ( /^#\w+/.test(href) ) {
-      e.preventDefault()
-
-      if ( $this.parent('li').hasClass('active') ) {
-        return
-      }
-
-      previous = $ul.find('.active a').last()[0]
-      $href = $(href)
-
-      activate($this.parent('li'), $ul)
-      activate($href, $href.parent())
-
-      $this.trigger({
-        type: 'change'
-      , relatedTarget: previous
-      })
-    }
-  }
-
-
- /* TABS/PILLS PLUGIN DEFINITION
-  * ============================ */
-
-  $.fn.tabs = $.fn.pills = function ( selector ) {
-    return this.each(function () {
-      $(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab)
-    })
-  }
-
-  $(document).ready(function () {
-    $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
-  })
-
-}( window.jQuery || window.ender )
\ No newline at end of file
diff --git a/js/bootstrap-transitions.js b/js/bootstrap-transition.js
similarity index 100%
rename from js/bootstrap-transitions.js
rename to js/bootstrap-transition.js
-- 
GitLab


From 7f74f11262d9e6430f84a1c0861084b9d33a4053 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 17:09:31 -0800
Subject: [PATCH 099/576] fix heading for js readme...

---
 js/README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/js/README.md b/js/README.md
index 5224d65b7b..362ad4a789 100644
--- a/js/README.md
+++ b/js/README.md
@@ -1,4 +1,4 @@
-2.0 BOOTSTRAP JS PHILSOPHY
+## 2.0 BOOTSTRAP JS PHILSOPHY
 These are the highlevel design rules which guide the developement of Bootstrap's js plugins.
 
 ---
-- 
GitLab


From 76f95f4ea2e4e0651e3fc6e3bf0e6872f1cd1b38 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 17:11:31 -0800
Subject: [PATCH 100/576] change even was removed, in favor of show shown

---
 js/README.md | 1 -
 1 file changed, 1 deletion(-)

diff --git a/js/README.md b/js/README.md
index 362ad4a789..e1f5107c2c 100644
--- a/js/README.md
+++ b/js/README.md
@@ -57,7 +57,6 @@ All events should have an infinitive and past participle form. The infinitive is
 
     show | shown
     hide | hidden
-    change | changed
 
 ---
 
-- 
GitLab


From f77d0c21df60e2e9c1c4b4d6a1b79e54f18914aa Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 17:12:17 -0800
Subject: [PATCH 101/576] turn attribute rules to list

---
 js/README.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/js/README.md b/js/README.md
index e1f5107c2c..ba52b59565 100644
--- a/js/README.md
+++ b/js/README.md
@@ -65,9 +65,9 @@ All events should have an infinitive and past participle form. The infinitive is
 
 Data attributes should take the following form:
 
-data-*(verb)* - defines main interaction
-data-target || href^=# - defined on controller element (if element interacts with an element other than self)
-data-*(noun)* - defines options for element invocation
+-data-*(verb)* - defines main interaction
+-data-target || href^=# - defined on controller element (if element interacts with an element other than self)
+-data-*(noun)* - defines options for element invocation
 
 examples:
 
-- 
GitLab


From 7522517b47521da731bf7a598d5e5a71721c4c44 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 17:12:58 -0800
Subject: [PATCH 102/576] derp

---
 js/README.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/js/README.md b/js/README.md
index ba52b59565..2655af68e2 100644
--- a/js/README.md
+++ b/js/README.md
@@ -65,9 +65,9 @@ All events should have an infinitive and past participle form. The infinitive is
 
 Data attributes should take the following form:
 
--data-*(verb)* - defines main interaction
--data-target || href^=# - defined on controller element (if element interacts with an element other than self)
--data-*(noun)* - defines options for element invocation
+- data-*(verb)* - defines main interaction
+- data-target || href^=# - defined on controller element (if element interacts with an element other than self)
+- data-*(noun)* - defines options for element invocation
 
 examples:
 
-- 
GitLab


From 7eb340ec589acd56ad960a020969822636c2bc54 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 17:31:12 -0800
Subject: [PATCH 103/576] add code to reset data for collapsed element so that
 item can be intitialized with correct options

---
 docs/javascript.html                          | 24 +++++++++----------
 ...bootstrap-alerts.js => bootstrap-alert.js} |  2 +-
 ...otstrap-buttons.js => bootstrap-button.js} |  0
 js/bootstrap-collapse.js                      | 10 ++++++--
 4 files changed, 21 insertions(+), 15 deletions(-)
 rename js/{bootstrap-alerts.js => bootstrap-alert.js} (96%)
 rename js/{bootstrap-buttons.js => bootstrap-button.js} (100%)

diff --git a/docs/javascript.html b/docs/javascript.html
index 833e6ec026..2db37a9fe1 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -29,14 +29,14 @@
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
     <script src="../js/bootstrap-transition.js"></script>
-    <script src="../js/bootstrap-alerts.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
     <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="../js/bootstrap-tab.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-popover.js"></script>
-    <script src="../js/bootstrap-buttons.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
     <script src="../js/bootstrap-collapse.js"></script>
     <script>
       $(function () {
@@ -115,7 +115,7 @@
              <td>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</td>
            </tr>
            <tr>
-             <td><a href="./javascript.html#alerts">bootstrap-alerts.js</a></td>
+             <td><a href="./javascript.html#alert">bootstrap-alert.js</a></td>
              <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
            </tr>
            <tr>
@@ -139,7 +139,7 @@
              <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
            </tr>
            <tr>
-              <td><a href="./javascript.html#buttons">bootstrap-buttons.js</a></td>
+              <td><a href="./javascript.html#button">bootstrap-button.js</a></td>
               <td>This plugin offers additional functionality for managing button state.</td>
             </tr>
             <tr>
@@ -716,12 +716,12 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
     </section>
 
 
-    <!-- Alerts
+    <!-- Alert
     ================================================== -->
 
-    <section id="alerts">
+    <section id="alert">
       <div class="page-header">
-        <h1>Alerts <small>bootstrap-alerts.js</small></h1>
+        <h1>Alert <small>bootstrap-alert.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
@@ -757,20 +757,20 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
     </section>
 
 
-     <!-- Buttons
+     <!-- Button
     ================================================== -->
 
-    <section id="buttons">
+    <section id="button">
       <div class="page-header">
-        <h1>Buttons <small>bootstrap-buttons.js</small></h1>
+        <h1>Button <small>bootstrap-button.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
           <p>This plugin offers additional functionality for managing button state.</p>
-          <a href="../js/bootstrap-buttons.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-button.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-buttons.js</h3>
+          <h3>Using bootstrap-button.js</h3>
           <pre class="prettyprint linenums">$('.tabs').button()</pre>
             <h3>Markup</h3>
           <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alert.js
similarity index 96%
rename from js/bootstrap-alerts.js
rename to js/bootstrap-alert.js
index 5f600ba1ff..210512a8b3 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alert.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-alerts.js v2.0.0
+ * bootstrap-alert.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-buttons.js b/js/bootstrap-button.js
similarity index 100%
rename from js/bootstrap-buttons.js
rename to js/bootstrap-button.js
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 629d9b589e..93f91513e3 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -42,8 +42,14 @@
   , show: function () {
       var dimension = this.dimension()
         , scroll = $.camelCase(['scroll', dimension].join('-'))
-
-      this.$parent && this.$parent.find('.in').collapse('hide')
+        , actives = this.$parent && this.$parent.find('.in')
+        , hasData
+
+      if (actives && actives.length) {
+        hasData = actives.data('collapse')
+        actives.collapse('hide')
+        hasData || actives.data('collapse', null)
+      }
 
       this.$element[dimension](0)
       this.transition('addClass', 'show', 'shown')
-- 
GitLab


From 1af3596a5e09575d9f1c08e6bd69789baecef90f Mon Sep 17 00:00:00 2001
From: Silumesii Maboshe <silumesii@pencilcasestudios.com>
Date: Mon, 28 Nov 2011 08:13:54 +0200
Subject: [PATCH 104/576] Capitalising 'Bootstrap' and abbreviations. Fixing
 typos.

---
 README.md    |  4 ++--
 js/README.md | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index ad51b16fc1..fd97265840 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ Here's what the LESS version looks like:
 <script src="less.js" type="text/javascript"></script>
 ```
 
-Or if you prefer, the standard css way:
+Or if you prefer, the standard CSS way:
 
 ``` html
 <link rel="stylesheet" type="text/css" href="bootstrap.css">
@@ -72,7 +72,7 @@ http://groups.google.com/group/twitter-bootstrap
 Developers
 ----------
 
-We have included a makefile with convenience methods for working with the bootstrap library.
+We have included a makefile with convenience methods for working with the Bootstrap library.
 
 + **build** - `make build`
 This will run the less compiler on the bootstrap lib and generate a bootstrap.css and bootstrap.min.css file.
diff --git a/js/README.md b/js/README.md
index 2655af68e2..2eef9e7357 100644
--- a/js/README.md
+++ b/js/README.md
@@ -1,13 +1,13 @@
-## 2.0 BOOTSTRAP JS PHILSOPHY
-These are the highlevel design rules which guide the developement of Bootstrap's js plugins.
+## 2.0 BOOTSTRAP JS PHILOSOPHY
+These are the high-level design rules which guide the development of Bootstrap's JS plugins.
 
 ---
 
 ### 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.
 
-We acknoledge 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:
+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:
 
     $('body').unbind('.data-api')
 
@@ -19,13 +19,13 @@ To target a specific plugin, just include the plugins name as a namespace along
 
 ### PROGRAMATIC API
 
-We also believe you should be able to use all plugins provided by bootstrap purely through the JS api.
+We also believe you should be able to use all plugins provided by Bootstrap purely through the JS API.
 
-All pubilc APIs should be a single, chainable method, and return the collection acted upon.
+All public APIs should be a single, chainable method, and return the collection acted upon.
 
     $(".btn.danger").button("toggle").addClass("fat")
 
-All methods should accept an optional options object, a string which targets a particular method, or null which innitiates the default behavior:
+All methods should accept an optional options object, a string which targets a particular method, or null which initiates the default behavior:
 
     $("#myModal").modal() // initialized with defaults
 
@@ -39,7 +39,7 @@ All plugins should have a default object which can be modified to effect all ins
 
     $.fn.modal.defaults = { … }
 
-An options definiton should take the following form:
+An options definition should take the following form:
 
     *noun*: *adjective* - describes or modifies a quality of an instance
 
-- 
GitLab


From d48027d49567c2d38211c357d6fb8d6a5a9e8a7b Mon Sep 17 00:00:00 2001
From: Jeff Adams <jeff@tinyfly.com>
Date: Tue, 29 Nov 2011 11:12:32 -0600
Subject: [PATCH 105/576] add input width calculation fix from #408 to the 2.0
 branch

---
 bootstrap.css     | 32 ++++++++++++++++----------------
 bootstrap.min.css | 30 +++++++++++++++---------------
 lib/forms.less    |  2 +-
 3 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4c4d85aa9e..271c35afc9 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Nov 25 21:33:58 PST 2011
+ * Date: Tue Nov 29 11:11:41 CST 2011
  */
 html, body {
   margin: 0;
@@ -657,7 +657,7 @@ select.span2,
 .uneditable-input.span2 {
   display: inline-block;
   float: none;
-  width: 150px;
+  width: 130px;
   margin-left: 0;
 }
 input.span3,
@@ -666,7 +666,7 @@ select.span3,
 .uneditable-input.span3 {
   display: inline-block;
   float: none;
-  width: 250px;
+  width: 210px;
   margin-left: 0;
 }
 input.span4,
@@ -675,7 +675,7 @@ select.span4,
 .uneditable-input.span4 {
   display: inline-block;
   float: none;
-  width: 350px;
+  width: 290px;
   margin-left: 0;
 }
 input.span5,
@@ -684,7 +684,7 @@ select.span5,
 .uneditable-input.span5 {
   display: inline-block;
   float: none;
-  width: 450px;
+  width: 370px;
   margin-left: 0;
 }
 input.span6,
@@ -693,7 +693,7 @@ select.span6,
 .uneditable-input.span6 {
   display: inline-block;
   float: none;
-  width: 550px;
+  width: 450px;
   margin-left: 0;
 }
 input.span7,
@@ -702,7 +702,7 @@ select.span7,
 .uneditable-input.span7 {
   display: inline-block;
   float: none;
-  width: 650px;
+  width: 530px;
   margin-left: 0;
 }
 input.span8,
@@ -711,7 +711,7 @@ select.span8,
 .uneditable-input.span8 {
   display: inline-block;
   float: none;
-  width: 750px;
+  width: 610px;
   margin-left: 0;
 }
 input.span9,
@@ -720,7 +720,7 @@ select.span9,
 .uneditable-input.span9 {
   display: inline-block;
   float: none;
-  width: 850px;
+  width: 690px;
   margin-left: 0;
 }
 input.span10,
@@ -729,7 +729,7 @@ select.span10,
 .uneditable-input.span10 {
   display: inline-block;
   float: none;
-  width: 950px;
+  width: 770px;
   margin-left: 0;
 }
 input.span11,
@@ -738,7 +738,7 @@ select.span11,
 .uneditable-input.span11 {
   display: inline-block;
   float: none;
-  width: 1050px;
+  width: 850px;
   margin-left: 0;
 }
 input.span12,
@@ -747,7 +747,7 @@ select.span12,
 .uneditable-input.span12 {
   display: inline-block;
   float: none;
-  width: 1150px;
+  width: 930px;
   margin-left: 0;
 }
 input.span13,
@@ -756,7 +756,7 @@ select.span13,
 .uneditable-input.span13 {
   display: inline-block;
   float: none;
-  width: 1250px;
+  width: 1010px;
   margin-left: 0;
 }
 input.span14,
@@ -765,7 +765,7 @@ select.span14,
 .uneditable-input.span14 {
   display: inline-block;
   float: none;
-  width: 1350px;
+  width: 1090px;
   margin-left: 0;
 }
 input.span15,
@@ -774,7 +774,7 @@ select.span15,
 .uneditable-input.span15 {
   display: inline-block;
   float: none;
-  width: 1450px;
+  width: 1170px;
   margin-left: 0;
 }
 input.span16,
@@ -783,7 +783,7 @@ select.span16,
 .uneditable-input.span16 {
   display: inline-block;
   float: none;
-  width: 1550px;
+  width: 1250px;
   margin-left: 0;
 }
 input[disabled],
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2a802744cf..4824041102 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -111,21 +111,21 @@ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shado
 .input-xlarge{width:270px;}
 .input-xxlarge{width:530px;}
 input.span1,textarea.span1,select.span1,.uneditable-input.span1{display:inline-block;float:none;width:50px;margin-left:0;}
-input.span2,textarea.span2,select.span2,.uneditable-input.span2{display:inline-block;float:none;width:150px;margin-left:0;}
-input.span3,textarea.span3,select.span3,.uneditable-input.span3{display:inline-block;float:none;width:250px;margin-left:0;}
-input.span4,textarea.span4,select.span4,.uneditable-input.span4{display:inline-block;float:none;width:350px;margin-left:0;}
-input.span5,textarea.span5,select.span5,.uneditable-input.span5{display:inline-block;float:none;width:450px;margin-left:0;}
-input.span6,textarea.span6,select.span6,.uneditable-input.span6{display:inline-block;float:none;width:550px;margin-left:0;}
-input.span7,textarea.span7,select.span7,.uneditable-input.span7{display:inline-block;float:none;width:650px;margin-left:0;}
-input.span8,textarea.span8,select.span8,.uneditable-input.span8{display:inline-block;float:none;width:750px;margin-left:0;}
-input.span9,textarea.span9,select.span9,.uneditable-input.span9{display:inline-block;float:none;width:850px;margin-left:0;}
-input.span10,textarea.span10,select.span10,.uneditable-input.span10{display:inline-block;float:none;width:950px;margin-left:0;}
-input.span11,textarea.span11,select.span11,.uneditable-input.span11{display:inline-block;float:none;width:1050px;margin-left:0;}
-input.span12,textarea.span12,select.span12,.uneditable-input.span12{display:inline-block;float:none;width:1150px;margin-left:0;}
-input.span13,textarea.span13,select.span13,.uneditable-input.span13{display:inline-block;float:none;width:1250px;margin-left:0;}
-input.span14,textarea.span14,select.span14,.uneditable-input.span14{display:inline-block;float:none;width:1350px;margin-left:0;}
-input.span15,textarea.span15,select.span15,.uneditable-input.span15{display:inline-block;float:none;width:1450px;margin-left:0;}
-input.span16,textarea.span16,select.span16,.uneditable-input.span16{display:inline-block;float:none;width:1550px;margin-left:0;}
+input.span2,textarea.span2,select.span2,.uneditable-input.span2{display:inline-block;float:none;width:130px;margin-left:0;}
+input.span3,textarea.span3,select.span3,.uneditable-input.span3{display:inline-block;float:none;width:210px;margin-left:0;}
+input.span4,textarea.span4,select.span4,.uneditable-input.span4{display:inline-block;float:none;width:290px;margin-left:0;}
+input.span5,textarea.span5,select.span5,.uneditable-input.span5{display:inline-block;float:none;width:370px;margin-left:0;}
+input.span6,textarea.span6,select.span6,.uneditable-input.span6{display:inline-block;float:none;width:450px;margin-left:0;}
+input.span7,textarea.span7,select.span7,.uneditable-input.span7{display:inline-block;float:none;width:530px;margin-left:0;}
+input.span8,textarea.span8,select.span8,.uneditable-input.span8{display:inline-block;float:none;width:610px;margin-left:0;}
+input.span9,textarea.span9,select.span9,.uneditable-input.span9{display:inline-block;float:none;width:690px;margin-left:0;}
+input.span10,textarea.span10,select.span10,.uneditable-input.span10{display:inline-block;float:none;width:770px;margin-left:0;}
+input.span11,textarea.span11,select.span11,.uneditable-input.span11{display:inline-block;float:none;width:850px;margin-left:0;}
+input.span12,textarea.span12,select.span12,.uneditable-input.span12{display:inline-block;float:none;width:930px;margin-left:0;}
+input.span13,textarea.span13,select.span13,.uneditable-input.span13{display:inline-block;float:none;width:1010px;margin-left:0;}
+input.span14,textarea.span14,select.span14,.uneditable-input.span14{display:inline-block;float:none;width:1090px;margin-left:0;}
+input.span15,textarea.span15,select.span15,.uneditable-input.span15{display:inline-block;float:none;width:1170px;margin-left:0;}
+input.span16,textarea.span16,select.span16,.uneditable-input.span16{display:inline-block;float:none;width:1250px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;}
 form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
diff --git a/lib/forms.less b/lib/forms.less
index 39c2937999..5de55e727f 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -145,7 +145,7 @@ select:focus {
 .formColumns(@columnSpan: 1) {
   display: inline-block;
   float: none;
-  width: ((@gridColumnWidth - 10) * @columnSpan) + ((@gridColumnWidth - 10) * (@columnSpan - 1));
+  width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 10;
   margin-left: 0;
 }
 input,
-- 
GitLab


From 1da19bf65f9affec06ba6e1f6e5f545a8e2ea457 Mon Sep 17 00:00:00 2001
From: Jeff Adams <jeff@tinyfly.com>
Date: Tue, 29 Nov 2011 14:06:31 -0600
Subject: [PATCH 106/576] scope form feedback states to .control-group instead
 of unused .clearfix

---
 bootstrap.css     | 26 +++++++++++++-------------
 bootstrap.min.css | 18 +++++++++---------
 lib/forms.less    |  6 +++---
 3 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4c4d85aa9e..1fa314cd4f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Nov 25 21:33:58 PST 2011
+ * Date: Tue Nov 29 14:05:43 CST 2011
  */
 html, body {
   margin: 0;
@@ -796,56 +796,56 @@ textarea[readonly] {
   border-color: #ddd;
   cursor: not-allowed;
 }
-form .clearfix.error > label, form .clearfix.error .help-block, form .clearfix.error .help-inline {
+.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {
   color: #b94a48;
 }
-form .clearfix.error input, form .clearfix.error textarea {
+.control-group.error input, .control-group.error textarea {
   color: #b94a48;
   border-color: #ee5f5b;
 }
-form .clearfix.error input:focus, form .clearfix.error textarea:focus {
+.control-group.error input:focus, .control-group.error textarea:focus {
   border-color: #e9322d;
   -webkit-box-shadow: 0 0 6px #f8b9b7;
   -moz-box-shadow: 0 0 6px #f8b9b7;
   box-shadow: 0 0 6px #f8b9b7;
 }
-form .clearfix.error .input-prepend .add-on, form .clearfix.error .input-append .add-on {
+.control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {
   color: #b94a48;
   background-color: #fce6e6;
   border-color: #b94a48;
 }
-form .clearfix.warning > label, form .clearfix.warning .help-block, form .clearfix.warning .help-inline {
+.control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline {
   color: #c09853;
 }
-form .clearfix.warning input, form .clearfix.warning textarea {
+.control-group.warning input, .control-group.warning textarea {
   color: #c09853;
   border-color: #ccae64;
 }
-form .clearfix.warning input:focus, form .clearfix.warning textarea:focus {
+.control-group.warning input:focus, .control-group.warning textarea:focus {
   border-color: #be9a3f;
   -webkit-box-shadow: 0 0 6px #e5d6b1;
   -moz-box-shadow: 0 0 6px #e5d6b1;
   box-shadow: 0 0 6px #e5d6b1;
 }
-form .clearfix.warning .input-prepend .add-on, form .clearfix.warning .input-append .add-on {
+.control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {
   color: #c09853;
   background-color: #d2b877;
   border-color: #c09853;
 }
-form .clearfix.success > label, form .clearfix.success .help-block, form .clearfix.success .help-inline {
+.control-group.success > label, .control-group.success .help-block, .control-group.success .help-inline {
   color: #468847;
 }
-form .clearfix.success input, form .clearfix.success textarea {
+.control-group.success input, .control-group.success textarea {
   color: #468847;
   border-color: #57a957;
 }
-form .clearfix.success input:focus, form .clearfix.success textarea:focus {
+.control-group.success input:focus, .control-group.success textarea:focus {
   border-color: #458845;
   -webkit-box-shadow: 0 0 6px #9acc9a;
   -moz-box-shadow: 0 0 6px #9acc9a;
   box-shadow: 0 0 6px #9acc9a;
 }
-form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-append .add-on {
+.control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {
   color: #468847;
   background-color: #bcddbc;
   border-color: #468847;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2a802744cf..7eb899bc19 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -127,15 +127,15 @@ input.span14,textarea.span14,select.span14,.uneditable-input.span14{display:inli
 input.span15,textarea.span15,select.span15,.uneditable-input.span15{display:inline-block;float:none;width:1450px;margin-left:0;}
 input.span16,textarea.span16,select.span16,.uneditable-input.span16{display:inline-block;float:none;width:1550px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
-form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;}
-form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
-form .clearfix.error .input-prepend .add-on,form .clearfix.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;}
-form .clearfix.warning>label,form .clearfix.warning .help-block,form .clearfix.warning .help-inline{color:#c09853;}
-form .clearfix.warning input,form .clearfix.warning textarea{color:#c09853;border-color:#ccae64;}form .clearfix.warning input:focus,form .clearfix.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;}
-form .clearfix.warning .input-prepend .add-on,form .clearfix.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;}
-form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.success .help-inline{color:#468847;}
-form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
-form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
+.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
+.control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#ee5f5b;}.control-group.error input:focus,.control-group.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
+.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;}
+.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
+.control-group.warning input,.control-group.warning textarea{color:#c09853;border-color:#ccae64;}.control-group.warning input:focus,.control-group.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;}
+.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;}
+.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
+.control-group.success input,.control-group.success textarea{color:#468847;border-color:#57a957;}.control-group.success input:focus,.control-group.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
+.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{display:block;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-placeholder{color:#bfbfbf;}
diff --git a/lib/forms.less b/lib/forms.less
index 39c2937999..23cdb28c9c 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -220,15 +220,15 @@ textarea[readonly] {
   }
 }
 // Error
-form .clearfix.error {
+.control-group.error {
   .formFieldState(#b94a48, #ee5f5b, lighten(#ee5f5b, 30%));
 }
 // Warning
-form .clearfix.warning {
+.control-group.warning {
   .formFieldState(#c09853, #ccae64, lighten(#CCAE64, 5%));
 }
 // Success
-form .clearfix.success {
+.control-group.success {
   .formFieldState(#468847, #57a957, lighten(#57a957, 30%));
 }
 
-- 
GitLab


From b36df463108e2e4df8c389a06f577823564788d9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 29 Nov 2011 22:35:03 -0800
Subject: [PATCH 107/576] misc docs updates, revamped tables CSS save for grid
 columns and tablesorter options

---
 bootstrap.css            | 538 +++++++++++++++++++--------------------
 bootstrap.min.css        | 195 ++++++--------
 docs/assets/css/docs.css |  46 +++-
 docs/base-css.html       |   4 +-
 docs/index.html          |   1 +
 docs/scaffolding.html    |   8 +-
 lib/tables.less          |  96 ++++---
 7 files changed, 428 insertions(+), 460 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index e8b9d2d530..87e12fca0b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Nov 17 00:52:01 PST 2011
+ * Date: Tue Nov 29 22:34:51 PST 2011
  */
 /* Reset.less
  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
@@ -118,9 +118,9 @@ audio:not([controls]) {
   display: none;
 }
 sub, sup {
+  position: relative;
   font-size: 75%;
   line-height: 0;
-  position: relative;
   vertical-align: baseline;
 }
 sup {
@@ -137,18 +137,18 @@ button,
 input,
 select,
 textarea {
-  font-size: 100%;
   margin: 0;
+  font-size: 100%;
   vertical-align: baseline;
   *vertical-align: middle;
 }
 button, input {
-  line-height: normal;
   *overflow: visible;
+  line-height: normal;
 }
 button::-moz-focus-inner, input::-moz-focus-inner {
-  border: 0;
   padding: 0;
+  border: 0;
 }
 button,
 input[type="button"],
@@ -181,12 +181,12 @@ textarea {
  * Basic and global styles for generating a grid system, structural layout, and page templates
  * ------------------------------------------------------------------------------------------- */
 body {
-  background-color: #ffffff;
   margin: 0;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   line-height: 18px;
   color: #404040;
+  background-color: #ffffff;
 }
 .container {
   width: 940px;
@@ -196,9 +196,9 @@ body {
 }
 .container:before, .container:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .container:after {
   clear: both;
@@ -212,9 +212,9 @@ body {
 }
 .fluid-container:before, .fluid-container:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .fluid-container:after {
   clear: both;
@@ -236,10 +236,10 @@ body {
   margin-right: 240px;
 }
 a {
+  font-weight: inherit;
+  line-height: inherit;
   color: #0069d6;
   text-decoration: none;
-  line-height: inherit;
-  font-weight: inherit;
 }
 a:hover {
   color: #00438a;
@@ -263,9 +263,9 @@ a:hover {
 }
 .row:before, .row:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .row:after {
   clear: both;
@@ -348,10 +348,10 @@ a:hover {
  * Headings, body text, lists, code, and more for a versatile and durable typography system
  * ---------------------------------------------------------------------------------------- */
 p {
+  margin-bottom: 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   line-height: 18px;
-  margin-bottom: 9px;
 }
 p small {
   font-size: 11px;
@@ -433,8 +433,8 @@ li {
   color: #404040;
 }
 ul.unstyled {
-  list-style: none;
   margin-left: 0;
+  list-style: none;
 }
 dl {
   margin-bottom: 18px;
@@ -472,15 +472,15 @@ abbr {
   cursor: help;
 }
 blockquote {
+  padding-left: 15px;
   margin-bottom: 18px;
   border-left: 5px solid #eee;
-  padding-left: 15px;
 }
 blockquote p {
+  margin-bottom: 0;
   font-size: 300;
   font-weight: 16px;
   line-height: 22.5px;
-  margin-bottom: 0;
 }
 blockquote small {
   display: block;
@@ -498,8 +498,8 @@ blockquote.pull-right p, blockquote.pull-right small {
 }
 address {
   display: block;
-  line-height: 18px;
   margin-bottom: 18px;
+  line-height: 18px;
 }
 code, pre {
   padding: 0 3px 2px;
@@ -511,16 +511,16 @@ code, pre {
   border-radius: 3px;
 }
 code {
-  background-color: #fee9cc;
   padding: 1px 3px;
+  background-color: #fee9cc;
 }
 pre {
-  background-color: #f5f5f5;
   display: block;
   padding: 8.5px;
   margin: 0 0 9px;
-  line-height: 18px;
   font-size: 12px;
+  line-height: 18px;
+  background-color: #f5f5f5;
   border: 1px solid #ccc;
   border: 1px solid rgba(0, 0, 0, 0.15);
   -webkit-border-radius: 3px;
@@ -593,11 +593,11 @@ input[type=checkbox], input[type=radio] {
   cursor: pointer;
 }
 input[type=file] {
-  background-color: #ffffff;
-  background-color: initial;
   padding: initial;
-  border: initial;
   line-height: initial;
+  border: initial;
+  background-color: #ffffff;
+  background-color: initial;
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
   box-shadow: none;
@@ -608,34 +608,34 @@ input[type=button], input[type=reset], input[type=submit] {
 }
 select, input[type=file] {
   height: 27px;
-  line-height: 27px;
   *margin-top: 4px;
   /* For IE7, add top margin to align select with labels */
 
+  line-height: 27px;
 }
 select[multiple] {
-  background-color: #ffffff;
   height: inherit;
+  background-color: #ffffff;
 }
 textarea {
   height: auto;
 }
 input, textarea {
+  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
   -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;
-  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
-  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
 }
 input:focus, textarea:focus {
-  outline: 0;
   border-color: rgba(82, 168, 236, 0.8);
   -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
   -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
   box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+  outline: 0;
 }
 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
   -webkit-box-shadow: none;
@@ -877,8 +877,8 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
   border-top: 1px solid #ddd;
 }
 .uneditable-input {
-  background-color: #ffffff;
   display: block;
+  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);
@@ -897,14 +897,14 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
   color: #bfbfbf;
 }
 .help-inline {
-  display: inline;
-  padding-left: 5px;
   *position: relative;
   /* IE6-7 */
 
   *top: -5px;
   /* IE6-7 */
 
+  display: inline;
+  padding-left: 5px;
 }
 .help-block {
   display: block;
@@ -932,27 +932,27 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
 }
 .input-prepend .add-on, .input-append .add-on {
   position: relative;
-  background: #f5f5f5;
-  border: 1px solid #ccc;
   z-index: 2;
   float: left;
   display: block;
   width: auto;
   min-width: 16px;
   height: 18px;
-  padding: 4px 4px 4px 5px;
   margin-right: -1px;
+  padding: 4px 4px 4px 5px;
   font-weight: normal;
   line-height: 18px;
   color: #bfbfbf;
   text-align: center;
   text-shadow: 0 1px 0 #ffffff;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
 }
 .input-prepend .active, .input-append .active {
-  background: #a9dba9;
+  background-color: #a9dba9;
   border-color: #46a546;
 }
 .input-prepend .add-on {
@@ -967,11 +967,11 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
   border-radius: 3px 0 0 3px;
 }
 .input-append .add-on {
+  margin-right: 0;
+  margin-left: -1px;
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
-  margin-right: 0;
-  margin-left: -1px;
 }
 .search-form .search-query {
   -webkit-border-radius: 14px;
@@ -1005,43 +1005,38 @@ form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-app
  * ---------------------------------------- */
 table {
   width: 100%;
-  padding: 0;
   margin-bottom: 18px;
-  font-size: 13px;
-  border-collapse: collapse;
 }
-table th, table td {
-  padding: 10px 10px 9px;
+th, td {
+  padding: 8px;
   line-height: 18px;
   text-align: left;
+  border-bottom: 1px solid #ddd;
 }
-table th {
-  padding-top: 9px;
+th {
   font-weight: bold;
-  vertical-align: middle;
+  vertical-align: bottom;
 }
-table td {
+td {
   vertical-align: top;
-  border-top: 1px solid #ddd;
 }
-table tbody th {
-  border-top: 1px solid #ddd;
-  vertical-align: top;
+tbody tr:last-child th, tbody tr:last-child td {
+  border-bottom: 0;
 }
 .condensed-table th, .condensed-table td {
-  padding: 5px 5px 4px;
+  padding: 4px 5px;
 }
 .bordered-table {
   border: 1px solid #ddd;
   border-collapse: separate;
-  *border-collapse: collapse;
-  /* IE7, collapse table to remove spacing */
-
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
 }
-.bordered-table th + th, .bordered-table td + td, .bordered-table th + td {
+.bordered-table th + th,
+.bordered-table td + td,
+.bordered-table th + td,
+.bordered-table td + th {
   border-left: 1px solid #ddd;
 }
 .bordered-table thead:first-child tr:first-child th:first-child, .bordered-table tbody:first-child tr:first-child td:first-child {
@@ -1054,153 +1049,151 @@ table tbody th {
   -moz-border-radius: 0 4px 0 0;
   border-radius: 0 4px 0 0;
 }
-.bordered-table tbody tr:last-child td:first-child {
+.bordered-table thead:last-child tr:last-child th:first-child, .bordered-table 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;
 }
-.bordered-table tbody tr:last-child td:last-child {
+.bordered-table thead:last-child tr:last-child th:last-child, .bordered-table 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;
 }
-table .span1 {
-  width: 40px;
-}
-table .span2 {
-  width: 120px;
-}
-table .span3 {
-  width: 200px;
-}
-table .span4 {
-  width: 280px;
-}
-table .span5 {
-  width: 360px;
-}
-table .span6 {
-  width: 440px;
-}
-table .span7 {
-  width: 520px;
-}
-table .span8 {
-  width: 600px;
-}
-table .span9 {
-  width: 680px;
-}
-table .span10 {
-  width: 760px;
-}
-table .span11 {
-  width: 840px;
-}
-table .span12 {
-  width: 920px;
-}
-table .span13 {
-  width: 1000px;
-}
-table .span14 {
-  width: 1080px;
-}
-table .span15 {
-  width: 1160px;
-}
-table .span16 {
-  width: 1240px;
-}
 .striped-table tbody tr:nth-child(odd) td, .striped-table tbody tr:nth-child(odd) th {
   background-color: #f9f9f9;
 }
-.striped-table tbody tr:hover td, .striped-table tbody tr:hover th {
-  background-color: #f5f5f5;
-}
-table .header {
-  cursor: pointer;
-}
-table .header:after {
-  content: "";
-  float: right;
-  margin-top: 7px;
-  border-width: 0 4px 4px;
-  border-style: solid;
-  border-color: #000 transparent;
-  visibility: hidden;
-}
-table .headerSortUp, table .headerSortDown {
-  background-color: rgba(141, 192, 219, 0.25);
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-}
-table .header:hover:after {
-  visibility: visible;
-}
-table .headerSortDown:after, table .headerSortDown:hover:after {
-  visibility: visible;
-  filter: alpha(opacity=60);
-  -khtml-opacity: 0.6;
-  -moz-opacity: 0.6;
-  opacity: 0.6;
-}
-table .headerSortUp:after {
-  border-bottom: none;
-  border-left: 4px solid transparent;
-  border-right: 4px solid transparent;
-  border-top: 4px solid #000;
-  visibility: visible;
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
-  filter: alpha(opacity=60);
-  -khtml-opacity: 0.6;
-  -moz-opacity: 0.6;
-  opacity: 0.6;
-}
-table .blue {
-  color: #049cdb;
-  border-bottom-color: #049cdb;
-}
-table .headerSortUp.blue, table .headerSortDown.blue {
-  background-color: #ade6fe;
-}
-table .green {
-  color: #46a546;
-  border-bottom-color: #46a546;
-}
-table .headerSortUp.green, table .headerSortDown.green {
-  background-color: #cdeacd;
-}
-table .red {
-  color: #9d261d;
-  border-bottom-color: #9d261d;
-}
-table .headerSortUp.red, table .headerSortDown.red {
-  background-color: #f4c8c5;
-}
-table .yellow {
-  color: #ffc40d;
-  border-bottom-color: #ffc40d;
-}
-table .headerSortUp.yellow, table .headerSortDown.yellow {
-  background-color: #fff6d9;
-}
-table .orange {
-  color: #f89406;
-  border-bottom-color: #f89406;
-}
-table .headerSortUp.orange, table .headerSortDown.orange {
-  background-color: #fee9cc;
-}
-table .purple {
-  color: #7a43b6;
-  border-bottom-color: #7a43b6;
+/*
+// ----------------
+
+// This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border
+.tableColumns(@columnSpan: 1) {
+  width: ((@gridColumnWidth - 20) * @columnSpan) + ((@gridColumnWidth - 20) * (@columnSpan - 1));
 }
-table .headerSortUp.purple, table .headerSortDown.purple {
-  background-color: #e2d5f0;
+table {
+  // Default columns
+  .span1     { .tableColumns(1); }
+  .span2     { .tableColumns(2); }
+  .span3     { .tableColumns(3); }
+  .span4     { .tableColumns(4); }
+  .span5     { .tableColumns(5); }
+  .span6     { .tableColumns(6); }
+  .span7     { .tableColumns(7); }
+  .span8     { .tableColumns(8); }
+  .span9     { .tableColumns(9); }
+  .span10    { .tableColumns(10); }
+  .span11    { .tableColumns(11); }
+  .span12    { .tableColumns(12); }
+  .span13    { .tableColumns(13); }
+  .span14    { .tableColumns(14); }
+  .span15    { .tableColumns(15); }
+  .span16    { .tableColumns(16); }
 }
-/* Patterns.less
+
+
+// TABLESORTER
+// -----------
+
+table {
+  // Tablesorting styles w/ jQuery plugin
+  .header {
+    cursor: pointer;
+    &:after {
+      float: right;
+      margin-top: 7px;
+      border-width: 0 4px 4px;
+      border-style: solid;
+      border-color: #000 transparent;
+      content: "";
+      visibility: hidden;
+    }
+  }
+  // Style the sorted column headers (THs)
+  .headerSortUp,
+  .headerSortDown {
+    text-shadow: 0 1px 1px rgba(255,255,255,.75);
+    background-color: rgba(141,192,219,.25);
+  }
+  // Style the ascending (reverse alphabetical) column header
+  .header:hover {
+    &:after {
+      visibility: visible;
+    }
+  }
+  // Style the descending (alphabetical) column header
+  .headerSortDown,
+  .headerSortDown:hover {
+    &:after {
+      visibility: visible;
+      .opacity(60);
+    }
+  }
+  // Style the ascending (reverse alphabetical) column header
+  .headerSortUp {
+    &:after {
+      border-bottom: none;
+      border-left: 4px solid transparent;
+      border-right: 4px solid transparent;
+      border-top: 4px solid #000;
+      visibility:visible;
+      .box-shadow(none); //can't add boxshadow to downward facing arrow :(
+      .opacity(60);
+    }
+  }
+  // Blue Table Headings
+  .blue {
+    color: @blue;
+    border-bottom-color: @blue;
+  }
+  .headerSortUp.blue,
+  .headerSortDown.blue {
+    background-color: lighten(@blue, 40%);
+  }
+  // Green Table Headings
+  .green {
+    color: @green;
+    border-bottom-color: @green;
+  }
+  .headerSortUp.green,
+  .headerSortDown.green {
+    background-color: lighten(@green, 40%);
+  }
+  // Red Table Headings
+  .red {
+    color: @red;
+    border-bottom-color: @red;
+  }
+  .headerSortUp.red,
+  .headerSortDown.red {
+    background-color: lighten(@red, 50%);
+  }
+  // Yellow Table Headings
+  .yellow {
+    color: @yellow;
+    border-bottom-color: @yellow;
+  }
+  .headerSortUp.yellow,
+  .headerSortDown.yellow {
+    background-color: lighten(@yellow, 40%);
+  }
+  // Orange Table Headings
+  .orange {
+    color: @orange;
+    border-bottom-color: @orange;
+  }
+  .headerSortUp.orange,
+  .headerSortDown.orange {
+    background-color: lighten(@orange, 40%);
+  }
+  // Purple Table Headings
+  .purple {
+    color: @purple;
+    border-bottom-color: @purple;
+  }
+  .headerSortUp.purple,
+  .headerSortDown.purple {
+    background-color: lighten(@purple, 40%);
+  }
+}*//* Patterns.less
  * Repeatable UI elements outside the base styles provided from the scaffolding
  * ---------------------------------------------------------------------------- */
 .navbar {
@@ -1228,45 +1221,45 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
 .navbar .brand a:hover, .navbar ul .active > a {
-  background-color: #333333;
-  background-color: rgba(255, 255, 255, 0.05);
   color: #ffffff;
   text-decoration: none;
+  background-color: #333333;
+  background-color: rgba(255, 255, 255, 0.05);
 }
 .navbar .brand {
   float: left;
   display: block;
   padding: 8px 20px 12px;
   margin-left: -20px;
-  color: #ffffff;
   font-size: 20px;
   font-weight: 200;
   line-height: 1;
+  color: #ffffff;
 }
 .navbar p {
   margin: 0;
   line-height: 40px;
 }
 .navbar p a:hover {
-  background-color: transparent;
   color: #ffffff;
+  background-color: transparent;
 }
 .navbar-search {
   position: relative;
+  float: left;
   margin-top: 6px;
   margin-bottom: 0;
-  float: left;
 }
 .navbar-search .search-query {
-  background-color: #444;
-  background-color: rgba(255, 255, 255, 0.3);
+  padding: 4px 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   font-weight: normal;
   line-height: 1;
-  padding: 4px 9px;
   color: #ffffff;
   color: rgba(255, 255, 255, 0.75);
+  background-color: #444;
+  background-color: rgba(255, 255, 255, 0.3);
   border: 1px solid #111;
   -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);
@@ -1284,20 +1277,20 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   color: #e6e6e6;
 }
 .navbar-search .search-query:hover {
+  color: #ffffff;
   background-color: #bfbfbf;
   background-color: rgba(255, 255, 255, 0.5);
-  color: #ffffff;
 }
 .navbar-search .search-query:focus, .navbar-search .search-query.focused {
-  outline: 0;
-  background-color: #ffffff;
+  padding: 5px 10px;
   color: #404040;
   text-shadow: 0 1px 0 #ffffff;
+  background-color: #ffffff;
   border: 0;
-  padding: 5px 10px;
   -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;
 }
 .navbar-static {
   margin-bottom: 18px;
@@ -1312,16 +1305,16 @@ table .headerSortUp.purple, table .headerSortDown.purple {
 .navbar-fixed {
   position: fixed;
   top: 0;
-  left: 0;
   right: 0;
+  left: 0;
   z-index: 10000;
 }
 .nav {
+  position: relative;
+  left: 0;
   display: block;
   float: left;
   margin: 0 10px 0 0;
-  position: relative;
-  left: 0;
 }
 .nav > li {
   display: block;
@@ -1396,42 +1389,39 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   position: relative;
 }
 .dropdown-toggle:after {
+  display: inline-block;
   width: 0;
   height: 0;
-  display: inline-block;
-  content: "&darr;";
-  text-indent: -99999px;
-  vertical-align: top;
   margin-top: 8px;
   margin-left: 6px;
+  text-indent: -99999px;
+  vertical-align: top;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
   border-top: 4px solid #ffffff;
   filter: alpha(opacity=30);
-  -khtml-opacity: 0.3;
   -moz-opacity: 0.3;
   opacity: 0.3;
+  content: "&darr;";
 }
 .dropdown:hover .dropdown-toggle:after {
   filter: alpha(opacity=100);
-  -khtml-opacity: 1;
   -moz-opacity: 1;
   opacity: 1;
 }
 .dropdown-menu {
-  background-color: #ffffff;
-  float: left;
-  display: none;
   position: absolute;
   top: 40px;
   z-index: 900;
+  float: left;
+  display: none;
   min-width: 160px;
   max-width: 220px;
   _width: 160px;
+  padding: 6px 0;
   margin-left: 0;
   margin-right: 0;
-  padding: 6px 0;
-  zoom: 1;
+  background-color: #ffffff;
   border-color: #999;
   border-color: rgba(0, 0, 0, 0.2);
   border-style: solid;
@@ -1445,6 +1435,7 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   -webkit-background-clip: padding-box;
   -moz-background-clip: padding-box;
   background-clip: padding-box;
+  zoom: 1;
 }
 .dropdown-menu li {
   float: none;
@@ -1468,6 +1459,8 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   text-shadow: 0 1px 0 #ffffff;
 }
 .topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
+  color: #404040;
+  text-decoration: none;
   background-color: #dddddd;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
   background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
@@ -1478,8 +1471,6 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   background-image: linear-gradient(top, #eeeeee, #dddddd);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
-  color: #404040;
-  text-decoration: none;
   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
@@ -1493,9 +1484,9 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   display: block;
 }
 .hero-unit {
-  background-color: #f5f5f5;
-  margin-bottom: 30px;
   padding: 60px;
+  margin-bottom: 30px;
+  background-color: #f5f5f5;
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
@@ -1512,8 +1503,8 @@ table .headerSortUp.purple, table .headerSortDown.purple {
   line-height: 27px;
 }
 footer {
-  margin-top: 17px;
   padding-top: 17px;
+  margin-top: 17px;
   border-top: 1px solid #eee;
 }
 .page-header {
@@ -1548,6 +1539,7 @@ footer {
 .alert-message.danger,
 .btn.error,
 .alert-message.error {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #c43c35;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
@@ -1558,11 +1550,11 @@ footer {
   background-image: linear-gradient(top, #ee5f5b, #c43c35);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #c43c35 #c43c35 #882a25;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn.success, .alert-message.success {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #57a957;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
@@ -1573,11 +1565,11 @@ footer {
   background-image: linear-gradient(top, #62c462, #57a957);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #57a957 #57a957 #3d773d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn.info, .alert-message.info {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #339bb9;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
@@ -1588,13 +1580,16 @@ footer {
   background-image: linear-gradient(top, #5bc0de, #339bb9);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #339bb9 #339bb9 #22697d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn {
-  cursor: pointer;
   display: inline-block;
+  padding: 5px 14px 6px;
+  font-size: 13px;
+  line-height: normal;
+  color: #333;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
   background-color: #e6e6e6;
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
   background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
@@ -1604,11 +1599,6 @@ footer {
   background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-repeat: no-repeat;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
-  padding: 5px 14px 6px;
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-  color: #333;
-  font-size: 13px;
-  line-height: normal;
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
   -webkit-border-radius: 4px;
@@ -1617,6 +1607,7 @@ footer {
   -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;
   -webkit-transition: 0.1s linear all;
   -moz-transition: 0.1s linear all;
   -ms-transition: 0.1s linear all;
@@ -1624,15 +1615,16 @@ footer {
   transition: 0.1s linear all;
 }
 .btn:hover {
-  background-position: 0 -15px;
   color: #333;
   text-decoration: none;
+  background-position: 0 -15px;
 }
 .btn:focus {
   outline: 1px dotted #666;
 }
 .btn.primary {
   color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0064cd;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
   background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
@@ -1643,7 +1635,6 @@ footer {
   background-image: linear-gradient(top, #049cdb, #0064cd);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #0064cd #0064cd #003f81;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
@@ -1657,7 +1648,6 @@ footer {
   background-image: none;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
   filter: alpha(opacity=65);
-  -khtml-opacity: 0.65;
   -moz-opacity: 0.65;
   opacity: 0.65;
   -webkit-box-shadow: none;
@@ -1669,7 +1659,6 @@ footer {
   background-image: none;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
   filter: alpha(opacity=65);
-  -khtml-opacity: 0.65;
   -moz-opacity: 0.65;
   opacity: 0.65;
   -webkit-box-shadow: none;
@@ -1677,9 +1666,9 @@ footer {
   box-shadow: none;
 }
 .btn.large {
+  padding: 9px 14px 9px;
   font-size: 15px;
   line-height: normal;
-  padding: 9px 14px 9px;
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
@@ -1700,9 +1689,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .btn-toolbar:before, .btn-toolbar:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .btn-toolbar:after {
   clear: both;
@@ -1716,9 +1705,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .btn-group:before, .btn-group:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .btn-group:after {
   clear: both;
@@ -1753,13 +1742,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .close {
   float: right;
-  color: #000000;
   font-size: 20px;
   font-weight: bold;
   line-height: 13.5px;
+  color: #000000;
   text-shadow: 0 1px 0 #ffffff;
   filter: alpha(opacity=20);
-  -khtml-opacity: 0.2;
   -moz-opacity: 0.2;
   opacity: 0.2;
 }
@@ -1767,7 +1755,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   color: #000000;
   text-decoration: none;
   filter: alpha(opacity=40);
-  -khtml-opacity: 0.4;
   -moz-opacity: 0.4;
   opacity: 0.4;
 }
@@ -1776,6 +1763,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding: 7px 15px;
   margin-bottom: 18px;
   color: #404040;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #eedc94;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
   background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
@@ -1786,10 +1775,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-image: linear-gradient(top, #fceec1, #eedc94);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   border-color: #eedc94 #eedc94 #e4c652;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   border-width: 1px;
   border-style: solid;
   -webkit-border-radius: 4px;
@@ -1821,10 +1808,10 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
 }
 .alert-message.block-message {
+  padding: 14px;
   background-image: none;
   background-color: #fdf5d9;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  padding: 14px;
   border-color: #fceec1;
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
@@ -1859,10 +1846,10 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-color: #c6edf9;
 }
 .well {
-  background-color: #f5f5f5;
-  margin-bottom: 20px;
-  padding: 19px;
   min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
   border: 1px solid #eee;
   border: 1px solid rgba(0, 0, 0, 0.05);
   -webkit-border-radius: 4px;
@@ -1889,11 +1876,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .label {
   padding: 1px 3px 2px;
-  background-color: #bfbfbf;
   font-size: 9.75px;
   font-weight: bold;
   color: #ffffff;
   text-transform: uppercase;
+  background-color: #bfbfbf;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
@@ -1910,15 +1897,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .label.notice {
   background-color: #62cffc;
 }
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
 .tabs, .pills {
-  margin: 0 0 20px;
   padding: 0;
+  margin: 0 0 20px;
   list-style: none;
   zoom: 1;
 }
@@ -1927,9 +1908,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .tabs:after,
 .pills:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .tabs:after, .pills:after {
   clear: both;
@@ -2005,9 +1986,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .tabbable.tabs-left:after,
 .tabbable.tabs-right:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .tabbable.tabs-left:after, .tabbable.tabs-right:after {
   clear: both;
@@ -2088,8 +2069,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-top-color: #555;
 }
 .pills a {
-  margin: 5px 3px 5px 0;
   padding: 0 15px;
+  margin: 5px 3px 5px 0;
   line-height: 30px;
   text-shadow: 0 1px 1px #ffffff;
   -webkit-border-radius: 15px;
@@ -2117,8 +2098,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   display: block;
 }
 .breadcrumb {
-  margin: 0 0 18px;
   padding: 7px 14px;
+  margin: 0 0 18px;
   background-color: #f5f5f5;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
   background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
@@ -2171,39 +2152,38 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   float: left;
   padding: 0 14px;
   line-height: 34px;
+  text-decoration: none;
   border-right: 1px solid;
   border-right-color: #ddd;
   border-right-color: rgba(0, 0, 0, 0.15);
   *border-right-color: #ddd;
   /* IE6-7 */
 
-  text-decoration: none;
 }
 .pagination a:hover, .pagination .active a {
   background-color: #c7eefe;
 }
 .pagination .disabled a, .pagination .disabled a:hover {
-  background-color: transparent;
   color: #bfbfbf;
+  background-color: transparent;
 }
 .pagination .next a {
   border: 0;
 }
 .modal-backdrop {
-  background-color: #000000;
   position: fixed;
   top: 0;
-  left: 0;
   right: 0;
   bottom: 0;
+  left: 0;
   z-index: 10000;
+  background-color: #000000;
 }
 .modal-backdrop.fade {
   opacity: 0;
 }
 .modal-backdrop, .modal-backdrop.fade.in {
   filter: alpha(opacity=80);
-  -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
@@ -2245,15 +2225,16 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   top: 50%;
 }
 .modal-header {
-  border-bottom: 1px solid #eee;
   padding: 5px 15px;
+  border-bottom: 1px solid #eee;
 }
 .modal-body {
   padding: 15px;
 }
 .modal-footer {
-  background-color: #f5f5f5;
   padding: 14px 15px 15px;
+  margin-bottom: 0;
+  background-color: #f5f5f5;
   border-top: 1px solid #ddd;
   -webkit-border-radius: 0 0 6px 6px;
   -moz-border-radius: 0 0 6px 6px;
@@ -2262,13 +2243,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
   zoom: 1;
-  margin-bottom: 0;
 }
 .modal-footer:before, .modal-footer:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .modal-footer:after {
   clear: both;
@@ -2278,20 +2258,18 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   margin-left: 5px;
 }
 .twipsy {
-  display: block;
   position: absolute;
+  z-index: 1000;
+  display: block;
   visibility: visible;
   padding: 5px;
   font-size: 11px;
-  z-index: 1000;
   filter: alpha(opacity=80);
-  -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
 .twipsy.fade.in {
   filter: alpha(opacity=80);
-  -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
@@ -2328,12 +2306,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-right: 5px solid #000000;
 }
 .twipsy-inner {
+  max-width: 200px;
   padding: 3px 8px;
-  background-color: #000000;
   color: white;
   text-align: center;
-  max-width: 200px;
   text-decoration: none;
+  background-color: #000000;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
@@ -2348,8 +2326,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   top: 0;
   left: 0;
   z-index: 1000;
-  padding: 5px;
   display: none;
+  padding: 5px;
 }
 .popover.above .arrow {
   bottom: 0;
@@ -2389,11 +2367,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   height: 0;
 }
 .popover .inner {
-  background-color: #000000;
-  background-color: rgba(0, 0, 0, 0.8);
   padding: 3px;
-  overflow: hidden;
   width: 280px;
+  overflow: hidden;
+  background-color: #000000;
+  background-color: rgba(0, 0, 0, 0.8);
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
@@ -2402,17 +2380,17 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
 }
 .popover .title {
-  background-color: #f5f5f5;
   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;
-  border-bottom: 1px solid #eee;
 }
 .popover .content {
-  background-color: #ffffff;
   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;
@@ -2430,9 +2408,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .media-grid:before, .media-grid:after {
   display: table;
+  *display: inline;
   content: "";
   zoom: 1;
-  *display: inline;
 }
 .media-grid:after {
   clear: both;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 832d50ff81..32d4a9967a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -9,33 +9,33 @@ a:hover,a:active{outline:0;}
 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
 audio:not([controls]){display:none;}
-sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
+sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
 sup{top:-0.5em;}
 sub{bottom:-0.25em;}
 img{border:0;-ms-interpolation-mode:bicubic;}
-button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;}
-button,input{line-height:normal;*overflow:visible;}
-button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
+button,input,select,textarea{margin:0;font-size:100%;vertical-align:baseline;*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"],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;}
 input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
-body{background-color:#ffffff;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;}
-.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;*display:inline;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;background-color:#ffffff;}
+.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;*display:inline;content:"";zoom:1;}
 .container:after{clear:both;}
-.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";zoom:1;*display:inline;}
+.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;*display:inline;content:"";zoom:1;}
 .fluid-container:after{clear:both;}
 .fluid-sidebar-left,.fluid-sidebar-right{width:220px;}
 .fluid-sidebar-left{float:left;}
 .fluid-sidebar-right{float:right;}
 .fluid-content{margin-left:240px;}
 .fluid-container.reverse .fluid-content{margin-left:0;margin-right:240px;}
-a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;}
+a{font-weight:inherit;line-height:inherit;color:#0069d6;text-decoration:none;}a:hover{color:#00438a;text-decoration:underline;}
 .pull-right{float:right;}
 .pull-left{float:left;}
 .hide{display:none;}
 .show{display:block;}
-.row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;content:"";zoom:1;*display:inline;}
+.row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;*display:inline;content:"";zoom:1;}
 .row:after{clear:both;}
 [class*="span"]{display:inline;float:left;margin-left:20px;}
 .span1{width:60px;}
@@ -61,7 +61,7 @@ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:
 .offset9{margin-left:740px;}
 .offset10{margin-left:820px;}
 .offset11{margin-left:900px;}
-p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
+p{margin-bottom:9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#bfbfbf;}
 h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
 h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
 h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
@@ -74,7 +74,7 @@ ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
 li{line-height:18px;color:#404040;}
-ul.unstyled{list-style:none;margin-left:0;}
+ul.unstyled{margin-left:0;list-style:none;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
 dl dd{margin-left:9px;}
@@ -83,26 +83,26 @@ strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#bfbfbf;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:300;font-weight:16px;line-height:22.5px;margin-bottom:0;}
+blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:300;font-weight:16px;line-height:22.5px;}
 blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
-address{display:block;line-height:18px;margin-bottom:18px;}
+address{display:block;margin-bottom:18px;line-height:18px;}
 code,pre{padding:0 3px 2px;font-family:"Menlo",Monaco,Courier New,monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-code{background-color:#fee9cc;padding:1px 3px;}
-pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 9px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre code{padding:0;background-color:transparent;}
+code{padding:1px 3px;background-color:#fee9cc;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre code{padding:0;background-color:transparent;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#404040;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
-input[type=file]{background-color:#ffffff;background-color:initial;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;line-height:27px;*margin-top:4px;}
-select[multiple]{background-color:#ffffff;height:inherit;}
+select,input[type=file]{height:27px;*margin-top:4px;line-height:27px;}
+select[multiple]{height:inherit;background-color:#ffffff;}
 textarea{height:auto;}
-input,textarea{-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;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);}
-input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);}
+input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
+input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
 input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
 .input-mini{width:60px;}
 .input-small{width:90px;}
@@ -137,22 +137,22 @@ form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.s
 form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
 form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
-.uneditable-input{background-color:#ffffff;display:block;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;}
+.uneditable-input{display:block;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-placeholder{color:#bfbfbf;}
 ::-webkit-input-placeholder{color:#bfbfbf;}
 .help-text{margin-top:5px;margin-bottom:0;color:#bfbfbf;}
-.help-inline{display:inline;padding-left:5px;*position:relative;*top:-5px;}
+.help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .help-block{display:block;max-width:600px;}
 .inline-inputs{color:#808080;}.inline-inputs span,.inline-inputs input{display:inline-block;}
 .inline-inputs input.mini{width:60px;}
 .inline-inputs input.small{width:90px;}
 .inline-inputs span{padding:0 2px 0 1px;}
 .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;}
+.input-prepend .add-on,.input-append .add-on{position:relative;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
+.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .search-form .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
@@ -160,65 +160,32 @@ form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-appe
 .horizontal-form .controls{margin-left:150px;}
 .horizontal-form .control-list{padding-top:6px;}
 .horizontal-form .form-actions{padding-left:150px;}
-table{width:100%;padding:0;margin-bottom:18px;font-size:13px;border-collapse:collapse;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
-table th{padding-top:9px;font-weight:bold;vertical-align:middle;}
-table td{vertical-align:top;border-top:1px solid #ddd;}
-table tbody th{border-top:1px solid #ddd;vertical-align:top;}
-.condensed-table th,.condensed-table td{padding:5px 5px 4px;}
-.bordered-table{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td{border-left:1px solid #ddd;}
+table{width:100%;margin-bottom:18px;}
+th,td{padding:8px;line-height:18px;text-align:left;border-bottom:1px solid #ddd;}
+th{font-weight:bold;vertical-align:bottom;}
+td{vertical-align:top;}
+tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
+.condensed-table th,.condensed-table td{padding:4px 5px;}
+.bordered-table{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td,.bordered-table td+th{border-left:1px solid #ddd;}
 .bordered-table thead:first-child tr:first-child th:first-child,.bordered-table 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;}
 .bordered-table thead:first-child tr:first-child th:last-child,.bordered-table 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;}
-.bordered-table tbody 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;}
-.bordered-table tbody 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;}
-table .span1{width:40px;}
-table .span2{width:120px;}
-table .span3{width:200px;}
-table .span4{width:280px;}
-table .span5{width:360px;}
-table .span6{width:440px;}
-table .span7{width:520px;}
-table .span8{width:600px;}
-table .span9{width:680px;}
-table .span10{width:760px;}
-table .span11{width:840px;}
-table .span12{width:920px;}
-table .span13{width:1000px;}
-table .span14{width:1080px;}
-table .span15{width:1160px;}
-table .span16{width:1240px;}
+.bordered-table thead:last-child tr:last-child th:first-child,.bordered-table 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;}
+.bordered-table thead:last-child tr:last-child th:last-child,.bordered-table 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;}
 .striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
-.striped-table tbody tr:hover td,.striped-table tbody tr:hover th{background-color:#f5f5f5;}
-table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
-table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
-table .header:hover:after{visibility:visible;}
-table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
-table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
-table .blue{color:#049cdb;border-bottom-color:#049cdb;}
-table .headerSortUp.blue,table .headerSortDown.blue{background-color:#ade6fe;}
-table .green{color:#46a546;border-bottom-color:#46a546;}
-table .headerSortUp.green,table .headerSortDown.green{background-color:#cdeacd;}
-table .red{color:#9d261d;border-bottom-color:#9d261d;}
-table .headerSortUp.red,table .headerSortDown.red{background-color:#f4c8c5;}
-table .yellow{color:#ffc40d;border-bottom-color:#ffc40d;}
-table .headerSortUp.yellow,table .headerSortDown.yellow{background-color:#fff6d9;}
-table .orange{color:#f89406;border-bottom-color:#f89406;}
-table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;}
-table .purple{color:#7a43b6;border-bottom-color:#7a43b6;}
-table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;}
 .navbar{height:40px;overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .navbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.navbar .brand a:hover,.navbar ul .active>a{background-color:#333333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
-.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
-.navbar p{margin:0;line-height:40px;}.navbar p a:hover{background-color:transparent;color:#ffffff;}
-.navbar-search{position:relative;margin-top:6px;margin-bottom:0;float:left;}.navbar-search .search-query{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
+.navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
+.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
+.navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
+.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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
 .navbar-search .search-query::-webkit-input-placeholder{color:#e6e6e6;}
-.navbar-search .search-query:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
-.navbar-search .search-query:focus,.navbar-search .search-query.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-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-search .search-query:hover{color:#ffffff;background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#404040;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;}
 .navbar-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;left:0;right:0;z-index:10000;}
-.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.nav>li{display:block;float:left;}
+.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:10000;}
+.nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
 .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
@@ -229,46 +196,46 @@ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0
 .nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
 .topbar ul .dropdown-menu li a{padding:4px 15px;}
 .dropdown{position:relative;}
-.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-khtml-opacity:0.3;-moz-opacity:0.3;opacity:0.3;}
-.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
-.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.dropdown-menu li{float:none;display:block;background-color:none;}
+.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"&darr;";}
+.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:6px 0;margin-left:0;margin-right:0;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;zoom:1;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
-.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
+.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{color:#404040;text-decoration:none;background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
-.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
+.hero-unit{padding:60px;margin-bottom:30px;background-color:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
-footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
+footer{padding-top:17px;margin-top:17px;border-top:1px solid #eee;}
 .page-header{margin-bottom:27px;border-bottom:1px solid #eee;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:13.5px;}
 .btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
-.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
+.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.success,.alert-message.success{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.info,.alert-message.info{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
-.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
+.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;content:"";zoom:1;*display:inline;}
+.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;*display:inline;content:"";zoom:1;}
 .btn-toolbar:after{clear:both;}
 .btn-toolbar .btn-group{float:left;margin-right:10px;}
-.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";zoom:1;*display:inline;}
+.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;*display:inline;content:"";zoom:1;}
 .btn-group:after{clear:both;}
 .btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
 .btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
-.close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-khtml-opacity:0.2;-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
 .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
 .alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
-.alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
+.alert-message.block-message{padding:14px;background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
 .alert-message.block-message ul{margin-bottom:0;}
 .alert-message.block-message li{color:#404040;}
 .alert-message.block-message .alert-actions{margin-top:5px;}
@@ -276,15 +243,13 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
 .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
 .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
-.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
-.label{padding:1px 3px 2px;background-color:#bfbfbf;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-.pull-right{float:right;}
-.pull-left{float:left;}
-.tabs,.pills{margin:0 0 20px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;*display:inline;}
+.tabs,.pills{padding:0;margin:0 0 20px;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
 .tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
@@ -294,7 +259,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
 .tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
 .tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
-.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;content:"";zoom:1;*display:inline;}
+.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;*display:inline;content:"";zoom:1;}
 .tabbable.tabs-left:after,.tabbable.tabs-right:after{clear:both;}
 .tabbable.tabs-left .tabs,.tabbable.tabs-right .tabs{width:100px;}.tabbable.tabs-left .tabs>li,.tabbable.tabs-right .tabs>li{float:none;margin-bottom:-1px;}.tabbable.tabs-left .tabs>li>a,.tabbable.tabs-right .tabs>li>a{margin-bottom:2px;}.tabbable.tabs-left .tabs>li>a:hover,.tabbable.tabs-right .tabs>li>a:hover{border-color:transparent;}
 .tabbable.tabs-left .tab-content{margin-left:100px;}
@@ -307,46 +272,46 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
 .tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
+.pills a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
 .pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
 .pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
-.breadcrumb{margin:0 0 18px;padding:7px 14px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
 .breadcrumb .active a{color:#404040;}
 .pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
-.pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
+.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
-.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
+.pagination .disabled a,.pagination .disabled a:hover{color:#bfbfbf;background-color:transparent;}
 .pagination .next a{border:0;}
-.modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
-.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
+.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
+.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
 .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%;}
 .modal.fade.in{top:50%;}
-.modal-header{border-bottom:1px solid #eee;padding:5px 15px;}
+.modal-header{padding:5px 15px;border-bottom:1px solid #eee;}
 .modal-body{padding:15px;}
-.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;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;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;*display:inline;}
+.modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
+.twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
-.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
+.popover{position:absolute;top:0;left:0;z-index:1000;display:none;padding:5px;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .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;}
 .popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{background-color:#000000;background-color:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-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);}
-.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
-.popover .content{background-color:#ffffff;padding:14px;-webkit-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;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
-.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;*display:inline;}
+.popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
+.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;}
+.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;-webkit-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;}
+.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;*display:inline;content:"";zoom:1;}
 .media-grid:after{clear:both;}
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index b503c23e43..6c57fddabd 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -41,36 +41,62 @@ body > .navbar-fixed .brand:hover {
 
 /* Github buttons
 -------------------------------------------------- */
-.github-btn + .github-btn {
-  margin-left: 10px;
-}
 .github-btn {
   display: inline-block;
   height: 20px;
   overflow: hidden;
 }
-.github-btn .btn,
-.github-btn .count {
+.github-btn .gh-btn,
+.github-btn .gh-count,
+.github-btn .gh-ico {
   float: left;
+}
+.github-btn .gh-btn,
+.github-btn .gh-count {
   padding: 1px 5px 1px 4px;
   font-size: 11px;
   font-weight: bold;
   line-height: 16px;
   color: #666;
   text-shadow: 0 1px 0 #fff;
+  cursor: pointer;
+}
+.github-btn .gh-btn {
+  background-color: #e6e6e6;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+  background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-repeat: no-repeat;
+  border: 1px solid #ccc;
+  border-bottom-color: #bbb;
   -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
           border-radius: 3px;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+     -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
+          box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
 }
-.github-btn .btn {
-  box-shadow: none;
+.github-btn .gh-btn:hover {
+  color: #333;
+  text-decoration: none;
+  background-position: 0 -10px;
 }
-.github-btn .github-ico {
-  float: left;
+.github-btn .gh-btn:active {
+  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15);
+     -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15);
+          box-shadow: inset 0 2px 4px rgba(0,0,0,.15);
+}
+.github-btn .gh-ico {
   margin-right: 4px;
   opacity: .65;
 }
-.github-btn .count {
+.github-btn .gh-btn:hover .gh-ico {
+  opacity: .75;
+}
+.github-btn .gh-count {
   display: inline-block;
   margin-left: 2px;
   background-color: #fff;
diff --git a/docs/base-css.html b/docs/base-css.html
index aa4a2ebfc0..48704cbd49 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -519,7 +519,7 @@
 
   <h2>Table options</h2>
   <table class="bordered-table striped-table">
-    <thead>
+  <thead>
       <tr>
         <th>Name</th>
         <th>Class</th>
@@ -551,7 +551,7 @@
         <td>
           <code>.condensed-table</code>
         </td>
-        <td>Cuts padding in half, from 10px to 5px, within all <code>td</code> and <code>th</code> elements</td>
+        <td>Cuts vertical padding in half, from 8px to 4px, within all <code>td</code> and <code>th</code> elements</td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/index.html b/docs/index.html
index c9c5df7cdb..977ba5c9d8 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -56,6 +56,7 @@
             <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
             <p class="download-info">
               <a href="#" class="btn primary btn-large">Download on GitHub</a>
+              <a href="#" class="btn btn-large">Get started</a>
               Currently v2.0.0
             </p>
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 10ad71a748..f330d750d4 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -162,7 +162,7 @@
   </div>
 
   <h2>Grid customization</h2>
-  <table class="striped-table">
+  <table class="bordered-table striped-table">
     <thead>
       <tr>
         <th>Variable</th>
@@ -173,12 +173,12 @@
     <tbody>
       <tr>
         <td><code>@gridColumns</code></td>
-        <td>16</td>
+        <td>12</td>
         <td>The number of columns within the grid</td>
       </tr>
       <tr>
         <td><code>@gridColumnWidth</code></td>
-        <td>40px</td>
+        <td>60px</td>
         <td>The width of each column within the grid</td>
       </tr>
       <tr>
@@ -274,7 +274,7 @@
     <div class="span8">
       <h2>Supported devices</h2>
       <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
-      <table class="striped-table">
+      <table class="bordered-table striped-table">
         <thead>
           <tr>
             <th>Label</th>
diff --git a/lib/tables.less b/lib/tables.less
index 4aed466b11..c8cda1cf9c 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -4,45 +4,41 @@
  * ---------------------------------------- */
 
 
+
 // BASELINE STYLES
 // ---------------
 
 table {
   width: 100%;
-  padding: 0;
   margin-bottom: @baseLineHeight;
-  font-size: @baseFontSize;
-  border-collapse: collapse;
-  th,
-  td {
-    padding: 10px 10px 9px;
-    line-height: @baseLineHeight;
-    text-align: left;
-  }
-  th {
-    padding-top: 9px;
-    font-weight: bold;
-    vertical-align: middle;
-  }
-  td {
-    vertical-align: top;
-    border-top: 1px solid #ddd;
-  }
-  // When scoped to row, fix th in tbody
-  tbody th {
-    border-top: 1px solid #ddd;
-    vertical-align: top;
-  }
+}
+th,
+td {
+  padding: 8px;
+  line-height: @baseLineHeight;
+  text-align: left;
+  border-bottom: 1px solid #ddd;
+}
+th {
+  font-weight: bold;
+  vertical-align: bottom;
+}
+td {
+  vertical-align: top;
+}
+tbody tr:last-child th,
+tbody tr:last-child td {
+  border-bottom: 0;
 }
 
 
-// CONDENSED VERSION
-// -----------------
+// CONDENSED TABLE W/ HALF PADDING
+// -------------------------------
 
 .condensed-table {
   th,
   td {
-    padding: 5px 5px 4px;
+    padding: 4px 5px;
   }
 }
 
@@ -53,13 +49,14 @@ table {
 .bordered-table {
   border: 1px solid #ddd;
   border-collapse: separate; // Done so we can round those corners!
-  *border-collapse: collapse; /* IE7, collapse table to remove spacing */
   .border-radius(4px);
   th + th,
   td + td,
-  th + td {
+  th + td,
+  td + th {
     border-left: 1px solid #ddd;
   }
+  // 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);
@@ -68,15 +65,34 @@ table {
   tbody:first-child tr:first-child td:last-child {
     .border-radius(0 4px 0 0);
   }
-  tbody tr:last-child td:first-child {
+  // 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);
   }
-  tbody tr:last-child td:last-child {
+  thead:last-child tr:last-child th:last-child,
+  tbody:last-child tr:last-child td:last-child {
     .border-radius(0 0 4px 0);
   }
 }
 
 
+// ZEBRA-STRIPING
+// --------------
+
+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
+.striped-table {
+  tbody {
+    tr:nth-child(odd) td,
+    tr:nth-child(odd) th {
+      background-color: #f9f9f9;
+    }
+  }
+}
+
+
+
+/*
 // ----------------
 
 // This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border
@@ -104,24 +120,6 @@ table {
 }
 
 
-// ZEBRA-STRIPING
-// --------------
-
-// Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.striped-table {
-  tbody {
-    tr:nth-child(odd) td,
-    tr:nth-child(odd) th {
-      background-color: #f9f9f9;
-    }
-    tr:hover td,
-    tr:hover th {
-      background-color: #f5f5f5;
-    }
-  }
-}
-
-
 // TABLESORTER
 // -----------
 
@@ -225,4 +223,4 @@ table {
   .headerSortDown.purple {
     background-color: lighten(@purple, 40%);
   }
-}
\ No newline at end of file
+}*/
\ No newline at end of file
-- 
GitLab


From 61e84d8762d79befb2d75685705fd4e451a609fe Mon Sep 17 00:00:00 2001
From: Evan Meagher <evan.meagher@gmail.com>
Date: Tue, 29 Nov 2011 23:16:09 -0800
Subject: [PATCH 108/576] Add vertical nav divider.

---
 lib/patterns.less | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/patterns.less b/lib/patterns.less
index 15c3c9c067..a2d512339d 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -157,6 +157,15 @@
     background-color: #222;
     background-color: rgba(0,0,0,.5);
   }
+  // Dividers (basically a vertical hr)
+  .divider {
+    height: 40px;
+    width: 1px;
+    margin: 0 5px;
+    overflow: hidden;
+    background-color: #222;
+    border-right: 1px solid #444;
+  }
 
   // Secondary (floated right) nav in topbar
   &.secondary-nav {
-- 
GitLab


From 0c8d2e37e76db3d3b47ca9eb5340def031b9196b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 29 Nov 2011 23:16:38 -0800
Subject: [PATCH 109/576] adding bordered table to docs and showing it works
 with colspan

---
 docs/base-css.html | 39 +++++++++++++++++++++++++++++++++++++--
 1 file changed, 37 insertions(+), 2 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index bab55f0e44..7626d1668e 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -630,7 +630,42 @@
 &lt;table class="striped-table"&gt;
   ...
 &lt;/table&gt;</pre>
-  <h3>3. Condensed table</h3>
+  <h3>3. Bordered table</h3>
+  <p>Add borders around the entire table and between each row, plus a bit of rounded corners for aesthetic purposes.</p>
+  <table class="bordered-table">
+    <thead>
+      <tr>
+        <th>#</th>
+        <th>First Name</th>
+        <th>Last Name</th>
+        <th>Language</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>1</td>
+        <td colspan="2">Some One</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td colspan="2">2 Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      <tr>
+        <td>3</td>
+        <td>Stu</td>
+        <td>Dent</td>
+        <td>Code</td>
+      </tr>
+    </tbody>
+  </table>
+  <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
+<pre class="prettyprint linenums">
+&lt;table class="striped-table"&gt;
+  ...
+&lt;/table&gt;</pre>
+  <h3>4. Condensed table</h3>
   <p>Make your tables more compact by adding the <code>.condensed-table</code> class to cut table cell padding in half (from 10px to 5px).</p>
   <table class="condensed-table">
     <thead>
@@ -666,7 +701,7 @@
 &lt;table class="condensed-table"&gt;
   ...
 &lt;/table&gt;</pre>
-  <h3>4. Striped table w/ TableSorter.js</h3>
+  <h3>5. Striped table w/ TableSorter.js</h3>
   <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
   <table class="striped-table" id="sortTableExample">
     <thead>
-- 
GitLab


From 90c190d4efedd4080c574b34bffdf54cd5b9ed88 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 29 Nov 2011 23:48:27 -0800
Subject: [PATCH 110/576] updates to add warning for bordered tables to docs,
 fix to spacing on prettyprint pre blocks

---
 bootstrap.css      | 5 ++++-
 bootstrap.min.css  | 3 ++-
 docs/base-css.html | 9 ++++++++-
 lib/type.less      | 5 +++++
 4 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6c5e58b712..aa852460ec 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Nov 29 22:53:00 PST 2011
+ * Date: Tue Nov 29 23:48:09 PST 2011
  */
 html, body {
   margin: 0;
@@ -514,6 +514,9 @@ pre {
   white-space: pre-wrap;
   word-break: break-all;
 }
+pre.prettyprint {
+  margin-bottom: 18px;
+}
 pre code {
   padding: 0;
   background-color: transparent;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 7e9e633ae4..e7505341e0 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -89,7 +89,8 @@ blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right
 address{display:block;margin-bottom:18px;line-height:18px;}
 code,pre{padding:0 3px 2px;font-family:"Menlo",Monaco,Courier New,monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
-pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre code{padding:0;background-color:transparent;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
+pre code{padding:0;background-color:transparent;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 7626d1668e..cc1b4903ce 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -632,6 +632,7 @@
 &lt;/table&gt;</pre>
   <h3>3. Bordered table</h3>
   <p>Add borders around the entire table and between each row, plus a bit of rounded corners for aesthetic purposes.</p>
+  <p><span class="label">Note</span> Bordered tables do not work well with <code>rowspan</code> due to somewhat hacky CSS applied to the tables. Sorry about that!</p>
   <table class="bordered-table">
     <thead>
       <tr>
@@ -648,7 +649,13 @@
         <td>English</td>
       </tr>
       <tr>
-        <td colspan="2">2 Joe</td>
+        <td>2</td>
+        <td>Joe</td>
+        <td>Sixpack</td>
+        <td>English</td>
+      </tr>
+      </tr>
+        <td>Joe</td>
         <td>Sixpack</td>
         <td>English</td>
       </tr>
diff --git a/lib/type.less b/lib/type.less
index 407a20ec29..bdc99acdfa 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -205,6 +205,11 @@ pre {
   white-space: pre-wrap;
   word-break: break-all;
 
+  // Make prettyprint styles more spaced out for readability
+  &.prettyprint {
+    margin-bottom: @baseLineHeight;
+  }
+
   // Account for some code outputs that place code tags in pre tags
   code {
     padding: 0;
-- 
GitLab


From 447c9322e96ebd1102115aea01d925536016351a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 29 Nov 2011 23:56:01 -0800
Subject: [PATCH 111/576] update all leads on docs pages

---
 docs/base-css.html    | 2 +-
 docs/components.html  | 2 +-
 docs/index.html       | 4 ++--
 docs/javascript.html  | 2 +-
 docs/less.html        | 2 +-
 docs/scaffolding.html | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index cc1b4903ce..2b7d17b4a0 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -50,7 +50,7 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Base CSS</h1>
-        <p class="lead">The core typography, form, and table styles of Bootstrap</p>
+        <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
       </header>
 
 
diff --git a/docs/components.html b/docs/components.html
index bb2f326b46..c311d20e60 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -50,7 +50,7 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Components</h1>
-        <p class="lead">Reusable patterns for navigation, alerts, popovers, and much more</p>
+        <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
       </header>
 
 
diff --git a/docs/index.html b/docs/index.html
index 977ba5c9d8..ff7d56976d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -55,8 +55,8 @@
             <h1>Bootstrap,<br> from Twitter</h1>
             <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
             <p class="download-info">
-              <a href="#" class="btn primary btn-large">Download on GitHub</a>
-              <a href="#" class="btn btn-large">Get started</a>
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
+              <a href="./scaffolding.html" class="btn btn-large">Get started</a>
               Currently v2.0.0
             </p>
 
diff --git a/docs/javascript.html b/docs/javascript.html
index 2db37a9fe1..09cdc714cb 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -83,7 +83,7 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Javascript for Bootstrap</h1>
-        <p class="lead">Bring Bootstrap's components to life with custom plugins for <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a></p>
+        <p class="lead">Bring Bootstrap's components to life with flexible, custom javascript plugins for many of our custom components that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>.</p>
       </header>
 
 
diff --git a/docs/less.html b/docs/less.html
index 2d35eea267..97d95a3ab9 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -50,7 +50,7 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Using LESS with Bootstrap</h1>
-        <p class="lead">Be a boss and use Bootstrap's built-in variables, mixins, and more via LESS</p>
+        <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
       </header>
 
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index f330d750d4..d4d1c65262 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -50,7 +50,7 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Scaffolding</h1>
-        <p class="lead">Responsive 12-column grid and fixed- and fluid-width layouts</p>
+        <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
       </header>
 
 
-- 
GitLab


From f2c40ee24d0caa26e79ed206370858918c603419 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 30 Nov 2011 00:39:38 -0800
Subject: [PATCH 112/576] adding step nav to components

---
 bootstrap.css            | 44 +++++++++++++++++++-
 bootstrap.min.css        |  6 +++
 docs/assets/css/docs.css | 88 ----------------------------------------
 docs/components.html     | 22 ++++++++++
 lib/tabs-pills.less      | 43 ++++++++++++++++++++
 5 files changed, 114 insertions(+), 89 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index aa852460ec..6e10706f77 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Nov 29 23:48:09 PST 2011
+ * Date: Wed Nov 30 00:39:32 PST 2011
  */
 html, body {
   margin: 0;
@@ -2088,6 +2088,48 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .tab-content > .active, .pill-content > .active {
   display: block;
 }
+.step-nav {
+  position: relative;
+  margin: 0 0 18px;
+  list-style: none;
+  line-height: 30px;
+  text-align: center;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
+}
+.step-nav li {
+  display: inline;
+  color: #bfbfbf;
+}
+.step-nav .prev, .step-nav .next {
+  position: absolute;
+  top: 6px;
+}
+.step-nav .prev {
+  left: 15px;
+}
+.step-nav .next {
+  right: 15px;
+}
+.step-nav .dot {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  margin: 0 3px;
+  text-indent: -999em;
+  background-color: #bfbfbf;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
+}
+.step-nav .dot:hover, .step-nav .active .dot {
+  background-color: #404040;
+}
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e7505341e0..7042c7a104 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -279,6 +279,12 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
+.step-nav{position:relative;margin:0 0 18px;list-style:none;line-height:30px;text-align:center;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.step-nav li{display:inline;color:#bfbfbf;}
+.step-nav .prev,.step-nav .next{position:absolute;top:6px;}
+.step-nav .prev{left:15px;}
+.step-nav .next{right:15px;}
+.step-nav .dot{display:inline-block;width:10px;height:10px;margin:0 3px;text-indent:-999em;background-color:#bfbfbf;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);}
+.step-nav .dot:hover,.step-nav .active .dot{background-color:#404040;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
 .breadcrumb .active a{color:#404040;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index ec3cd83cb2..a7b52821e3 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -39,71 +39,6 @@ body > .navbar-fixed .brand:hover {
 }
 
 
-/* Github buttons
--------------------------------------------------- */
-.github-btn {
-  display: inline-block;
-  height: 20px;
-  overflow: hidden;
-}
-.github-btn .gh-btn,
-.github-btn .gh-count,
-.github-btn .gh-ico {
-  float: left;
-}
-.github-btn .gh-btn,
-.github-btn .gh-count {
-  padding: 1px 5px 1px 4px;
-  font-size: 11px;
-  font-weight: bold;
-  line-height: 16px;
-  color: #666;
-  text-shadow: 0 1px 0 #fff;
-  cursor: pointer;
-}
-.github-btn .gh-btn {
-  background-color: #e6e6e6;
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
-  background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
-  background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-repeat: no-repeat;
-  border: 1px solid #ccc;
-  border-bottom-color: #bbb;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
-     -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
-          box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
-}
-.github-btn .gh-btn:hover {
-  color: #333;
-  text-decoration: none;
-  background-position: 0 -10px;
-}
-.github-btn .gh-btn:active {
-  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15);
-     -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15);
-          box-shadow: inset 0 2px 4px rgba(0,0,0,.15);
-}
-.github-btn .gh-ico {
-  margin-right: 4px;
-  opacity: .65;
-}
-.github-btn .gh-btn:hover .gh-ico {
-  opacity: .75;
-}
-.github-btn .gh-count {
-  display: inline-block;
-  margin-left: 2px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-}
-
-
 /* Jumbotrons
 -------------------------------------------------- */
 .jumbotron {
@@ -330,13 +265,6 @@ body > .navbar-fixed .brand:hover {
   margin-left: 10px;
 }
 
-/* scrollspy docs */
-
-.scrollspy-example {
-  overflow: auto;
-  height: 200px;
-  position: relative;
-}
 
 /* Popover docs
 -------------------------------------------------- */
@@ -499,19 +427,3 @@ h2 + table {
   }
 }
 
-#accordion dt a{
-  display:block;
-  padding: 9px 15px;
-  line-height: 1;
-  background-color: whiteSmoke;
-  border: 1px solid #EEE;
-  border-top-color: #fff;
-}
-
-#accordion dt:first-child a {
-  border-top-color:#eee;
-}
-
-#accordion dd p {
-  padding: 10px;
-}
diff --git a/docs/components.html b/docs/components.html
index c311d20e60..833f532d9f 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -412,6 +412,28 @@
     </div>
   </div>
 
+  <!-- Step nav -->
+  <div class="row">
+    <div class="span3">
+      <h2>Step nav</h2>
+      <p>Placeholder for now!</p>
+    </div>
+    <div class="span9">
+      <br>
+      <ul class="step-nav">
+        <li class="prev"><a href="#">&laquo; Overview</a></li>
+        <li class="active"><a class="dot" href="#">1</a></li>
+        <li><a class="dot" href="#">2</a></li>
+        <li><a class="dot" href="#">3</a></li>
+        <li><a class="dot" href="#">4</a></li>
+        <li><a class="dot" href="#">5</a></li>
+        <li class="next"><a href="#">Base CSS &raquo;</a></li>
+      </ul>
+      <br>
+      <br>
+    </div>
+  </div>
+
   <!-- Pagination -->
   <div class="row">
     <div class="span3">
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index 3ff08a6766..7fc73f69cc 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -216,3 +216,46 @@
 .pill-content > .active {
   display: block;
 }
+
+
+// Step nav
+.step-nav {
+  position: relative; // for prev/next links
+  margin: 0 0 @baseLineHeight;
+  list-style: none;
+  line-height: 30px;
+  text-align: center;
+  background-color: #f5f5f5;
+  .border-radius(15px);
+  li {
+    display: inline;
+    color: @grayLight;
+  }
+  // prev/next links
+  .prev,
+  .next {
+    position: absolute;
+    top: 6px;
+  }
+  .prev {
+    left: 15px;
+  }
+  .next {
+    right: 15px;
+  }
+  // indicators for each step/page/item/etc
+  .dot {
+    display: inline-block;
+    width: 10px;
+    height: 10px;
+    margin: 0 3px;
+    text-indent: -999em;
+    background-color: @grayLight;
+    .border-radius(5px);
+    .box-shadow(inset 0 1px 1px rgba(0,0,0,.25));
+  }
+  .dot:hover,
+  .active .dot {
+    background-color: @grayDark;
+  }
+}
-- 
GitLab


From bc51c15709469fd0c2e78886a15e849626a8f191 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 30 Nov 2011 01:00:55 -0800
Subject: [PATCH 113/576] adding temp idea for subnav to docs

---
 bootstrap.css         | 45 ++++++++++++++++++++++++++++++++++++++++++-
 bootstrap.min.css     |  4 ++++
 docs/scaffolding.html |  9 +++++++++
 lib/tabs-pills.less   | 32 ++++++++++++++++++++++++++++++
 4 files changed, 89 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6e10706f77..2bef99e1a3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Nov 30 00:39:32 PST 2011
+ * Date: Wed Nov 30 00:54:47 PST 2011
  */
 html, body {
   margin: 0;
@@ -2130,6 +2130,49 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .step-nav .dot:hover, .step-nav .active .dot {
   background-color: #404040;
 }
+.subnav {
+  position: relative;
+  background-color: #eeeeee;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));
+  background-image: -moz-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: -ms-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: -o-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: linear-gradient(top, #f5f5f5, #eeeeee);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+}
+.subnav a {
+  padding: 10px 15px;
+  color: #0069d6;
+  text-shadow: 0 1px 0 #fff;
+  border-left: 1px solid #f9f9f9;
+  border-right: 1px solid #e5e5e5;
+}
+.subnav a:hover {
+  color: #00438a;
+  background-color: #eee;
+}
+.subnav li:first-child a {
+  border-left: 0;
+  -webkit-border-radius: 6px 0 0 6px;
+  -moz-border-radius: 6px 0 0 6px;
+  border-radius: 6px 0 0 6px;
+}
+.subnav li:last-child a {
+  border-right: 0;
+  -webkit-border-radius: 0 6px 6px 0;
+  -moz-border-radius: 0 6px 6px 0;
+  border-radius: 0 6px 6px 0;
+}
+.subnav ul .active > a {
+  color: #404040;
+  background-color: #eee;
+}
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 7042c7a104..d8ee06c156 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -285,6 +285,10 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .step-nav .next{right:15px;}
 .step-nav .dot{display:inline-block;width:10px;height:10px;margin:0 3px;text-indent:-999em;background-color:#bfbfbf;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);}
 .step-nav .dot:hover,.step-nav .active .dot{background-color:#404040;}
+.subnav{position:relative;background-color:#eeeeee;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));background-image:-moz-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-ms-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));background-image:-webkit-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-o-linear-gradient(top, #f5f5f5, #eeeeee);background-image:linear-gradient(top, #f5f5f5, #eeeeee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.subnav a{padding:10px 15px;color:#0069d6;text-shadow:0 1px 0 #fff;border-left:1px solid #f9f9f9;border-right:1px solid #e5e5e5;}.subnav a:hover{color:#00438a;background-color:#eee;}
+.subnav li:first-child a{border-left:0;-webkit-border-radius:6px 0 0 6px;-moz-border-radius:6px 0 0 6px;border-radius:6px 0 0 6px;}
+.subnav li:last-child a{border-right:0;-webkit-border-radius:0 6px 6px 0;-moz-border-radius:0 6px 6px 0;border-radius:0 6px 6px 0;}
+.subnav ul .active>a{color:#404040;background-color:#eee;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
 .breadcrumb .active a{color:#404040;}
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index d4d1c65262..dd7f05bc64 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -53,6 +53,15 @@
         <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
       </header>
 
+      <!-- Work in progress sub nav for docs -->
+      <div class="navbar subnav docked-top">
+        <ul class="nav">
+          <li class="active"><a href="#">Grid system</a></li>
+          <li><a href="#">Layouts</a></li>
+          <li><a href="#">Responsive</a></li>
+        </ul>
+      </div>
+
 
 
 <!-- Grid system
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index 7fc73f69cc..e9b58d04a5 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -259,3 +259,35 @@
     background-color: @grayDark;
   }
 }
+
+
+// Subnav
+// STILL A WIP
+.subnav {
+  position: relative;
+  #gradient > .vertical(#f5f5f5, #eeeeee);
+  .border-radius(6px);
+  a {
+    padding: 10px 15px;
+    color: @linkColor;
+    text-shadow: 0 1px 0 #fff;
+    border-left: 1px solid #f9f9f9;
+    border-right: 1px solid #e5e5e5;
+    &:hover {
+      color: @linkColorHover;
+      background-color: #eee;
+    }
+  }
+  li:first-child a {
+    border-left: 0;
+    .border-radius(6px 0 0 6px);
+  }
+  li:last-child a {
+    border-right: 0;
+    .border-radius(0 6px 6px 0);
+  }
+  ul .active > a {
+    color: @grayDark;
+    background-color: #eee;
+  }
+}
\ No newline at end of file
-- 
GitLab


From dc628c9115b74e49940c0cc200a8914232c9d2a2 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 30 Nov 2011 22:05:09 -0800
Subject: [PATCH 114/576] start of carousel

---
 bootstrap.css            |  2 +-
 js/bootstrap-carousel.js | 59 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 1 deletion(-)
 create mode 100644 js/bootstrap-carousel.js

diff --git a/bootstrap.css b/bootstrap.css
index 4c4d85aa9e..462c254a8a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Nov 25 21:33:58 PST 2011
+ * Date: Mon Nov 28 11:50:42 PST 2011
  */
 html, body {
   margin: 0;
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
new file mode 100644
index 0000000000..9513b4cd21
--- /dev/null
+++ b/js/bootstrap-carousel.js
@@ -0,0 +1,59 @@
+/* ==========================================================
+ * bootstrap-carousel.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * ==========================================================
+ * Copyright 2011 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"
+
+ /* CAROUSEL CLASS DEFINITION
+  * ========================= */
+
+  var Carousel = function ( el ) {
+    $(el).delegate(dismiss, 'click', this.close)
+  }
+
+  Carousel.prototype = {
+
+  }
+
+
+ /* CAROUSEL PLUGIN DEFINITION
+  * ========================== */
+
+  $.fn.carousel = 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.carousel.Carousel = Carousel
+
+
+ /* CAROUSEL DATA-API
+  * ================= */
+
+  // $(function () {
+  //   $('body').delegate(dismiss, 'click.alert.data-api', Alert.prototype.close)
+  // })
+
+}( window.jQuery || window.ender )
\ No newline at end of file
-- 
GitLab


From cee2f61898f4807311402fed747a93ee68a31f8f Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 30 Nov 2011 22:42:22 -0800
Subject: [PATCH 115/576] define constructor on prototypes

---
 docs/javascript.html      | 2 +-
 js/bootstrap-alert.js     | 4 +++-
 js/bootstrap-button.js    | 4 +++-
 js/bootstrap-collapse.js  | 4 +++-
 js/bootstrap-dropdown.js  | 4 +++-
 js/bootstrap-modal.js     | 4 +++-
 js/bootstrap-popover.js   | 4 +++-
 js/bootstrap-scrollspy.js | 4 +++-
 js/bootstrap-tab.js       | 4 +++-
 js/bootstrap-twipsy.js    | 8 +++++---
 10 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 09cdc714cb..c541d57fbd 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -757,7 +757,7 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
     </section>
 
 
-     <!-- Button
+    <!-- Button
     ================================================== -->
 
     <section id="button">
diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index 210512a8b3..0691300808 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -32,7 +32,9 @@
 
   Alert.prototype = {
 
-    close: function ( e ) {
+    constructor: Alert
+
+  , close: function ( e ) {
       var $element = $(this)
 
       $element = $element.hasClass('alert-message') ? $element : $element.parent()
diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js
index 1cafe4d688..4ed24d98b9 100644
--- a/js/bootstrap-button.js
+++ b/js/bootstrap-button.js
@@ -31,7 +31,9 @@
 
   Button.prototype = {
 
-      setState: function (state) {
+      constructor: Button
+
+    , setState: function (state) {
         var d = 'disabled'
           , $el = this.$element
           , data = $el.data()
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 93f91513e3..f56f6c7050 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -34,7 +34,9 @@
 
   Collapse.prototype = {
 
-    dimension: function () {
+    constructor: Collapse
+
+  , dimension: function () {
       var hasWidth = this.$element.hasClass('width')
       return hasWidth ? 'width' : 'height'
     }
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 7259284bfe..238a52e086 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -32,7 +32,9 @@
 
   Dropdown.prototype = {
 
-    toggle: function ( e ) {
+    constructor: Dropdown
+
+  , toggle: function ( e ) {
       var li = $(this).parent('li')
         , isActive = li.hasClass('open')
 
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 5f543c5537..189bcf2acc 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -34,7 +34,9 @@
 
   Modal.prototype = {
 
-      toggle: function () {
+      constructor: Modal
+
+    , toggle: function () {
         return this[!this.isShown ? 'show' : 'hide']()
       }
 
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 3c67b18fc2..890f6efc0b 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -34,7 +34,9 @@
 
   Popover.prototype = $.extend({}, $.fn.twipsy.Twipsy.prototype, {
 
-    setContent: function () {
+    constructor: Popover
+
+  , setContent: function () {
       var $tip = this.tip()
         , title = this.getTitle()
         , content = this.getContent()
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index fe34019ffc..8248b6cbdd 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -39,7 +39,9 @@
 
   ScrollSpy.prototype = {
 
-      refresh: function () {
+      constructor: ScrollSpy
+
+    , refresh: function () {
         this.targets = this.$body
           .find(this.selector)
           .map(function () {
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index ba956cbe86..6aa8ae32cf 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -31,7 +31,9 @@
 
   Tab.prototype = {
 
-    show: function () {
+    constructor: Tab
+
+  , show: function () {
       var $this = this.element
         , $ul = $this.closest('ul:not(.dropdown-menu)')
         , href = $this.attr('data-target') || $this.attr('href')
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index fe4469a232..ca8ac8800f 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -34,7 +34,9 @@
 
   Twipsy.prototype = {
 
-    show: function() {
+    constructor: Twipsy
+
+  , show: function() {
       var pos
         , actualWidth
         , actualHeight
@@ -183,7 +185,7 @@
     return this
   }
 
-  $.fn.twipsy.initWith = function (options, Constructor, name) {
+  $.fn.twipsy.initWith = function (options, Base, name) {
     var twipsy
       , binder
       , eventIn
@@ -209,7 +211,7 @@
       var twipsy = $.data(ele, name)
 
       if (!twipsy) {
-        twipsy = new Constructor(ele, $.fn.twipsy.elementOptions(ele, options))
+        twipsy = new Base(ele, $.fn.twipsy.elementOptions(ele, options))
         $.data(ele, name, twipsy)
       }
 
-- 
GitLab


From 6e70d490e1c189518164d7f08035c34e21745715 Mon Sep 17 00:00:00 2001
From: Evan Meagher <evan.meagher@gmail.com>
Date: Fri, 2 Dec 2011 11:37:39 -0800
Subject: [PATCH 116/576] Add vertical nav divider example in components doc
 page.

---
 bootstrap.css        | 10 +++++++++-
 bootstrap.min.css    |  1 +
 docs/components.html |  1 +
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index afd87d1372..977737f67b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Nov 30 22:05:44 PST 2011
+ * Date: Fri Dec  2 11:32:48 PST 2011
  */
 html, body {
   margin: 0;
@@ -1313,6 +1313,14 @@ table {
   background-color: #222;
   background-color: rgba(0, 0, 0, 0.5);
 }
+.nav .divider {
+  height: 40px;
+  width: 1px;
+  margin: 0 5px;
+  overflow: hidden;
+  background-color: #222;
+  border-right: 1px solid #444;
+}
 .nav.secondary-nav {
   float: right;
   margin-left: 10px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index d8ee06c156..37e9667846 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -189,6 +189,7 @@ tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
+.nav .divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
 .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
 .nav .dropdown-toggle:hover,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
 .nav .dropdown-menu{background-color:#333;}.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
diff --git a/docs/components.html b/docs/components.html
index 833f532d9f..ba9542fdb2 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -180,6 +180,7 @@
           <input type="text" class="search-query span2" placeholder="Search">
         </form>
         <ul class="nav secondary-nav">
+          <li class="divider"></li>
           <li class="dropdown">
             <a href="#" class="dropdown-toggle">Dropdown</a>
             <ul class="dropdown-menu">
-- 
GitLab


From e603009fca162178de3265192b2e5da40ce3a151 Mon Sep 17 00:00:00 2001
From: Chris Sternal-Johnson <chris@sternal-johnson.com>
Date: Thu, 8 Dec 2011 14:42:42 -0500
Subject: [PATCH 117/576] fix docs for bordered-table

---
 docs/base-css.html | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 2b7d17b4a0..a9529821b9 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -667,9 +667,8 @@
       </tr>
     </tbody>
   </table>
-  <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
 <pre class="prettyprint linenums">
-&lt;table class="striped-table"&gt;
+&lt;table class="bordered-table"&gt;
   ...
 &lt;/table&gt;</pre>
   <h3>4. Condensed table</h3>
-- 
GitLab


From b12b71bf7ca76437a532122d8efff59506b61530 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 9 Dec 2011 11:32:07 -0800
Subject: [PATCH 118/576] updated to include sub nav and pip nav, new docs
 updates, topbar nav refinements for media queried settings

---
 bootstrap.css                  | 216 +++++++++++++++++++++------------
 bootstrap.min.css              |   7 +-
 docs/assets/css/docs.css       |  15 +--
 docs/assets/img/less-small.png | Bin 0 -> 2235 bytes
 docs/index.html                |  14 ++-
 docs/less.html                 |  51 +-------
 docs/scaffolding.html          |   9 --
 lib/patterns.less              |   3 -
 lib/responsive.less            |  90 ++++++++++----
 lib/tabs-pills.less            |   7 +-
 10 files changed, 234 insertions(+), 178 deletions(-)
 create mode 100644 docs/assets/img/less-small.png

diff --git a/bootstrap.css b/bootstrap.css
index 2bef99e1a3..d0c78d0370 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Nov 30 00:54:47 PST 2011
+ * Date: Fri Dec  9 11:23:25 PST 2011
  */
 html, body {
   margin: 0;
@@ -1175,7 +1175,6 @@ table {
   }
 }*/
 .navbar {
-  height: 40px;
   overflow: visible;
 }
 .navbar-inner {
@@ -2131,7 +2130,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-color: #404040;
 }
 .subnav {
-  position: relative;
   background-color: #eeeeee;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));
   background-image: -moz-linear-gradient(top, #f5f5f5, #eeeeee);
@@ -2142,12 +2140,13 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-image: linear-gradient(top, #f5f5f5, #eeeeee);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);
-  -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
+  -moz-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
+  box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
 }
 .subnav a {
-  padding: 10px 15px;
+  padding: 8px 10px;
+  font-size: 12px;
   color: #0069d6;
   text-shadow: 0 1px 0 #fff;
   border-left: 1px solid #f9f9f9;
@@ -2515,44 +2514,35 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
   box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
 }
+.hidden {
+  display: none;
+  visibility: hidden;
+}
 @media (max-width: 480px) {
-  .container {
-    width: auto;
-    padding: 0 15px;
-  }
-  .row {
-    margin-left: 0;
-  }
-  [class*="span"] {
-    float: none;
-    display: block;
-    width: auto;
-    margin: 0;
-  }
   .modal {
     width: auto;
     margin: 0;
   }
-  .form-horizontal .control-group > label {
+  .horizontal-form .control-group > label {
     float: none;
     width: auto;
     padding-top: 0;
     text-align: left;
   }
-  .form-horizontal .controls {
+  .horizontal-form .controls {
     margin-left: 0;
   }
-  .form-horizontal .control-list {
+  .horizontal-form .control-list {
     padding-top: 0;
   }
-  .form-horizontal .form-actions {
+  .horizontal-form .form-actions {
     padding-left: 0;
   }
 }
-@media (min-width: 480px) and (max-width: 768px) {
+@media (max-width: 768px) {
   .container {
     width: auto;
-    padding: 0 10px;
+    padding: 0 20px;
   }
   .row {
     margin-left: 0;
@@ -2563,6 +2553,55 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     width: auto;
     margin: 0;
   }
+  .nav {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 180px;
+    padding-top: 40px;
+    list-style: none;
+  }
+  .nav, .nav > li:last-child a {
+    -webkit-border-radius: 0 0 4px 0;
+    -moz-border-radius: 0 0 4px 0;
+    border-radius: 0 0 4px 0;
+  }
+  .nav > li {
+    float: none;
+    display: none;
+  }
+  .nav > li > a {
+    float: none;
+    background-color: #222;
+  }
+  .nav > .active {
+    display: block;
+    position: absolute;
+    top: 0;
+    left: 0;
+  }
+  .navbar ul .active > a {
+    background-color: transparent;
+  }
+  .nav > .active a:after {
+    display: inline-block;
+    width: 0;
+    height: 0;
+    margin-top: 8px;
+    margin-left: 6px;
+    text-indent: -99999px;
+    vertical-align: top;
+    border-left: 4px solid transparent;
+    border-right: 4px solid transparent;
+    border-top: 4px solid #ffffff;
+    filter: alpha(opacity=100);
+    -moz-opacity: 1;
+    opacity: 1;
+    content: "&darr;";
+  }
+  .nav > .active a:hover {
+    background-color: rgba(255, 255, 255, 0.05);
+  }
 }
 @media (min-width: 768px) and (max-width: 940px) {
   .container {
@@ -2641,60 +2680,83 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     margin-left: 768px;
   }
 }
-/*
-// LARGE DESKTOP & UP
-// ------------------
-
 @media (min-width: 1210px) {
-
-  // Reset grid variables
-  @gridColumns:       12;
-  @gridColumnWidth:   70px;
-  @gridGutterWidth:   30px;
-  @siteWidth:         1170px;
-
-  // Bring grid mixins to recalculate widths
-  .columns(@columnSpan: 1) {
-    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
-  }
-  .offset(@columnOffset: 1) {
-    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
-  }
-
   .container {
-    width: @siteWidth;
+    width: 1170px;
   }
   [class*="span"] {
-    margin-left: @gridGutterWidth;
+    margin-left: 30px;
+  }
+  .span1 {
+    width: 70px;
+  }
+  .span2 {
+    width: 170px;
+  }
+  .span3 {
+    width: 270px;
+  }
+  .span4 {
+    width: 370px;
+  }
+  .span5 {
+    width: 470px;
+  }
+  .span6 {
+    width: 570px;
+  }
+  .span7 {
+    width: 670px;
+  }
+  .span8 {
+    width: 770px;
+  }
+  .span9 {
+    width: 870px;
+  }
+  .span10 {
+    width: 970px;
+  }
+  .span11 {
+    width: 1070px;
+  }
+  .span12 {
+    width: 1170px;
+  }
+  .offset1 {
+    margin-left: 100px;
+  }
+  .offset2 {
+    margin-left: 200px;
+  }
+  .offset3 {
+    margin-left: 300px;
+  }
+  .offset4 {
+    margin-left: 400px;
+  }
+  .offset5 {
+    margin-left: 500px;
+  }
+  .offset6 {
+    margin-left: 600px;
+  }
+  .offset7 {
+    margin-left: 700px;
+  }
+  .offset8 {
+    margin-left: 800px;
+  }
+  .offset9 {
+    margin-left: 900px;
+  }
+  .offset10 {
+    margin-left: 1000px;
+  }
+  .offset11 {
+    margin-left: 1100px;
+  }
+  .offset12 {
+    margin-left: 1200px;
   }
-
-  // Default columns
-  .span1     { .columns(1); }
-  .span2     { .columns(2); }
-  .span3     { .columns(3); }
-  .span4     { .columns(4); }
-  .span5     { .columns(5); }
-  .span6     { .columns(6); }
-  .span7     { .columns(7); }
-  .span8     { .columns(8); }
-  .span9     { .columns(9); }
-  .span10    { .columns(10); }
-  .span11    { .columns(11); }
-  .span12    { .columns(12); }
-
-  // Offset column options
-  .offset1   { .offset(1); }
-  .offset2   { .offset(2); }
-  .offset3   { .offset(3); }
-  .offset4   { .offset(4); }
-  .offset5   { .offset(5); }
-  .offset6   { .offset(6); }
-  .offset7   { .offset(7); }
-  .offset8   { .offset(8); }
-  .offset9   { .offset(9); }
-  .offset10  { .offset(10); }
-  .offset11  { .offset(11); }
-  .offset12  { .offset(12); }
-
 }
-*/
\ No newline at end of file
diff --git a/bootstrap.min.css b/bootstrap.min.css
index d8ee06c156..4ee8f84faa 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -173,7 +173,7 @@ tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 .bordered-table thead:last-child tr:last-child th:first-child,.bordered-table 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;}
 .bordered-table thead:last-child tr:last-child th:last-child,.bordered-table 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;}
 .striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
-.navbar{height:40px;overflow:visible;}
+.navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .navbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
 .navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
@@ -285,7 +285,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .step-nav .next{right:15px;}
 .step-nav .dot{display:inline-block;width:10px;height:10px;margin:0 3px;text-indent:-999em;background-color:#bfbfbf;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);}
 .step-nav .dot:hover,.step-nav .active .dot{background-color:#404040;}
-.subnav{position:relative;background-color:#eeeeee;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));background-image:-moz-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-ms-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));background-image:-webkit-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-o-linear-gradient(top, #f5f5f5, #eeeeee);background-image:linear-gradient(top, #f5f5f5, #eeeeee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.subnav a{padding:10px 15px;color:#0069d6;text-shadow:0 1px 0 #fff;border-left:1px solid #f9f9f9;border-right:1px solid #e5e5e5;}.subnav a:hover{color:#00438a;background-color:#eee;}
+.subnav{background-color:#eeeeee;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));background-image:-moz-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-ms-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));background-image:-webkit-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-o-linear-gradient(top, #f5f5f5, #eeeeee);background-image:linear-gradient(top, #f5f5f5, #eeeeee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);-webkit-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);-moz-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);}.subnav a{padding:8px 10px;font-size:12px;color:#0069d6;text-shadow:0 1px 0 #fff;border-left:1px solid #f9f9f9;border-right:1px solid #e5e5e5;}.subnav a:hover{color:#00438a;background-color:#eee;}
 .subnav li:first-child a{border-left:0;-webkit-border-radius:6px 0 0 6px;-moz-border-radius:6px 0 0 6px;border-radius:6px 0 0 6px;}
 .subnav li:last-child a{border-right:0;-webkit-border-radius:0 6px 6px 0;-moz-border-radius:0 6px 6px 0;border-radius:0 6px 6px 0;}
 .subnav ul .active>a{color:#404040;background-color:#eee;}
@@ -328,4 +328,5 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid li{display:inline;}
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
-@media (max-width: 480px){.container{width:auto;padding:0 15px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .modal{width:auto;margin:0;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;}}@media (min-width: 480px) and (max-width: 768px){.container{width:auto;padding:0 10px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+.hidden{display:none;visibility:hidden;}
+@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}@media (min-width: 1210px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index a7b52821e3..281b224e39 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -315,11 +315,6 @@ h2 + table {
 -------------------------------------------------- */
 @media (max-width: 480px) {
 
-  /* Hide the nav for now */
-  body > .navbar-fixed .nav {
-    display: none;
-  }
-
   /* Change up some type stuff */
   h1 small {
     display: block;
@@ -365,11 +360,6 @@ h2 + table {
 
 @media (max-width: 768px) {
 
-  /* Hide the nav for now */
-  body > .navbar-fixed .nav {
-    display: none;
-  }
-
   /* Adjust the jumbotron */
   .jumbotron .benefits {
     position: relative;
@@ -394,6 +384,9 @@ h2 + table {
   .footer .pull-right {
     float: none;
   }
+  .footer p {
+    margin-bottom: 9px;
+  }
 
 }
 
@@ -423,7 +416,7 @@ h2 + table {
   /* Provide enough space on right-hand side for benefits list */
   .jumbotron h1,
   .jumbotron p {
-    margin-right: 40%;
+    margin-right: 20%;
   }
 }
 
diff --git a/docs/assets/img/less-small.png b/docs/assets/img/less-small.png
new file mode 100644
index 0000000000000000000000000000000000000000..763b847e85440003b1fcf6d20cb83a89b21de707
GIT binary patch
literal 2235
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

literal 0
HcmV?d00001

diff --git a/docs/index.html b/docs/index.html
index ff7d56976d..16eed36c84 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -151,7 +151,7 @@
               <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <img class="icon" src="assets/img/less-small.png">
               <h2>Built on LESS</h2>
               <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
             </div>
@@ -175,7 +175,7 @@
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-twitter.png">
               <h3>Made at Twitter</h3>
-              <p>Brought to you by experienced engineers and designers.</p>
+              <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
             </div>
           </div><!--/row-->
         </div>
@@ -196,6 +196,16 @@
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
+
+    <script type="text/javascript">
+      $(document).ready(function() {
+        $('.nav .active a').click(function(e) {
+          e.preventDefault();
+          $(this).parent().siblings().toggle();
+        });
+      });
+    </script>
+
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/less.html b/docs/less.html
index 97d95a3ab9..e9334a5528 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -63,7 +63,7 @@
       <div class="row">
         <div class="span4">
           <h3>Why LESS?</h3>
-          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by Alexis Sellier. It makes developing systems-based CSS faster, easier, and more fun.</p>
+          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
         </div>
         <div class="span4">
           <h3>What's included?</h3>
@@ -72,7 +72,7 @@
         <div class="span4">
           <h3>Learn more</h3>
           <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
-          <p>Visit the official website at http://lesscss.org to learn more.</p>
+          <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
         </div>
       </div>
       <div class="row">
@@ -98,11 +98,7 @@
         <h1>Variables <small>from variables.less</small></h1>
       </div>
 
-      <div class="row">
-        <div class="span3">
           <h3>Hyperlinks</h3>
-        </div>
-        <div class="span9">
           <table class="bordered-table striped-table">
             <thead>
               <tr>
@@ -124,92 +120,70 @@
               </tr>
             </tbody>
           </table>
-        </div>
-      </div>
 
       <div class="row">
-        <div class="span3">
+        <div class="span6">
           <h3>Grayscale colors</h3>
-        </div>
-        <div class="span9">
           <table class="bordered-table striped-table">
             <tbody>
               <tr>
                 <td><code>@black</code></td>
                 <td>#000</td>
-                <td>Black</td>
               </tr>
               <tr>
                 <td><code>@grayDark</code></td>
                 <td><code>lighten(@black, 25%)</code></td>
-                <td>Dark gray</td>
               </tr>
               <tr>
                 <td><code>@gray</code></td>
                 <td><code>lighten(@black, 50%)</code></td>
-                <td>Medium gray</td>
               </tr>
               <tr>
                 <td><code>@grayLight</code></td>
                 <td><code>lighten(@black, 75%)</code></td>
-                <td>Light gray</td>
               </tr>
               <tr>
                 <td><code>@grayLighter</code></td>
                 <td><code>lighten(@black, 90%)</code></td>
-                <td>Lighter gray</td>
               </tr>
               <tr>
                 <td><code>@white</code></td>
                 <td>#fff</td>
-                <td>White</td>
               </tr>
             </tbody>
           </table>
         </div>
-      </div>
-
-      <div class="row">
-        <div class="span3">
+        <div class="span6">
           <h3>Accent colors</h3>
-        </div>
-        <div class="span9">
           <table class="bordered-table striped-table">
             <tbody>
               <tr>
                 <td><code>@blue</code></td>
                 <td>#049CDB</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@green</code></td>
                 <td>#46a546</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@red</code></td>
                 <td>#9d261d</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@yellow</code></td>
                 <td>#ffc40d</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@orange</code></td>
                 <td>#f89406</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@pink</code></td>
                 <td>#c3325f</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@purple</code></td>
                 <td>#7a43b6</td>
-                <td></td>
               </tr>
             </tbody>
           </table>
@@ -217,48 +191,36 @@
       </div>
 
       <div class="row">
-        <div class="span3">
+        <div class="span6">
           <h3>Grid system</h3>
-        </div>
-        <div class="span9">
           <table class="bordered-table striped-table">
             <tbody>
               <tr>
                 <td><code>@gridColumns</code></td>
                 <td>12</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@gridColumnWidth</code></td>
                 <td>60px</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@gridGutterWidth</code></td>
                 <td>20px</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@siteWidth</code></td>
                 <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
-                <td></td>
               </tr>
             </tbody>
           </table>
         </div>
-      </div>
-
-      <div class="row">
-        <div class="span3">
+        <div class="span6">
           <h3>Typography</h3>
-        </div>
-        <div class="span9">
           <table class="bordered-table striped-table">
             <tbody>
               <tr>
                 <td><code>@baseFontSize</code></td>
                 <td>13px</td>
-                <td></td>
               </tr>
               <tr>
                 <td><code>@baseFontFamily</code></td>
@@ -268,7 +230,6 @@
               <tr>
                 <td><code>@baseLineHeight</code></td>
                 <td>18px</td>
-                <td></td>
               </tr>
             </tbody>
           </table>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index dd7f05bc64..d4d1c65262 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -53,15 +53,6 @@
         <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
       </header>
 
-      <!-- Work in progress sub nav for docs -->
-      <div class="navbar subnav docked-top">
-        <ul class="nav">
-          <li class="active"><a href="#">Grid system</a></li>
-          <li><a href="#">Layouts</a></li>
-          <li><a href="#">Responsive</a></li>
-        </ul>
-      </div>
-
 
 
 <!-- Grid system
diff --git a/lib/patterns.less b/lib/patterns.less
index 15c3c9c067..cd2fdc01e8 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -13,7 +13,6 @@
 
 // Common styles
 .navbar {
-  height: @navBarHeight;
   overflow: visible;
 }
 // gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
@@ -303,8 +302,6 @@
 
 
 
-
-
 // PAGE HEADERS
 // ------------
 
diff --git a/lib/responsive.less b/lib/responsive.less
index f63f90c982..e0772b111b 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -3,26 +3,21 @@
 // -------------------------------------------------------------
 
 
+// RESPONSIVE CLASSES
+// ------------------
+
+// Hide from screenreaders and browsers
+// Credit: HTML5BP
+.hidden {
+  display: none;
+  visibility: hidden;
+}
+
+
 // UP TO LANDSCAPE PHONE
 // ---------------------
 
 @media (max-width: 480px) {
-  // Remove width from containers
-  .container {
-    width: auto;
-    padding: 0 15px;
-  }
-  // Undo negative margin on rows
-  .row {
-    margin-left: 0;
-  }
-  // Make all columns even
-  [class*="span"] {
-    float: none;
-    display: block;
-    width: auto;
-    margin: 0;
-  }
   // Resize modals
   .modal {
     width: auto;
@@ -30,36 +25,35 @@
   }
 
   // Remove the horizontal form styles
-  .form-horizontal .control-group > label {
+  .horizontal-form .control-group > label {
     float: none;
     width: auto;
     padding-top: 0;
     text-align: left;
   }
   // Move over all input controls and content
-  .form-horizontal .controls {
+  .horizontal-form .controls {
     margin-left: 0;
   }
   // Move the options list down to align with labels
-  .form-horizontal .control-list {
+  .horizontal-form .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 {
+  .horizontal-form .form-actions {
     padding-left: 0;
   }
-
 }
 
 
 // LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
 // --------------------------------------------------
 
-@media (min-width: 480px) and (max-width: 768px) {
+@media (max-width: 768px) {
   // Remove width from containers
   .container {
     width: auto;
-    padding: 0 10px;
+    padding: 0 20px;
   }
   // Undo negative margin on rows
   .row {
@@ -72,6 +66,54 @@
     width: auto;
     margin: 0;
   }
+
+  // Make the nav work for small devices
+  .nav {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 180px;
+    padding-top: 40px;
+    list-style: none;
+  }
+  .nav,
+  .nav > li:last-child a {
+    .border-radius(0 0 4px 0);
+  }
+  .nav > li {
+    float: none;
+    display: none;
+  }
+  .nav > li > a {
+    float: none;
+    background-color: #222;
+  }
+  .nav > .active {
+    display: block;
+    position: absolute;
+    top: 0;
+    left: 0;
+  }
+  .navbar ul .active > a {
+    background-color: transparent;
+  }
+  .nav > .active a:after {
+    display: inline-block;
+    width: 0;
+    height: 0;
+    margin-top: 8px;
+    margin-left: 6px;
+    text-indent: -99999px;
+    vertical-align: top;
+    border-left: 4px solid transparent;
+    border-right: 4px solid transparent;
+    border-top: 4px solid @white;
+    .opacity(100);
+    content: "&darr;";
+  }
+  .nav > .active a:hover {
+    background-color: rgba(255,255,255,.05);
+  }
 }
 
 
@@ -129,7 +171,6 @@
 
 }
 
-/*
 // LARGE DESKTOP & UP
 // ------------------
 
@@ -185,4 +226,3 @@
   .offset12  { .offset(12); }
 
 }
-*/
\ No newline at end of file
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index e9b58d04a5..ad6459c0d9 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -264,11 +264,12 @@
 // Subnav
 // STILL A WIP
 .subnav {
-  position: relative;
   #gradient > .vertical(#f5f5f5, #eeeeee);
-  .border-radius(6px);
+  @shadow: inset 0 1px 0 #fff, 0 0 5px rgba(0,0,0,.5);
+  .box-shadow(@shadow);
   a {
-    padding: 10px 15px;
+    padding: 8px 10px;
+    font-size: 12px;
     color: @linkColor;
     text-shadow: 0 1px 0 #fff;
     border-left: 1px solid #f9f9f9;
-- 
GitLab


From 1d1805ee5cb188f0c70b6a27e227ea6caca62c8e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 9 Dec 2011 11:41:00 -0800
Subject: [PATCH 119/576] add jank js for prototyping new topbar to all docs
 pages

---
 docs/base-css.html    | 11 +++++++++++
 docs/components.html  | 11 +++++++++++
 docs/index.html       |  1 +
 docs/javascript.html  | 13 ++++++++++++-
 docs/less.html        | 11 +++++++++++
 docs/scaffolding.html | 11 +++++++++++
 6 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 2b7d17b4a0..e087432fe8 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1118,6 +1118,17 @@
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+
+    <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
+      $(document).ready(function() {
+        $('.nav .active a').click(function(e) {
+          e.preventDefault();
+          $(this).parent().siblings().toggle();
+        });
+      });
+    </script>
+
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/components.html b/docs/components.html
index 833f532d9f..049908c205 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -683,6 +683,17 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+
+    <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
+      $(document).ready(function() {
+        $('.nav .active a').click(function(e) {
+          e.preventDefault();
+          $(this).parent().siblings().toggle();
+        });
+      });
+    </script>
+
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/index.html b/docs/index.html
index 16eed36c84..daf7eb3086 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -198,6 +198,7 @@
     <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
 
     <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
         $('.nav .active a').click(function(e) {
           e.preventDefault();
diff --git a/docs/javascript.html b/docs/javascript.html
index c541d57fbd..4e405521d1 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -25,7 +25,18 @@
 
     <!-- Le javascript -->
     <!-- placed up here so that the inline demos can be next to their markup -->
-    <script src="http://code.jquery.com/jquery-1.7.js"></script>
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+
+    <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
+      $(document).ready(function() {
+        $('.nav .active a').click(function(e) {
+          e.preventDefault();
+          $(this).parent().siblings().toggle();
+        });
+      });
+    </script>
+
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/less.html b/docs/less.html
index e9334a5528..cbc4103023 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -456,6 +456,17 @@
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+
+    <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
+      $(document).ready(function() {
+        $('.nav .active a').click(function(e) {
+          e.preventDefault();
+          $(this).parent().siblings().toggle();
+        });
+      });
+    </script>
+
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index d4d1c65262..625c4bdb70 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -373,6 +373,17 @@
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+
+    <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
+      $(document).ready(function() {
+        $('.nav .active a').click(function(e) {
+          e.preventDefault();
+          $(this).parent().siblings().toggle();
+        });
+      });
+    </script>
+
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
-- 
GitLab


From 7b810bf9a617e1f02e073aafcc70857dc915ee59 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 9 Dec 2011 12:10:01 -0800
Subject: [PATCH 120/576] update js in footer, add max-width to img

---
 bootstrap.css         | 4 +++-
 bootstrap.min.css     | 2 +-
 docs/base-css.html    | 4 ++--
 docs/components.html  | 4 ++--
 docs/index.html       | 5 +++--
 docs/javascript.html  | 4 ++--
 docs/less.html        | 4 ++--
 docs/scaffolding.html | 4 ++--
 lib/reset.less        | 2 ++
 9 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index adae67ec91..2180ae4463 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Dec  9 11:32:45 PST 2011
+ * Date: Fri Dec  9 12:09:50 PST 2011
  */
 html, body {
   margin: 0;
@@ -127,6 +127,8 @@ sub {
   bottom: -0.25em;
 }
 img {
+  max-width: 100%;
+  height: auto;
   border: 0;
   -ms-interpolation-mode: bicubic;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4ee8f84faa..cc4363fe3b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -12,7 +12,7 @@ audio:not([controls]){display:none;}
 sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
 sup{top:-0.5em;}
 sub{bottom:-0.25em;}
-img{border:0;-ms-interpolation-mode:bicubic;}
+img{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic;}
 button,input,select,textarea{margin:0;font-size:100%;vertical-align:baseline;*vertical-align:middle;}
 button,input{*overflow:visible;line-height:normal;}
 button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
diff --git a/docs/base-css.html b/docs/base-css.html
index e087432fe8..efdc1e2719 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1122,9 +1122,9 @@
     <script type="text/javascript">
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
-        $('.nav .active a').click(function(e) {
+        $('.nav .active').click(function(e) {
           e.preventDefault();
-          $(this).parent().siblings().toggle();
+          $(this).siblings().toggle();
         });
       });
     </script>
diff --git a/docs/components.html b/docs/components.html
index 049908c205..d0456cc743 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -687,9 +687,9 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
     <script type="text/javascript">
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
-        $('.nav .active a').click(function(e) {
+        $('.nav .active').click(function(e) {
           e.preventDefault();
-          $(this).parent().siblings().toggle();
+          $(this).siblings().toggle();
         });
       });
     </script>
diff --git a/docs/index.html b/docs/index.html
index daf7eb3086..0598fc449b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -4,6 +4,7 @@
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -200,9 +201,9 @@
     <script type="text/javascript">
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
-        $('.nav .active a').click(function(e) {
+        $('.nav .active').click(function(e) {
           e.preventDefault();
-          $(this).parent().siblings().toggle();
+          $(this).siblings().toggle();
         });
       });
     </script>
diff --git a/docs/javascript.html b/docs/javascript.html
index 4e405521d1..d71de69247 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -30,9 +30,9 @@
     <script type="text/javascript">
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
-        $('.nav .active a').click(function(e) {
+        $('.nav .active').click(function(e) {
           e.preventDefault();
-          $(this).parent().siblings().toggle();
+          $(this).siblings().toggle();
         });
       });
     </script>
diff --git a/docs/less.html b/docs/less.html
index cbc4103023..cd2c992df9 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -460,9 +460,9 @@
     <script type="text/javascript">
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
-        $('.nav .active a').click(function(e) {
+        $('.nav .active').click(function(e) {
           e.preventDefault();
-          $(this).parent().siblings().toggle();
+          $(this).siblings().toggle();
         });
       });
     </script>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 625c4bdb70..f597e7e887 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -377,9 +377,9 @@
     <script type="text/javascript">
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
-        $('.nav .active a').click(function(e) {
+        $('.nav .active').click(function(e) {
           e.preventDefault();
-          $(this).parent().siblings().toggle();
+          $(this).siblings().toggle();
         });
       });
     </script>
diff --git a/lib/reset.less b/lib/reset.less
index c95c7b04c5..2002154562 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -93,6 +93,8 @@ sub {
 // -------------------------
 // Source: http://github.com/necolas/normalize.css
 img {
+  max-width: 100%;
+  height: auto;
   border: 0;
   -ms-interpolation-mode: bicubic;
 }
-- 
GitLab


From 97b285896f50bed4a66b00a70ed67eb3224bc7f3 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 9 Dec 2011 12:51:54 -0800
Subject: [PATCH 121/576] help tables not look like shit on mobile maybe? also
 fix bordered table example

---
 bootstrap.css      | 3 ++-
 bootstrap.min.css  | 2 +-
 docs/base-css.html | 1 +
 lib/reset.less     | 6 +++++-
 4 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 2180ae4463..d52b96fa6c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Dec  9 12:09:50 PST 2011
+ * Date: Fri Dec  9 12:51:39 PST 2011
  */
 html, body {
   margin: 0;
@@ -70,6 +70,7 @@ td {
   font-family: inherit;
 }
 table {
+  max-width: 100%;
   border-collapse: collapse;
   border-spacing: 0;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index cc4363fe3b..6a728864f6 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -1,6 +1,6 @@
 html,body{margin:0;padding:0;}
 h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,em,img,q,s,samp,small,strike,strong,sub,sup,tt,var,dd,dl,dt,li,ol,ul,fieldset,form,label,legend,button,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;line-height:1;font-family:inherit;}
-table{border-collapse:collapse;border-spacing:0;}
+table{max-width:100%;border-collapse:collapse;border-spacing:0;}
 ol,ul{list-style:none;}
 q:before,q:after,blockquote:before,blockquote:after{content:"";}
 html{overflow-y:scroll;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
diff --git a/docs/base-css.html b/docs/base-css.html
index efdc1e2719..cb6c699f93 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -655,6 +655,7 @@
         <td>English</td>
       </tr>
       </tr>
+        <td>3</td>
         <td>Joe</td>
         <td>Sixpack</td>
         <td>English</td>
diff --git a/lib/reset.less b/lib/reset.less
index 2002154562..28638b6b37 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -10,7 +10,11 @@
 
 html, body { margin: 0; padding: 0; }
 h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, em, img, q, s, samp, small, strike, strong, sub, sup, tt, var, dd, dl, dt, li, ol, ul, fieldset, form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; font-weight: normal; font-style: normal; font-size: 100%; line-height: 1; font-family: inherit; }
-table { border-collapse: collapse; border-spacing: 0; }
+table {
+  max-width: 100%;
+  border-collapse: collapse;
+  border-spacing: 0;
+}
 ol, ul { list-style: none; }
 q:before, q:after, blockquote:before, blockquote:after { content: ""; }
 
-- 
GitLab


From 5c8df1d2858c3d5f2cc65a80acaef5312b1ae87f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 9 Dec 2011 14:34:38 -0800
Subject: [PATCH 122/576] updated index page to add featured sites, more docs
 tweaks

---
 bootstrap.css                                 |   7 ++--
 bootstrap.min.css                             |   2 +-
 docs/assets/css/docs.css                      |  10 ++++-
 docs/assets/img/example-sites/bartop.png      | Bin 0 -> 86214 bytes
 docs/assets/img/example-sites/fleetio.png     | Bin 0 -> 47275 bytes
 docs/assets/img/example-sites/jshint.png      | Bin 0 -> 8886 bytes
 docs/assets/img/example-sites/kippt.png       | Bin 0 -> 57064 bytes
 docs/assets/img/example-sites/railwayjs.png   | Bin 0 -> 34839 bytes
 .../img/example-sites/totalwireframe.png      | Bin 0 -> 47095 bytes
 docs/index.html                               |  37 ++++++++++++++++++
 lib/type.less                                 |   5 ++-
 11 files changed, 54 insertions(+), 7 deletions(-)
 create mode 100644 docs/assets/img/example-sites/bartop.png
 create mode 100644 docs/assets/img/example-sites/fleetio.png
 create mode 100644 docs/assets/img/example-sites/jshint.png
 create mode 100644 docs/assets/img/example-sites/kippt.png
 create mode 100644 docs/assets/img/example-sites/railwayjs.png
 create mode 100644 docs/assets/img/example-sites/totalwireframe.png

diff --git a/bootstrap.css b/bootstrap.css
index d52b96fa6c..0c1c02566a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Dec  9 12:51:39 PST 2011
+ * Date: Fri Dec  9 13:29:05 PST 2011
  */
 html, body {
   margin: 0;
@@ -436,9 +436,10 @@ dl dd {
   margin-left: 9px;
 }
 hr {
-  margin: 20px 0 19px;
+  margin: 27px 0;
   border: 0;
-  border-bottom: 1px solid #eee;
+  border-top: 1px solid #e5e5e5;
+  border-bottom: 1px solid #fff;
 }
 strong {
   font-style: inherit;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6a728864f6..336d6f68c4 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -78,7 +78,7 @@ ul.unstyled{margin-left:0;list-style:none;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
 dl dd{margin-left:9px;}
-hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;}
+hr{margin:27px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#bfbfbf;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 281b224e39..73e619d290 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -160,7 +160,10 @@ body > .navbar-fixed .brand:hover {
   margin-bottom: 18px;
 }
 .marketing h1 {
-  margin-bottom: 18px;
+  margin: 36px 0 27px;
+  font-size: 36px;
+  font-weight: 300;
+  text-align: center;
 }
 .marketing h2,
 .marketing h3 {
@@ -310,6 +313,11 @@ h2 + table {
   margin-top: 5px;
 }
 
+/* Example sites showcase */
+.example-sites img {
+  width: 290px;
+}
+
 
 /* Responsive Docs
 -------------------------------------------------- */
diff --git a/docs/assets/img/example-sites/bartop.png b/docs/assets/img/example-sites/bartop.png
new file mode 100644
index 0000000000000000000000000000000000000000..9628516367fcc933e1285e727d0b888da68d82c5
GIT binary patch
literal 86214
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

literal 0
HcmV?d00001

diff --git a/docs/assets/img/example-sites/fleetio.png b/docs/assets/img/example-sites/fleetio.png
new file mode 100644
index 0000000000000000000000000000000000000000..b48d6f010475d1620c5fa40c93e6fccc87073782
GIT binary patch
literal 47275
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

literal 0
HcmV?d00001

diff --git a/docs/assets/img/example-sites/jshint.png b/docs/assets/img/example-sites/jshint.png
new file mode 100644
index 0000000000000000000000000000000000000000..e532320a3ca4ecef52a3a34fe9a690b2a4619657
GIT binary patch
literal 8886
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
MsAwyfLabl>AFniQHUIzs

literal 0
HcmV?d00001

diff --git a/docs/assets/img/example-sites/kippt.png b/docs/assets/img/example-sites/kippt.png
new file mode 100644
index 0000000000000000000000000000000000000000..af15baa115fe37f40f92390a9d72c03ca3246be4
GIT binary patch
literal 57064
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

literal 0
HcmV?d00001

diff --git a/docs/assets/img/example-sites/railwayjs.png b/docs/assets/img/example-sites/railwayjs.png
new file mode 100644
index 0000000000000000000000000000000000000000..2480dd68e7208a42842dc85615641691ce17262a
GIT binary patch
literal 34839
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
LNkvXXu0mjfU{cQ|

literal 0
HcmV?d00001

diff --git a/docs/assets/img/example-sites/totalwireframe.png b/docs/assets/img/example-sites/totalwireframe.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6256138e58df4ca43b4fd3bb8eab75cd044d7bc
GIT binary patch
literal 47095
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

literal 0
HcmV?d00001

diff --git a/docs/index.html b/docs/index.html
index 0598fc449b..c2b9d12d7d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -106,6 +106,43 @@
 
 
         <div class="marketing">
+          <h1>Built with Bootstrap</h1>
+          <ul class="media-grid example-sites">
+            <li>
+              <a href="http://kippt.com/" target="_blank">
+                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
+              </a>
+            </li>
+            <li>
+              <a href="http://www.fleetio.com/" target="_blank">
+                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
+              </a>
+            </li>
+            <li>
+              <a href="http://www.jshint.com/" target="_blank">
+                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
+              </a>
+            </li>
+<!--
+            <li>
+              <a href="http://bartop.co/" target="_blank">
+                <img src="assets/img/example-sites/bartop.png" alt="Bartop.co">
+              </a>
+            </li>
+            <li>
+              <a href="http://railwayjs.com/" target="_blank">
+                <img src="assets/img/example-sites/railwayjs.png" alt="RailwayJS">
+              </a>
+            </li>
+            <li>
+              <a href="http://www.totalwireframe.com/" target="_blank">
+                <img src="assets/img/example-sites/totalwireframe.png" alt="Total Wireframe">
+              </a>
+            </li>
+ -->
+          </ul>
+
+          <h1>Designed for everyone, everywhere</h1>
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
diff --git a/lib/type.less b/lib/type.less
index bdc99acdfa..b2ba73b867 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -116,9 +116,10 @@ dl {
 
 // Horizontal rules
 hr {
-  margin: 20px 0 19px;
+  margin: @baseLineHeight * 1.5 0;
   border: 0;
-  border-bottom: 1px solid #eee;
+  border-top: 1px solid #e5e5e5;
+  border-bottom: 1px solid #fff;
 }
 
 // Emphasis
-- 
GitLab


From 4d55356e9b476cbfea5eb2ea01099dc19a5fc5f4 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 9 Dec 2011 14:39:23 -0800
Subject: [PATCH 123/576] remove uber large responsive stuff

---
 bootstrap.css       | 124 +++++++++++++++++---------------------------
 bootstrap.min.css   |   2 +-
 lib/responsive.less |   3 +-
 3 files changed, 52 insertions(+), 77 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0c1c02566a..6cfb0fbf90 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Dec  9 13:29:05 PST 2011
+ * Date: Fri Dec  9 14:39:08 PST 2011
  */
 html, body {
   margin: 0;
@@ -2684,83 +2684,57 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
     margin-left: 768px;
   }
 }
+/*
 @media (min-width: 1210px) {
-  .container {
-    width: 1170px;
-  }
-  [class*="span"] {
-    margin-left: 30px;
-  }
-  .span1 {
-    width: 70px;
-  }
-  .span2 {
-    width: 170px;
-  }
-  .span3 {
-    width: 270px;
-  }
-  .span4 {
-    width: 370px;
-  }
-  .span5 {
-    width: 470px;
-  }
-  .span6 {
-    width: 570px;
-  }
-  .span7 {
-    width: 670px;
-  }
-  .span8 {
-    width: 770px;
-  }
-  .span9 {
-    width: 870px;
-  }
-  .span10 {
-    width: 970px;
-  }
-  .span11 {
-    width: 1070px;
-  }
-  .span12 {
-    width: 1170px;
-  }
-  .offset1 {
-    margin-left: 100px;
-  }
-  .offset2 {
-    margin-left: 200px;
-  }
-  .offset3 {
-    margin-left: 300px;
-  }
-  .offset4 {
-    margin-left: 400px;
-  }
-  .offset5 {
-    margin-left: 500px;
-  }
-  .offset6 {
-    margin-left: 600px;
-  }
-  .offset7 {
-    margin-left: 700px;
-  }
-  .offset8 {
-    margin-left: 800px;
+
+  // Reset grid variables
+  @gridColumns:       12;
+  @gridColumnWidth:   70px;
+  @gridGutterWidth:   30px;
+  @siteWidth:         1170px;
+
+  // Bring grid mixins to recalculate widths
+  .columns(@columnSpan: 1) {
+    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
   }
-  .offset9 {
-    margin-left: 900px;
+  .offset(@columnOffset: 1) {
+    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
   }
-  .offset10 {
-    margin-left: 1000px;
-  }
-  .offset11 {
-    margin-left: 1100px;
+
+  .container {
+    width: @siteWidth;
   }
-  .offset12 {
-    margin-left: 1200px;
+  [class*="span"] {
+    margin-left: @gridGutterWidth;
   }
+
+  // Default columns
+  .span1     { .columns(1); }
+  .span2     { .columns(2); }
+  .span3     { .columns(3); }
+  .span4     { .columns(4); }
+  .span5     { .columns(5); }
+  .span6     { .columns(6); }
+  .span7     { .columns(7); }
+  .span8     { .columns(8); }
+  .span9     { .columns(9); }
+  .span10    { .columns(10); }
+  .span11    { .columns(11); }
+  .span12    { .columns(12); }
+
+  // Offset column options
+  .offset1   { .offset(1); }
+  .offset2   { .offset(2); }
+  .offset3   { .offset(3); }
+  .offset4   { .offset(4); }
+  .offset5   { .offset(5); }
+  .offset6   { .offset(6); }
+  .offset7   { .offset(7); }
+  .offset8   { .offset(8); }
+  .offset9   { .offset(9); }
+  .offset10  { .offset(10); }
+  .offset11  { .offset(11); }
+  .offset12  { .offset(12); }
+
 }
+*/
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 336d6f68c4..0be081c0af 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -329,4 +329,4 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
 .media-grid a:hover{border-color:#0069d6;-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);}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}@media (min-width: 1210px){.container{width:1170px;} [class*="span"]{margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12{width:1170px;} .offset1{margin-left:100px;} .offset2{margin-left:200px;} .offset3{margin-left:300px;} .offset4{margin-left:400px;} .offset5{margin-left:500px;} .offset6{margin-left:600px;} .offset7{margin-left:700px;} .offset8{margin-left:800px;} .offset9{margin-left:900px;} .offset10{margin-left:1000px;} .offset11{margin-left:1100px;} .offset12{margin-left:1200px;}}
+@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/responsive.less b/lib/responsive.less
index e0772b111b..c74f6b98e0 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -173,7 +173,7 @@
 
 // LARGE DESKTOP & UP
 // ------------------
-
+/*
 @media (min-width: 1210px) {
 
   // Reset grid variables
@@ -226,3 +226,4 @@
   .offset12  { .offset(12); }
 
 }
+*/
-- 
GitLab


From d587845149471ad9ed07bc57c1a8652c54d17c55 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 10 Dec 2011 22:21:08 -0800
Subject: [PATCH 124/576] tweaks and increase specificity of pills and active
 classes

---
 bootstrap.css       | 8 ++++----
 bootstrap.min.css   | 4 ++--
 docs/index.html     | 2 +-
 lib/tabs-pills.less | 4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6cfb0fbf90..b7a820f716 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Dec  9 14:39:08 PST 2011
+ * Date: Sat Dec 10 22:20:18 PST 2011
  */
 html, body {
   margin: 0;
@@ -2062,7 +2062,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
   border-top-color: #555;
 }
-.pills a {
+.pills > a {
   padding: 0 15px;
   margin: 5px 3px 5px 0;
   line-height: 30px;
@@ -2071,13 +2071,13 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius: 15px;
   border-radius: 15px;
 }
-.pills a:hover {
+.pills > a:hover {
   color: #ffffff;
   text-decoration: none;
   text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
   background-color: #00438a;
 }
-.pills .active a {
+.pills .active > a {
   color: #ffffff;
   text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
   background-color: #0069d6;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0be081c0af..3a77a1df22 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -274,8 +274,8 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
 .tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.pills a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
-.pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
+.pills>a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills>a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
+.pills .active>a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
 .pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
diff --git a/docs/index.html b/docs/index.html
index c2b9d12d7d..0a63c19103 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -57,7 +57,7 @@
             <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
-              <a href="./scaffolding.html" class="btn btn-large">Get started</a>
+              <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
               Currently v2.0.0
             </p>
 
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index ad6459c0d9..26c62c950a 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -182,7 +182,7 @@
 
 // Pills
 .pills {
-  a {
+  > a {
     padding: 0 15px;
     margin: 5px 3px 5px 0;
     line-height: 30px;
@@ -195,7 +195,7 @@
       background-color: @linkColorHover;
     }
   }
-  .active a {
+  .active > a {
     color: @white;
     text-shadow: 0 1px 1px rgba(0,0,0,.25);
     background-color: @linkColor;
-- 
GitLab


From d2e56ad53d5d5c93cd6206a6829ee2054f583c5b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 10 Dec 2011 22:29:49 -0800
Subject: [PATCH 125/576] unstyle image inputs

---
 bootstrap.css     | 10 +++++++---
 bootstrap.min.css |  3 ++-
 lib/forms.less    |  8 +++++++-
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index b7a820f716..5fb8b6fc88 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Dec 10 22:20:18 PST 2011
+ * Date: Sat Dec 10 22:29:17 PST 2011
  */
 html, body {
   margin: 0;
@@ -567,8 +567,7 @@ select,
   -moz-border-radius: 3px;
   border-radius: 3px;
 }
-/* Mini reset for unique input types */
-input[type=checkbox], input[type=radio] {
+input[type=image], input[type=checkbox], input[type=radio] {
   width: auto;
   height: auto;
   padding: 0;
@@ -605,6 +604,11 @@ select[multiple] {
   height: inherit;
   background-color: #ffffff;
 }
+input[type=image] {
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+}
 textarea {
   height: auto;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 3a77a1df22..eecca66d0b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -96,11 +96,12 @@ legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#404040;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
+input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;*margin-top:4px;line-height:27px;}
 select[multiple]{height:inherit;background-color:#ffffff;}
+input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
 input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
 input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
diff --git a/lib/forms.less b/lib/forms.less
index e85b9f2015..8d4369b186 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -53,7 +53,8 @@ select,
   .border-radius(3px);
 }
 
-/* Mini reset for unique input types */
+// Mini reset for unique input types
+input[type=image],
 input[type=checkbox],
 input[type=radio] {
   width: auto;
@@ -98,6 +99,11 @@ select[multiple] {
   background-color: @white; // Fixes Chromium bug?
 }
 
+// Remove shadow from image inputs
+input[type=image] {
+  .box-shadow(none);
+}
+
 textarea {
   height: auto;
 }
-- 
GitLab


From 95048c271eb4166a4e22ab1f0ff6d69bade7d62b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 11 Dec 2011 01:03:57 -0800
Subject: [PATCH 126/576] fix specificity on pills

---
 bootstrap.css       | 6 +++---
 bootstrap.min.css   | 2 +-
 lib/tabs-pills.less | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 79fe4826cf..1c04bc09c9 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Dec 11 00:58:00 PST 2011
+ * Date: Sun Dec 11 01:03:44 PST 2011
  */
 html, body {
   margin: 0;
@@ -2074,7 +2074,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
   border-top-color: #555;
 }
-.pills > a {
+.pills > li > a {
   padding: 0 15px;
   margin: 5px 3px 5px 0;
   line-height: 30px;
@@ -2083,7 +2083,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius: 15px;
   border-radius: 15px;
 }
-.pills > a:hover {
+.pills > li > a:hover {
   color: #ffffff;
   text-decoration: none;
   text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 48cc90703e..b9e7dd1ee5 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -276,7 +276,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
 .tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.pills>a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills>a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
+.pills>li>a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills>li>a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
 .pills .active>a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
 .pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index 26c62c950a..23ba9ccfac 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -182,7 +182,7 @@
 
 // Pills
 .pills {
-  > a {
+  > li > a {
     padding: 0 15px;
     margin: 5px 3px 5px 0;
     line-height: 30px;
-- 
GitLab


From 401f84a7ec65996a8573671b2c17077f85e63e6f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 11 Dec 2011 01:58:06 -0800
Subject: [PATCH 127/576] center example sites in docs on mobile

---
 bootstrap.css            |  2 +-
 docs/assets/css/docs.css | 20 ++++++++++++++++++++
 docs/index.html          | 11 ++++++++++-
 3 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 1c04bc09c9..49164fa53d 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Dec 11 01:03:44 PST 2011
+ * Date: Sun Dec 11 01:57:49 PST 2011
  */
 html, body {
   margin: 0;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 73e619d290..9324f99901 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -323,6 +323,11 @@ h2 + table {
 -------------------------------------------------- */
 @media (max-width: 480px) {
 
+  /* Reduce padding above jumbotron */
+  body {
+    padding-top: 70px;
+  }
+
   /* Change up some type stuff */
   h1 small {
     display: block;
@@ -362,6 +367,21 @@ h2 + table {
   .quick-links {
     margin: 40px 0 0;
   }
+  /* hide the bullets on mobile since our horizontal space is limited */
+  .quick-links .divider {
+    display: none;
+  }
+
+  /* center example sites */
+  .example-sites {
+    margin-left: 0;
+  }
+  .example-sites a {
+    float: none;
+    display: block;
+    max-width: 300px;
+    margin: 0 auto 18px;
+  }
 
 }
 
diff --git a/docs/index.html b/docs/index.html
index 0a63c19103..55a75b1bf6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -54,7 +54,7 @@
         <header class="jumbotron masthead">
           <div class="inner">
             <h1>Bootstrap,<br> from Twitter</h1>
-            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
+            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
               <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
@@ -236,6 +236,15 @@
     <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
 
     <script type="text/javascript">
+      // When ready...
+      window.addEventListener("load",function() {
+        // Set a timeout...
+        setTimeout(function(){
+          // Hide the address bar!
+          window.scrollTo(0, 1);
+        }, 0);
+      });
+
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
       $(document).ready(function() {
         $('.nav .active').click(function(e) {
-- 
GitLab


From ecbc9ec4a2cbd3f68067b869c328d55e8afc8aa6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 11 Dec 2011 02:03:16 -0800
Subject: [PATCH 128/576] updated footers everywhere

---
 docs/base-css.html    | 7 +++----
 docs/components.html  | 7 +++----
 docs/javascript.html  | 7 +++----
 docs/less.html        | 7 +++----
 docs/scaffolding.html | 7 +++----
 5 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index b353a538d4..811bb01bd8 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1108,10 +1108,9 @@
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-        </p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
 
diff --git a/docs/components.html b/docs/components.html
index c8e0a6ab49..b4a88dd078 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -674,10 +674,9 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-        </p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
 
diff --git a/docs/javascript.html b/docs/javascript.html
index d71de69247..4e40041320 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1025,10 +1025,9 @@ $('#myCollapsible').bind('hidden', function () {
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-        </p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
   </body>
diff --git a/docs/less.html b/docs/less.html
index cd2c992df9..ab276eeced 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -446,10 +446,9 @@
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-        </p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index f597e7e887..cb8e067dba 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -363,10 +363,9 @@
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>
-          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
-          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
-        </p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
 
-- 
GitLab


From 54a84f0f7f217ea12249857d2b2d5ad4795e41e2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 11 Dec 2011 02:05:50 -0800
Subject: [PATCH 129/576] clearer grid vars docs language

---
 docs/scaffolding.html | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index cb8e067dba..8b7e620fb9 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -174,22 +174,22 @@
       <tr>
         <td><code>@gridColumns</code></td>
         <td>12</td>
-        <td>The number of columns within the grid</td>
+        <td>Number of columns</td>
       </tr>
       <tr>
         <td><code>@gridColumnWidth</code></td>
         <td>60px</td>
-        <td>The width of each column within the grid</td>
+        <td>Width of each column</td>
       </tr>
       <tr>
         <td><code>@gridGutterWidth</code></td>
         <td>20px</td>
-        <td>The negative space between each column</td>
+        <td>Negative space between columns</td>
       </tr>
       <tr>
         <td><code>@siteWidth</code></td>
         <td><em>Computed sum of all columns and gutters</em></td>
-        <td>We use some basic match to count the number of columns and gutters and set the width of the <code>.fixed-container()</code> mixin.</td>
+        <td>Counts number of columns and gutters to set width of the <code>.fixed-container()</code> mixin</td>
       </tr>
     </tbody>
   </table>
-- 
GitLab


From 4e8c26d409c60f50e2ab245e74ec18af5131d838 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 11 Dec 2011 02:38:58 -0800
Subject: [PATCH 130/576] updated buttons docs

---
 bootstrap.css            |  2 +-
 docs/assets/css/docs.css |  1 -
 docs/base-css.html       | 18 ++++++------------
 3 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 49164fa53d..4e5055c1b7 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Dec 11 01:57:49 PST 2011
+ * Date: Sun Dec 11 02:07:42 PST 2011
  */
 html, body {
   margin: 0;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 9324f99901..7c1e65942d 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -382,7 +382,6 @@ h2 + table {
     max-width: 300px;
     margin: 0 auto 18px;
   }
-
 }
 
 
diff --git a/docs/base-css.html b/docs/base-css.html
index 811bb01bd8..2098974027 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -990,40 +990,34 @@
   <table class="bordered-table striped-table">
     <thead>
       <tr>
-        <th>Name</th>
-        <th>Preview</th>
+        <th>Button</th>
         <th>Class</th>
         <th>Description</th>
       </tr>
     </thead>
     <tbody>
       <tr>
-        <th>Default</th>
-        <td><a class="btn" href="#">Button</a></td>
+        <td><a class="btn" href="#">Default</a></td>
         <td><code>.btn</code></td>
         <td>Standard gray button with gradient</td>
       </tr>
       <tr>
-        <th>Primary</th>
-        <td><a class="btn primary" href="#">Button</a></td>
+        <td><a class="btn primary" href="#">Primary</a></td>
         <td><code>.primary</code></td>
         <td>Makes button blue for more visual weight to indicate the primary action in a set of buttons</td>
       </tr>
       <tr>
-        <th>Info</th>
-        <td><a class="btn info" href="#">Button</a></td>
+        <td><a class="btn info" href="#">Info</a></td>
         <td><code>.info</code></td>
         <td>Used as an alternate to the default styles</td>
       </tr>
       <tr>
-        <th>Success</th>
-        <td><a class="btn success" href="#">Button</a></td>
+        <td><a class="btn success" href="#">Success</a></td>
         <td><code>.success</code></td>
         <td>Used to indicate a successful or positive action will be taken</td>
       </tr>
       <tr>
-        <th>Danger</th>
-        <td><a class="btn danger" href="#">Button</a></td>
+        <td><a class="btn danger" href="#">Danger</a></td>
         <td><code>.danger</code></td>
         <td>Used to indicate a dangerous or potentially negative action will be taken</td>
       </tr>
-- 
GitLab


From d681ae9f51b85d8e1efae2a819ce289266d7efd0 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 12 Dec 2011 09:51:41 -0800
Subject: [PATCH 131/576] updated docs to include other less apps

---
 bootstrap.css            |  2 +-
 docs/assets/css/docs.css |  6 ++++++
 docs/less.html           | 16 ++++++++++++++--
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4e5055c1b7..6411413ff7 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Dec 11 02:07:42 PST 2011
+ * Date: Mon Dec 12 09:51:27 PST 2011
  */
 html, body {
   margin: 0;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 7c1e65942d..586b5334b1 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -382,6 +382,12 @@ h2 + table {
     max-width: 300px;
     margin: 0 auto 18px;
   }
+
+  table code {
+    white-space: normal;
+    word-wrap: break-word;
+    word-break: break-all;
+  }
 }
 
 
diff --git a/docs/less.html b/docs/less.html
index ab276eeced..52de8b6aac 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -392,7 +392,7 @@
     <h2 id="compiling">Compiling Less</h2>
     <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
     <h3>Ways to compile</h3>
-    <table class="striped-table">
+    <table class="bordered-table striped-table">
       <thead>
         <tr>
           <th style="width: 120px;">Method</th>
@@ -428,12 +428,24 @@
           </td>
         </tr>
         <tr>
-          <td>Mac app</td>
+          <td><a href="http://incident57.com/less/" target="_blank">Unofficial Mac app</a></td>
           <td>
             <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
             <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
           </td>
         </tr>
+        <tr>
+          <td><a href="http://crunchapp.net/" target="_blank">Crunch</a></td>
+          <td>Crunch is a great looking LESS editor and compiler built on Adobe Air.</td>
+        </tr>
+        <tr>
+          <td><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></td>
+          <td>Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.</td>
+        </tr>
+        <tr>
+          <td><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></td>
+          <td>Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.</td>
+        </tr>
       </tbody>
     </table>
   </div>
-- 
GitLab


From aa69286c306ab4d0e5fe748953cded81f8260cc1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 13 Dec 2011 10:05:19 -0800
Subject: [PATCH 132/576] rename transitions js file, fix link in js docs

---
 docs/javascript.html                                     | 2 +-
 js/{bootstrap-transition.js => bootstrap-transitions.js} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename js/{bootstrap-transition.js => bootstrap-transitions.js} (100%)

diff --git a/docs/javascript.html b/docs/javascript.html
index 4e40041320..6c0e12c192 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -39,7 +39,7 @@
 
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-transitions.js"></script>
     <script src="../js/bootstrap-alert.js"></script>
     <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
diff --git a/js/bootstrap-transition.js b/js/bootstrap-transitions.js
similarity index 100%
rename from js/bootstrap-transition.js
rename to js/bootstrap-transitions.js
-- 
GitLab


From 7df0d1c7d18a72f401094d08afa4eaa9142fe511 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 14 Dec 2011 18:45:33 -0800
Subject: [PATCH 133/576] rename transitions to transition and fix scrollspy
 example

---
 docs/assets/css/docs.css   |  6 +++++
 docs/javascript.html       |  2 +-
 js/bootstrap-transition.js | 45 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+), 1 deletion(-)
 create mode 100644 js/bootstrap-transition.js

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 586b5334b1..fa8c92e505 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -318,6 +318,12 @@ h2 + table {
   width: 290px;
 }
 
+.scrollspy-example {
+  height: 200px;
+  overflow: auto;
+  position: relative;
+}
+
 
 /* Responsive Docs
 -------------------------------------------------- */
diff --git a/docs/javascript.html b/docs/javascript.html
index 6c0e12c192..4e40041320 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -39,7 +39,7 @@
 
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-alert.js"></script>
     <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
diff --git a/js/bootstrap-transition.js b/js/bootstrap-transition.js
new file mode 100644
index 0000000000..25f8b111f1
--- /dev/null
+++ b/js/bootstrap-transition.js
@@ -0,0 +1,45 @@
+/* ===================================================
+ * bootstrap-transitions.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html
+ * ===================================================
+ * Copyright 2011 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 () {
+
+  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+   * ======================================================= */
+
+  $.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 && {
+      end: (function () {
+        var transitionEnd = "TransitionEnd"
+        if ( $.browser.webkit ) {
+        	transitionEnd = "webkitTransitionEnd"
+        } else if ( $.browser.mozilla ) {
+        	transitionEnd = "transitionend"
+        } else if ( $.browser.opera ) {
+        	transitionEnd = "oTransitionEnd"
+        }
+        return transitionEnd
+      }())
+    }
+  })()
+
+})
\ No newline at end of file
-- 
GitLab


From 72a536393c2f2aba4f855384e94c4ce09bc2e39c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 19 Dec 2011 22:58:56 -0800
Subject: [PATCH 134/576] mostly docs updates, but also some bug fixes per
 github issues

---
 bootstrap.css            |  35 +++++---
 bootstrap.min.css        |  15 ++--
 docs/assets/css/docs.css |   4 +-
 docs/components.html     | 179 +++++++++++++++++++++++++--------------
 docs/javascript.html     |   2 +-
 docs/scaffolding.html    |  51 ++++++-----
 docs/upgrading.html      | 152 +++++++++++++++++++++++++++++++++
 lib/forms.less           |   6 +-
 lib/media-grids.less     |  49 ++++++-----
 9 files changed, 364 insertions(+), 129 deletions(-)
 create mode 100644 docs/upgrading.html

diff --git a/bootstrap.css b/bootstrap.css
index 6411413ff7..f57423b0c7 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Dec 12 09:51:27 PST 2011
+ * Date: Mon Dec 19 22:58:34 PST 2011
  */
 html, body {
   margin: 0;
@@ -600,9 +600,11 @@ select, input[type=file] {
 
   line-height: 27px;
 }
+select {
+  background-color: #ffffff;
+}
 select[multiple] {
   height: inherit;
-  background-color: #ffffff;
 }
 input[type=image] {
   -webkit-box-shadow: none;
@@ -2492,27 +2494,28 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .popover .content p, .popover .content ul, .popover .content ol {
   margin-bottom: 0;
 }
-.media-grid {
+.thumbnails {
   margin-left: -20px;
   margin-bottom: 0;
+  list-style: none;
   zoom: 1;
 }
-.media-grid:before, .media-grid:after {
+.thumbnails:before, .thumbnails:after {
   display: table;
   *display: inline;
   content: "";
   zoom: 1;
 }
-.media-grid:after {
+.thumbnails:after {
   clear: both;
 }
-.media-grid li {
-  display: inline;
-}
-.media-grid a {
+.thumbnails > li {
   float: left;
-  padding: 4px;
   margin: 0 0 20px 20px;
+}
+.thumbnail {
+  display: block;
+  line-height: 1;
   border: 1px solid #ddd;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
@@ -2521,15 +2524,19 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
   box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
 }
-.media-grid a img {
-  display: block;
-}
-.media-grid a:hover {
+a.thumbnail:hover {
   border-color: #0069d6;
   -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);
 }
+.thumbnail > img {
+  display: block;
+  margin: 4px;
+}
+.thumbnail .caption {
+  padding: 9px;
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b9e7dd1ee5..4bb1adc5c0 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -100,7 +100,8 @@ input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;*margin-top:4px;line-height:27px;}
-select[multiple]{height:inherit;background-color:#ffffff;}
+select{background-color:#ffffff;}
+select[multiple]{height:inherit;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
 input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
@@ -325,10 +326,12 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
 .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;}
 .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;-webkit-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;}
-.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;*display:inline;content:"";zoom:1;}
-.media-grid:after{clear:both;}
-.media-grid li{display:inline;}
-.media-grid a{float:left;padding:4px;margin:0 0 20px 20px;border:1px solid #ddd;-webkit-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);}.media-grid a img{display:block;}
-.media-grid a:hover{border-color:#0069d6;-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);}
+.thumbnails{margin-left:-20px;margin-bottom:0;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
+.thumbnails:after{clear:both;}
+.thumbnails>li{float:left;margin:0 0 20px 20px;}
+.thumbnail{display:block;line-height:1;border:1px solid #ddd;-webkit-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);}
+a.thumbnail:hover{border-color:#0069d6;-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);}
+.thumbnail>img{display:block;margin:4px;}
+.thumbnail .caption{padding:9px;}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 586b5334b1..3cf2208e96 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -25,7 +25,7 @@ body > .navbar-fixed .brand {
   float: right;
   font-weight: bold;
   color: #000;
-  text-shadow: 0 1px 0 rgba(255,255,255,.1);
+  text-shadow: 0 1px 0 rgba(255,255,255,.1), 0 0 30px rgba(255,255,255,.125);
 }
 body > .navbar-fixed .brand:hover {
   text-decoration: none;
@@ -449,7 +449,7 @@ h2 + table {
   /* Provide enough space on right-hand side for benefits list */
   .jumbotron h1,
   .jumbotron p {
-    margin-right: 20%;
+    margin-right: 40%;
   }
 }
 
diff --git a/docs/components.html b/docs/components.html
index b4a88dd078..56e71b0f7f 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -58,94 +58,145 @@
 ================================================== -->
 <section id="media">
   <div class="page-header">
-    <h1>Media <small>Displaying images and videos</small></h1>
+    <h1>Thumbnails <small>Grids of images, videos, text, and more</small></h1>
   </div>
-  <!-- Table structure -->
+
   <div class="row">
-    <div class="span3">
-      <h2>Media grid</h2>
-      <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
-    </div>
-    <div class="span9">
-      <h3>Example thumbnails</h3>
-      <p>Thumbnails in the <code>.media-grid</code> can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the <code>.span2</code>, <code>.span4</code>, and <code>.span6</code> column sizes.</p>
-      <h4>Large</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+    <div class="span6">
+      <h2>Default thumbnails</h2>
+      <p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p>
+      <ul class="thumbnails">
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
           </a>
         </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
           </a>
         </li>
-      </ul>
-      <h4>Medium</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
           </a>
         </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
           </a>
         </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+      </ul>
+    </div>
+    <div class="span6">
+      <h2>Highly customizable</h2>
+      <p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p>
+      <ul class="thumbnails">
+        <li class="span3">
+          <div class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+            <div class="caption">
+              <h5>Thumbnail label</h5>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+            </div>
+          </div>
+        </li>
+        <li class="span3">
+          <div class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+            <div class="caption">
+              <h5>Thumbnail label</h5>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+            </div>
+          </div>
+        </li>
+      </ul>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Why use thumbnails</h3>
+      <p>Thumbnails (previously <code>.media-grid</code> up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.</p>
+    </div>
+    <div class="span4">
+      <h3>Simple, flexible markup</h3>
+      <p>Thumbnail markup is simple&mdash;a <code>ul</code> with any number of <code>li</code> elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.</p>
+    </div>
+    <div class="span4">
+      <h3>Uses grid column sizes</h3>
+      <p>Lastly, the thumbnails component uses existing grid system classes&mdash;like <code>.span2</code> or <code>.span3</code>&mdash;for control of thumbnail dimensions.</p>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h2>The markup</h2>
+      <p>As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup <strong>for linked images</strong>:</p>
+<pre class="prettyprint linenums">
+&lt;ul class="thumbnails"&gt;
+  &lt;li class="span3"&gt;
+    &lt;a href="#" class="thumbnail"&gt;
+      &lt;img src="http://placehold.it/210x150" alt=""&gt;
+    &lt;/a&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+      <p>For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <code>&lt;a&gt;</code> for a <code>&lt;div&gt;</code> like so:</p>
+<pre class="prettyprint linenums">
+&lt;ul class="thumbnails"&gt;
+  &lt;li class="span3"&gt;
+    &lt;div class="thumbnail"&gt;
+      &lt;img src="http://placehold.it/210x150" alt=""&gt;
+      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
+      &lt;p&gt;Thumbnail caption right here...&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span6">
+      <h2>More examples</h2>
+      <p>Explore all your options with the various grid classes available to you. You can also mix and match different sizes.</p>
+      <ul class="thumbnails">
+        <li class="span4">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/290x230" alt="">
           </a>
         </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
           </a>
         </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
           </a>
         </li>
-      </ul>
-      <h4>Small</h4>
-      <ul class="media-grid">
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
           </a>
         </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
           </a>
         </li>
-        <li>
-          <a href="#">
-            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
           </a>
         </li>
       </ul>
-      <h4>Coding them</h4>
-      <p>Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.</p>
-<pre class="prettyprint linenums">
-&lt;ul class="media-grid"&gt;
-  &lt;li&gt;
-    &lt;a href="#"&gt;
-      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
-    &lt;/a&gt;
-  &lt;/li&gt;
-  &lt;li&gt;
-    &lt;a href="#"&gt;
-      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
-    &lt;/a&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;
-</pre>
     </div>
-  </div><!-- /row -->
+  </div>
+
 </section>
 
 
diff --git a/docs/javascript.html b/docs/javascript.html
index 6c0e12c192..56e60e98c7 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -819,7 +819,7 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
 <pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
 &lt;script&gt;
   $('.btn').button('complete')
-&lt;/scrip&gt;</pre>
+&lt;/script&gt;</pre>
           <h3>Demo</h3>
           <table class="striped-table">
             <tbody>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 8b7e620fb9..7431ae58b3 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -64,34 +64,34 @@
 
   <h2>Default 940px grid</h2>
   <div class="row show-grid">
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
-    <div class="span1">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
+    <div class="span1" title="60px">1</div>
   </div>
   <div class="row show-grid">
-    <div class="span4">4</div>
-    <div class="span4">4</div>
-    <div class="span4">4</div>
+    <div class="span4" title="300px">4</div>
+    <div class="span4" title="300px">4</div>
+    <div class="span4" title="300px">4</div>
   </div>
   <div class="row show-grid">
-    <div class="span4">4</div>
-    <div class="span8">8</div>
+    <div class="span4" title="300px">4</div>
+    <div class="span8" title="620px">8</div>
   </div>
   <div class="row show-grid">
-    <div class="span6">6</div>
-    <div class="span6">6</div>
+    <div class="span6" title="460px">6</div>
+    <div class="span6" title="460px">6</div>
   </div>
   <div class="row show-grid">
-    <div class="span12">12</div>
+    <div class="span12" title="940px">12</div>
   </div>
 
   <div class="row">
@@ -383,6 +383,17 @@
       });
     </script>
 
+    <script type="text/javascript">
+      // Show grid dimensions on hover
+      $(document).ready(function() {
+        $('.show-grid > div').hover(function() {
+          var width = $(this).width();
+          $(this).attr('title', width);
+          $(this).twipsy();
+        });
+      });
+    </script>
+
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/upgrading.html b/docs/upgrading.html
new file mode 100644
index 0000000000..cd0ca8e22d
--- /dev/null
+++ b/docs/upgrading.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter: Upgrading from v1.4 to v2.0</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
+    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+  </head>
+
+  <body>
+
+    <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li><a href="./index.html">Overview</a></li>
+            <li><a href="./scaffolding.html">Scaffolding</a></li>
+            <li><a href="./base-css.html">Base CSS</a></li>
+            <li><a href="./components.html">Components</a></li>
+            <li><a href="./javascript.html">Javascript plugins</a></li>
+            <li class="active"><a href="./less.html">Using LESS</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Upgrading to Bootstrap 2</h1>
+        <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
+      </header>
+
+
+<h2>Rough outline</h2>
+<ul>
+  <li>Docs completely overhauled
+    <ul>
+      <li>Responsive thanks to new grid system</li>
+      <li>Now less marketing and more information</li>
+      <li>Extensive use of tables to share classes and elements of most components</li>
+      <li>Broken down into several pages for easier consumption</li>
+    </ul>
+  </li>
+  <li>Updated grid system, now only 12 columns
+    <ul>
+      <li>Same great classes, but now only 12 columns</li>
+      <li>Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more</li>
+    </ul>
+  </li>
+  <li>New thumbnails (previously media grids)
+    <ul>
+      <li><code>.media-grid</code> class has been changed to <code>.thumbnails</code></li>
+      <li>Individual thumbnails now require <code>.thumbnail</code> class</li>
+    </ul>
+  </li>
+  <li>Updated forms
+    <ul>
+      <li>Default form style is now stacked to use less CSS and add flexibility</li>
+      <li>Exact same markup is required for vertical or horizontal forms&mdash;just swap the classes</li>
+      <li>New form defaults for search, inline, vertical, and horizontal</li>
+    </ul>
+  </li>
+  <li>Updated tables
+    <ul>
+      <li>Table classes made more consistent</li>
+      <li>Removed unused table color options (too much code for such little impact)</li>
+    </ul>
+  </li>
+  <li>Typography
+    <ul>
+      <li>Right-aligned option for blockquotes if float: right;</li>
+    </ul>
+  </li>
+  <li>Buttons
+    <ul>
+      <li>Added button bar options</li>
+    </ul>
+  </li>
+  <li>
+    <ul>
+      <li></li>
+    </ul>
+  </li>
+</ul>
+
+<!--
+
+
+
+-->
+
+
+
+
+
+      <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+      </footer>
+    </div><!-- /container -->
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+
+    <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
+      $(document).ready(function() {
+        $('.nav .active').click(function(e) {
+          e.preventDefault();
+          $(this).siblings().toggle();
+        });
+      });
+    </script>
+
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/lib/forms.less b/lib/forms.less
index 8d4369b186..a73e6f545f 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -93,10 +93,14 @@ input[type=file] {
   line-height: @baseLineHeight * 1.5;
 }
 
+// Chrome on Linux needs background color
+select {
+  background-color: @white;
+}
+
 // Make multiple select elements height not fixed
 select[multiple] {
   height: inherit;
-  background-color: @white; // Fixes Chromium bug?
 }
 
 // Remove shadow from image inputs
diff --git a/lib/media-grids.less b/lib/media-grids.less
index 7ceade651b..12626df3f1 100644
--- a/lib/media-grids.less
+++ b/lib/media-grids.less
@@ -1,26 +1,33 @@
-// MEDIA GRIDS
-// -----------
+// THUMBNAILS
+// ----------
 
-.media-grid {
+.thumbnails {
   margin-left: -20px;
   margin-bottom: 0;
+  list-style: none;
   .clearfix();
-  li {
-    display: inline;
-  }
-  a {
-    float: left;
-    padding: 4px;
-    margin: 0 0 20px 20px;
-    border: 1px solid #ddd;
-    .border-radius(4px);
-    .box-shadow(0 1px 1px rgba(0,0,0,.075));
-    img {
-      display: block;
-    }
-    &:hover {
-      border-color: @linkColor;
-      .box-shadow(0 1px 4px rgba(0,105,214,.25));
-    }
-  }
+}
+.thumbnails > li {
+  float: left;
+  margin: 0 0 20px 20px;
+}
+.thumbnail {
+  display: block;
+  line-height: 1;
+  border: 1px solid #ddd;
+  .border-radius(4px);
+  .box-shadow(0 1px 1px rgba(0,0,0,.075));
+}
+// Add a hover state for linked versions only
+a.thumbnail:hover {
+  border-color: @linkColor;
+  .box-shadow(0 1px 4px rgba(0,105,214,.25));
+}
+// Images and captions
+.thumbnail > img {
+  display: block;
+  margin: 4px;
+}
+.thumbnail .caption {
+  padding: 9px;
 }
-- 
GitLab


From 1ef5fa7d6b4e50230c0c12919b0a06a9a2ac07f1 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 20 Dec 2011 18:02:47 -0800
Subject: [PATCH 135/576] giant refactor - all spec passing again...

---
 docs/javascript.html                          |   29 +-
 js/README.md                                  |    4 +-
 js/bootstrap-alert.js                         |    6 +-
 js/bootstrap-button.js                        |   12 +-
 js/bootstrap-carousel.js                      |   18 +-
 js/bootstrap-collapse.js                      |   14 +-
 js/bootstrap-dropdown.js                      |    6 +-
 js/bootstrap-modal.js                         |   20 +-
 js/bootstrap-popover.js                       |   38 +-
 js/bootstrap-scrollspy.js                     |    4 +-
 js/bootstrap-tab.js                           |    8 +-
 js/bootstrap-transitions.js                   |   45 -
 js/bootstrap-twipsy.js                        |  226 +-
 js/tests/index.html                           |   24 +-
 ...bootstrap-alerts.js => bootstrap-alert.js} |   10 +-
 js/tests/unit/bootstrap-button.js             |   54 +
 js/tests/unit/bootstrap-collapse.js           |   25 +
 js/tests/unit/bootstrap-dropdown.js           |   21 +-
 js/tests/unit/bootstrap-modal.js              |   28 +-
 js/tests/unit/bootstrap-popover.js            |   12 +-
 js/tests/unit/bootstrap-scrollspy.js          |    6 +-
 js/tests/unit/bootstrap-tab.js                |   46 +
 js/tests/unit/bootstrap-tabs.js               |   49 -
 js/tests/unit/bootstrap-transition.js         |   13 +
 js/tests/unit/bootstrap-twipsy.js             |   36 +-
 js/tests/vendor/jquery.js                     | 9252 +++++++++++++++++
 js/tests/vendor/qunit.css                     |    2 +-
 27 files changed, 9618 insertions(+), 390 deletions(-)
 delete mode 100644 js/bootstrap-transitions.js
 rename js/tests/unit/{bootstrap-alerts.js => bootstrap-alert.js} (74%)
 create mode 100644 js/tests/unit/bootstrap-button.js
 create mode 100644 js/tests/unit/bootstrap-collapse.js
 create mode 100644 js/tests/unit/bootstrap-tab.js
 delete mode 100644 js/tests/unit/bootstrap-tabs.js
 create mode 100644 js/tests/unit/bootstrap-transition.js
 create mode 100644 js/tests/vendor/jquery.js

diff --git a/docs/javascript.html b/docs/javascript.html
index 4e40041320..964d2f7aaf 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -25,7 +25,8 @@
 
     <!-- Le javascript -->
     <!-- placed up here so that the inline demos can be next to their markup -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
 
     <script type="text/javascript">
       // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
@@ -52,15 +53,13 @@
     <script>
       $(function () {
         // twipsy demo
-        $("a[rel=twipsy]").twipsy({
-          live: true
+        $('.twipsy-demo.well').twipsy({
+          selector: "a[rel=twipsy]"
         })
 
         //popover demo
         $("a[rel=popover]")
-          .popover({
-            offset: 10
-          })
+          .popover()
           .click(function(e) {
             e.preventDefault()
           })
@@ -94,7 +93,7 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Javascript for Bootstrap</h1>
-        <p class="lead">Bring Bootstrap's components to life with flexible, custom javascript plugins for many of our custom components that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>.</p>
+        <p class="lead">Bring Bootstrap's components to life with 12 custom, flexible <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
       </header>
 
 
@@ -112,7 +111,7 @@
      </div>
      <div class="span9">
       <h3>What's included</h3>
-       <p>Bring some of Bootstrap's primary components to life with new custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>. We encourage you to extend and modify them to fit your specific development needs.</p>
+       <p>Bring some of Bootstrap's primary components to life with custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins. We encourage you to extend and modify them to fit your specific development needs.</p>
        <table class="striped-table">
          <thead>
            <tr>
@@ -138,7 +137,7 @@
              <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap navbar.</td>
            </tr>
            <tr>
-             <td><a href="./javascript.html#tabs">bootstrap-tab.js</a></td>
+             <td><a href="./javascript.html#tab">bootstrap-tab.js</a></td>
              <td>This plugin adds quick, dynamic tab and pill functionality for cycling through local content.</td>
            </tr>
            <tr>
@@ -444,9 +443,9 @@ $('#myModal').bind('hidden', function () {
     <!-- Tabs
     ================================================== -->
 
-    <section id="tabs">
+    <section id="tab">
       <div class="page-header">
-        <h1>Tabs <small>bootstrap-tab.js</small></h1>
+        <h1>Tab <small>bootstrap-tab.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
@@ -467,7 +466,7 @@ $('#myModal').bind('hidden', function () {
           <h3>Methods</h3>
           <h4>$().tab</h4>
           <p>
-            Activates tab functionality for a given element controller. Tab should have either a `data-target` or an `href` referencing a node in the dom.
+            Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
           </p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
@@ -504,7 +503,7 @@ $('#myModal').bind('hidden', function () {
                <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
             </tr>
             <tr>
-               <td>show</td>
+               <td>shown</td>
                <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
              </tr>
             </tbody>
@@ -634,8 +633,8 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
           <p>Hides an elements twipsy.</p>
           <pre class="prettyprint linenums">$('#element').twipsy('hide')</pre>
           <h3>Demo</h3>
-          <div class="well">
-            <p class="muted">Tight pants next level keffiyeh <a href="#" rel='twipsy' title='Some title text'>you probably</a> 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 <a href="#" rel='twipsy' title='Another twipsy'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='twipsy' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='twipsy' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+          <div class="twipsy-demo well">
+            <p class="muted">Tight pants next level keffiyeh <a href="#" rel='twipsy' title="first twipsy">you probably</a> 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 <a href="#" rel='twipsy' title='Another twipsy'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='twipsy' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='twipsy' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
             </p>
           </div>
         </div>
diff --git a/js/README.md b/js/README.md
index 2eef9e7357..107dd15281 100644
--- a/js/README.md
+++ b/js/README.md
@@ -21,7 +21,7 @@ To target a specific plugin, just include the plugins name as a namespace along
 
 We also believe you should be able to use all plugins provided by Bootstrap purely through the JS API.
 
-All public APIs should be a single, chainable method, and return the collection acted upon.
+All public APIs should be single, chainable methods, and return the collection acted upon.
 
     $(".btn.danger").button("toggle").addClass("fat")
 
@@ -73,7 +73,7 @@ examples:
 
     // control other targets
     data-toggle="modal" data-target="#foo"
-    data-toggle="collapse" data-target="#foo" data-parent="#foo"
+    data-toggle="collapse" data-target="#foo" data-parent="#bar"
 
     // defined on element they control
     data-spy="scroll"
diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index 0691300808..db9116f761 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -27,7 +27,7 @@
 
   var dismiss = '[data-dismiss="alert"]'
     , Alert = function ( el ) {
-        $(el).delegate(dismiss, 'click', this.close)
+        $(el).on('click', dismiss, this.close)
       }
 
   Alert.prototype = {
@@ -72,7 +72,7 @@
   * ============== */
 
   $(function () {
-    $('body').delegate(dismiss, 'click.alert.data-api', Alert.prototype.close)
+    $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
   })
 
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js
index 4ed24d98b9..508835a38f 100644
--- a/js/bootstrap-button.js
+++ b/js/bootstrap-button.js
@@ -24,16 +24,16 @@
  /* BUTTON PUBLIC CLASS DEFINITION
   * ============================== */
 
-  var Button = function (element, options) {
+  var Button = function ( element, options ) {
     this.$element = $(element)
-    this.settings = $.extend({}, $.fn.button.defaults, options)
+    this.options = $.extend({}, $.fn.button.defaults, options)
   }
 
   Button.prototype = {
 
       constructor: Button
 
-    , setState: function (state) {
+    , setState: function ( state ) {
         var d = 'disabled'
           , $el = this.$element
           , data = $el.data()
@@ -42,7 +42,7 @@
         state = state + 'Text'
         data.resetText || $el.data('resetText', $el[val]())
 
-        $el[val](data[state] || this.settings[state])
+        $el[val](data[state] || this.options[state])
 
         // push to event loop to allow forms to submit
         setTimeout(function () {
@@ -90,9 +90,9 @@
   * =============== */
 
   $(function () {
-    $('body').delegate('[data-toggle^=button]', 'click.button.data-api', function (e) {
+    $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
       $(e.srcElement).button('toggle')
     })
   })
 
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 9513b4cd21..e2b36884b5 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -25,8 +25,8 @@
  /* CAROUSEL CLASS DEFINITION
   * ========================= */
 
-  var Carousel = function ( el ) {
-    $(el).delegate(dismiss, 'click', this.close)
+  var Carousel = function () {
+
   }
 
   Carousel.prototype = {
@@ -40,20 +40,12 @@
   $.fn.carousel = function ( option ) {
     return this.each(function () {
       var $this = $(this)
-        , data = $this.data('alert')
-      if (!data) $this.data('alert', (data = new Alert(this)))
+        , data = $this.data('carousel')
+      if (!data) $this.data('carousel', (data = new Carousel(this)))
       if (typeof option == 'string') data[option].call($this)
     })
   }
 
   $.fn.carousel.Carousel = Carousel
 
-
- /* CAROUSEL DATA-API
-  * ================= */
-
-  // $(function () {
-  //   $('body').delegate(dismiss, 'click.alert.data-api', Alert.prototype.close)
-  // })
-
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index f56f6c7050..8eefd8863a 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -23,13 +23,13 @@
 
   var Collapse = function ( element, options ) {
   	this.$element = $(element)
-    this.settings = $.extend({}, $.fn.collapse.defaults, options)
+    this.options = $.extend({}, $.fn.collapse.defaults, options)
 
-    if (this.settings["parent"]) {
-      this.$parent = $(this.settings["parent"])
+    if (this.options["parent"]) {
+      this.$parent = $(this.options["parent"])
     }
 
-    this.settings.toggle && this.toggle()
+    this.options.toggle && this.toggle()
   }
 
   Collapse.prototype = {
@@ -123,13 +123,13 @@
   * ==================== */
 
   $(function () {
-    $('body').delegate('[data-toggle=collapse]', 'click.collapse.data-api', function ( e ) {
+    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
       var $this = $(this)
         , target = $this.attr('data-target') || $this.attr('href')
         , option = $(target).data('collapse') ? 'toggle' : $this.data()
-        e.preventDefault()
+      e.preventDefault()
       $(target).collapse(option)
     })
   })
 
-})( window.jQuery || window.ender )
\ No newline at end of file
+})( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 238a52e086..d2881b2762 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -68,8 +68,8 @@
    * =================================== */
 
   $(function () {
-    $('html').bind('click.dropdown.data-api', clearMenus)
-    $('body').delegate(toggle, 'click.dropdown.data-api', Dropdown.prototype.toggle)
+    $('html').on('click.dropdown.data-api', clearMenus)
+    $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
   })
 
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 189bcf2acc..38f4f51a29 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -26,10 +26,9 @@
   * ====================== */
 
   var Modal = function ( content, options ) {
-    this.settings = $.extend({}, $.fn.modal.defaults, options)
+    this.options = $.extend({}, $.fn.modal.defaults, options)
     this.$element = $(content)
       .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
-    this.settings.show && this.show()
   }
 
   Modal.prototype = {
@@ -107,7 +106,7 @@
     })
   }
 
-  function hideModal (that) {
+  function hideModal( that ) {
     this.$element
       .hide()
       .trigger('hidden')
@@ -115,17 +114,17 @@
     backdrop.call(this)
   }
 
-  function backdrop ( callback ) {
+  function backdrop( callback ) {
     var that = this
       , animate = this.$element.hasClass('fade') ? 'fade' : ''
 
-    if (this.isShown && this.settings.backdrop) {
+    if (this.isShown && this.options.backdrop) {
       var doAnimate = $.support.transition && animate
 
       this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
         .appendTo(document.body)
 
-      if (this.settings.backdrop != 'static') {
+      if (this.options.backdrop != 'static') {
         this.$backdrop.click($.proxy(this.hide, this))
       }
 
@@ -156,7 +155,7 @@
 
   function escape() {
     var that = this
-    if (this.isShown && this.settings.keyboard) {
+    if (this.isShown && this.options.keyboard) {
       $(document).bind('keyup.dismiss.modal', function ( e ) {
         e.which == 27 && that.hide()
       })
@@ -176,6 +175,7 @@
         , options = typeof option == 'object' && option
       if (!data) $this.data('modal', (data = new Modal(this, options)))
       if (typeof option == 'string') data[option]()
+      else if (data.options.show) data.show()
     })
   }
 
@@ -191,8 +191,8 @@
  /* MODAL DATA-API
   * ============== */
 
-  $(document).ready(function () {
-    $('body').delegate('[data-toggle="modal"]', 'click.modal.data-api', function ( e ) {
+  $(function () {
+    $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
       var $this = $(this)
         , target = $this.attr('data-target') || $this.attr('href')
         , option = $(target).data('modal') ? 'toggle' : $this.data()
@@ -201,4 +201,4 @@
     })
   })
 
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 890f6efc0b..a0495ce699 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -23,10 +23,7 @@
  "use strict"
 
   var Popover = function ( element, options ) {
-    this.$element = $(element)
-    this.options = options
-    this.enabled = true
-    this.fixTitle()
+    this.init('popover', element, options)
   }
 
   /* NOTE: POPOVER EXTENDS BOOTSTRAP-TWIPSY.js
@@ -53,14 +50,13 @@
 
   , getContent: function () {
       var content
-       , $e = this.$element
-       , o = this.options
+        , $e = this.$element
+        , o = this.options
 
-      if (typeof this.options.content == 'string') {
-        content = $e.attr(this.options.content)
-      } else if (typeof this.options.content == 'function') {
-        content = this.options.content.call(this.$element[0])
-      }
+      content = $e.attr('data-content')
+        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
+
+      content = content.toString().replace(/(^\s*|\s*$)/, "")
 
       return content
     }
@@ -79,18 +75,22 @@
  /* POPOVER PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.popover = function (options) {
-    if (typeof options == 'object') options = $.extend({}, $.fn.popover.defaults, options)
-    $.fn.twipsy.initWith.call(this, options, Popover, 'popover')
-    return this
+  $.fn.popover = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('popover')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('popover', (data = new Popover(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
   }
 
+  $.fn.popover.Popover = Popover
+
   $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
     placement: 'right'
-  , content: 'data-content'
+  , content: ''
   , template: '<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>'
   })
 
-  $.fn.twipsy.rejectAttrOptions.push( 'content' )
-
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 8248b6cbdd..3c271793c0 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -31,7 +31,7 @@
     this.selector = (this.$scrollElement.attr('data-target')
       || this.$scrollElement.attr('href')
       || '') + ' .nav li > a'
-    this.$body = $('body').delegate(this.selector, 'click.scroll.data-api', process)
+    this.$body = $('body').on('click.scroll.data-api', this.selector, process)
 
     this.refresh()
     this.process()
@@ -111,4 +111,4 @@
 
   $(function () { $('[data-spy="scroll"]').scrollspy() })
 
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index 6aa8ae32cf..e0a92816d4 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -79,7 +79,7 @@
  /* TAB PLUGIN DEFINITION
   * ===================== */
 
-  $.fn.tab = function (option) {
+  $.fn.tab = function ( option ) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('tab')
@@ -94,11 +94,11 @@
  /* TAB DATA-API
   * ============ */
 
-  $(document).ready(function () {
-    $('body').delegate('[data-toggle="tab"], [data-toggle="pill"]', 'click.tab.data-api', function (e) {
+  $(function () {
+    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
       e.preventDefault()
       $(this).tab('show')
     })
   })
 
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-transitions.js b/js/bootstrap-transitions.js
deleted file mode 100644
index 25f8b111f1..0000000000
--- a/js/bootstrap-transitions.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/* ===================================================
- * bootstrap-transitions.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html
- * ===================================================
- * Copyright 2011 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 () {
-
-  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-   * ======================================================= */
-
-  $.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 && {
-      end: (function () {
-        var transitionEnd = "TransitionEnd"
-        if ( $.browser.webkit ) {
-        	transitionEnd = "webkitTransitionEnd"
-        } else if ( $.browser.mozilla ) {
-        	transitionEnd = "transitionend"
-        } else if ( $.browser.opera ) {
-        	transitionEnd = "oTransitionEnd"
-        }
-        return transitionEnd
-      }())
-    }
-  })()
-
-})
\ No newline at end of file
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index ca8ac8800f..ee9a415fdb 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -1,7 +1,7 @@
 /* ==========================================================
  * bootstrap-twipsy.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#twipsy
- * Adapted from the original jQuery.tipsy by Jason Frame
+ * Inspired by the original jQuery.tipsy by Jason Frame
  * ==========================================================
  * Copyright 2011 Twitter, Inc.
  *
@@ -26,22 +26,83 @@
   * ============================== */
 
   var Twipsy = function ( element, options ) {
-    this.$element = $(element)
-    this.options = options
-    this.enabled = true
-    this.fixTitle()
+    this.init('twipsy', element, options)
   }
 
   Twipsy.prototype = {
 
     constructor: Twipsy
 
-  , show: function() {
-      var pos
+  , 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 && 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) {
+        self.show()
+      } else {
+        self.hoverState = 'in'
+        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) {
+        self.hide()
+      } else {
+        setTimeout(function() {
+          self.hoverState = 'out'
+          if (self.hoverState == 'out') {
+            self.hide()
+          }
+        }, self.options.delay.hide)
+      }
+    }
+
+  , show: function () {
+      var $tip
+        , pos
         , actualWidth
         , actualHeight
         , placement
-        , $tip
         , tp
 
       if (this.hasContent() && this.enabled) {
@@ -69,16 +130,16 @@
 
         switch (placement) {
           case 'below':
-            tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
+            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
             break
           case 'above':
-            tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
+            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 - this.options.offset}
+            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 + this.options.offset}
+            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
             break
         }
 
@@ -95,7 +156,7 @@
       $tip[0].className = 'twipsy'
     }
 
-  , hide: function() {
+  , hide: function () {
       var that = this
         , $tip = this.tip()
 
@@ -110,7 +171,7 @@
         removeElement()
     }
 
-  , fixTitle: function() {
+  , 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')
@@ -121,29 +182,24 @@
       return this.getTitle()
     }
 
-  , getTitle: function() {
+  , getTitle: function () {
       var title
         , $e = this.$element
         , o = this.options
 
-        this.fixTitle()
-
-        if (typeof o.title == 'string') {
-          title = $e.attr(o.title == 'title' ? 'data-original-title' : o.title)
-        } else if (typeof o.title == 'function') {
-          title = o.title.call($e[0])
-        }
+      title = $e.attr('data-original-title')
+        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
 
-        title = ('' + title).replace(/(^\s*|\s*$)/, "")
+      title = title.toString().replace(/(^\s*|\s*$)/, "")
 
-        return title
+      return title
     }
 
-  , tip: function() {
+  , tip: function () {
       return this.$tip = this.$tip || $('<div class="twipsy" />').html(this.options.template)
     }
 
-  , validate: function() {
+  , validate: function () {
       if (!this.$element[0].parentNode) {
         this.hide()
         this.$element = null
@@ -151,15 +207,15 @@
       }
     }
 
-  , enable: function() {
+  , enable: function () {
       this.enabled = true
     }
 
-  , disable: function() {
+  , disable: function () {
       this.enabled = false
     }
 
-  , toggleEnabled: function() {
+  , toggleEnabled: function () {
       this.enabled = !this.enabled
     }
 
@@ -177,91 +233,18 @@
      return typeof thing == 'function' ? thing.apply(ctx, args) : thing
    }
 
+
  /* TWIPSY PLUGIN DEFINITION
   * ======================== */
 
-  $.fn.twipsy = function (options) {
-    $.fn.twipsy.initWith.call(this, options, Twipsy, 'twipsy')
-    return this
-  }
-
-  $.fn.twipsy.initWith = function (options, Base, name) {
-    var twipsy
-      , binder
-      , eventIn
-      , eventOut
-
-    if (typeof options == 'string') {
-      return this.each(function (){
-        twipsy = $.data(this, name)
-        if (twipsy) twipsy[options]()
-      })
-    }
-
-    options = $.extend({}, $.fn[name].defaults, options)
-
-    if (options.delay && typeof options.delay == 'number') {
-      options.delay = {
-        show: options.delay
-      , hide: options.delay
-      }
-    }
-
-    function get(ele) {
-      var twipsy = $.data(ele, name)
-
-      if (!twipsy) {
-        twipsy = new Base(ele, $.fn.twipsy.elementOptions(ele, options))
-        $.data(ele, name, twipsy)
-      }
-
-      return twipsy
-    }
-
-    function enter() {
-      var twipsy = get(this)
-      twipsy.hoverState = 'in'
-
-      if (!options.delay || !options.delay.show) {
-        twipsy.show()
-      } else {
-        twipsy.fixTitle()
-        setTimeout(function() {
-          if (twipsy.hoverState == 'in') {
-            twipsy.show()
-          }
-        }, options.delay.show)
-      }
-    }
-
-    function leave() {
-      var twipsy = get(this)
-      twipsy.hoverState = 'out'
-      if (!options.delay || !options.delay.hide) {
-        twipsy.hide()
-      } else {
-        setTimeout(function() {
-          if (twipsy.hoverState == 'out') {
-            twipsy.hide()
-          }
-        }, options.delay.hide)
-      }
-    }
-
-    if (!options.live) {
-      this.each(function() {
-        get(this)
-      })
-    }
-
-    if (options.trigger != 'manual') {
-      binder   = options.live ? 'live' : 'bind'
-      eventIn  = options.trigger == 'hover' ? 'mouseenter' : 'focus'
-      eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur'
-      this[binder](eventIn, enter)[binder](eventOut, leave)
-    }
-
-    return this
+  $.fn.twipsy = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('twipsy')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('twipsy', (data = new Twipsy(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
   }
 
   $.fn.twipsy.Twipsy = Twipsy
@@ -269,26 +252,11 @@
   $.fn.twipsy.defaults = {
     animate: true
   , delay: 0
+  , selector: false
   , placement: 'above'
-  , live: false
-  , offset: 0
   , trigger: 'hover'
-  , title: 'title'
+  , title: ''
   , template: '<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>'
   }
 
-  $.fn.twipsy.rejectAttrOptions = [ 'title' ]
-
-  $.fn.twipsy.elementOptions = function(ele, options) {
-    var data = $(ele).data()
-      , rejects = $.fn.twipsy.rejectAttrOptions
-      , i = rejects.length
-
-    while (i--) {
-      delete data[rejects[i]]
-    }
-
-    return $.extend({}, options, data)
-  }
-
-}( window.jQuery || window.ender )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/tests/index.html b/js/tests/index.html
index 617fcd92ab..e8ed2c5feb 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -4,28 +4,36 @@
   <title>Bootstrap Plugin Test Suite</title>
 
   <!-- jquery -->
-  <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
+  <!--<script src="http://code.jquery.com/jquery-1.7.min.js"></script>-->
+  <script src="vendor/jquery.js"></script>
 
   <!-- qunit -->
   <link rel="stylesheet" href="vendor/qunit.css" type="text/css" media="screen" />
   <script src="vendor/qunit.js"></script>
 
   <!--  plugin sources -->
-  <script src="../../js/bootstrap-transitions.js"></script>
-  <script src="../../js/bootstrap-alerts.js"></script>
+  <script src="../../js/bootstrap-transition.js"></script>
+  <script src="../../js/bootstrap-alert.js"></script>
+  <script src="../../js/bootstrap-button.js"></script>
+  <script src="../../js/bootstrap-collapse.js"></script>
   <script src="../../js/bootstrap-dropdown.js"></script>
   <script src="../../js/bootstrap-modal.js"></script>
-  <script src="../../js/bootstrap-tabs.js"></script>
+  <script src="../../js/bootstrap-scrollspy.js"></script>
+  <script src="../../js/bootstrap-tab.js"></script>
   <script src="../../js/bootstrap-twipsy.js"></script>
   <script src="../../js/bootstrap-popover.js"></script>
 
   <!-- unit tests -->
-  <script src="unit/bootstrap-alerts.js"></script>
+  <script src="unit/bootstrap-transition.js"></script>
+  <script src="unit/bootstrap-alert.js"></script>
+  <script src="unit/bootstrap-button.js"></script>
+  <script src="unit/bootstrap-collapse.js"></script>
   <script src="unit/bootstrap-dropdown.js"></script>
   <script src="unit/bootstrap-modal.js"></script>
-  <script src="unit/bootstrap-popover.js"></script>
-  <script src="unit/bootstrap-tabs.js"></script>
+  <script src="unit/bootstrap-scrollspy.js"></script>
+  <script src="unit/bootstrap-tab.js"></script>
   <script src="unit/bootstrap-twipsy.js"></script>
+  <script src="unit/bootstrap-popover.js"></script>
 
 <body>
   <div>
@@ -33,7 +41,7 @@
     <h2 id="qunit-banner"></h2>
     <h2 id="qunit-userAgent"></h2>
     <ol id="qunit-tests"></ol>
-    <div id="qunit-runoff"></div>
+    <div id="qunit-fixture"></div>
   </div>
 </body>
 </html>
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-alerts.js b/js/tests/unit/bootstrap-alert.js
similarity index 74%
rename from js/tests/unit/bootstrap-alerts.js
rename to js/tests/unit/bootstrap-alert.js
index 152d97ab77..8eecaff0d2 100644
--- a/js/tests/unit/bootstrap-alerts.js
+++ b/js/tests/unit/bootstrap-alert.js
@@ -12,7 +12,7 @@ $(function () {
 
       test("should fade element out on clicking .close", function () {
         var alertHTML = '<div class="alert-message warning fade in">'
-          + '<a class="close" href="#">×</a>'
+          + '<a class="close" href="#" data-dismiss="alert">×</a>'
           + '<p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>'
           + '</div>'
           , alert = $(alertHTML).alert()
@@ -26,16 +26,16 @@ $(function () {
         $.support.transition = false
 
         var alertHTML = '<div class="alert-message warning fade in">'
-          + '<a class="close" href="#">×</a>'
+          + '<a class="close" href="#" data-dismiss="alert">×</a>'
           + '<p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>'
           + '</div>'
-          , alert = $(alertHTML).appendTo('#qunit-runoff').alert()
+          , alert = $(alertHTML).appendTo('#qunit-fixture').alert()
 
-        ok($('#qunit-runoff').find('.alert-message').length, 'element added to dom')
+        ok($('#qunit-fixture').find('.alert-message').length, 'element added to dom')
 
         alert.find('.close').click()
 
-        ok(!$('#qunit-runoff').find('.alert-message').length, 'element removed from dom')
+        ok(!$('#qunit-fixture').find('.alert-message').length, 'element removed from dom')
       })
 
 })
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-button.js b/js/tests/unit/bootstrap-button.js
new file mode 100644
index 0000000000..59e8f33bc9
--- /dev/null
+++ b/js/tests/unit/bootstrap-button.js
@@ -0,0 +1,54 @@
+$(function () {
+
+    module("bootstrap-buttons")
+
+      test("should be defined on jquery object", function () {
+        ok($(document.body).button, 'tabs method is defined')
+      })
+
+      test("should return element", function () {
+        ok($(document.body).button()[0] == document.body, 'document.body returned')
+      })
+
+      test("should return set state to loading", function () {
+        var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+        equals(btn.html(), 'mdo', 'btn text equals mdo')
+        btn.button('loading')
+        equals(btn.html(), 'fat', 'btn text equals fat')
+        stop()
+        setTimeout(function () {
+          ok(btn.attr('disabled'), 'btn is disabled')
+          ok(btn.hasClass('disabled'), 'btn has disabled class')
+          start()
+        }, 0)
+      })
+
+      test("should return reset state", function () {
+        var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+        equals(btn.html(), 'mdo', 'btn text equals mdo')
+        btn.button('loading')
+        equals(btn.html(), 'fat', 'btn text equals fat')
+        stop()
+        setTimeout(function () {
+          ok(btn.attr('disabled'), 'btn is disabled')
+          ok(btn.hasClass('disabled'), 'btn has disabled class')
+          start()
+          stop()
+        }, 0)
+        btn.button('reset')
+        equals(btn.html(), 'mdo', 'btn text equals mdo')
+        setTimeout(function () {
+          ok(!btn.attr('disabled'), 'btn is not disabled')
+          ok(!btn.hasClass('disabled'), 'btn does not have disabled class')
+          start()
+        }, 0)
+      })
+
+      test("should toggle active", function () {
+        var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+        ok(!btn.hasClass('active'), 'btn does not have active class')
+        btn.button('toggle')
+        ok(btn.hasClass('active'), 'btn has class active')
+      })
+
+})
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-collapse.js b/js/tests/unit/bootstrap-collapse.js
new file mode 100644
index 0000000000..698238d96b
--- /dev/null
+++ b/js/tests/unit/bootstrap-collapse.js
@@ -0,0 +1,25 @@
+$(function () {
+
+    module("bootstrap-collapse")
+
+      test("should be defined on jquery object", function () {
+        ok($(document.body).collapse, 'collapse method is defined')
+      })
+
+      test("should return element", function () {
+        ok($(document.body).collapse()[0] == document.body, 'document.body returned')
+      })
+
+      test("should show a collapsed element", function () {
+        var el = $('<div class="collapse"></div>').collapse('show')
+        ok(el.hasClass('in'), 'has class in')
+        ok(/height/.test(el.attr('style')), 'has height set')
+      })
+
+      test("should hide a collapsed element", function () {
+        var el = $('<div class="collapse"></div>').collapse('hide')
+        ok(!el.hasClass('in'), 'does not have class in')
+        ok(/height/.test(el.attr('style')), 'has height set')
+      })
+
+})
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-dropdown.js b/js/tests/unit/bootstrap-dropdown.js
index 2c2acb9bb6..368ced2a5a 100644
--- a/js/tests/unit/bootstrap-dropdown.js
+++ b/js/tests/unit/bootstrap-dropdown.js
@@ -13,7 +13,7 @@ $(function () {
       test("should add class open to menu if clicked", function () {
         var dropdownHTML = '<ul class="tabs">'
           + '<li class="dropdown">'
-          + '<a href="#" class="dropdown-toggle">Dropdown</a>'
+          + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
           + '<ul class="dropdown-menu">'
           + '<li><a href="#">Secondary link</a></li>'
           + '<li><a href="#">Something else here</a></li>'
@@ -22,16 +22,15 @@ $(function () {
           + '</ul>'
           + '</li>'
           + '</ul>'
-          , dropdown = $(dropdownHTML).dropdown()
+          , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
 
-        dropdown.find('.dropdown-toggle').click()
-        ok(dropdown.find('.dropdown').hasClass('open'), 'open class added on click')
+        ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
       })
 
       test("should remove open class if body clicked", function () {
         var dropdownHTML = '<ul class="tabs">'
           + '<li class="dropdown">'
-          + '<a href="#" class="dropdown-toggle">Dropdown</a>'
+          + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
           + '<ul class="dropdown-menu">'
           + '<li><a href="#">Secondary link</a></li>'
           + '<li><a href="#">Something else here</a></li>'
@@ -40,12 +39,14 @@ $(function () {
           + '</ul>'
           + '</li>'
           + '</ul>'
-          , dropdown = $(dropdownHTML).dropdown().appendTo('#qunit-runoff')
-
-        dropdown.find('.dropdown-toggle').click()
-        ok(dropdown.find('.dropdown').hasClass('open'), 'open class added on click')
+          , dropdown = $(dropdownHTML)
+            .appendTo('#qunit-fixture')
+            .find('[data-toggle="dropdown"]')
+            .dropdown()
+            .click()
+        ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
         $('body').click()
-        ok(!dropdown.find('.dropdown').hasClass('open'), 'open class removed')
+        ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class removed')
         dropdown.remove()
       })
 
diff --git a/js/tests/unit/bootstrap-modal.js b/js/tests/unit/bootstrap-modal.js
index 4bbb3313cc..22f5781ea6 100644
--- a/js/tests/unit/bootstrap-modal.js
+++ b/js/tests/unit/bootstrap-modal.js
@@ -10,6 +10,7 @@ $(function () {
       test("should return element", function () {
         var div = $("<div id='modal-test'></div>")
         ok(div.modal() == div, 'document.body returned')
+        $('#modal-test').remove()
       })
 
       test("should expose defaults var for settings", function () {
@@ -19,32 +20,29 @@ $(function () {
       test("should insert into dom when show method is called", function () {
         stop()
         $.support.transition = false
-        var div = $("<div id='modal-test'></div>")
-        div
-          .modal()
-          .modal("show")
+        $("<div id='modal-test'></div>")
           .bind("shown", function () {
             ok($('#modal-test').length, 'modal insterted into dom')
+            $(this).remove()
             start()
-            div.remove()
           })
+          .modal("show")
       })
 
       test("should hide modal when hide is called", function () {
         stop()
         $.support.transition = false
-        var div = $("<div id='modal-test'></div>")
-        div
-          .modal()
+
+        $("<div id='modal-test'></div>")
           .bind("shown", function () {
             ok($('#modal-test').is(":visible"), 'modal visible')
             ok($('#modal-test').length, 'modal insterted into dom')
-            div.modal("hide")
+            $(this).modal("hide")
           })
           .bind("hidden", function() {
             ok(!$('#modal-test').is(":visible"), 'modal hidden')
+            $('#modal-test').remove()
             start()
-            div.remove()
           })
           .modal("show")
       })
@@ -54,7 +52,6 @@ $(function () {
         $.support.transition = false
         var div = $("<div id='modal-test'></div>")
         div
-          .modal()
           .bind("shown", function () {
             ok($('#modal-test').is(":visible"), 'modal visible')
             ok($('#modal-test').length, 'modal insterted into dom')
@@ -62,18 +59,17 @@ $(function () {
           })
           .bind("hidden", function() {
             ok(!$('#modal-test').is(":visible"), 'modal hidden')
-            start()
             div.remove()
+            start()
           })
           .modal("toggle")
       })
 
-      test("should remove from dom when click .close", function () {
+      test("should remove from dom when click [data-dismiss=modal]", function () {
         stop()
         $.support.transition = false
-        var div = $("<div id='modal-test'><span class='close'></span></div>")
+        var div = $("<div id='modal-test'><span class='close' data-dismiss='modal'></span></div>")
         div
-          .modal()
           .bind("shown", function () {
             ok($('#modal-test').is(":visible"), 'modal visible')
             ok($('#modal-test').length, 'modal insterted into dom')
@@ -81,8 +77,8 @@ $(function () {
           })
           .bind("hidden", function() {
             ok(!$('#modal-test').is(":visible"), 'modal hidden')
-            start()
             div.remove()
+            start()
           })
           .modal("toggle")
       })
diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js
index 3e13d2fd20..9180c043e9 100644
--- a/js/tests/unit/bootstrap-popover.js
+++ b/js/tests/unit/bootstrap-popover.js
@@ -15,14 +15,12 @@ $(function () {
       test("should render popover element", function () {
         $.support.transition = false
         var popover = $('<a href="#" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>')
-          .appendTo('#qunit-runoff')
-          .popover()
+          .appendTo('#qunit-fixture')
           .popover('show')
 
         ok($('.popover').length, 'popover was inserted')
         popover.popover('hide')
         ok(!$(".popover").length, 'popover removed')
-        $('#qunit-runoff').empty()
       })
 
       test("should store popover instance in popover data object", function () {
@@ -36,7 +34,7 @@ $(function () {
       test("should get title and content from options", function () {
         $.support.transition = false
         var popover = $('<a href="#">@fat</a>')
-          .appendTo('#qunit-runoff')
+          .appendTo('#qunit-fixture')
           .popover({
             title: function () {
               return '@fat'
@@ -54,13 +52,13 @@ $(function () {
 
         popover.popover('hide')
         ok(!$('.popover').length, 'popover was removed')
-        $('#qunit-runoff').empty()
+        $('#qunit-fixture').empty()
       })
 
       test("should get title and content from attributes", function () {
         $.support.transition = false
         var popover = $('<a href="#" title="@mdo" data-content="loves data attributes (づ。◕‿‿◕。)づ ︵ ┻━┻" >@mdo</a>')
-          .appendTo('#qunit-runoff')
+          .appendTo('#qunit-fixture')
           .popover()
           .popover('show')
 
@@ -70,7 +68,7 @@ $(function () {
 
         popover.popover('hide')
         ok(!$('.popover').length, 'popover was removed')
-        $('#qunit-runoff').empty()
+        $('#qunit-fixture').empty()
       })
 
 })
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-scrollspy.js b/js/tests/unit/bootstrap-scrollspy.js
index b9b3090620..bee46a925e 100644
--- a/js/tests/unit/bootstrap-scrollspy.js
+++ b/js/tests/unit/bootstrap-scrollspy.js
@@ -12,7 +12,7 @@ $(function () {
 
       test("should switch active class on scroll", function () {
         var sectionHTML = '<div id="masthead"></div>'
-          , $section = $(sectionHTML).append('#qunit-runoff')
+          , $section = $(sectionHTML).append('#qunit-fixture')
           , topbarHTML ='<div class="topbar">'
           + '<div class="topbar-inner">'
           + '<div class="container">'
@@ -23,9 +23,9 @@ $(function () {
           + '</div>'
           + '</div>'
           + '</div>'
-          , $topbar = $(topbarHTML).topbar()
+          , $topbar = $(topbarHTML).scrollspy()
 
-        ok(topbar.find('.active', true)
+        ok($topbar.find('.active', true))
       })
 
 })
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-tab.js b/js/tests/unit/bootstrap-tab.js
new file mode 100644
index 0000000000..f326490786
--- /dev/null
+++ b/js/tests/unit/bootstrap-tab.js
@@ -0,0 +1,46 @@
+$(function () {
+
+    module("bootstrap-tabs")
+
+      test("should be defined on jquery object", function () {
+        ok($(document.body).tab, 'tabs method is defined')
+      })
+
+      test("should return element", function () {
+        ok($(document.body).tab()[0] == document.body, 'document.body returned')
+      })
+
+      test("should activate element by tab id", function () {
+        var tabsHTML =
+            '<ul class="tabs">'
+          + '<li><a href="#home">Home</a></li>'
+          + '<li><a href="#profile">Profile</a></li>'
+          + '</ul>'
+
+
+        $('<ul><li id="home"></li><li id="profile"></li></ul>').appendTo("#qunit-fixture")
+
+        $(tabsHTML).find('li:last a').tab('show')
+        equals($("#qunit-fixture").find('.active').attr('id'), "profile")
+
+        $(tabsHTML).find('li:first a').tab('show')
+        equals($("#qunit-fixture").find('.active').attr('id'), "home")
+      })
+
+      test("should activate element by tab id", function () {
+        var pillsHTML =
+            '<ul class="pills">'
+          + '<li><a href="#home">Home</a></li>'
+          + '<li><a href="#profile">Profile</a></li>'
+          + '</ul>'
+
+        $('<ul><li id="home"></li><li id="profile"></li></ul>').appendTo("#qunit-fixture")
+
+        $(pillsHTML).find('li:last a').tab('show')
+        equals($("#qunit-fixture").find('.active').attr('id'), "profile")
+
+        $(pillsHTML).find('li:first a').tab('show')
+        equals($("#qunit-fixture").find('.active').attr('id'), "home")
+      })
+
+})
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-tabs.js b/js/tests/unit/bootstrap-tabs.js
deleted file mode 100644
index 2ee6761eda..0000000000
--- a/js/tests/unit/bootstrap-tabs.js
+++ /dev/null
@@ -1,49 +0,0 @@
-$(function () {
-
-    module("bootstrap-tabs")
-
-      test("should be defined on jquery object", function () {
-        ok($(document.body).tabs, 'tabs method is defined')
-      })
-
-      test("should return element", function () {
-        ok($(document.body).tabs()[0] == document.body, 'document.body returned')
-      })
-
-      test("should activate element by tab id", function () {
-        var tabsHTML = '<ul class="tabs">'
-          + '<li class="active"><a href="#home">Home</a></li>'
-          + '<li><a href="#profile">Profile</a></li>'
-          + '</ul>'
-
-
-        $('<ul><li id="home"></li><li id="profile"></li></ul>').appendTo("#qunit-runoff")
-
-        $(tabsHTML).tabs().find('a').last().click()
-        equals($("#qunit-runoff").find('.active').attr('id'), "profile")
-
-        $(tabsHTML).tabs().find('a').first().click()
-        equals($("#qunit-runoff").find('.active').attr('id'), "home")
-
-        $("#qunit-runoff").empty()
-      })
-
-      test("should activate element by pill id", function () {
-        var pillsHTML = '<ul class="pills">'
-          + '<li class="active"><a href="#home">Home</a></li>'
-          + '<li><a href="#profile">Profile</a></li>'
-          + '</ul>'
-
-
-        $('<ul><li id="home"></li><li id="profile"></li></ul>').appendTo("#qunit-runoff")
-
-        $(pillsHTML).pills().find('a').last().click()
-        equals($("#qunit-runoff").find('.active').attr('id'), "profile")
-
-        $(pillsHTML).pills().find('a').first().click()
-        equals($("#qunit-runoff").find('.active').attr('id'), "home")
-
-        $("#qunit-runoff").empty()
-      })
-
-})
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-transition.js b/js/tests/unit/bootstrap-transition.js
new file mode 100644
index 0000000000..ff4a0f0c34
--- /dev/null
+++ b/js/tests/unit/bootstrap-transition.js
@@ -0,0 +1,13 @@
+$(function () {
+
+    module("bootstrap-transition")
+
+      test("should be defined on jquery support object", function () {
+        ok($.support.transition != undefined, 'transition object is defined')
+      })
+
+      test("should provide an end object", function () {
+        ok($.support.transition.end, 'end string is defined')
+      })
+
+})
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-twipsy.js b/js/tests/unit/bootstrap-twipsy.js
index 04000696ae..7a88ab2f13 100644
--- a/js/tests/unit/bootstrap-twipsy.js
+++ b/js/tests/unit/bootstrap-twipsy.js
@@ -29,53 +29,23 @@ $(function () {
       test("should place tooltips relative to placement option", function () {
         $.support.transition = false
         var twipsy = $('<a href="#" rel="twipsy" title="Another twipsy"></a>')
-          .appendTo('#qunit-runoff')
+          .appendTo('#qunit-fixture')
           .twipsy({placement: 'below'})
           .twipsy('show')
 
         ok($(".twipsy").hasClass('fade below in'), 'has correct classes applied')
         twipsy.twipsy('hide')
-        ok(!$(".twipsy").length, 'twipsy removed')
-        $('#qunit-runoff').empty()
-      })
-
-      test("should add a fallback in cases where elements have no title tag", function () {
-        $.support.transition = false
-        var twipsy = $('<a href="#" rel="twipsy"></a>')
-          .appendTo('#qunit-runoff')
-          .twipsy({fallback: '@fat'})
-          .twipsy('show')
-
-        equals($(".twipsy").text(), "@fat", 'has correct default text')
-        twipsy.twipsy('hide')
-        ok(!$(".twipsy").length, 'twipsy removed')
-        $('#qunit-runoff').empty()
-      })
-
-      test("should not allow html entities", function () {
-        $.support.transition = false
-        var twipsy = $('<a href="#" rel="twipsy" title="<b>@fat</b>"></a>')
-          .appendTo('#qunit-runoff')
-          .twipsy()
-          .twipsy('show')
-
-        ok(!$('.twipsy b').length, 'b tag was not inserted')
-        twipsy.twipsy('hide')
-        ok(!$(".twipsy").length, 'twipsy removed')
-        $('#qunit-runoff').empty()
       })
 
-      test("should allow html entities if html option set to true", function () {
+      test("should always allow html entities", function () {
         $.support.transition = false
         var twipsy = $('<a href="#" rel="twipsy" title="<b>@fat</b>"></a>')
-          .appendTo('#qunit-runoff')
-          .twipsy({html: true})
+          .appendTo('#qunit-fixture')
           .twipsy('show')
 
         ok($('.twipsy b').length, 'b tag was inserted')
         twipsy.twipsy('hide')
         ok(!$(".twipsy").length, 'twipsy removed')
-        $('#qunit-runoff').empty()
       })
 
 })
\ No newline at end of file
diff --git a/js/tests/vendor/jquery.js b/js/tests/vendor/jquery.js
new file mode 100644
index 0000000000..01fbe13c82
--- /dev/null
+++ b/js/tests/vendor/jquery.js
@@ -0,0 +1,9252 @@
+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
+(function( window, undefined ) {
+
+// Use the correct document accordingly with window argument (sandbox)
+var document = window.document,
+	navigator = window.navigator,
+	location = window.location;
+var jQuery = (function() {
+
+// Define a local copy of jQuery
+var jQuery = function( selector, context ) {
+		// The jQuery object is actually just the init constructor 'enhanced'
+		return new jQuery.fn.init( selector, context, rootjQuery );
+	},
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$,
+
+	// A central reference to the root jQuery(document)
+	rootjQuery,
+
+	// A simple way to check for HTML strings or ID strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
+
+	// Check if a string has a non-whitespace character in it
+	rnotwhite = /\S/,
+
+	// Used for trimming whitespace
+	trimLeft = /^\s+/,
+	trimRight = /\s+$/,
+
+	// Match a standalone tag
+	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+
+	// JSON RegExp
+	rvalidchars = /^[\],:{}\s]*$/,
+	rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
+	rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
+	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
+
+	// Useragent RegExp
+	rwebkit = /(webkit)[ \/]([\w.]+)/,
+	ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
+	rmsie = /(msie) ([\w.]+)/,
+	rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
+
+	// Matches dashed string for camelizing
+	rdashAlpha = /-([a-z]|[0-9])/ig,
+	rmsPrefix = /^-ms-/,
+
+	// Used by jQuery.camelCase as callback to replace()
+	fcamelCase = function( all, letter ) {
+		return ( letter + "" ).toUpperCase();
+	},
+
+	// Keep a UserAgent string for use with jQuery.browser
+	userAgent = navigator.userAgent,
+
+	// For matching the engine and version of the browser
+	browserMatch,
+
+	// The deferred used on DOM ready
+	readyList,
+
+	// The ready event handler
+	DOMContentLoaded,
+
+	// Save a reference to some core methods
+	toString = Object.prototype.toString,
+	hasOwn = Object.prototype.hasOwnProperty,
+	push = Array.prototype.push,
+	slice = Array.prototype.slice,
+	trim = String.prototype.trim,
+	indexOf = Array.prototype.indexOf,
+
+	// [[Class]] -> type pairs
+	class2type = {};
+
+jQuery.fn = jQuery.prototype = {
+	constructor: jQuery,
+	init: function( selector, context, rootjQuery ) {
+		var match, elem, ret, doc;
+
+		// Handle $(""), $(null), or $(undefined)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Handle $(DOMElement)
+		if ( selector.nodeType ) {
+			this.context = this[0] = selector;
+			this.length = 1;
+			return this;
+		}
+
+		// The body element only exists once, optimize finding it
+		if ( selector === "body" && !context && document.body ) {
+			this.context = document;
+			this[0] = document.body;
+			this.selector = selector;
+			this.length = 1;
+			return this;
+		}
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			// Are we dealing with HTML string or an ID?
+			if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = quickExpr.exec( selector );
+			}
+
+			// Verify a match, and that no context was specified for #id
+			if ( match && (match[1] || !context) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[1] ) {
+					context = context instanceof jQuery ? context[0] : context;
+					doc = ( context ? context.ownerDocument || context : document );
+
+					// If a single string is passed in and it's a single tag
+					// just do a createElement and skip the rest
+					ret = rsingleTag.exec( selector );
+
+					if ( ret ) {
+						if ( jQuery.isPlainObject( context ) ) {
+							selector = [ document.createElement( ret[1] ) ];
+							jQuery.fn.attr.call( selector, context, true );
+
+						} else {
+							selector = [ doc.createElement( ret[1] ) ];
+						}
+
+					} else {
+						ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
+						selector = ( ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment ).childNodes;
+					}
+
+					return jQuery.merge( this, selector );
+
+				// HANDLE: $("#id")
+				} else {
+					elem = document.getElementById( match[2] );
+
+					// Check parentNode to catch when Blackberry 4.6 returns
+					// nodes that are no longer in the document #6963
+					if ( elem && elem.parentNode ) {
+						// Handle the case where IE and Opera return items
+						// by name instead of ID
+						if ( elem.id !== match[2] ) {
+							return rootjQuery.find( selector );
+						}
+
+						// Otherwise, we inject the element directly into the jQuery object
+						this.length = 1;
+						this[0] = elem;
+					}
+
+					this.context = document;
+					this.selector = selector;
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || rootjQuery ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) ) {
+			return rootjQuery.ready( selector );
+		}
+
+		if ( selector.selector !== undefined ) {
+			this.selector = selector.selector;
+			this.context = selector.context;
+		}
+
+		return jQuery.makeArray( selector, this );
+	},
+
+	// Start with an empty selector
+	selector: "",
+
+	// The current version of jQuery being used
+	jquery: "1.7.1",
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	// The number of elements contained in the matched element set
+	size: function() {
+		return this.length;
+	},
+
+	toArray: function() {
+		return slice.call( this, 0 );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+		return num == null ?
+
+			// Return a 'clean' array
+			this.toArray() :
+
+			// Return just the object
+			( num < 0 ? this[ this.length + num ] : this[ num ] );
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems, name, selector ) {
+		// Build a new jQuery matched element set
+		var ret = this.constructor();
+
+		if ( jQuery.isArray( elems ) ) {
+			push.apply( ret, elems );
+
+		} else {
+			jQuery.merge( ret, elems );
+		}
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		ret.context = this.context;
+
+		if ( name === "find" ) {
+			ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
+		} else if ( name ) {
+			ret.selector = this.selector + "." + name + "(" + selector + ")";
+		}
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	// (You can seed the arguments with an array of args, but this is
+	// only used internally.)
+	each: function( callback, args ) {
+		return jQuery.each( this, callback, args );
+	},
+
+	ready: function( fn ) {
+		// Attach the listeners
+		jQuery.bindReady();
+
+		// Add the callback
+		readyList.add( fn );
+
+		return this;
+	},
+
+	eq: function( i ) {
+		i = +i;
+		return i === -1 ?
+			this.slice( i ) :
+			this.slice( i, i + 1 );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ),
+			"slice", slice.call(arguments).join(",") );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map(this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		}));
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor(null);
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: [].sort,
+	splice: [].splice
+};
+
+// Give the init function the jQuery prototype for later instantiation
+jQuery.fn.init.prototype = jQuery.fn;
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[0] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+		target = arguments[1] || {};
+		// skip the boolean and the target
+		i = 2;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+		target = {};
+	}
+
+	// extend jQuery itself if only one argument is passed
+	if ( length === i ) {
+		target = this;
+		--i;
+	}
+
+	for ( ; i < length; i++ ) {
+		// Only deal with non-null/undefined values
+		if ( (options = arguments[ i ]) != null ) {
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && jQuery.isArray(src) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject(src) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend({
+	noConflict: function( deep ) {
+		if ( window.$ === jQuery ) {
+			window.$ = _$;
+		}
+
+		if ( deep && window.jQuery === jQuery ) {
+			window.jQuery = _jQuery;
+		}
+
+		return jQuery;
+	},
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Hold (or release) the ready event
+	holdReady: function( hold ) {
+		if ( hold ) {
+			jQuery.readyWait++;
+		} else {
+			jQuery.ready( true );
+		}
+	},
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+		// Either a released hold or an DOMready/load event and not yet ready
+		if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {
+			// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+			if ( !document.body ) {
+				return setTimeout( jQuery.ready, 1 );
+			}
+
+			// Remember that the DOM is ready
+			jQuery.isReady = true;
+
+			// If a normal DOM Ready event fired, decrement, and wait if need be
+			if ( wait !== true && --jQuery.readyWait > 0 ) {
+				return;
+			}
+
+			// If there are functions bound, to execute
+			readyList.fireWith( document, [ jQuery ] );
+
+			// Trigger any bound ready events
+			if ( jQuery.fn.trigger ) {
+				jQuery( document ).trigger( "ready" ).off( "ready" );
+			}
+		}
+	},
+
+	bindReady: function() {
+		if ( readyList ) {
+			return;
+		}
+
+		readyList = jQuery.Callbacks( "once memory" );
+
+		// Catch cases where $(document).ready() is called after the
+		// browser event has already occurred.
+		if ( document.readyState === "complete" ) {
+			// Handle it asynchronously to allow scripts the opportunity to delay ready
+			return setTimeout( jQuery.ready, 1 );
+		}
+
+		// Mozilla, Opera and webkit nightlies currently support this event
+		if ( document.addEventListener ) {
+			// Use the handy event callback
+			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+
+			// A fallback to window.onload, that will always work
+			window.addEventListener( "load", jQuery.ready, false );
+
+		// If IE event model is used
+		} else if ( document.attachEvent ) {
+			// ensure firing before onload,
+			// maybe late but safe also for iframes
+			document.attachEvent( "onreadystatechange", DOMContentLoaded );
+
+			// A fallback to window.onload, that will always work
+			window.attachEvent( "onload", jQuery.ready );
+
+			// If IE and not a frame
+			// continually check to see if the document is ready
+			var toplevel = false;
+
+			try {
+				toplevel = window.frameElement == null;
+			} catch(e) {}
+
+			if ( document.documentElement.doScroll && toplevel ) {
+				doScrollCheck();
+			}
+		}
+	},
+
+	// See test/unit/core.js for details concerning isFunction.
+	// Since version 1.3, DOM methods and functions like alert
+	// aren't supported. They return false on IE (#2968).
+	isFunction: function( obj ) {
+		return jQuery.type(obj) === "function";
+	},
+
+	isArray: Array.isArray || function( obj ) {
+		return jQuery.type(obj) === "array";
+	},
+
+	// A crude way of determining if an object is a window
+	isWindow: function( obj ) {
+		return obj && typeof obj === "object" && "setInterval" in obj;
+	},
+
+	isNumeric: function( obj ) {
+		return !isNaN( parseFloat(obj) ) && isFinite( obj );
+	},
+
+	type: function( obj ) {
+		return obj == null ?
+			String( obj ) :
+			class2type[ toString.call(obj) ] || "object";
+	},
+
+	isPlainObject: function( obj ) {
+		// Must be an Object.
+		// Because of IE, we also have to check the presence of the constructor property.
+		// Make sure that DOM nodes and window objects don't pass through, as well
+		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+			return false;
+		}
+
+		try {
+			// Not own constructor property must be Object
+			if ( obj.constructor &&
+				!hasOwn.call(obj, "constructor") &&
+				!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
+				return false;
+			}
+		} catch ( e ) {
+			// IE8,9 Will throw exceptions on certain host objects #9897
+			return false;
+		}
+
+		// Own properties are enumerated firstly, so to speed up,
+		// if last one is own, then all properties are own.
+
+		var key;
+		for ( key in obj ) {}
+
+		return key === undefined || hasOwn.call( obj, key );
+	},
+
+	isEmptyObject: function( obj ) {
+		for ( var name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	parseJSON: function( data ) {
+		if ( typeof data !== "string" || !data ) {
+			return null;
+		}
+
+		// Make sure leading/trailing whitespace is removed (IE can't handle it)
+		data = jQuery.trim( data );
+
+		// Attempt to parse using the native JSON parser first
+		if ( window.JSON && window.JSON.parse ) {
+			return window.JSON.parse( data );
+		}
+
+		// Make sure the incoming data is actual JSON
+		// Logic borrowed from http://json.org/json2.js
+		if ( rvalidchars.test( data.replace( rvalidescape, "@" )
+			.replace( rvalidtokens, "]" )
+			.replace( rvalidbraces, "")) ) {
+
+			return ( new Function( "return " + data ) )();
+
+		}
+		jQuery.error( "Invalid JSON: " + data );
+	},
+
+	// Cross-browser xml parsing
+	parseXML: function( data ) {
+		var xml, tmp;
+		try {
+			if ( window.DOMParser ) { // Standard
+				tmp = new DOMParser();
+				xml = tmp.parseFromString( data , "text/xml" );
+			} else { // IE
+				xml = new ActiveXObject( "Microsoft.XMLDOM" );
+				xml.async = "false";
+				xml.loadXML( data );
+			}
+		} catch( e ) {
+			xml = undefined;
+		}
+		if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
+			jQuery.error( "Invalid XML: " + data );
+		}
+		return xml;
+	},
+
+	noop: function() {},
+
+	// Evaluates a script in a global context
+	// Workarounds based on findings by Jim Driscoll
+	// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+	globalEval: function( data ) {
+		if ( data && rnotwhite.test( data ) ) {
+			// We use execScript on Internet Explorer
+			// We use an anonymous function so that context is window
+			// rather than jQuery in Firefox
+			( window.execScript || function( data ) {
+				window[ "eval" ].call( window, data );
+			} )( data );
+		}
+	},
+
+	// Convert dashed to camelCase; used by the css and data modules
+	// Microsoft forgot to hump their vendor prefix (#9572)
+	camelCase: function( string ) {
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+	},
+
+	nodeName: function( elem, name ) {
+		return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
+	},
+
+	// args is for internal usage only
+	each: function( object, callback, args ) {
+		var name, i = 0,
+			length = object.length,
+			isObj = length === undefined || jQuery.isFunction( object );
+
+		if ( args ) {
+			if ( isObj ) {
+				for ( name in object ) {
+					if ( callback.apply( object[ name ], args ) === false ) {
+						break;
+					}
+				}
+			} else {
+				for ( ; i < length; ) {
+					if ( callback.apply( object[ i++ ], args ) === false ) {
+						break;
+					}
+				}
+			}
+
+		// A special, fast, case for the most common use of each
+		} else {
+			if ( isObj ) {
+				for ( name in object ) {
+					if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
+						break;
+					}
+				}
+			} else {
+				for ( ; i < length; ) {
+					if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
+						break;
+					}
+				}
+			}
+		}
+
+		return object;
+	},
+
+	// Use native String.trim function wherever possible
+	trim: trim ?
+		function( text ) {
+			return text == null ?
+				"" :
+				trim.call( text );
+		} :
+
+		// Otherwise use our own trimming functionality
+		function( text ) {
+			return text == null ?
+				"" :
+				text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
+		},
+
+	// results is for internal usage only
+	makeArray: function( array, results ) {
+		var ret = results || [];
+
+		if ( array != null ) {
+			// The window, strings (and functions) also have 'length'
+			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
+			var type = jQuery.type( array );
+
+			if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
+				push.call( ret, array );
+			} else {
+				jQuery.merge( ret, array );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, array, i ) {
+		var len;
+
+		if ( array ) {
+			if ( indexOf ) {
+				return indexOf.call( array, elem, i );
+			}
+
+			len = array.length;
+			i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
+
+			for ( ; i < len; i++ ) {
+				// Skip accessing in sparse arrays
+				if ( i in array && array[ i ] === elem ) {
+					return i;
+				}
+			}
+		}
+
+		return -1;
+	},
+
+	merge: function( first, second ) {
+		var i = first.length,
+			j = 0;
+
+		if ( typeof second.length === "number" ) {
+			for ( var l = second.length; j < l; j++ ) {
+				first[ i++ ] = second[ j ];
+			}
+
+		} else {
+			while ( second[j] !== undefined ) {
+				first[ i++ ] = second[ j++ ];
+			}
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, inv ) {
+		var ret = [], retVal;
+		inv = !!inv;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( var i = 0, length = elems.length; i < length; i++ ) {
+			retVal = !!callback( elems[ i ], i );
+			if ( inv !== retVal ) {
+				ret.push( elems[ i ] );
+			}
+		}
+
+		return ret;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var value, key, ret = [],
+			i = 0,
+			length = elems.length,
+			// jquery objects are treated as arrays
+			isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;
+
+		// Go through the array, translating each of the items to their
+		if ( isArray ) {
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret[ ret.length ] = value;
+				}
+			}
+
+		// Go through every key on the object
+		} else {
+			for ( key in elems ) {
+				value = callback( elems[ key ], key, arg );
+
+				if ( value != null ) {
+					ret[ ret.length ] = value;
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return ret.concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// Bind a function to a context, optionally partially applying any
+	// arguments.
+	proxy: function( fn, context ) {
+		if ( typeof context === "string" ) {
+			var tmp = fn[ context ];
+			context = fn;
+			fn = tmp;
+		}
+
+		// Quick check to determine if target is callable, in the spec
+		// this throws a TypeError, but we will just return undefined.
+		if ( !jQuery.isFunction( fn ) ) {
+			return undefined;
+		}
+
+		// Simulated bind
+		var args = slice.call( arguments, 2 ),
+			proxy = function() {
+				return fn.apply( context, args.concat( slice.call( arguments ) ) );
+			};
+
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
+
+		return proxy;
+	},
+
+	// Mutifunctional method to get and set values to a collection
+	// The value/s can optionally be executed if it's a function
+	access: function( elems, key, value, exec, fn, pass ) {
+		var length = elems.length;
+
+		// Setting many attributes
+		if ( typeof key === "object" ) {
+			for ( var k in key ) {
+				jQuery.access( elems, k, key[k], exec, fn, value );
+			}
+			return elems;
+		}
+
+		// Setting one attribute
+		if ( value !== undefined ) {
+			// Optionally, function values get executed if exec is true
+			exec = !pass && exec && jQuery.isFunction(value);
+
+			for ( var i = 0; i < length; i++ ) {
+				fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
+			}
+
+			return elems;
+		}
+
+		// Getting an attribute
+		return length ? fn( elems[0], key ) : undefined;
+	},
+
+	now: function() {
+		return ( new Date() ).getTime();
+	},
+
+	// Use of jQuery.browser is frowned upon.
+	// More details: http://docs.jquery.com/Utilities/jQuery.browser
+	uaMatch: function( ua ) {
+		ua = ua.toLowerCase();
+
+		var match = rwebkit.exec( ua ) ||
+			ropera.exec( ua ) ||
+			rmsie.exec( ua ) ||
+			ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
+			[];
+
+		return { browser: match[1] || "", version: match[2] || "0" };
+	},
+
+	sub: function() {
+		function jQuerySub( selector, context ) {
+			return new jQuerySub.fn.init( selector, context );
+		}
+		jQuery.extend( true, jQuerySub, this );
+		jQuerySub.superclass = this;
+		jQuerySub.fn = jQuerySub.prototype = this();
+		jQuerySub.fn.constructor = jQuerySub;
+		jQuerySub.sub = this.sub;
+		jQuerySub.fn.init = function init( selector, context ) {
+			if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
+				context = jQuerySub( context );
+			}
+
+			return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
+		};
+		jQuerySub.fn.init.prototype = jQuerySub.fn;
+		var rootjQuerySub = jQuerySub(document);
+		return jQuerySub;
+	},
+
+	browser: {}
+});
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+browserMatch = jQuery.uaMatch( userAgent );
+if ( browserMatch.browser ) {
+	jQuery.browser[ browserMatch.browser ] = true;
+	jQuery.browser.version = browserMatch.version;
+}
+
+// Deprecated, use jQuery.browser.webkit instead
+if ( jQuery.browser.webkit ) {
+	jQuery.browser.safari = true;
+}
+
+// IE doesn't match non-breaking spaces with \s
+if ( rnotwhite.test( "\xA0" ) ) {
+	trimLeft = /^[\s\xA0]+/;
+	trimRight = /[\s\xA0]+$/;
+}
+
+// All jQuery objects should point back to these
+rootjQuery = jQuery(document);
+
+// Cleanup functions for the document ready method
+if ( document.addEventListener ) {
+	DOMContentLoaded = function() {
+		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+		jQuery.ready();
+	};
+
+} else if ( document.attachEvent ) {
+	DOMContentLoaded = function() {
+		// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+		if ( document.readyState === "complete" ) {
+			document.detachEvent( "onreadystatechange", DOMContentLoaded );
+			jQuery.ready();
+		}
+	};
+}
+
+// The DOM ready check for Internet Explorer
+function doScrollCheck() {
+	if ( jQuery.isReady ) {
+		return;
+	}
+
+	try {
+		// If IE is used, use the trick by Diego Perini
+		// http://javascript.nwbox.com/IEContentLoaded/
+		document.documentElement.doScroll("left");
+	} catch(e) {
+		setTimeout( doScrollCheck, 1 );
+		return;
+	}
+
+	// and execute any waiting functions
+	jQuery.ready();
+}
+
+return jQuery;
+
+})();
+
+
+// String to Object flags format cache
+var flagsCache = {};
+
+// Convert String-formatted flags into Object-formatted ones and store in cache
+function createFlags( flags ) {
+	var object = flagsCache[ flags ] = {},
+		i, length;
+	flags = flags.split( /\s+/ );
+	for ( i = 0, length = flags.length; i < length; i++ ) {
+		object[ flags[i] ] = true;
+	}
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	flags:	an optional list of space-separated flags that will change how
+ *			the callback list behaves
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible flags:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( flags ) {
+
+	// Convert flags from String-formatted to Object-formatted
+	// (we check in cache first)
+	flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {};
+
+	var // Actual callback list
+		list = [],
+		// Stack of fire calls for repeatable lists
+		stack = [],
+		// Last fire value (for non-forgettable lists)
+		memory,
+		// Flag to know if list is currently firing
+		firing,
+		// First callback to fire (used internally by add and fireWith)
+		firingStart,
+		// End of the loop when firing
+		firingLength,
+		// Index of currently firing callback (modified by remove if needed)
+		firingIndex,
+		// Add one or several callbacks to the list
+		add = function( args ) {
+			var i,
+				length,
+				elem,
+				type,
+				actual;
+			for ( i = 0, length = args.length; i < length; i++ ) {
+				elem = args[ i ];
+				type = jQuery.type( elem );
+				if ( type === "array" ) {
+					// Inspect recursively
+					add( elem );
+				} else if ( type === "function" ) {
+					// Add if not in unique mode and callback is not in
+					if ( !flags.unique || !self.has( elem ) ) {
+						list.push( elem );
+					}
+				}
+			}
+		},
+		// Fire callbacks
+		fire = function( context, args ) {
+			args = args || [];
+			memory = !flags.memory || [ context, args ];
+			firing = true;
+			firingIndex = firingStart || 0;
+			firingStart = 0;
+			firingLength = list.length;
+			for ( ; list && firingIndex < firingLength; firingIndex++ ) {
+				if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {
+					memory = true; // Mark as halted
+					break;
+				}
+			}
+			firing = false;
+			if ( list ) {
+				if ( !flags.once ) {
+					if ( stack && stack.length ) {
+						memory = stack.shift();
+						self.fireWith( memory[ 0 ], memory[ 1 ] );
+					}
+				} else if ( memory === true ) {
+					self.disable();
+				} else {
+					list = [];
+				}
+			}
+		},
+		// Actual Callbacks object
+		self = {
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+					var length = list.length;
+					add( arguments );
+					// Do we need to add the callbacks to the
+					// current firing batch?
+					if ( firing ) {
+						firingLength = list.length;
+					// With memory, if we're not firing then
+					// we should call right away, unless previous
+					// firing was halted (stopOnFalse)
+					} else if ( memory && memory !== true ) {
+						firingStart = length;
+						fire( memory[ 0 ], memory[ 1 ] );
+					}
+				}
+				return this;
+			},
+			// Remove a callback from the list
+			remove: function() {
+				if ( list ) {
+					var args = arguments,
+						argIndex = 0,
+						argLength = args.length;
+					for ( ; argIndex < argLength ; argIndex++ ) {
+						for ( var i = 0; i < list.length; i++ ) {
+							if ( args[ argIndex ] === list[ i ] ) {
+								// Handle firingIndex and firingLength
+								if ( firing ) {
+									if ( i <= firingLength ) {
+										firingLength--;
+										if ( i <= firingIndex ) {
+											firingIndex--;
+										}
+									}
+								}
+								// Remove the element
+								list.splice( i--, 1 );
+								// If we have some unicity property then
+								// we only need to do this once
+								if ( flags.unique ) {
+									break;
+								}
+							}
+						}
+					}
+				}
+				return this;
+			},
+			// Control if a given callback is in the list
+			has: function( fn ) {
+				if ( list ) {
+					var i = 0,
+						length = list.length;
+					for ( ; i < length; i++ ) {
+						if ( fn === list[ i ] ) {
+							return true;
+						}
+					}
+				}
+				return false;
+			},
+			// Remove all callbacks from the list
+			empty: function() {
+				list = [];
+				return this;
+			},
+			// Have the list do nothing anymore
+			disable: function() {
+				list = stack = memory = undefined;
+				return this;
+			},
+			// Is it disabled?
+			disabled: function() {
+				return !list;
+			},
+			// Lock the list in its current state
+			lock: function() {
+				stack = undefined;
+				if ( !memory || memory === true ) {
+					self.disable();
+				}
+				return this;
+			},
+			// Is it locked?
+			locked: function() {
+				return !stack;
+			},
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				if ( stack ) {
+					if ( firing ) {
+						if ( !flags.once ) {
+							stack.push( [ context, args ] );
+						}
+					} else if ( !( flags.once && memory ) ) {
+						fire( context, args );
+					}
+				}
+				return this;
+			},
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!memory;
+			}
+		};
+
+	return self;
+};
+
+
+
+
+var // Static reference to slice
+	sliceDeferred = [].slice;
+
+jQuery.extend({
+
+	Deferred: function( func ) {
+		var doneList = jQuery.Callbacks( "once memory" ),
+			failList = jQuery.Callbacks( "once memory" ),
+			progressList = jQuery.Callbacks( "memory" ),
+			state = "pending",
+			lists = {
+				resolve: doneList,
+				reject: failList,
+				notify: progressList
+			},
+			promise = {
+				done: doneList.add,
+				fail: failList.add,
+				progress: progressList.add,
+
+				state: function() {
+					return state;
+				},
+
+				// Deprecated
+				isResolved: doneList.fired,
+				isRejected: failList.fired,
+
+				then: function( doneCallbacks, failCallbacks, progressCallbacks ) {
+					deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks );
+					return this;
+				},
+				always: function() {
+					deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );
+					return this;
+				},
+				pipe: function( fnDone, fnFail, fnProgress ) {
+					return jQuery.Deferred(function( newDefer ) {
+						jQuery.each( {
+							done: [ fnDone, "resolve" ],
+							fail: [ fnFail, "reject" ],
+							progress: [ fnProgress, "notify" ]
+						}, function( handler, data ) {
+							var fn = data[ 0 ],
+								action = data[ 1 ],
+								returned;
+							if ( jQuery.isFunction( fn ) ) {
+								deferred[ handler ](function() {
+									returned = fn.apply( this, arguments );
+									if ( returned && jQuery.isFunction( returned.promise ) ) {
+										returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify );
+									} else {
+										newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
+									}
+								});
+							} else {
+								deferred[ handler ]( newDefer[ action ] );
+							}
+						});
+					}).promise();
+				},
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					if ( obj == null ) {
+						obj = promise;
+					} else {
+						for ( var key in promise ) {
+							obj[ key ] = promise[ key ];
+						}
+					}
+					return obj;
+				}
+			},
+			deferred = promise.promise({}),
+			key;
+
+		for ( key in lists ) {
+			deferred[ key ] = lists[ key ].fire;
+			deferred[ key + "With" ] = lists[ key ].fireWith;
+		}
+
+		// Handle state
+		deferred.done( function() {
+			state = "resolved";
+		}, failList.disable, progressList.lock ).fail( function() {
+			state = "rejected";
+		}, doneList.disable, progressList.lock );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( firstParam ) {
+		var args = sliceDeferred.call( arguments, 0 ),
+			i = 0,
+			length = args.length,
+			pValues = new Array( length ),
+			count = length,
+			pCount = length,
+			deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?
+				firstParam :
+				jQuery.Deferred(),
+			promise = deferred.promise();
+		function resolveFunc( i ) {
+			return function( value ) {
+				args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
+				if ( !( --count ) ) {
+					deferred.resolveWith( deferred, args );
+				}
+			};
+		}
+		function progressFunc( i ) {
+			return function( value ) {
+				pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
+				deferred.notifyWith( promise, pValues );
+			};
+		}
+		if ( length > 1 ) {
+			for ( ; i < length; i++ ) {
+				if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) {
+					args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) );
+				} else {
+					--count;
+				}
+			}
+			if ( !count ) {
+				deferred.resolveWith( deferred, args );
+			}
+		} else if ( deferred !== firstParam ) {
+			deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
+		}
+		return promise;
+	}
+});
+
+
+
+
+jQuery.support = (function() {
+
+	var support,
+		all,
+		a,
+		select,
+		opt,
+		input,
+		marginDiv,
+		fragment,
+		tds,
+		events,
+		eventName,
+		i,
+		isSupported,
+		div = document.createElement( "div" ),
+		documentElement = document.documentElement;
+
+	// Preliminary tests
+	div.setAttribute("className", "t");
+	div.innerHTML = "   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
+
+	all = div.getElementsByTagName( "*" );
+	a = div.getElementsByTagName( "a" )[ 0 ];
+
+	// Can't get basic test support
+	if ( !all || !all.length || !a ) {
+		return {};
+	}
+
+	// First batch of supports tests
+	select = document.createElement( "select" );
+	opt = select.appendChild( document.createElement("option") );
+	input = div.getElementsByTagName( "input" )[ 0 ];
+
+	support = {
+		// IE strips leading whitespace when .innerHTML is used
+		leadingWhitespace: ( div.firstChild.nodeType === 3 ),
+
+		// Make sure that tbody elements aren't automatically inserted
+		// IE will insert them into empty tables
+		tbody: !div.getElementsByTagName("tbody").length,
+
+		// Make sure that link elements get serialized correctly by innerHTML
+		// This requires a wrapper element in IE
+		htmlSerialize: !!div.getElementsByTagName("link").length,
+
+		// Get the style information from getAttribute
+		// (IE uses .cssText instead)
+		style: /top/.test( a.getAttribute("style") ),
+
+		// Make sure that URLs aren't manipulated
+		// (IE normalizes it by default)
+		hrefNormalized: ( a.getAttribute("href") === "/a" ),
+
+		// Make sure that element opacity exists
+		// (IE uses filter instead)
+		// Use a regex to work around a WebKit issue. See #5145
+		opacity: /^0.55/.test( a.style.opacity ),
+
+		// Verify style float existence
+		// (IE uses styleFloat instead of cssFloat)
+		cssFloat: !!a.style.cssFloat,
+
+		// Make sure that if no value is specified for a checkbox
+		// that it defaults to "on".
+		// (WebKit defaults to "" instead)
+		checkOn: ( input.value === "on" ),
+
+		// Make sure that a selected-by-default option has a working selected property.
+		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
+		optSelected: opt.selected,
+
+		// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
+		getSetAttribute: div.className !== "t",
+
+		// Tests for enctype support on a form(#6743)
+		enctype: !!document.createElement("form").enctype,
+
+		// Makes sure cloning an html5 element does not cause problems
+		// Where outerHTML is undefined, this still works
+		html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>",
+
+		// Will be defined later
+		submitBubbles: true,
+		changeBubbles: true,
+		focusinBubbles: false,
+		deleteExpando: true,
+		noCloneEvent: true,
+		inlineBlockNeedsLayout: false,
+		shrinkWrapBlocks: false,
+		reliableMarginRight: true
+	};
+
+	// Make sure checked status is properly cloned
+	input.checked = true;
+	support.noCloneChecked = input.cloneNode( true ).checked;
+
+	// Make sure that the options inside disabled selects aren't marked as disabled
+	// (WebKit marks them as disabled)
+	select.disabled = true;
+	support.optDisabled = !opt.disabled;
+
+	// Test to see if it's possible to delete an expando from an element
+	// Fails in Internet Explorer
+	try {
+		delete div.test;
+	} catch( e ) {
+		support.deleteExpando = false;
+	}
+
+	if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
+		div.attachEvent( "onclick", function() {
+			// Cloning a node shouldn't copy over any
+			// bound event handlers (IE does this)
+			support.noCloneEvent = false;
+		});
+		div.cloneNode( true ).fireEvent( "onclick" );
+	}
+
+	// Check if a radio maintains its value
+	// after being appended to the DOM
+	input = document.createElement("input");
+	input.value = "t";
+	input.setAttribute("type", "radio");
+	support.radioValue = input.value === "t";
+
+	input.setAttribute("checked", "checked");
+	div.appendChild( input );
+	fragment = document.createDocumentFragment();
+	fragment.appendChild( div.lastChild );
+
+	// WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Check if a disconnected checkbox will retain its checked
+	// value of true after appended to the DOM (IE6/7)
+	support.appendChecked = input.checked;
+
+	fragment.removeChild( input );
+	fragment.appendChild( div );
+
+	div.innerHTML = "";
+
+	// Check if div with explicit width and no margin-right incorrectly
+	// gets computed margin-right based on width of container. For more
+	// info see bug #3333
+	// Fails in WebKit before Feb 2011 nightlies
+	// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+	if ( window.getComputedStyle ) {
+		marginDiv = document.createElement( "div" );
+		marginDiv.style.width = "0";
+		marginDiv.style.marginRight = "0";
+		div.style.width = "2px";
+		div.appendChild( marginDiv );
+		support.reliableMarginRight =
+			( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0;
+	}
+
+	// Technique from Juriy Zaytsev
+	// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
+	// We only care about the case where non-standard event systems
+	// are used, namely in IE. Short-circuiting here helps us to
+	// avoid an eval call (in setAttribute) which can cause CSP
+	// to go haywire. See: https://developer.mozilla.org/en/Security/CSP
+	if ( div.attachEvent ) {
+		for( i in {
+			submit: 1,
+			change: 1,
+			focusin: 1
+		}) {
+			eventName = "on" + i;
+			isSupported = ( eventName in div );
+			if ( !isSupported ) {
+				div.setAttribute( eventName, "return;" );
+				isSupported = ( typeof div[ eventName ] === "function" );
+			}
+			support[ i + "Bubbles" ] = isSupported;
+		}
+	}
+
+	fragment.removeChild( div );
+
+	// Null elements to avoid leaks in IE
+	fragment = select = opt = marginDiv = div = input = null;
+
+	// Run tests that need a body at doc ready
+	jQuery(function() {
+		var container, outer, inner, table, td, offsetSupport,
+			conMarginTop, ptlm, vb, style, html,
+			body = document.getElementsByTagName("body")[0];
+
+		if ( !body ) {
+			// Return for frameset docs that don't have a body
+			return;
+		}
+
+		conMarginTop = 1;
+		ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";
+		vb = "visibility:hidden;border:0;";
+		style = "style='" + ptlm + "border:5px solid #000;padding:0;'";
+		html = "<div " + style + "><div></div></div>" +
+			"<table " + style + " cellpadding='0' cellspacing='0'>" +
+			"<tr><td></td></tr></table>";
+
+		container = document.createElement("div");
+		container.style.cssText = vb + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px";
+		body.insertBefore( container, body.firstChild );
+
+		// Construct the test element
+		div = document.createElement("div");
+		container.appendChild( div );
+
+		// Check if table cells still have offsetWidth/Height when they are set
+		// to display:none and there are still other visible table cells in a
+		// table row; if so, offsetWidth/Height are not reliable for use when
+		// determining if an element has been hidden directly using
+		// display:none (it is still safe to use offsets if a parent element is
+		// hidden; don safety goggles and see bug #4512 for more information).
+		// (only IE 8 fails this test)
+		div.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";
+		tds = div.getElementsByTagName( "td" );
+		isSupported = ( tds[ 0 ].offsetHeight === 0 );
+
+		tds[ 0 ].style.display = "";
+		tds[ 1 ].style.display = "none";
+
+		// Check if empty table cells still have offsetWidth/Height
+		// (IE <= 8 fail this test)
+		support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
+
+		// Figure out if the W3C box model works as expected
+		div.innerHTML = "";
+		div.style.width = div.style.paddingLeft = "1px";
+		jQuery.boxModel = support.boxModel = div.offsetWidth === 2;
+
+		if ( typeof div.style.zoom !== "undefined" ) {
+			// Check if natively block-level elements act like inline-block
+			// elements when setting their display to 'inline' and giving
+			// them layout
+			// (IE < 8 does this)
+			div.style.display = "inline";
+			div.style.zoom = 1;
+			support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 );
+
+			// Check if elements with layout shrink-wrap their children
+			// (IE 6 does this)
+			div.style.display = "";
+			div.innerHTML = "<div style='width:4px;'></div>";
+			support.shrinkWrapBlocks = ( div.offsetWidth !== 2 );
+		}
+
+		div.style.cssText = ptlm + vb;
+		div.innerHTML = html;
+
+		outer = div.firstChild;
+		inner = outer.firstChild;
+		td = outer.nextSibling.firstChild.firstChild;
+
+		offsetSupport = {
+			doesNotAddBorder: ( inner.offsetTop !== 5 ),
+			doesAddBorderForTableAndCells: ( td.offsetTop === 5 )
+		};
+
+		inner.style.position = "fixed";
+		inner.style.top = "20px";
+
+		// safari subtracts parent border width here which is 5px
+		offsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 );
+		inner.style.position = inner.style.top = "";
+
+		outer.style.overflow = "hidden";
+		outer.style.position = "relative";
+
+		offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 );
+		offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop );
+
+		body.removeChild( container );
+		div  = container = null;
+
+		jQuery.extend( support, offsetSupport );
+	});
+
+	return support;
+})();
+
+
+
+
+var rbrace = /^(?:\{.*\}|\[.*\])$/,
+	rmultiDash = /([A-Z])/g;
+
+jQuery.extend({
+	cache: {},
+
+	// Please use with caution
+	uuid: 0,
+
+	// Unique for each copy of jQuery on the page
+	// Non-digits removed to match rinlinejQuery
+	expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
+
+	// The following elements throw uncatchable exceptions if you
+	// attempt to add expando properties to them.
+	noData: {
+		"embed": true,
+		// Ban all objects except for Flash (which handle expandos)
+		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
+		"applet": true
+	},
+
+	hasData: function( elem ) {
+		elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
+		return !!elem && !isEmptyDataObject( elem );
+	},
+
+	data: function( elem, name, data, pvt /* Internal Use Only */ ) {
+		if ( !jQuery.acceptData( elem ) ) {
+			return;
+		}
+
+		var privateCache, thisCache, ret,
+			internalKey = jQuery.expando,
+			getByName = typeof name === "string",
+
+			// We have to handle DOM nodes and JS objects differently because IE6-7
+			// can't GC object references properly across the DOM-JS boundary
+			isNode = elem.nodeType,
+
+			// Only DOM nodes need the global jQuery cache; JS object data is
+			// attached directly to the object so GC can occur automatically
+			cache = isNode ? jQuery.cache : elem,
+
+			// Only defining an ID for JS objects if its cache already exists allows
+			// the code to shortcut on the same path as a DOM node with no cache
+			id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey,
+			isEvents = name === "events";
+
+		// Avoid doing any more work than we need to when trying to get data on an
+		// object that has no data at all
+		if ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) {
+			return;
+		}
+
+		if ( !id ) {
+			// Only DOM nodes need a new unique ID for each element since their data
+			// ends up in the global cache
+			if ( isNode ) {
+				elem[ internalKey ] = id = ++jQuery.uuid;
+			} else {
+				id = internalKey;
+			}
+		}
+
+		if ( !cache[ id ] ) {
+			cache[ id ] = {};
+
+			// Avoids exposing jQuery metadata on plain JS objects when the object
+			// is serialized using JSON.stringify
+			if ( !isNode ) {
+				cache[ id ].toJSON = jQuery.noop;
+			}
+		}
+
+		// An object can be passed to jQuery.data instead of a key/value pair; this gets
+		// shallow copied over onto the existing cache
+		if ( typeof name === "object" || typeof name === "function" ) {
+			if ( pvt ) {
+				cache[ id ] = jQuery.extend( cache[ id ], name );
+			} else {
+				cache[ id ].data = jQuery.extend( cache[ id ].data, name );
+			}
+		}
+
+		privateCache = thisCache = cache[ id ];
+
+		// jQuery data() is stored in a separate object inside the object's internal data
+		// cache in order to avoid key collisions between internal data and user-defined
+		// data.
+		if ( !pvt ) {
+			if ( !thisCache.data ) {
+				thisCache.data = {};
+			}
+
+			thisCache = thisCache.data;
+		}
+
+		if ( data !== undefined ) {
+			thisCache[ jQuery.camelCase( name ) ] = data;
+		}
+
+		// Users should not attempt to inspect the internal events object using jQuery.data,
+		// it is undocumented and subject to change. But does anyone listen? No.
+		if ( isEvents && !thisCache[ name ] ) {
+			return privateCache.events;
+		}
+
+		// Check for both converted-to-camel and non-converted data property names
+		// If a data property was specified
+		if ( getByName ) {
+
+			// First Try to find as-is property data
+			ret = thisCache[ name ];
+
+			// Test for null|undefined property data
+			if ( ret == null ) {
+
+				// Try to find the camelCased property
+				ret = thisCache[ jQuery.camelCase( name ) ];
+			}
+		} else {
+			ret = thisCache;
+		}
+
+		return ret;
+	},
+
+	removeData: function( elem, name, pvt /* Internal Use Only */ ) {
+		if ( !jQuery.acceptData( elem ) ) {
+			return;
+		}
+
+		var thisCache, i, l,
+
+			// Reference to internal data cache key
+			internalKey = jQuery.expando,
+
+			isNode = elem.nodeType,
+
+			// See jQuery.data for more information
+			cache = isNode ? jQuery.cache : elem,
+
+			// See jQuery.data for more information
+			id = isNode ? elem[ internalKey ] : internalKey;
+
+		// If there is already no cache entry for this object, there is no
+		// purpose in continuing
+		if ( !cache[ id ] ) {
+			return;
+		}
+
+		if ( name ) {
+
+			thisCache = pvt ? cache[ id ] : cache[ id ].data;
+
+			if ( thisCache ) {
+
+				// Support array or space separated string names for data keys
+				if ( !jQuery.isArray( name ) ) {
+
+					// try the string as a key before any manipulation
+					if ( name in thisCache ) {
+						name = [ name ];
+					} else {
+
+						// split the camel cased version by spaces unless a key with the spaces exists
+						name = jQuery.camelCase( name );
+						if ( name in thisCache ) {
+							name = [ name ];
+						} else {
+							name = name.split( " " );
+						}
+					}
+				}
+
+				for ( i = 0, l = name.length; i < l; i++ ) {
+					delete thisCache[ name[i] ];
+				}
+
+				// If there is no data left in the cache, we want to continue
+				// and let the cache object itself get destroyed
+				if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
+					return;
+				}
+			}
+		}
+
+		// See jQuery.data for more information
+		if ( !pvt ) {
+			delete cache[ id ].data;
+
+			// Don't destroy the parent cache unless the internal data object
+			// had been the only thing left in it
+			if ( !isEmptyDataObject(cache[ id ]) ) {
+				return;
+			}
+		}
+
+		// Browsers that fail expando deletion also refuse to delete expandos on
+		// the window, but it will allow it on all other JS objects; other browsers
+		// don't care
+		// Ensure that `cache` is not a window object #10080
+		if ( jQuery.support.deleteExpando || !cache.setInterval ) {
+			delete cache[ id ];
+		} else {
+			cache[ id ] = null;
+		}
+
+		// We destroyed the cache and need to eliminate the expando on the node to avoid
+		// false lookups in the cache for entries that no longer exist
+		if ( isNode ) {
+			// IE does not allow us to delete expando properties from nodes,
+			// nor does it have a removeAttribute function on Document nodes;
+			// we must handle all of these cases
+			if ( jQuery.support.deleteExpando ) {
+				delete elem[ internalKey ];
+			} else if ( elem.removeAttribute ) {
+				elem.removeAttribute( internalKey );
+			} else {
+				elem[ internalKey ] = null;
+			}
+		}
+	},
+
+	// For internal use only.
+	_data: function( elem, name, data ) {
+		return jQuery.data( elem, name, data, true );
+	},
+
+	// A method for determining if a DOM node can handle the data expando
+	acceptData: function( elem ) {
+		if ( elem.nodeName ) {
+			var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
+
+			if ( match ) {
+				return !(match === true || elem.getAttribute("classid") !== match);
+			}
+		}
+
+		return true;
+	}
+});
+
+jQuery.fn.extend({
+	data: function( key, value ) {
+		var parts, attr, name,
+			data = null;
+
+		if ( typeof key === "undefined" ) {
+			if ( this.length ) {
+				data = jQuery.data( this[0] );
+
+				if ( this[0].nodeType === 1 && !jQuery._data( this[0], "parsedAttrs" ) ) {
+					attr = this[0].attributes;
+					for ( var i = 0, l = attr.length; i < l; i++ ) {
+						name = attr[i].name;
+
+						if ( name.indexOf( "data-" ) === 0 ) {
+							name = jQuery.camelCase( name.substring(5) );
+
+							dataAttr( this[0], name, data[ name ] );
+						}
+					}
+					jQuery._data( this[0], "parsedAttrs", true );
+				}
+			}
+
+			return data;
+
+		} else if ( typeof key === "object" ) {
+			return this.each(function() {
+				jQuery.data( this, key );
+			});
+		}
+
+		parts = key.split(".");
+		parts[1] = parts[1] ? "." + parts[1] : "";
+
+		if ( value === undefined ) {
+			data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
+
+			// Try to fetch any internally stored data first
+			if ( data === undefined && this.length ) {
+				data = jQuery.data( this[0], key );
+				data = dataAttr( this[0], key, data );
+			}
+
+			return data === undefined && parts[1] ?
+				this.data( parts[0] ) :
+				data;
+
+		} else {
+			return this.each(function() {
+				var self = jQuery( this ),
+					args = [ parts[0], value ];
+
+				self.triggerHandler( "setData" + parts[1] + "!", args );
+				jQuery.data( this, key, value );
+				self.triggerHandler( "changeData" + parts[1] + "!", args );
+			});
+		}
+	},
+
+	removeData: function( key ) {
+		return this.each(function() {
+			jQuery.removeData( this, key );
+		});
+	}
+});
+
+function dataAttr( elem, key, data ) {
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+
+		var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
+
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = data === "true" ? true :
+				data === "false" ? false :
+				data === "null" ? null :
+				jQuery.isNumeric( data ) ? parseFloat( data ) :
+					rbrace.test( data ) ? jQuery.parseJSON( data ) :
+					data;
+			} catch( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			jQuery.data( elem, key, data );
+
+		} else {
+			data = undefined;
+		}
+	}
+
+	return data;
+}
+
+// checks a cache object for emptiness
+function isEmptyDataObject( obj ) {
+	for ( var name in obj ) {
+
+		// if the public data object is empty, the private is still empty
+		if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
+			continue;
+		}
+		if ( name !== "toJSON" ) {
+			return false;
+		}
+	}
+
+	return true;
+}
+
+
+
+
+function handleQueueMarkDefer( elem, type, src ) {
+	var deferDataKey = type + "defer",
+		queueDataKey = type + "queue",
+		markDataKey = type + "mark",
+		defer = jQuery._data( elem, deferDataKey );
+	if ( defer &&
+		( src === "queue" || !jQuery._data(elem, queueDataKey) ) &&
+		( src === "mark" || !jQuery._data(elem, markDataKey) ) ) {
+		// Give room for hard-coded callbacks to fire first
+		// and eventually mark/queue something else on the element
+		setTimeout( function() {
+			if ( !jQuery._data( elem, queueDataKey ) &&
+				!jQuery._data( elem, markDataKey ) ) {
+				jQuery.removeData( elem, deferDataKey, true );
+				defer.fire();
+			}
+		}, 0 );
+	}
+}
+
+jQuery.extend({
+
+	_mark: function( elem, type ) {
+		if ( elem ) {
+			type = ( type || "fx" ) + "mark";
+			jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 );
+		}
+	},
+
+	_unmark: function( force, elem, type ) {
+		if ( force !== true ) {
+			type = elem;
+			elem = force;
+			force = false;
+		}
+		if ( elem ) {
+			type = type || "fx";
+			var key = type + "mark",
+				count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 );
+			if ( count ) {
+				jQuery._data( elem, key, count );
+			} else {
+				jQuery.removeData( elem, key, true );
+				handleQueueMarkDefer( elem, type, "mark" );
+			}
+		}
+	},
+
+	queue: function( elem, type, data ) {
+		var q;
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			q = jQuery._data( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !q || jQuery.isArray(data) ) {
+					q = jQuery._data( elem, type, jQuery.makeArray(data) );
+				} else {
+					q.push( data );
+				}
+			}
+			return q || [];
+		}
+	},
+
+	dequeue: function( elem, type ) {
+		type = type || "fx";
+
+		var queue = jQuery.queue( elem, type ),
+			fn = queue.shift(),
+			hooks = {};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+		}
+
+		if ( fn ) {
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			jQuery._data( elem, type + ".run", hooks );
+			fn.call( elem, function() {
+				jQuery.dequeue( elem, type );
+			}, hooks );
+		}
+
+		if ( !queue.length ) {
+			jQuery.removeData( elem, type + "queue " + type + ".run", true );
+			handleQueueMarkDefer( elem, type, "queue" );
+		}
+	}
+});
+
+jQuery.fn.extend({
+	queue: function( type, data ) {
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+		}
+
+		if ( data === undefined ) {
+			return jQuery.queue( this[0], type );
+		}
+		return this.each(function() {
+			var queue = jQuery.queue( this, type, data );
+
+			if ( type === "fx" && queue[0] !== "inprogress" ) {
+				jQuery.dequeue( this, type );
+			}
+		});
+	},
+	dequeue: function( type ) {
+		return this.each(function() {
+			jQuery.dequeue( this, type );
+		});
+	},
+	// Based off of the plugin by Clint Helfers, with permission.
+	// http://blindsignals.com/index.php/2009/07/jquery-delay/
+	delay: function( time, type ) {
+		time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+		type = type || "fx";
+
+		return this.queue( type, function( next, hooks ) {
+			var timeout = setTimeout( next, time );
+			hooks.stop = function() {
+				clearTimeout( timeout );
+			};
+		});
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, object ) {
+		if ( typeof type !== "string" ) {
+			object = type;
+			type = undefined;
+		}
+		type = type || "fx";
+		var defer = jQuery.Deferred(),
+			elements = this,
+			i = elements.length,
+			count = 1,
+			deferDataKey = type + "defer",
+			queueDataKey = type + "queue",
+			markDataKey = type + "mark",
+			tmp;
+		function resolve() {
+			if ( !( --count ) ) {
+				defer.resolveWith( elements, [ elements ] );
+			}
+		}
+		while( i-- ) {
+			if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
+					( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
+						jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
+					jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) {
+				count++;
+				tmp.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise();
+	}
+});
+
+
+
+
+var rclass = /[\n\t\r]/g,
+	rspace = /\s+/,
+	rreturn = /\r/g,
+	rtype = /^(?:button|input)$/i,
+	rfocusable = /^(?:button|input|object|select|textarea)$/i,
+	rclickable = /^a(?:rea)?$/i,
+	rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
+	getSetAttribute = jQuery.support.getSetAttribute,
+	nodeHook, boolHook, fixSpecified;
+
+jQuery.fn.extend({
+	attr: function( name, value ) {
+		return jQuery.access( this, name, value, true, jQuery.attr );
+	},
+
+	removeAttr: function( name ) {
+		return this.each(function() {
+			jQuery.removeAttr( this, name );
+		});
+	},
+
+	prop: function( name, value ) {
+		return jQuery.access( this, name, value, true, jQuery.prop );
+	},
+
+	removeProp: function( name ) {
+		name = jQuery.propFix[ name ] || name;
+		return this.each(function() {
+			// try/catch handles cases where IE balks (such as removing a property on window)
+			try {
+				this[ name ] = undefined;
+				delete this[ name ];
+			} catch( e ) {}
+		});
+	},
+
+	addClass: function( value ) {
+		var classNames, i, l, elem,
+			setClass, c, cl;
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each(function( j ) {
+				jQuery( this ).addClass( value.call(this, j, this.className) );
+			});
+		}
+
+		if ( value && typeof value === "string" ) {
+			classNames = value.split( rspace );
+
+			for ( i = 0, l = this.length; i < l; i++ ) {
+				elem = this[ i ];
+
+				if ( elem.nodeType === 1 ) {
+					if ( !elem.className && classNames.length === 1 ) {
+						elem.className = value;
+
+					} else {
+						setClass = " " + elem.className + " ";
+
+						for ( c = 0, cl = classNames.length; c < cl; c++ ) {
+							if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) {
+								setClass += classNames[ c ] + " ";
+							}
+						}
+						elem.className = jQuery.trim( setClass );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	removeClass: function( value ) {
+		var classNames, i, l, elem, className, c, cl;
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each(function( j ) {
+				jQuery( this ).removeClass( value.call(this, j, this.className) );
+			});
+		}
+
+		if ( (value && typeof value === "string") || value === undefined ) {
+			classNames = ( value || "" ).split( rspace );
+
+			for ( i = 0, l = this.length; i < l; i++ ) {
+				elem = this[ i ];
+
+				if ( elem.nodeType === 1 && elem.className ) {
+					if ( value ) {
+						className = (" " + elem.className + " ").replace( rclass, " " );
+						for ( c = 0, cl = classNames.length; c < cl; c++ ) {
+							className = className.replace(" " + classNames[ c ] + " ", " ");
+						}
+						elem.className = jQuery.trim( className );
+
+					} else {
+						elem.className = "";
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value,
+			isBool = typeof stateVal === "boolean";
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each(function( i ) {
+				jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
+			});
+		}
+
+		return this.each(function() {
+			if ( type === "string" ) {
+				// toggle individual class names
+				var className,
+					i = 0,
+					self = jQuery( this ),
+					state = stateVal,
+					classNames = value.split( rspace );
+
+				while ( (className = classNames[ i++ ]) ) {
+					// check each className given, space seperated list
+					state = isBool ? state : !self.hasClass( className );
+					self[ state ? "addClass" : "removeClass" ]( className );
+				}
+
+			} else if ( type === "undefined" || type === "boolean" ) {
+				if ( this.className ) {
+					// store className if set
+					jQuery._data( this, "__className__", this.className );
+				}
+
+				// toggle whole className
+				this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
+			}
+		});
+	},
+
+	hasClass: function( selector ) {
+		var className = " " + selector + " ",
+			i = 0,
+			l = this.length;
+		for ( ; i < l; i++ ) {
+			if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	val: function( value ) {
+		var hooks, ret, isFunction,
+			elem = this[0];
+
+		if ( !arguments.length ) {
+			if ( elem ) {
+				hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
+
+				if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
+					return ret;
+				}
+
+				ret = elem.value;
+
+				return typeof ret === "string" ?
+					// handle most common string cases
+					ret.replace(rreturn, "") :
+					// handle cases where value is null/undef or number
+					ret == null ? "" : ret;
+			}
+
+			return;
+		}
+
+		isFunction = jQuery.isFunction( value );
+
+		return this.each(function( i ) {
+			var self = jQuery(this), val;
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( isFunction ) {
+				val = value.call( this, i, self.val() );
+			} else {
+				val = value;
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+			} else if ( typeof val === "number" ) {
+				val += "";
+			} else if ( jQuery.isArray( val ) ) {
+				val = jQuery.map(val, function ( value ) {
+					return value == null ? "" : value + "";
+				});
+			}
+
+			hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ];
+
+			// If set returns undefined, fall back to normal setting
+			if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
+				this.value = val;
+			}
+		});
+	}
+});
+
+jQuery.extend({
+	valHooks: {
+		option: {
+			get: function( elem ) {
+				// attributes.value is undefined in Blackberry 4.7 but
+				// uses .value. See #6932
+				var val = elem.attributes.value;
+				return !val || val.specified ? elem.value : elem.text;
+			}
+		},
+		select: {
+			get: function( elem ) {
+				var value, i, max, option,
+					index = elem.selectedIndex,
+					values = [],
+					options = elem.options,
+					one = elem.type === "select-one";
+
+				// Nothing was selected
+				if ( index < 0 ) {
+					return null;
+				}
+
+				// Loop through all the selected options
+				i = one ? index : 0;
+				max = one ? index + 1 : options.length;
+				for ( ; i < max; i++ ) {
+					option = options[ i ];
+
+					// Don't return options that are disabled or in a disabled optgroup
+					if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
+							(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
+
+						// Get the specific value for the option
+						value = jQuery( option ).val();
+
+						// We don't need an array for one selects
+						if ( one ) {
+							return value;
+						}
+
+						// Multi-Selects return an array
+						values.push( value );
+					}
+				}
+
+				// Fixes Bug #2551 -- select.val() broken in IE after form.reset()
+				if ( one && !values.length && options.length ) {
+					return jQuery( options[ index ] ).val();
+				}
+
+				return values;
+			},
+
+			set: function( elem, value ) {
+				var values = jQuery.makeArray( value );
+
+				jQuery(elem).find("option").each(function() {
+					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
+				});
+
+				if ( !values.length ) {
+					elem.selectedIndex = -1;
+				}
+				return values;
+			}
+		}
+	},
+
+	attrFn: {
+		val: true,
+		css: true,
+		html: true,
+		text: true,
+		data: true,
+		width: true,
+		height: true,
+		offset: true
+	},
+
+	attr: function( elem, name, value, pass ) {
+		var ret, hooks, notxml,
+			nType = elem.nodeType;
+
+		// don't get/set attributes on text, comment and attribute nodes
+		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		if ( pass && name in jQuery.attrFn ) {
+			return jQuery( elem )[ name ]( value );
+		}
+
+		// Fallback to prop when attributes are not supported
+		if ( typeof elem.getAttribute === "undefined" ) {
+			return jQuery.prop( elem, name, value );
+		}
+
+		notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+		// All attributes are lowercase
+		// Grab necessary hook if one is defined
+		if ( notxml ) {
+			name = name.toLowerCase();
+			hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
+		}
+
+		if ( value !== undefined ) {
+
+			if ( value === null ) {
+				jQuery.removeAttr( elem, name );
+				return;
+
+			} else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
+				return ret;
+
+			} else {
+				elem.setAttribute( name, "" + value );
+				return value;
+			}
+
+		} else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
+			return ret;
+
+		} else {
+
+			ret = elem.getAttribute( name );
+
+			// Non-existent attributes return null, we normalize to undefined
+			return ret === null ?
+				undefined :
+				ret;
+		}
+	},
+
+	removeAttr: function( elem, value ) {
+		var propName, attrNames, name, l,
+			i = 0;
+
+		if ( value && elem.nodeType === 1 ) {
+			attrNames = value.toLowerCase().split( rspace );
+			l = attrNames.length;
+
+			for ( ; i < l; i++ ) {
+				name = attrNames[ i ];
+
+				if ( name ) {
+					propName = jQuery.propFix[ name ] || name;
+
+					// See #9699 for explanation of this approach (setting first, then removal)
+					jQuery.attr( elem, name, "" );
+					elem.removeAttribute( getSetAttribute ? name : propName );
+
+					// Set corresponding property to false for boolean attributes
+					if ( rboolean.test( name ) && propName in elem ) {
+						elem[ propName ] = false;
+					}
+				}
+			}
+		}
+	},
+
+	attrHooks: {
+		type: {
+			set: function( elem, value ) {
+				// We can't allow the type property to be changed (since it causes problems in IE)
+				if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
+					jQuery.error( "type property can't be changed" );
+				} else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
+					// Setting the type on a radio button after the value resets the value in IE6-9
+					// Reset value to it's default in case type is set after value
+					// This is for element creation
+					var val = elem.value;
+					elem.setAttribute( "type", value );
+					if ( val ) {
+						elem.value = val;
+					}
+					return value;
+				}
+			}
+		},
+		// Use the value property for back compat
+		// Use the nodeHook for button elements in IE6/7 (#1954)
+		value: {
+			get: function( elem, name ) {
+				if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
+					return nodeHook.get( elem, name );
+				}
+				return name in elem ?
+					elem.value :
+					null;
+			},
+			set: function( elem, value, name ) {
+				if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
+					return nodeHook.set( elem, value, name );
+				}
+				// Does not return so that setAttribute is also used
+				elem.value = value;
+			}
+		}
+	},
+
+	propFix: {
+		tabindex: "tabIndex",
+		readonly: "readOnly",
+		"for": "htmlFor",
+		"class": "className",
+		maxlength: "maxLength",
+		cellspacing: "cellSpacing",
+		cellpadding: "cellPadding",
+		rowspan: "rowSpan",
+		colspan: "colSpan",
+		usemap: "useMap",
+		frameborder: "frameBorder",
+		contenteditable: "contentEditable"
+	},
+
+	prop: function( elem, name, value ) {
+		var ret, hooks, notxml,
+			nType = elem.nodeType;
+
+		// don't get/set properties on text, comment and attribute nodes
+		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+		if ( notxml ) {
+			// Fix name and attach hooks
+			name = jQuery.propFix[ name ] || name;
+			hooks = jQuery.propHooks[ name ];
+		}
+
+		if ( value !== undefined ) {
+			if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
+				return ret;
+
+			} else {
+				return ( elem[ name ] = value );
+			}
+
+		} else {
+			if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
+				return ret;
+
+			} else {
+				return elem[ name ];
+			}
+		}
+	},
+
+	propHooks: {
+		tabIndex: {
+			get: function( elem ) {
+				// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
+				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				var attributeNode = elem.getAttributeNode("tabindex");
+
+				return attributeNode && attributeNode.specified ?
+					parseInt( attributeNode.value, 10 ) :
+					rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
+						0 :
+						undefined;
+			}
+		}
+	}
+});
+
+// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional)
+jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex;
+
+// Hook for boolean attributes
+boolHook = {
+	get: function( elem, name ) {
+		// Align boolean attributes with corresponding properties
+		// Fall back to attribute presence where some booleans are not supported
+		var attrNode,
+			property = jQuery.prop( elem, name );
+		return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
+			name.toLowerCase() :
+			undefined;
+	},
+	set: function( elem, value, name ) {
+		var propName;
+		if ( value === false ) {
+			// Remove boolean attributes when set to false
+			jQuery.removeAttr( elem, name );
+		} else {
+			// value is true since we know at this point it's type boolean and not false
+			// Set boolean attributes to the same name and set the DOM property
+			propName = jQuery.propFix[ name ] || name;
+			if ( propName in elem ) {
+				// Only set the IDL specifically if it already exists on the element
+				elem[ propName ] = true;
+			}
+
+			elem.setAttribute( name, name.toLowerCase() );
+		}
+		return name;
+	}
+};
+
+// IE6/7 do not support getting/setting some attributes with get/setAttribute
+if ( !getSetAttribute ) {
+
+	fixSpecified = {
+		name: true,
+		id: true
+	};
+
+	// Use this for any attribute in IE6/7
+	// This fixes almost every IE6/7 issue
+	nodeHook = jQuery.valHooks.button = {
+		get: function( elem, name ) {
+			var ret;
+			ret = elem.getAttributeNode( name );
+			return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ?
+				ret.nodeValue :
+				undefined;
+		},
+		set: function( elem, value, name ) {
+			// Set the existing or create a new attribute node
+			var ret = elem.getAttributeNode( name );
+			if ( !ret ) {
+				ret = document.createAttribute( name );
+				elem.setAttributeNode( ret );
+			}
+			return ( ret.nodeValue = value + "" );
+		}
+	};
+
+	// Apply the nodeHook to tabindex
+	jQuery.attrHooks.tabindex.set = nodeHook.set;
+
+	// Set width and height to auto instead of 0 on empty string( Bug #8150 )
+	// This is for removals
+	jQuery.each([ "width", "height" ], function( i, name ) {
+		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+			set: function( elem, value ) {
+				if ( value === "" ) {
+					elem.setAttribute( name, "auto" );
+					return value;
+				}
+			}
+		});
+	});
+
+	// Set contenteditable to false on removals(#10429)
+	// Setting to empty string throws an error as an invalid value
+	jQuery.attrHooks.contenteditable = {
+		get: nodeHook.get,
+		set: function( elem, value, name ) {
+			if ( value === "" ) {
+				value = "false";
+			}
+			nodeHook.set( elem, value, name );
+		}
+	};
+}
+
+
+// Some attributes require a special call on IE
+if ( !jQuery.support.hrefNormalized ) {
+	jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
+		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+			get: function( elem ) {
+				var ret = elem.getAttribute( name, 2 );
+				return ret === null ? undefined : ret;
+			}
+		});
+	});
+}
+
+if ( !jQuery.support.style ) {
+	jQuery.attrHooks.style = {
+		get: function( elem ) {
+			// Return undefined in the case of empty string
+			// Normalize to lowercase since IE uppercases css property names
+			return elem.style.cssText.toLowerCase() || undefined;
+		},
+		set: function( elem, value ) {
+			return ( elem.style.cssText = "" + value );
+		}
+	};
+}
+
+// Safari mis-reports the default selected property of an option
+// Accessing the parent's selectedIndex property fixes it
+if ( !jQuery.support.optSelected ) {
+	jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
+		get: function( elem ) {
+			var parent = elem.parentNode;
+
+			if ( parent ) {
+				parent.selectedIndex;
+
+				// Make sure that it also works with optgroups, see #5701
+				if ( parent.parentNode ) {
+					parent.parentNode.selectedIndex;
+				}
+			}
+			return null;
+		}
+	});
+}
+
+// IE6/7 call enctype encoding
+if ( !jQuery.support.enctype ) {
+	jQuery.propFix.enctype = "encoding";
+}
+
+// Radios and checkboxes getter/setter
+if ( !jQuery.support.checkOn ) {
+	jQuery.each([ "radio", "checkbox" ], function() {
+		jQuery.valHooks[ this ] = {
+			get: function( elem ) {
+				// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
+				return elem.getAttribute("value") === null ? "on" : elem.value;
+			}
+		};
+	});
+}
+jQuery.each([ "radio", "checkbox" ], function() {
+	jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
+		set: function( elem, value ) {
+			if ( jQuery.isArray( value ) ) {
+				return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
+			}
+		}
+	});
+});
+
+
+
+
+var rformElems = /^(?:textarea|input|select)$/i,
+	rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
+	rhoverHack = /\bhover(\.\S+)?\b/,
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|contextmenu)|click/,
+	rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+	rquickIs = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,
+	quickParse = function( selector ) {
+		var quick = rquickIs.exec( selector );
+		if ( quick ) {
+			//   0  1    2   3
+			// [ _, tag, id, class ]
+			quick[1] = ( quick[1] || "" ).toLowerCase();
+			quick[3] = quick[3] && new RegExp( "(?:^|\\s)" + quick[3] + "(?:\\s|$)" );
+		}
+		return quick;
+	},
+	quickIs = function( elem, m ) {
+		var attrs = elem.attributes || {};
+		return (
+			(!m[1] || elem.nodeName.toLowerCase() === m[1]) &&
+			(!m[2] || (attrs.id || {}).value === m[2]) &&
+			(!m[3] || m[3].test( (attrs[ "class" ] || {}).value ))
+		);
+	},
+	hoverHack = function( events ) {
+		return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
+	};
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+	add: function( elem, types, handler, data, selector ) {
+
+		var elemData, eventHandle, events,
+			t, tns, type, namespaces, handleObj,
+			handleObjIn, quick, handlers, special;
+
+		// Don't attach events to noData or text/comment nodes (allow plain objects tho)
+		if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		events = elemData.events;
+		if ( !events ) {
+			elemData.events = events = {};
+		}
+		eventHandle = elemData.handle;
+		if ( !eventHandle ) {
+			elemData.handle = eventHandle = function( e ) {
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
+					jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
+					undefined;
+			};
+			// Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
+			eventHandle.elem = elem;
+		}
+
+		// Handle multiple events separated by a space
+		// jQuery(...).bind("mouseover mouseout", fn);
+		types = jQuery.trim( hoverHack(types) ).split( " " );
+		for ( t = 0; t < types.length; t++ ) {
+
+			tns = rtypenamespace.exec( types[t] ) || [];
+			type = tns[1];
+			namespaces = ( tns[2] || "" ).split( "." ).sort();
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			handleObj = jQuery.extend({
+				type: type,
+				origType: tns[1],
+				data: data,
+				handler: handler,
+				guid: handler.guid,
+				selector: selector,
+				quick: quickParse( selector ),
+				namespace: namespaces.join(".")
+			}, handleObjIn );
+
+			// Init the event handler queue if we're the first
+			handlers = events[ type ];
+			if ( !handlers ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener/attachEvent if the special events handler returns false
+				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+					// Bind the global event handler to the element
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle, false );
+
+					} else if ( elem.attachEvent ) {
+						elem.attachEvent( "on" + type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+		// Nullify elem to prevent memory leaks in IE
+		elem = null;
+	},
+
+	global: {},
+
+	// Detach an event or set of events from an element
+	remove: function( elem, types, handler, selector, mappedTypes ) {
+
+		var elemData = jQuery.hasData( elem ) && jQuery._data( elem ),
+			t, tns, type, origType, namespaces, origCount,
+			j, events, special, handle, eventType, handleObj;
+
+		if ( !elemData || !(events = elemData.events) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = jQuery.trim( hoverHack( types || "" ) ).split(" ");
+		for ( t = 0; t < types.length; t++ ) {
+			tns = rtypenamespace.exec( types[t] ) || [];
+			type = origType = tns[1];
+			namespaces = tns[2];
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector? special.delegateType : special.bindType ) || type;
+			eventType = events[ type ] || [];
+			origCount = eventType.length;
+			namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
+
+			// Remove matching events
+			for ( j = 0; j < eventType.length; j++ ) {
+				handleObj = eventType[ j ];
+
+				if ( ( mappedTypes || origType === handleObj.origType ) &&
+					 ( !handler || handler.guid === handleObj.guid ) &&
+					 ( !namespaces || namespaces.test( handleObj.namespace ) ) &&
+					 ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
+					eventType.splice( j--, 1 );
+
+					if ( handleObj.selector ) {
+						eventType.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( eventType.length === 0 && origCount !== eventType.length ) {
+				if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			handle = elemData.handle;
+			if ( handle ) {
+				handle.elem = null;
+			}
+
+			// removeData also checks for emptiness and clears the expando if empty
+			// so use it instead of delete
+			jQuery.removeData( elem, [ "events", "handle" ], true );
+		}
+	},
+
+	// Events that are safe to short-circuit if no handlers are attached.
+	// Native DOM events should not be added, they may have inline handlers.
+	customEvent: {
+		"getData": true,
+		"setData": true,
+		"changeData": true
+	},
+
+	trigger: function( event, data, elem, onlyHandlers ) {
+		// Don't do events on text and comment nodes
+		if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
+			return;
+		}
+
+		// Event object or event type
+		var type = event.type || event,
+			namespaces = [],
+			cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType;
+
+		// focus/blur morphs to focusin/out; ensure we're not firing them right now
+		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+			return;
+		}
+
+		if ( type.indexOf( "!" ) >= 0 ) {
+			// Exclusive events trigger only for the exact event (no namespaces)
+			type = type.slice(0, -1);
+			exclusive = true;
+		}
+
+		if ( type.indexOf( "." ) >= 0 ) {
+			// Namespaced trigger; create a regexp to match event type in handle()
+			namespaces = type.split(".");
+			type = namespaces.shift();
+			namespaces.sort();
+		}
+
+		if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
+			// No jQuery handlers for this event type, and it can't have inline handlers
+			return;
+		}
+
+		// Caller can pass in an Event, Object, or just an event type string
+		event = typeof event === "object" ?
+			// jQuery.Event object
+			event[ jQuery.expando ] ? event :
+			// Object literal
+			new jQuery.Event( type, event ) :
+			// Just the event type (string)
+			new jQuery.Event( type );
+
+		event.type = type;
+		event.isTrigger = true;
+		event.exclusive = exclusive;
+		event.namespace = namespaces.join( "." );
+		event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
+		ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";
+
+		// Handle a global trigger
+		if ( !elem ) {
+
+			// TODO: Stop taunting the data cache; remove global events and always attach to document
+			cache = jQuery.cache;
+			for ( i in cache ) {
+				if ( cache[ i ].events && cache[ i ].events[ type ] ) {
+					jQuery.event.trigger( event, data, cache[ i ].handle.elem, true );
+				}
+			}
+			return;
+		}
+
+		// Clean up the event in case it is being reused
+		event.result = undefined;
+		if ( !event.target ) {
+			event.target = elem;
+		}
+
+		// Clone any incoming data and prepend the event, creating the handler arg list
+		data = data != null ? jQuery.makeArray( data ) : [];
+		data.unshift( event );
+
+		// Allow special events to draw outside the lines
+		special = jQuery.event.special[ type ] || {};
+		if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
+			return;
+		}
+
+		// Determine event propagation path in advance, per W3C events spec (#9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		eventPath = [[ elem, special.bindType || type ]];
+		if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+			bubbleType = special.delegateType || type;
+			cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;
+			old = null;
+			for ( ; cur; cur = cur.parentNode ) {
+				eventPath.push([ cur, bubbleType ]);
+				old = cur;
+			}
+
+			// Only add window if we got to document (e.g., not plain obj or detached DOM)
+			if ( old && old === elem.ownerDocument ) {
+				eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
+			}
+		}
+
+		// Fire handlers on the event path
+		for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {
+
+			cur = eventPath[i][0];
+			event.type = eventPath[i][1];
+
+			handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
+			if ( handle ) {
+				handle.apply( cur, data );
+			}
+			// Note that this is a bare JS function and not a jQuery handler
+			handle = ontype && cur[ ontype ];
+			if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) {
+				event.preventDefault();
+			}
+		}
+		event.type = type;
+
+		// If nobody prevented the default action, do it now
+		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+			if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
+				!(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
+
+				// Call a native DOM method on the target with the same name name as the event.
+				// Can't use an .isFunction() check here because IE6/7 fails that test.
+				// Don't do default actions on window, that's where global variables be (#6170)
+				// IE<9 dies on focus/blur to hidden element (#1486)
+				if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {
+
+					// Don't re-trigger an onFOO event when we call its FOO() method
+					old = elem[ ontype ];
+
+					if ( old ) {
+						elem[ ontype ] = null;
+					}
+
+					// Prevent re-triggering of the same event, since we already bubbled it above
+					jQuery.event.triggered = type;
+					elem[ type ]();
+					jQuery.event.triggered = undefined;
+
+					if ( old ) {
+						elem[ ontype ] = old;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	dispatch: function( event ) {
+
+		// Make a writable jQuery.Event from the native event object
+		event = jQuery.event.fix( event || window.event );
+
+		var handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []),
+			delegateCount = handlers.delegateCount,
+			args = [].slice.call( arguments, 0 ),
+			run_all = !event.exclusive && !event.namespace,
+			handlerQueue = [],
+			i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related;
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[0] = event;
+		event.delegateTarget = this;
+
+		// Determine handlers that should run if there are delegated events
+		// Avoid disabled elements in IE (#6911) and non-left-click bubbling in Firefox (#3861)
+		if ( delegateCount && !event.target.disabled && !(event.button && event.type === "click") ) {
+
+			// Pregenerate a single jQuery object for reuse with .is()
+			jqcur = jQuery(this);
+			jqcur.context = this.ownerDocument || this;
+
+			for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {
+				selMatch = {};
+				matches = [];
+				jqcur[0] = cur;
+				for ( i = 0; i < delegateCount; i++ ) {
+					handleObj = handlers[ i ];
+					sel = handleObj.selector;
+
+					if ( selMatch[ sel ] === undefined ) {
+						selMatch[ sel ] = (
+							handleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel )
+						);
+					}
+					if ( selMatch[ sel ] ) {
+						matches.push( handleObj );
+					}
+				}
+				if ( matches.length ) {
+					handlerQueue.push({ elem: cur, matches: matches });
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		if ( handlers.length > delegateCount ) {
+			handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });
+		}
+
+		// Run delegates first; they may want to stop propagation beneath us
+		for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
+			matched = handlerQueue[ i ];
+			event.currentTarget = matched.elem;
+
+			for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
+				handleObj = matched.matches[ j ];
+
+				// Triggered event must either 1) be non-exclusive and have no namespace, or
+				// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
+				if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
+
+					event.data = handleObj.data;
+					event.handleObj = handleObj;
+
+					ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
+							.apply( matched.elem, args );
+
+					if ( ret !== undefined ) {
+						event.result = ret;
+						if ( ret === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	// Includes some event props shared by KeyEvent and MouseEvent
+	// *** attrChange attrName relatedNode srcElement  are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
+	props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+
+	fixHooks: {},
+
+	keyHooks: {
+		props: "char charCode key keyCode".split(" "),
+		filter: function( event, original ) {
+
+			// Add which for key events
+			if ( event.which == null ) {
+				event.which = original.charCode != null ? original.charCode : original.keyCode;
+			}
+
+			return event;
+		}
+	},
+
+	mouseHooks: {
+		props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+		filter: function( event, original ) {
+			var eventDoc, doc, body,
+				button = original.button,
+				fromElement = original.fromElement;
+
+			// Calculate pageX/Y if missing and clientX/Y available
+			if ( event.pageX == null && original.clientX != null ) {
+				eventDoc = event.target.ownerDocument || document;
+				doc = eventDoc.documentElement;
+				body = eventDoc.body;
+
+				event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
+				event.pageY = original.clientY + ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) - ( doc && doc.clientTop  || body && body.clientTop  || 0 );
+			}
+
+			// Add relatedTarget, if necessary
+			if ( !event.relatedTarget && fromElement ) {
+				event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
+			}
+
+			// Add which for click: 1 === left; 2 === middle; 3 === right
+			// Note: button is not normalized, so don't use it
+			if ( !event.which && button !== undefined ) {
+				event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
+			}
+
+			return event;
+		}
+	},
+
+	fix: function( event ) {
+		if ( event[ jQuery.expando ] ) {
+			return event;
+		}
+
+		// Create a writable copy of the event object and normalize some properties
+		var i, prop,
+			originalEvent = event,
+			fixHook = jQuery.event.fixHooks[ event.type ] || {},
+			copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
+
+		event = jQuery.Event( originalEvent );
+
+		for ( i = copy.length; i; ) {
+			prop = copy[ --i ];
+			event[ prop ] = originalEvent[ prop ];
+		}
+
+		// Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
+		if ( !event.target ) {
+			event.target = originalEvent.srcElement || document;
+		}
+
+		// Target should not be a text node (#504, Safari)
+		if ( event.target.nodeType === 3 ) {
+			event.target = event.target.parentNode;
+		}
+
+		// For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8)
+		if ( event.metaKey === undefined ) {
+			event.metaKey = event.ctrlKey;
+		}
+
+		return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
+	},
+
+	special: {
+		ready: {
+			// Make sure the ready event is setup
+			setup: jQuery.bindReady
+		},
+
+		load: {
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+
+		focus: {
+			delegateType: "focusin"
+		},
+		blur: {
+			delegateType: "focusout"
+		},
+
+		beforeunload: {
+			setup: function( data, namespaces, eventHandle ) {
+				// We only want to do this special case on windows
+				if ( jQuery.isWindow( this ) ) {
+					this.onbeforeunload = eventHandle;
+				}
+			},
+
+			teardown: function( namespaces, eventHandle ) {
+				if ( this.onbeforeunload === eventHandle ) {
+					this.onbeforeunload = null;
+				}
+			}
+		}
+	},
+
+	simulate: function( type, elem, event, bubble ) {
+		// Piggyback on a donor event to simulate a different one.
+		// Fake originalEvent to avoid donor's stopPropagation, but if the
+		// simulated event prevents default then we do the same on the donor.
+		var e = jQuery.extend(
+			new jQuery.Event(),
+			event,
+			{ type: type,
+				isSimulated: true,
+				originalEvent: {}
+			}
+		);
+		if ( bubble ) {
+			jQuery.event.trigger( e, null, elem );
+		} else {
+			jQuery.event.dispatch.call( elem, e );
+		}
+		if ( e.isDefaultPrevented() ) {
+			event.preventDefault();
+		}
+	}
+};
+
+// Some plugins are using, but it's undocumented/deprecated and will be removed.
+// The 1.7 special event interface should provide all the hooks needed now.
+jQuery.event.handle = jQuery.event.dispatch;
+
+jQuery.removeEvent = document.removeEventListener ?
+	function( elem, type, handle ) {
+		if ( elem.removeEventListener ) {
+			elem.removeEventListener( type, handle, false );
+		}
+	} :
+	function( elem, type, handle ) {
+		if ( elem.detachEvent ) {
+			elem.detachEvent( "on" + type, handle );
+		}
+	};
+
+jQuery.Event = function( src, props ) {
+	// Allow instantiation without the 'new' keyword
+	if ( !(this instanceof jQuery.Event) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
+			src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || jQuery.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+function returnFalse() {
+	return false;
+}
+function returnTrue() {
+	return true;
+}
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	preventDefault: function() {
+		this.isDefaultPrevented = returnTrue;
+
+		var e = this.originalEvent;
+		if ( !e ) {
+			return;
+		}
+
+		// if preventDefault exists run it on the original event
+		if ( e.preventDefault ) {
+			e.preventDefault();
+
+		// otherwise set the returnValue property of the original event to false (IE)
+		} else {
+			e.returnValue = false;
+		}
+	},
+	stopPropagation: function() {
+		this.isPropagationStopped = returnTrue;
+
+		var e = this.originalEvent;
+		if ( !e ) {
+			return;
+		}
+		// if stopPropagation exists run it on the original event
+		if ( e.stopPropagation ) {
+			e.stopPropagation();
+		}
+		// otherwise set the cancelBubble property of the original event to true (IE)
+		e.cancelBubble = true;
+	},
+	stopImmediatePropagation: function() {
+		this.isImmediatePropagationStopped = returnTrue;
+		this.stopPropagation();
+	},
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse
+};
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+jQuery.each({
+	mouseenter: "mouseover",
+	mouseleave: "mouseout"
+}, function( orig, fix ) {
+	jQuery.event.special[ orig ] = {
+		delegateType: fix,
+		bindType: fix,
+
+		handle: function( event ) {
+			var target = this,
+				related = event.relatedTarget,
+				handleObj = event.handleObj,
+				selector = handleObj.selector,
+				ret;
+
+			// For mousenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return ret;
+		}
+	};
+});
+
+// IE submit delegation
+if ( !jQuery.support.submitBubbles ) {
+
+	jQuery.event.special.submit = {
+		setup: function() {
+			// Only need this for delegated form submit events
+			if ( jQuery.nodeName( this, "form" ) ) {
+				return false;
+			}
+
+			// Lazy-add a submit handler when a descendant form may potentially be submitted
+			jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
+				// Node name check avoids a VML-related crash in IE (#9807)
+				var elem = e.target,
+					form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
+				if ( form && !form._submit_attached ) {
+					jQuery.event.add( form, "submit._submit", function( event ) {
+						// If form was submitted by the user, bubble the event up the tree
+						if ( this.parentNode && !event.isTrigger ) {
+							jQuery.event.simulate( "submit", this.parentNode, event, true );
+						}
+					});
+					form._submit_attached = true;
+				}
+			});
+			// return undefined since we don't need an event listener
+		},
+
+		teardown: function() {
+			// Only need this for delegated form submit events
+			if ( jQuery.nodeName( this, "form" ) ) {
+				return false;
+			}
+
+			// Remove delegated handlers; cleanData eventually reaps submit handlers attached above
+			jQuery.event.remove( this, "._submit" );
+		}
+	};
+}
+
+// IE change delegation and checkbox/radio fix
+if ( !jQuery.support.changeBubbles ) {
+
+	jQuery.event.special.change = {
+
+		setup: function() {
+
+			if ( rformElems.test( this.nodeName ) ) {
+				// IE doesn't fire change on a check/radio until blur; trigger it on click
+				// after a propertychange. Eat the blur-change in special.change.handle.
+				// This still fires onchange a second time for check/radio after blur.
+				if ( this.type === "checkbox" || this.type === "radio" ) {
+					jQuery.event.add( this, "propertychange._change", function( event ) {
+						if ( event.originalEvent.propertyName === "checked" ) {
+							this._just_changed = true;
+						}
+					});
+					jQuery.event.add( this, "click._change", function( event ) {
+						if ( this._just_changed && !event.isTrigger ) {
+							this._just_changed = false;
+							jQuery.event.simulate( "change", this, event, true );
+						}
+					});
+				}
+				return false;
+			}
+			// Delegated event; lazy-add a change handler on descendant inputs
+			jQuery.event.add( this, "beforeactivate._change", function( e ) {
+				var elem = e.target;
+
+				if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {
+					jQuery.event.add( elem, "change._change", function( event ) {
+						if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
+							jQuery.event.simulate( "change", this.parentNode, event, true );
+						}
+					});
+					elem._change_attached = true;
+				}
+			});
+		},
+
+		handle: function( event ) {
+			var elem = event.target;
+
+			// Swallow native change events from checkbox/radio, we already triggered them above
+			if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
+				return event.handleObj.handler.apply( this, arguments );
+			}
+		},
+
+		teardown: function() {
+			jQuery.event.remove( this, "._change" );
+
+			return rformElems.test( this.nodeName );
+		}
+	};
+}
+
+// Create "bubbling" focus and blur events
+if ( !jQuery.support.focusinBubbles ) {
+	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+		// Attach a single capturing handler while someone wants focusin/focusout
+		var attaches = 0,
+			handler = function( event ) {
+				jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
+			};
+
+		jQuery.event.special[ fix ] = {
+			setup: function() {
+				if ( attaches++ === 0 ) {
+					document.addEventListener( orig, handler, true );
+				}
+			},
+			teardown: function() {
+				if ( --attaches === 0 ) {
+					document.removeEventListener( orig, handler, true );
+				}
+			}
+		};
+	});
+}
+
+jQuery.fn.extend({
+
+	on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
+		var origFn, type;
+
+		// Types can be a map of types/handlers
+		if ( typeof types === "object" ) {
+			// ( types-Object, selector, data )
+			if ( typeof selector !== "string" ) {
+				// ( types-Object, data )
+				data = selector;
+				selector = undefined;
+			}
+			for ( type in types ) {
+				this.on( type, selector, data, types[ type ], one );
+			}
+			return this;
+		}
+
+		if ( data == null && fn == null ) {
+			// ( types, fn )
+			fn = selector;
+			data = selector = undefined;
+		} else if ( fn == null ) {
+			if ( typeof selector === "string" ) {
+				// ( types, selector, fn )
+				fn = data;
+				data = undefined;
+			} else {
+				// ( types, data, fn )
+				fn = data;
+				data = selector;
+				selector = undefined;
+			}
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		} else if ( !fn ) {
+			return this;
+		}
+
+		if ( one === 1 ) {
+			origFn = fn;
+			fn = function( event ) {
+				// Can use an empty set, since event contains the info
+				jQuery().off( event );
+				return origFn.apply( this, arguments );
+			};
+			// Use same guid so caller can remove using origFn
+			fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+		}
+		return this.each( function() {
+			jQuery.event.add( this, types, fn, data, selector );
+		});
+	},
+	one: function( types, selector, data, fn ) {
+		return this.on.call( this, types, selector, data, fn, 1 );
+	},
+	off: function( types, selector, fn ) {
+		if ( types && types.preventDefault && types.handleObj ) {
+			// ( event )  dispatched jQuery.Event
+			var handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace? handleObj.type + "." + handleObj.namespace : handleObj.type,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+			// ( types-object [, selector] )
+			for ( var type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each(function() {
+			jQuery.event.remove( this, types, fn, selector );
+		});
+	},
+
+	bind: function( types, data, fn ) {
+		return this.on( types, null, data, fn );
+	},
+	unbind: function( types, fn ) {
+		return this.off( types, null, fn );
+	},
+
+	live: function( types, data, fn ) {
+		jQuery( this.context ).on( types, this.selector, data, fn );
+		return this;
+	},
+	die: function( types, fn ) {
+		jQuery( this.context ).off( types, this.selector || "**", fn );
+		return this;
+	},
+
+	delegate: function( selector, types, data, fn ) {
+		return this.on( types, selector, data, fn );
+	},
+	undelegate: function( selector, types, fn ) {
+		// ( namespace ) or ( selector, types [, fn] )
+		return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn );
+	},
+
+	trigger: function( type, data ) {
+		return this.each(function() {
+			jQuery.event.trigger( type, data, this );
+		});
+	},
+	triggerHandler: function( type, data ) {
+		if ( this[0] ) {
+			return jQuery.event.trigger( type, data, this[0], true );
+		}
+	},
+
+	toggle: function( fn ) {
+		// Save reference to arguments for access in closure
+		var args = arguments,
+			guid = fn.guid || jQuery.guid++,
+			i = 0,
+			toggler = function( event ) {
+				// Figure out which function to execute
+				var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+				jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+				// Make sure that clicks stop
+				event.preventDefault();
+
+				// and execute the function
+				return args[ lastToggle ].apply( this, arguments ) || false;
+			};
+
+		// link all the functions, so any of them can unbind this click handler
+		toggler.guid = guid;
+		while ( i < args.length ) {
+			args[ i++ ].guid = guid;
+		}
+
+		return this.click( toggler );
+	},
+
+	hover: function( fnOver, fnOut ) {
+		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+	}
+});
+
+jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
+	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+	"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
+
+	// Handle event binding
+	jQuery.fn[ name ] = function( data, fn ) {
+		if ( fn == null ) {
+			fn = data;
+			data = null;
+		}
+
+		return arguments.length > 0 ?
+			this.on( name, null, data, fn ) :
+			this.trigger( name );
+	};
+
+	if ( jQuery.attrFn ) {
+		jQuery.attrFn[ name ] = true;
+	}
+
+	if ( rkeyEvent.test( name ) ) {
+		jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
+	}
+
+	if ( rmouseEvent.test( name ) ) {
+		jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
+	}
+});
+
+
+
+/*!
+ * Sizzle CSS Selector Engine
+ *  Copyright 2011, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){
+
+var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
+	expando = "sizcache" + (Math.random() + '').replace('.', ''),
+	done = 0,
+	toString = Object.prototype.toString,
+	hasDuplicate = false,
+	baseHasDuplicate = true,
+	rBackslash = /\\/g,
+	rReturn = /\r\n/g,
+	rNonWord = /\W/;
+
+// Here we check if the JavaScript engine is using some sort of
+// optimization where it does not always call our comparision
+// function. If that is the case, discard the hasDuplicate value.
+//   Thus far that includes Google Chrome.
+[0, 0].sort(function() {
+	baseHasDuplicate = false;
+	return 0;
+});
+
+var Sizzle = function( selector, context, results, seed ) {
+	results = results || [];
+	context = context || document;
+
+	var origContext = context;
+
+	if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
+		return [];
+	}
+
+	if ( !selector || typeof selector !== "string" ) {
+		return results;
+	}
+
+	var m, set, checkSet, extra, ret, cur, pop, i,
+		prune = true,
+		contextXML = Sizzle.isXML( context ),
+		parts = [],
+		soFar = selector;
+
+	// Reset the position of the chunker regexp (start from head)
+	do {
+		chunker.exec( "" );
+		m = chunker.exec( soFar );
+
+		if ( m ) {
+			soFar = m[3];
+
+			parts.push( m[1] );
+
+			if ( m[2] ) {
+				extra = m[3];
+				break;
+			}
+		}
+	} while ( m );
+
+	if ( parts.length > 1 && origPOS.exec( selector ) ) {
+
+		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
+			set = posProcess( parts[0] + parts[1], context, seed );
+
+		} else {
+			set = Expr.relative[ parts[0] ] ?
+				[ context ] :
+				Sizzle( parts.shift(), context );
+
+			while ( parts.length ) {
+				selector = parts.shift();
+
+				if ( Expr.relative[ selector ] ) {
+					selector += parts.shift();
+				}
+
+				set = posProcess( selector, set, seed );
+			}
+		}
+
+	} else {
+		// Take a shortcut and set the context if the root selector is an ID
+		// (but not if it'll be faster if the inner selector is an ID)
+		if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
+				Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
+
+			ret = Sizzle.find( parts.shift(), context, contextXML );
+			context = ret.expr ?
+				Sizzle.filter( ret.expr, ret.set )[0] :
+				ret.set[0];
+		}
+
+		if ( context ) {
+			ret = seed ?
+				{ expr: parts.pop(), set: makeArray(seed) } :
+				Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
+
+			set = ret.expr ?
+				Sizzle.filter( ret.expr, ret.set ) :
+				ret.set;
+
+			if ( parts.length > 0 ) {
+				checkSet = makeArray( set );
+
+			} else {
+				prune = false;
+			}
+
+			while ( parts.length ) {
+				cur = parts.pop();
+				pop = cur;
+
+				if ( !Expr.relative[ cur ] ) {
+					cur = "";
+				} else {
+					pop = parts.pop();
+				}
+
+				if ( pop == null ) {
+					pop = context;
+				}
+
+				Expr.relative[ cur ]( checkSet, pop, contextXML );
+			}
+
+		} else {
+			checkSet = parts = [];
+		}
+	}
+
+	if ( !checkSet ) {
+		checkSet = set;
+	}
+
+	if ( !checkSet ) {
+		Sizzle.error( cur || selector );
+	}
+
+	if ( toString.call(checkSet) === "[object Array]" ) {
+		if ( !prune ) {
+			results.push.apply( results, checkSet );
+
+		} else if ( context && context.nodeType === 1 ) {
+			for ( i = 0; checkSet[i] != null; i++ ) {
+				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
+					results.push( set[i] );
+				}
+			}
+
+		} else {
+			for ( i = 0; checkSet[i] != null; i++ ) {
+				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
+					results.push( set[i] );
+				}
+			}
+		}
+
+	} else {
+		makeArray( checkSet, results );
+	}
+
+	if ( extra ) {
+		Sizzle( extra, origContext, results, seed );
+		Sizzle.uniqueSort( results );
+	}
+
+	return results;
+};
+
+Sizzle.uniqueSort = function( results ) {
+	if ( sortOrder ) {
+		hasDuplicate = baseHasDuplicate;
+		results.sort( sortOrder );
+
+		if ( hasDuplicate ) {
+			for ( var i = 1; i < results.length; i++ ) {
+				if ( results[i] === results[ i - 1 ] ) {
+					results.splice( i--, 1 );
+				}
+			}
+		}
+	}
+
+	return results;
+};
+
+Sizzle.matches = function( expr, set ) {
+	return Sizzle( expr, null, null, set );
+};
+
+Sizzle.matchesSelector = function( node, expr ) {
+	return Sizzle( expr, null, null, [node] ).length > 0;
+};
+
+Sizzle.find = function( expr, context, isXML ) {
+	var set, i, len, match, type, left;
+
+	if ( !expr ) {
+		return [];
+	}
+
+	for ( i = 0, len = Expr.order.length; i < len; i++ ) {
+		type = Expr.order[i];
+
+		if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
+			left = match[1];
+			match.splice( 1, 1 );
+
+			if ( left.substr( left.length - 1 ) !== "\\" ) {
+				match[1] = (match[1] || "").replace( rBackslash, "" );
+				set = Expr.find[ type ]( match, context, isXML );
+
+				if ( set != null ) {
+					expr = expr.replace( Expr.match[ type ], "" );
+					break;
+				}
+			}
+		}
+	}
+
+	if ( !set ) {
+		set = typeof context.getElementsByTagName !== "undefined" ?
+			context.getElementsByTagName( "*" ) :
+			[];
+	}
+
+	return { set: set, expr: expr };
+};
+
+Sizzle.filter = function( expr, set, inplace, not ) {
+	var match, anyFound,
+		type, found, item, filter, left,
+		i, pass,
+		old = expr,
+		result = [],
+		curLoop = set,
+		isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
+
+	while ( expr && set.length ) {
+		for ( type in Expr.filter ) {
+			if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
+				filter = Expr.filter[ type ];
+				left = match[1];
+
+				anyFound = false;
+
+				match.splice(1,1);
+
+				if ( left.substr( left.length - 1 ) === "\\" ) {
+					continue;
+				}
+
+				if ( curLoop === result ) {
+					result = [];
+				}
+
+				if ( Expr.preFilter[ type ] ) {
+					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
+
+					if ( !match ) {
+						anyFound = found = true;
+
+					} else if ( match === true ) {
+						continue;
+					}
+				}
+
+				if ( match ) {
+					for ( i = 0; (item = curLoop[i]) != null; i++ ) {
+						if ( item ) {
+							found = filter( item, match, i, curLoop );
+							pass = not ^ found;
+
+							if ( inplace && found != null ) {
+								if ( pass ) {
+									anyFound = true;
+
+								} else {
+									curLoop[i] = false;
+								}
+
+							} else if ( pass ) {
+								result.push( item );
+								anyFound = true;
+							}
+						}
+					}
+				}
+
+				if ( found !== undefined ) {
+					if ( !inplace ) {
+						curLoop = result;
+					}
+
+					expr = expr.replace( Expr.match[ type ], "" );
+
+					if ( !anyFound ) {
+						return [];
+					}
+
+					break;
+				}
+			}
+		}
+
+		// Improper expression
+		if ( expr === old ) {
+			if ( anyFound == null ) {
+				Sizzle.error( expr );
+
+			} else {
+				break;
+			}
+		}
+
+		old = expr;
+	}
+
+	return curLoop;
+};
+
+Sizzle.error = function( msg ) {
+	throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Utility function for retreiving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+var getText = Sizzle.getText = function( elem ) {
+    var i, node,
+		nodeType = elem.nodeType,
+		ret = "";
+
+	if ( nodeType ) {
+		if ( nodeType === 1 || nodeType === 9 ) {
+			// Use textContent || innerText for elements
+			if ( typeof elem.textContent === 'string' ) {
+				return elem.textContent;
+			} else if ( typeof elem.innerText === 'string' ) {
+				// Replace IE's carriage returns
+				return elem.innerText.replace( rReturn, '' );
+			} else {
+				// Traverse it's children
+				for ( elem = elem.firstChild; elem; elem = elem.nextSibling) {
+					ret += getText( elem );
+				}
+			}
+		} else if ( nodeType === 3 || nodeType === 4 ) {
+			return elem.nodeValue;
+		}
+	} else {
+
+		// If no nodeType, this is expected to be an array
+		for ( i = 0; (node = elem[i]); i++ ) {
+			// Do not traverse comment nodes
+			if ( node.nodeType !== 8 ) {
+				ret += getText( node );
+			}
+		}
+	}
+	return ret;
+};
+
+var Expr = Sizzle.selectors = {
+	order: [ "ID", "NAME", "TAG" ],
+
+	match: {
+		ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
+		CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
+		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
+		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
+		TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
+		CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
+		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
+		PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
+	},
+
+	leftMatch: {},
+
+	attrMap: {
+		"class": "className",
+		"for": "htmlFor"
+	},
+
+	attrHandle: {
+		href: function( elem ) {
+			return elem.getAttribute( "href" );
+		},
+		type: function( elem ) {
+			return elem.getAttribute( "type" );
+		}
+	},
+
+	relative: {
+		"+": function(checkSet, part){
+			var isPartStr = typeof part === "string",
+				isTag = isPartStr && !rNonWord.test( part ),
+				isPartStrNotTag = isPartStr && !isTag;
+
+			if ( isTag ) {
+				part = part.toLowerCase();
+			}
+
+			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
+				if ( (elem = checkSet[i]) ) {
+					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
+
+					checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
+						elem || false :
+						elem === part;
+				}
+			}
+
+			if ( isPartStrNotTag ) {
+				Sizzle.filter( part, checkSet, true );
+			}
+		},
+
+		">": function( checkSet, part ) {
+			var elem,
+				isPartStr = typeof part === "string",
+				i = 0,
+				l = checkSet.length;
+
+			if ( isPartStr && !rNonWord.test( part ) ) {
+				part = part.toLowerCase();
+
+				for ( ; i < l; i++ ) {
+					elem = checkSet[i];
+
+					if ( elem ) {
+						var parent = elem.parentNode;
+						checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
+					}
+				}
+
+			} else {
+				for ( ; i < l; i++ ) {
+					elem = checkSet[i];
+
+					if ( elem ) {
+						checkSet[i] = isPartStr ?
+							elem.parentNode :
+							elem.parentNode === part;
+					}
+				}
+
+				if ( isPartStr ) {
+					Sizzle.filter( part, checkSet, true );
+				}
+			}
+		},
+
+		"": function(checkSet, part, isXML){
+			var nodeCheck,
+				doneName = done++,
+				checkFn = dirCheck;
+
+			if ( typeof part === "string" && !rNonWord.test( part ) ) {
+				part = part.toLowerCase();
+				nodeCheck = part;
+				checkFn = dirNodeCheck;
+			}
+
+			checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );
+		},
+
+		"~": function( checkSet, part, isXML ) {
+			var nodeCheck,
+				doneName = done++,
+				checkFn = dirCheck;
+
+			if ( typeof part === "string" && !rNonWord.test( part ) ) {
+				part = part.toLowerCase();
+				nodeCheck = part;
+				checkFn = dirNodeCheck;
+			}
+
+			checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
+		}
+	},
+
+	find: {
+		ID: function( match, context, isXML ) {
+			if ( typeof context.getElementById !== "undefined" && !isXML ) {
+				var m = context.getElementById(match[1]);
+				// Check parentNode to catch when Blackberry 4.6 returns
+				// nodes that are no longer in the document #6963
+				return m && m.parentNode ? [m] : [];
+			}
+		},
+
+		NAME: function( match, context ) {
+			if ( typeof context.getElementsByName !== "undefined" ) {
+				var ret = [],
+					results = context.getElementsByName( match[1] );
+
+				for ( var i = 0, l = results.length; i < l; i++ ) {
+					if ( results[i].getAttribute("name") === match[1] ) {
+						ret.push( results[i] );
+					}
+				}
+
+				return ret.length === 0 ? null : ret;
+			}
+		},
+
+		TAG: function( match, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( match[1] );
+			}
+		}
+	},
+	preFilter: {
+		CLASS: function( match, curLoop, inplace, result, not, isXML ) {
+			match = " " + match[1].replace( rBackslash, "" ) + " ";
+
+			if ( isXML ) {
+				return match;
+			}
+
+			for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
+				if ( elem ) {
+					if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
+						if ( !inplace ) {
+							result.push( elem );
+						}
+
+					} else if ( inplace ) {
+						curLoop[i] = false;
+					}
+				}
+			}
+
+			return false;
+		},
+
+		ID: function( match ) {
+			return match[1].replace( rBackslash, "" );
+		},
+
+		TAG: function( match, curLoop ) {
+			return match[1].replace( rBackslash, "" ).toLowerCase();
+		},
+
+		CHILD: function( match ) {
+			if ( match[1] === "nth" ) {
+				if ( !match[2] ) {
+					Sizzle.error( match[0] );
+				}
+
+				match[2] = match[2].replace(/^\+|\s*/g, '');
+
+				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
+				var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
+					match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
+					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
+
+				// calculate the numbers (first)n+(last) including if they are negative
+				match[2] = (test[1] + (test[2] || 1)) - 0;
+				match[3] = test[3] - 0;
+			}
+			else if ( match[2] ) {
+				Sizzle.error( match[0] );
+			}
+
+			// TODO: Move to normal caching system
+			match[0] = done++;
+
+			return match;
+		},
+
+		ATTR: function( match, curLoop, inplace, result, not, isXML ) {
+			var name = match[1] = match[1].replace( rBackslash, "" );
+
+			if ( !isXML && Expr.attrMap[name] ) {
+				match[1] = Expr.attrMap[name];
+			}
+
+			// Handle if an un-quoted value was used
+			match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
+
+			if ( match[2] === "~=" ) {
+				match[4] = " " + match[4] + " ";
+			}
+
+			return match;
+		},
+
+		PSEUDO: function( match, curLoop, inplace, result, not ) {
+			if ( match[1] === "not" ) {
+				// If we're dealing with a complex expression, or a simple one
+				if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
+					match[3] = Sizzle(match[3], null, null, curLoop);
+
+				} else {
+					var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
+
+					if ( !inplace ) {
+						result.push.apply( result, ret );
+					}
+
+					return false;
+				}
+
+			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
+				return true;
+			}
+
+			return match;
+		},
+
+		POS: function( match ) {
+			match.unshift( true );
+
+			return match;
+		}
+	},
+
+	filters: {
+		enabled: function( elem ) {
+			return elem.disabled === false && elem.type !== "hidden";
+		},
+
+		disabled: function( elem ) {
+			return elem.disabled === true;
+		},
+
+		checked: function( elem ) {
+			return elem.checked === true;
+		},
+
+		selected: function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		parent: function( elem ) {
+			return !!elem.firstChild;
+		},
+
+		empty: function( elem ) {
+			return !elem.firstChild;
+		},
+
+		has: function( elem, i, match ) {
+			return !!Sizzle( match[3], elem ).length;
+		},
+
+		header: function( elem ) {
+			return (/h\d/i).test( elem.nodeName );
+		},
+
+		text: function( elem ) {
+			var attr = elem.getAttribute( "type" ), type = elem.type;
+			// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
+			// use getAttribute instead to test this case
+			return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
+		},
+
+		radio: function( elem ) {
+			return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;
+		},
+
+		checkbox: function( elem ) {
+			return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;
+		},
+
+		file: function( elem ) {
+			return elem.nodeName.toLowerCase() === "input" && "file" === elem.type;
+		},
+
+		password: function( elem ) {
+			return elem.nodeName.toLowerCase() === "input" && "password" === elem.type;
+		},
+
+		submit: function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return (name === "input" || name === "button") && "submit" === elem.type;
+		},
+
+		image: function( elem ) {
+			return elem.nodeName.toLowerCase() === "input" && "image" === elem.type;
+		},
+
+		reset: function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return (name === "input" || name === "button") && "reset" === elem.type;
+		},
+
+		button: function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return name === "input" && "button" === elem.type || name === "button";
+		},
+
+		input: function( elem ) {
+			return (/input|select|textarea|button/i).test( elem.nodeName );
+		},
+
+		focus: function( elem ) {
+			return elem === elem.ownerDocument.activeElement;
+		}
+	},
+	setFilters: {
+		first: function( elem, i ) {
+			return i === 0;
+		},
+
+		last: function( elem, i, match, array ) {
+			return i === array.length - 1;
+		},
+
+		even: function( elem, i ) {
+			return i % 2 === 0;
+		},
+
+		odd: function( elem, i ) {
+			return i % 2 === 1;
+		},
+
+		lt: function( elem, i, match ) {
+			return i < match[3] - 0;
+		},
+
+		gt: function( elem, i, match ) {
+			return i > match[3] - 0;
+		},
+
+		nth: function( elem, i, match ) {
+			return match[3] - 0 === i;
+		},
+
+		eq: function( elem, i, match ) {
+			return match[3] - 0 === i;
+		}
+	},
+	filter: {
+		PSEUDO: function( elem, match, i, array ) {
+			var name = match[1],
+				filter = Expr.filters[ name ];
+
+			if ( filter ) {
+				return filter( elem, i, match, array );
+
+			} else if ( name === "contains" ) {
+				return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
+
+			} else if ( name === "not" ) {
+				var not = match[3];
+
+				for ( var j = 0, l = not.length; j < l; j++ ) {
+					if ( not[j] === elem ) {
+						return false;
+					}
+				}
+
+				return true;
+
+			} else {
+				Sizzle.error( name );
+			}
+		},
+
+		CHILD: function( elem, match ) {
+			var first, last,
+				doneName, parent, cache,
+				count, diff,
+				type = match[1],
+				node = elem;
+
+			switch ( type ) {
+				case "only":
+				case "first":
+					while ( (node = node.previousSibling) )	 {
+						if ( node.nodeType === 1 ) {
+							return false;
+						}
+					}
+
+					if ( type === "first" ) {
+						return true;
+					}
+
+					node = elem;
+
+				case "last":
+					while ( (node = node.nextSibling) )	 {
+						if ( node.nodeType === 1 ) {
+							return false;
+						}
+					}
+
+					return true;
+
+				case "nth":
+					first = match[2];
+					last = match[3];
+
+					if ( first === 1 && last === 0 ) {
+						return true;
+					}
+
+					doneName = match[0];
+					parent = elem.parentNode;
+
+					if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) {
+						count = 0;
+
+						for ( node = parent.firstChild; node; node = node.nextSibling ) {
+							if ( node.nodeType === 1 ) {
+								node.nodeIndex = ++count;
+							}
+						}
+
+						parent[ expando ] = doneName;
+					}
+
+					diff = elem.nodeIndex - last;
+
+					if ( first === 0 ) {
+						return diff === 0;
+
+					} else {
+						return ( diff % first === 0 && diff / first >= 0 );
+					}
+			}
+		},
+
+		ID: function( elem, match ) {
+			return elem.nodeType === 1 && elem.getAttribute("id") === match;
+		},
+
+		TAG: function( elem, match ) {
+			return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match;
+		},
+
+		CLASS: function( elem, match ) {
+			return (" " + (elem.className || elem.getAttribute("class")) + " ")
+				.indexOf( match ) > -1;
+		},
+
+		ATTR: function( elem, match ) {
+			var name = match[1],
+				result = Sizzle.attr ?
+					Sizzle.attr( elem, name ) :
+					Expr.attrHandle[ name ] ?
+					Expr.attrHandle[ name ]( elem ) :
+					elem[ name ] != null ?
+						elem[ name ] :
+						elem.getAttribute( name ),
+				value = result + "",
+				type = match[2],
+				check = match[4];
+
+			return result == null ?
+				type === "!=" :
+				!type && Sizzle.attr ?
+				result != null :
+				type === "=" ?
+				value === check :
+				type === "*=" ?
+				value.indexOf(check) >= 0 :
+				type === "~=" ?
+				(" " + value + " ").indexOf(check) >= 0 :
+				!check ?
+				value && result !== false :
+				type === "!=" ?
+				value !== check :
+				type === "^=" ?
+				value.indexOf(check) === 0 :
+				type === "$=" ?
+				value.substr(value.length - check.length) === check :
+				type === "|=" ?
+				value === check || value.substr(0, check.length + 1) === check + "-" :
+				false;
+		},
+
+		POS: function( elem, match, i, array ) {
+			var name = match[2],
+				filter = Expr.setFilters[ name ];
+
+			if ( filter ) {
+				return filter( elem, i, match, array );
+			}
+		}
+	}
+};
+
+var origPOS = Expr.match.POS,
+	fescape = function(all, num){
+		return "\\" + (num - 0 + 1);
+	};
+
+for ( var type in Expr.match ) {
+	Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
+	Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
+}
+
+var makeArray = function( array, results ) {
+	array = Array.prototype.slice.call( array, 0 );
+
+	if ( results ) {
+		results.push.apply( results, array );
+		return results;
+	}
+
+	return array;
+};
+
+// Perform a simple check to determine if the browser is capable of
+// converting a NodeList to an array using builtin methods.
+// Also verifies that the returned array holds DOM nodes
+// (which is not the case in the Blackberry browser)
+try {
+	Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
+
+// Provide a fallback method if it does not work
+} catch( e ) {
+	makeArray = function( array, results ) {
+		var i = 0,
+			ret = results || [];
+
+		if ( toString.call(array) === "[object Array]" ) {
+			Array.prototype.push.apply( ret, array );
+
+		} else {
+			if ( typeof array.length === "number" ) {
+				for ( var l = array.length; i < l; i++ ) {
+					ret.push( array[i] );
+				}
+
+			} else {
+				for ( ; array[i]; i++ ) {
+					ret.push( array[i] );
+				}
+			}
+		}
+
+		return ret;
+	};
+}
+
+var sortOrder, siblingCheck;
+
+if ( document.documentElement.compareDocumentPosition ) {
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
+			return a.compareDocumentPosition ? -1 : 1;
+		}
+
+		return a.compareDocumentPosition(b) & 4 ? -1 : 1;
+	};
+
+} else {
+	sortOrder = function( a, b ) {
+		// The nodes are identical, we can exit early
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+
+		// Fallback to using sourceIndex (in IE) if it's available on both nodes
+		} else if ( a.sourceIndex && b.sourceIndex ) {
+			return a.sourceIndex - b.sourceIndex;
+		}
+
+		var al, bl,
+			ap = [],
+			bp = [],
+			aup = a.parentNode,
+			bup = b.parentNode,
+			cur = aup;
+
+		// If the nodes are siblings (or identical) we can do a quick check
+		if ( aup === bup ) {
+			return siblingCheck( a, b );
+
+		// If no parents were found then the nodes are disconnected
+		} else if ( !aup ) {
+			return -1;
+
+		} else if ( !bup ) {
+			return 1;
+		}
+
+		// Otherwise they're somewhere else in the tree so we need
+		// to build up a full list of the parentNodes for comparison
+		while ( cur ) {
+			ap.unshift( cur );
+			cur = cur.parentNode;
+		}
+
+		cur = bup;
+
+		while ( cur ) {
+			bp.unshift( cur );
+			cur = cur.parentNode;
+		}
+
+		al = ap.length;
+		bl = bp.length;
+
+		// Start walking down the tree looking for a discrepancy
+		for ( var i = 0; i < al && i < bl; i++ ) {
+			if ( ap[i] !== bp[i] ) {
+				return siblingCheck( ap[i], bp[i] );
+			}
+		}
+
+		// We ended someplace up the tree so do a sibling check
+		return i === al ?
+			siblingCheck( a, bp[i], -1 ) :
+			siblingCheck( ap[i], b, 1 );
+	};
+
+	siblingCheck = function( a, b, ret ) {
+		if ( a === b ) {
+			return ret;
+
+		var cur = a.nextSibling;
+		}
+
+		while ( cur ) {
+			if ( cur === b ) {
+				return -1;
+			}
+
+			cur = cur.nextSibling;
+		}
+
+		return 1;
+	};
+}
+
+// Check to see if the browser returns elements by name when
+// querying by getElementById (and provide a workaround)
+(function(){
+	// We're going to inject a fake input element with a specified name
+	var form = document.createElement("div"),
+		id = "script" + (new Date()).getTime(),
+		root = document.documentElement;
+
+	form.innerHTML = "<a name='" + id + "'/>";
+
+	// Inject it into the root element, check its status, and remove it quickly
+	root.insertBefore( form, root.firstChild );
+
+	// The workaround has to do additional checks after a getElementById
+	// Which slows things down for other browsers (hence the branching)
+	if ( document.getElementById( id ) ) {
+		Expr.find.ID = function( match, context, isXML ) {
+			if ( typeof context.getElementById !== "undefined" && !isXML ) {
+				var m = context.getElementById(match[1]);
+
+				return m ?
+					m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
+						[m] :
+						undefined :
+					[];
+			}
+		};
+
+		Expr.filter.ID = function( elem, match ) {
+			var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
+
+			return elem.nodeType === 1 && node && node.nodeValue === match;
+		};
+	}
+
+	root.removeChild( form );
+
+	// release memory in IE
+	root = form = null;
+})();
+
+(function(){
+	// Check to see if the browser returns only elements
+	// when doing getElementsByTagName("*")
+
+	// Create a fake element
+	var div = document.createElement("div");
+	div.appendChild( document.createComment("") );
+
+	// Make sure no comments are found
+	if ( div.getElementsByTagName("*").length > 0 ) {
+		Expr.find.TAG = function( match, context ) {
+			var results = context.getElementsByTagName( match[1] );
+
+			// Filter out possible comments
+			if ( match[1] === "*" ) {
+				var tmp = [];
+
+				for ( var i = 0; results[i]; i++ ) {
+					if ( results[i].nodeType === 1 ) {
+						tmp.push( results[i] );
+					}
+				}
+
+				results = tmp;
+			}
+
+			return results;
+		};
+	}
+
+	// Check to see if an attribute returns normalized href attributes
+	div.innerHTML = "<a href='#'></a>";
+
+	if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
+			div.firstChild.getAttribute("href") !== "#" ) {
+
+		Expr.attrHandle.href = function( elem ) {
+			return elem.getAttribute( "href", 2 );
+		};
+	}
+
+	// release memory in IE
+	div = null;
+})();
+
+if ( document.querySelectorAll ) {
+	(function(){
+		var oldSizzle = Sizzle,
+			div = document.createElement("div"),
+			id = "__sizzle__";
+
+		div.innerHTML = "<p class='TEST'></p>";
+
+		// Safari can't handle uppercase or unicode characters when
+		// in quirks mode.
+		if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
+			return;
+		}
+
+		Sizzle = function( query, context, extra, seed ) {
+			context = context || document;
+
+			// Only use querySelectorAll on non-XML documents
+			// (ID selectors don't work in non-HTML documents)
+			if ( !seed && !Sizzle.isXML(context) ) {
+				// See if we find a selector to speed up
+				var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
+
+				if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
+					// Speed-up: Sizzle("TAG")
+					if ( match[1] ) {
+						return makeArray( context.getElementsByTagName( query ), extra );
+
+					// Speed-up: Sizzle(".CLASS")
+					} else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
+						return makeArray( context.getElementsByClassName( match[2] ), extra );
+					}
+				}
+
+				if ( context.nodeType === 9 ) {
+					// Speed-up: Sizzle("body")
+					// The body element only exists once, optimize finding it
+					if ( query === "body" && context.body ) {
+						return makeArray( [ context.body ], extra );
+
+					// Speed-up: Sizzle("#ID")
+					} else if ( match && match[3] ) {
+						var elem = context.getElementById( match[3] );
+
+						// Check parentNode to catch when Blackberry 4.6 returns
+						// nodes that are no longer in the document #6963
+						if ( elem && elem.parentNode ) {
+							// Handle the case where IE and Opera return items
+							// by name instead of ID
+							if ( elem.id === match[3] ) {
+								return makeArray( [ elem ], extra );
+							}
+
+						} else {
+							return makeArray( [], extra );
+						}
+					}
+
+					try {
+						return makeArray( context.querySelectorAll(query), extra );
+					} catch(qsaError) {}
+
+				// qSA works strangely on Element-rooted queries
+				// We can work around this by specifying an extra ID on the root
+				// and working up from there (Thanks to Andrew Dupont for the technique)
+				// IE 8 doesn't work on object elements
+				} else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
+					var oldContext = context,
+						old = context.getAttribute( "id" ),
+						nid = old || id,
+						hasParent = context.parentNode,
+						relativeHierarchySelector = /^\s*[+~]/.test( query );
+
+					if ( !old ) {
+						context.setAttribute( "id", nid );
+					} else {
+						nid = nid.replace( /'/g, "\\$&" );
+					}
+					if ( relativeHierarchySelector && hasParent ) {
+						context = context.parentNode;
+					}
+
+					try {
+						if ( !relativeHierarchySelector || hasParent ) {
+							return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
+						}
+
+					} catch(pseudoError) {
+					} finally {
+						if ( !old ) {
+							oldContext.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+
+			return oldSizzle(query, context, extra, seed);
+		};
+
+		for ( var prop in oldSizzle ) {
+			Sizzle[ prop ] = oldSizzle[ prop ];
+		}
+
+		// release memory in IE
+		div = null;
+	})();
+}
+
+(function(){
+	var html = document.documentElement,
+		matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
+
+	if ( matches ) {
+		// Check to see if it's possible to do matchesSelector
+		// on a disconnected node (IE 9 fails this)
+		var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
+			pseudoWorks = false;
+
+		try {
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( document.documentElement, "[test!='']:sizzle" );
+
+		} catch( pseudoError ) {
+			pseudoWorks = true;
+		}
+
+		Sizzle.matchesSelector = function( node, expr ) {
+			// Make sure that attribute selectors are quoted
+			expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
+
+			if ( !Sizzle.isXML( node ) ) {
+				try {
+					if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
+						var ret = matches.call( node, expr );
+
+						// IE 9's matchesSelector returns false on disconnected nodes
+						if ( ret || !disconnectedMatch ||
+								// As well, disconnected nodes are said to be in a document
+								// fragment in IE 9, so check for that
+								node.document && node.document.nodeType !== 11 ) {
+							return ret;
+						}
+					}
+				} catch(e) {}
+			}
+
+			return Sizzle(expr, null, null, [node]).length > 0;
+		};
+	}
+})();
+
+(function(){
+	var div = document.createElement("div");
+
+	div.innerHTML = "<div class='test e'></div><div class='test'></div>";
+
+	// Opera can't find a second classname (in 9.6)
+	// Also, make sure that getElementsByClassName actually exists
+	if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
+		return;
+	}
+
+	// Safari caches class attributes, doesn't catch changes (in 3.2)
+	div.lastChild.className = "e";
+
+	if ( div.getElementsByClassName("e").length === 1 ) {
+		return;
+	}
+
+	Expr.order.splice(1, 0, "CLASS");
+	Expr.find.CLASS = function( match, context, isXML ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
+			return context.getElementsByClassName(match[1]);
+		}
+	};
+
+	// release memory in IE
+	div = null;
+})();
+
+function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+		var elem = checkSet[i];
+
+		if ( elem ) {
+			var match = false;
+
+			elem = elem[dir];
+
+			while ( elem ) {
+				if ( elem[ expando ] === doneName ) {
+					match = checkSet[elem.sizset];
+					break;
+				}
+
+				if ( elem.nodeType === 1 && !isXML ){
+					elem[ expando ] = doneName;
+					elem.sizset = i;
+				}
+
+				if ( elem.nodeName.toLowerCase() === cur ) {
+					match = elem;
+					break;
+				}
+
+				elem = elem[dir];
+			}
+
+			checkSet[i] = match;
+		}
+	}
+}
+
+function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+		var elem = checkSet[i];
+
+		if ( elem ) {
+			var match = false;
+
+			elem = elem[dir];
+
+			while ( elem ) {
+				if ( elem[ expando ] === doneName ) {
+					match = checkSet[elem.sizset];
+					break;
+				}
+
+				if ( elem.nodeType === 1 ) {
+					if ( !isXML ) {
+						elem[ expando ] = doneName;
+						elem.sizset = i;
+					}
+
+					if ( typeof cur !== "string" ) {
+						if ( elem === cur ) {
+							match = true;
+							break;
+						}
+
+					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
+						match = elem;
+						break;
+					}
+				}
+
+				elem = elem[dir];
+			}
+
+			checkSet[i] = match;
+		}
+	}
+}
+
+if ( document.documentElement.contains ) {
+	Sizzle.contains = function( a, b ) {
+		return a !== b && (a.contains ? a.contains(b) : true);
+	};
+
+} else if ( document.documentElement.compareDocumentPosition ) {
+	Sizzle.contains = function( a, b ) {
+		return !!(a.compareDocumentPosition(b) & 16);
+	};
+
+} else {
+	Sizzle.contains = function() {
+		return false;
+	};
+}
+
+Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
+
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+var posProcess = function( selector, context, seed ) {
+	var match,
+		tmpSet = [],
+		later = "",
+		root = context.nodeType ? [context] : context;
+
+	// Position selectors must be done after the filter
+	// And so must :not(positional) so we move all PSEUDOs to the end
+	while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
+		later += match[0];
+		selector = selector.replace( Expr.match.PSEUDO, "" );
+	}
+
+	selector = Expr.relative[selector] ? selector + "*" : selector;
+
+	for ( var i = 0, l = root.length; i < l; i++ ) {
+		Sizzle( selector, root[i], tmpSet, seed );
+	}
+
+	return Sizzle.filter( later, tmpSet );
+};
+
+// EXPOSE
+// Override sizzle attribute retrieval
+Sizzle.attr = jQuery.attr;
+Sizzle.selectors.attrMap = {};
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[":"] = jQuery.expr.filters;
+jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+
+
+})();
+
+
+var runtil = /Until$/,
+	rparentsprev = /^(?:parents|prevUntil|prevAll)/,
+	// Note: This RegExp should be improved, or likely pulled from Sizzle
+	rmultiselector = /,/,
+	isSimple = /^.[^:#\[\.,]*$/,
+	slice = Array.prototype.slice,
+	POS = jQuery.expr.match.POS,
+	// methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend({
+	find: function( selector ) {
+		var self = this,
+			i, l;
+
+		if ( typeof selector !== "string" ) {
+			return jQuery( selector ).filter(function() {
+				for ( i = 0, l = self.length; i < l; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			});
+		}
+
+		var ret = this.pushStack( "", "find", selector ),
+			length, n, r;
+
+		for ( i = 0, l = this.length; i < l; i++ ) {
+			length = ret.length;
+			jQuery.find( selector, this[i], ret );
+
+			if ( i > 0 ) {
+				// Make sure that the results are unique
+				for ( n = length; n < ret.length; n++ ) {
+					for ( r = 0; r < length; r++ ) {
+						if ( ret[r] === ret[n] ) {
+							ret.splice(n--, 1);
+							break;
+						}
+					}
+				}
+			}
+		}
+
+		return ret;
+	},
+
+	has: function( target ) {
+		var targets = jQuery( target );
+		return this.filter(function() {
+			for ( var i = 0, l = targets.length; i < l; i++ ) {
+				if ( jQuery.contains( this, targets[i] ) ) {
+					return true;
+				}
+			}
+		});
+	},
+
+	not: function( selector ) {
+		return this.pushStack( winnow(this, selector, false), "not", selector);
+	},
+
+	filter: function( selector ) {
+		return this.pushStack( winnow(this, selector, true), "filter", selector );
+	},
+
+	is: function( selector ) {
+		return !!selector && (
+			typeof selector === "string" ?
+				// If this is a positional selector, check membership in the returned set
+				// so $("p:first").is("p:last") won't return true for a doc with two "p".
+				POS.test( selector ) ?
+					jQuery( selector, this.context ).index( this[0] ) >= 0 :
+					jQuery.filter( selector, this ).length > 0 :
+				this.filter( selector ).length > 0 );
+	},
+
+	closest: function( selectors, context ) {
+		var ret = [], i, l, cur = this[0];
+
+		// Array (deprecated as of jQuery 1.7)
+		if ( jQuery.isArray( selectors ) ) {
+			var level = 1;
+
+			while ( cur && cur.ownerDocument && cur !== context ) {
+				for ( i = 0; i < selectors.length; i++ ) {
+
+					if ( jQuery( cur ).is( selectors[ i ] ) ) {
+						ret.push({ selector: selectors[ i ], elem: cur, level: level });
+					}
+				}
+
+				cur = cur.parentNode;
+				level++;
+			}
+
+			return ret;
+		}
+
+		// String
+		var pos = POS.test( selectors ) || typeof selectors !== "string" ?
+				jQuery( selectors, context || this.context ) :
+				0;
+
+		for ( i = 0, l = this.length; i < l; i++ ) {
+			cur = this[i];
+
+			while ( cur ) {
+				if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
+					ret.push( cur );
+					break;
+
+				} else {
+					cur = cur.parentNode;
+					if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {
+						break;
+					}
+				}
+			}
+		}
+
+		ret = ret.length > 1 ? jQuery.unique( ret ) : ret;
+
+		return this.pushStack( ret, "closest", selectors );
+	},
+
+	// Determine the position of an element within
+	// the matched set of elements
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
+		}
+
+		// index in selector
+		if ( typeof elem === "string" ) {
+			return jQuery.inArray( this[0], jQuery( elem ) );
+		}
+
+		// Locate the position of the desired element
+		return jQuery.inArray(
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[0] : elem, this );
+	},
+
+	add: function( selector, context ) {
+		var set = typeof selector === "string" ?
+				jQuery( selector, context ) :
+				jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
+			all = jQuery.merge( this.get(), set );
+
+		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
+			all :
+			jQuery.unique( all ) );
+	},
+
+	andSelf: function() {
+		return this.add( this.prevObject );
+	}
+});
+
+// A painfully simple check to see if an element is disconnected
+// from a document (should be improved, where feasible).
+function isDisconnected( node ) {
+	return !node || !node.parentNode || node.parentNode.nodeType === 11;
+}
+
+jQuery.each({
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? parent : null;
+	},
+	parents: function( elem ) {
+		return jQuery.dir( elem, "parentNode" );
+	},
+	parentsUntil: function( elem, i, until ) {
+		return jQuery.dir( elem, "parentNode", until );
+	},
+	next: function( elem ) {
+		return jQuery.nth( elem, 2, "nextSibling" );
+	},
+	prev: function( elem ) {
+		return jQuery.nth( elem, 2, "previousSibling" );
+	},
+	nextAll: function( elem ) {
+		return jQuery.dir( elem, "nextSibling" );
+	},
+	prevAll: function( elem ) {
+		return jQuery.dir( elem, "previousSibling" );
+	},
+	nextUntil: function( elem, i, until ) {
+		return jQuery.dir( elem, "nextSibling", until );
+	},
+	prevUntil: function( elem, i, until ) {
+		return jQuery.dir( elem, "previousSibling", until );
+	},
+	siblings: function( elem ) {
+		return jQuery.sibling( elem.parentNode.firstChild, elem );
+	},
+	children: function( elem ) {
+		return jQuery.sibling( elem.firstChild );
+	},
+	contents: function( elem ) {
+		return jQuery.nodeName( elem, "iframe" ) ?
+			elem.contentDocument || elem.contentWindow.document :
+			jQuery.makeArray( elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var ret = jQuery.map( this, fn, until );
+
+		if ( !runtil.test( name ) ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			ret = jQuery.filter( selector, ret );
+		}
+
+		ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
+
+		if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
+			ret = ret.reverse();
+		}
+
+		return this.pushStack( ret, name, slice.call( arguments ).join(",") );
+	};
+});
+
+jQuery.extend({
+	filter: function( expr, elems, not ) {
+		if ( not ) {
+			expr = ":not(" + expr + ")";
+		}
+
+		return elems.length === 1 ?
+			jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
+			jQuery.find.matches(expr, elems);
+	},
+
+	dir: function( elem, dir, until ) {
+		var matched = [],
+			cur = elem[ dir ];
+
+		while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
+			if ( cur.nodeType === 1 ) {
+				matched.push( cur );
+			}
+			cur = cur[dir];
+		}
+		return matched;
+	},
+
+	nth: function( cur, result, dir, elem ) {
+		result = result || 1;
+		var num = 0;
+
+		for ( ; cur; cur = cur[dir] ) {
+			if ( cur.nodeType === 1 && ++num === result ) {
+				break;
+			}
+		}
+
+		return cur;
+	},
+
+	sibling: function( n, elem ) {
+		var r = [];
+
+		for ( ; n; n = n.nextSibling ) {
+			if ( n.nodeType === 1 && n !== elem ) {
+				r.push( n );
+			}
+		}
+
+		return r;
+	}
+});
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, keep ) {
+
+	// Can't pass null or undefined to indexOf in Firefox 4
+	// Set to 0 to skip string check
+	qualifier = qualifier || 0;
+
+	if ( jQuery.isFunction( qualifier ) ) {
+		return jQuery.grep(elements, function( elem, i ) {
+			var retVal = !!qualifier.call( elem, i, elem );
+			return retVal === keep;
+		});
+
+	} else if ( qualifier.nodeType ) {
+		return jQuery.grep(elements, function( elem, i ) {
+			return ( elem === qualifier ) === keep;
+		});
+
+	} else if ( typeof qualifier === "string" ) {
+		var filtered = jQuery.grep(elements, function( elem ) {
+			return elem.nodeType === 1;
+		});
+
+		if ( isSimple.test( qualifier ) ) {
+			return jQuery.filter(qualifier, filtered, !keep);
+		} else {
+			qualifier = jQuery.filter( qualifier, filtered );
+		}
+	}
+
+	return jQuery.grep(elements, function( elem, i ) {
+		return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;
+	});
+}
+
+
+
+
+function createSafeFragment( document ) {
+	var list = nodeNames.split( "|" ),
+	safeFrag = document.createDocumentFragment();
+
+	if ( safeFrag.createElement ) {
+		while ( list.length ) {
+			safeFrag.createElement(
+				list.pop()
+			);
+		}
+	}
+	return safeFrag;
+}
+
+var nodeNames = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|" +
+		"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
+	rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
+	rleadingWhitespace = /^\s+/,
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
+	rtagName = /<([\w:]+)/,
+	rtbody = /<tbody/i,
+	rhtml = /<|&#?\w+;/,
+	rnoInnerhtml = /<(?:script|style)/i,
+	rnocache = /<(?:script|object|embed|option|style)/i,
+	rnoshimcache = new RegExp("<(?:" + nodeNames + ")", "i"),
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rscriptType = /\/(java|ecma)script/i,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|\-\-)/,
+	wrapMap = {
+		option: [ 1, "<select multiple='multiple'>", "</select>" ],
+		legend: [ 1, "<fieldset>", "</fieldset>" ],
+		thead: [ 1, "<table>", "</table>" ],
+		tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
+		area: [ 1, "<map>", "</map>" ],
+		_default: [ 0, "", "" ]
+	},
+	safeFragment = createSafeFragment( document );
+
+wrapMap.optgroup = wrapMap.option;
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+// IE can't serialize <link> and <script> tags normally
+if ( !jQuery.support.htmlSerialize ) {
+	wrapMap._default = [ 1, "div<div>", "</div>" ];
+}
+
+jQuery.fn.extend({
+	text: function( text ) {
+		if ( jQuery.isFunction(text) ) {
+			return this.each(function(i) {
+				var self = jQuery( this );
+
+				self.text( text.call(this, i, self.text()) );
+			});
+		}
+
+		if ( typeof text !== "object" && text !== undefined ) {
+			return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
+		}
+
+		return jQuery.text( this );
+	},
+
+	wrapAll: function( html ) {
+		if ( jQuery.isFunction( html ) ) {
+			return this.each(function(i) {
+				jQuery(this).wrapAll( html.call(this, i) );
+			});
+		}
+
+		if ( this[0] ) {
+			// The elements to wrap the target around
+			var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
+
+			if ( this[0].parentNode ) {
+				wrap.insertBefore( this[0] );
+			}
+
+			wrap.map(function() {
+				var elem = this;
+
+				while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
+					elem = elem.firstChild;
+				}
+
+				return elem;
+			}).append( this );
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		if ( jQuery.isFunction( html ) ) {
+			return this.each(function(i) {
+				jQuery(this).wrapInner( html.call(this, i) );
+			});
+		}
+
+		return this.each(function() {
+			var self = jQuery( this ),
+				contents = self.contents();
+
+			if ( contents.length ) {
+				contents.wrapAll( html );
+
+			} else {
+				self.append( html );
+			}
+		});
+	},
+
+	wrap: function( html ) {
+		var isFunction = jQuery.isFunction( html );
+
+		return this.each(function(i) {
+			jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
+		});
+	},
+
+	unwrap: function() {
+		return this.parent().each(function() {
+			if ( !jQuery.nodeName( this, "body" ) ) {
+				jQuery( this ).replaceWith( this.childNodes );
+			}
+		}).end();
+	},
+
+	append: function() {
+		return this.domManip(arguments, true, function( elem ) {
+			if ( this.nodeType === 1 ) {
+				this.appendChild( elem );
+			}
+		});
+	},
+
+	prepend: function() {
+		return this.domManip(arguments, true, function( elem ) {
+			if ( this.nodeType === 1 ) {
+				this.insertBefore( elem, this.firstChild );
+			}
+		});
+	},
+
+	before: function() {
+		if ( this[0] && this[0].parentNode ) {
+			return this.domManip(arguments, false, function( elem ) {
+				this.parentNode.insertBefore( elem, this );
+			});
+		} else if ( arguments.length ) {
+			var set = jQuery.clean( arguments );
+			set.push.apply( set, this.toArray() );
+			return this.pushStack( set, "before", arguments );
+		}
+	},
+
+	after: function() {
+		if ( this[0] && this[0].parentNode ) {
+			return this.domManip(arguments, false, function( elem ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			});
+		} else if ( arguments.length ) {
+			var set = this.pushStack( this, "after", arguments );
+			set.push.apply( set, jQuery.clean(arguments) );
+			return set;
+		}
+	},
+
+	// keepData is for internal use only--do not document
+	remove: function( selector, keepData ) {
+		for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
+			if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
+				if ( !keepData && elem.nodeType === 1 ) {
+					jQuery.cleanData( elem.getElementsByTagName("*") );
+					jQuery.cleanData( [ elem ] );
+				}
+
+				if ( elem.parentNode ) {
+					elem.parentNode.removeChild( elem );
+				}
+			}
+		}
+
+		return this;
+	},
+
+	empty: function() {
+		for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
+			// Remove element nodes and prevent memory leaks
+			if ( elem.nodeType === 1 ) {
+				jQuery.cleanData( elem.getElementsByTagName("*") );
+			}
+
+			// Remove any remaining nodes
+			while ( elem.firstChild ) {
+				elem.removeChild( elem.firstChild );
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return this.map( function () {
+			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+		});
+	},
+
+	html: function( value ) {
+		if ( value === undefined ) {
+			return this[0] && this[0].nodeType === 1 ?
+				this[0].innerHTML.replace(rinlinejQuery, "") :
+				null;
+
+		// See if we can take a shortcut and just use innerHTML
+		} else if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+			(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
+			!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
+
+			value = value.replace(rxhtmlTag, "<$1></$2>");
+
+			try {
+				for ( var i = 0, l = this.length; i < l; i++ ) {
+					// Remove element nodes and prevent memory leaks
+					if ( this[i].nodeType === 1 ) {
+						jQuery.cleanData( this[i].getElementsByTagName("*") );
+						this[i].innerHTML = value;
+					}
+				}
+
+			// If using innerHTML throws an exception, use the fallback method
+			} catch(e) {
+				this.empty().append( value );
+			}
+
+		} else if ( jQuery.isFunction( value ) ) {
+			this.each(function(i){
+				var self = jQuery( this );
+
+				self.html( value.call(this, i, self.html()) );
+			});
+
+		} else {
+			this.empty().append( value );
+		}
+
+		return this;
+	},
+
+	replaceWith: function( value ) {
+		if ( this[0] && this[0].parentNode ) {
+			// Make sure that the elements are removed from the DOM before they are inserted
+			// this can help fix replacing a parent with child elements
+			if ( jQuery.isFunction( value ) ) {
+				return this.each(function(i) {
+					var self = jQuery(this), old = self.html();
+					self.replaceWith( value.call( this, i, old ) );
+				});
+			}
+
+			if ( typeof value !== "string" ) {
+				value = jQuery( value ).detach();
+			}
+
+			return this.each(function() {
+				var next = this.nextSibling,
+					parent = this.parentNode;
+
+				jQuery( this ).remove();
+
+				if ( next ) {
+					jQuery(next).before( value );
+				} else {
+					jQuery(parent).append( value );
+				}
+			});
+		} else {
+			return this.length ?
+				this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
+				this;
+		}
+	},
+
+	detach: function( selector ) {
+		return this.remove( selector, true );
+	},
+
+	domManip: function( args, table, callback ) {
+		var results, first, fragment, parent,
+			value = args[0],
+			scripts = [];
+
+		// We can't cloneNode fragments that contain checked, in WebKit
+		if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
+			return this.each(function() {
+				jQuery(this).domManip( args, table, callback, true );
+			});
+		}
+
+		if ( jQuery.isFunction(value) ) {
+			return this.each(function(i) {
+				var self = jQuery(this);
+				args[0] = value.call(this, i, table ? self.html() : undefined);
+				self.domManip( args, table, callback );
+			});
+		}
+
+		if ( this[0] ) {
+			parent = value && value.parentNode;
+
+			// If we're in a fragment, just use that instead of building a new one
+			if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
+				results = { fragment: parent };
+
+			} else {
+				results = jQuery.buildFragment( args, this, scripts );
+			}
+
+			fragment = results.fragment;
+
+			if ( fragment.childNodes.length === 1 ) {
+				first = fragment = fragment.firstChild;
+			} else {
+				first = fragment.firstChild;
+			}
+
+			if ( first ) {
+				table = table && jQuery.nodeName( first, "tr" );
+
+				for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) {
+					callback.call(
+						table ?
+							root(this[i], first) :
+							this[i],
+						// Make sure that we do not leak memory by inadvertently discarding
+						// the original fragment (which might have attached data) instead of
+						// using it; in addition, use the original fragment object for the last
+						// item instead of first because it can end up being emptied incorrectly
+						// in certain situations (Bug #8070).
+						// Fragments from the fragment cache must always be cloned and never used
+						// in place.
+						results.cacheable || ( l > 1 && i < lastIndex ) ?
+							jQuery.clone( fragment, true, true ) :
+							fragment
+					);
+				}
+			}
+
+			if ( scripts.length ) {
+				jQuery.each( scripts, evalScript );
+			}
+		}
+
+		return this;
+	}
+});
+
+function root( elem, cur ) {
+	return jQuery.nodeName(elem, "table") ?
+		(elem.getElementsByTagName("tbody")[0] ||
+		elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
+		elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+
+	if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
+		return;
+	}
+
+	var type, i, l,
+		oldData = jQuery._data( src ),
+		curData = jQuery._data( dest, oldData ),
+		events = oldData.events;
+
+	if ( events ) {
+		delete curData.handle;
+		curData.events = {};
+
+		for ( type in events ) {
+			for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+				jQuery.event.add( dest, type + ( events[ type ][ i ].namespace ? "." : "" ) + events[ type ][ i ].namespace, events[ type ][ i ], events[ type ][ i ].data );
+			}
+		}
+	}
+
+	// make the cloned public data object a copy from the original
+	if ( curData.data ) {
+		curData.data = jQuery.extend( {}, curData.data );
+	}
+}
+
+function cloneFixAttributes( src, dest ) {
+	var nodeName;
+
+	// We do not need to do anything for non-Elements
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// clearAttributes removes the attributes, which we don't want,
+	// but also removes the attachEvent events, which we *do* want
+	if ( dest.clearAttributes ) {
+		dest.clearAttributes();
+	}
+
+	// mergeAttributes, in contrast, only merges back on the
+	// original attributes, not the events
+	if ( dest.mergeAttributes ) {
+		dest.mergeAttributes( src );
+	}
+
+	nodeName = dest.nodeName.toLowerCase();
+
+	// IE6-8 fail to clone children inside object elements that use
+	// the proprietary classid attribute value (rather than the type
+	// attribute) to identify the type of content to display
+	if ( nodeName === "object" ) {
+		dest.outerHTML = src.outerHTML;
+
+	} else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
+		// IE6-8 fails to persist the checked state of a cloned checkbox
+		// or radio button. Worse, IE6-7 fail to give the cloned element
+		// a checked appearance if the defaultChecked value isn't also set
+		if ( src.checked ) {
+			dest.defaultChecked = dest.checked = src.checked;
+		}
+
+		// IE6-7 get confused and end up setting the value of a cloned
+		// checkbox/radio button to an empty string instead of "on"
+		if ( dest.value !== src.value ) {
+			dest.value = src.value;
+		}
+
+	// IE6-8 fails to return the selected option to the default selected
+	// state when cloning options
+	} else if ( nodeName === "option" ) {
+		dest.selected = src.defaultSelected;
+
+	// IE6-8 fails to set the defaultValue to the correct value when
+	// cloning other types of input fields
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+	}
+
+	// Event data gets referenced instead of copied if the expando
+	// gets copied too
+	dest.removeAttribute( jQuery.expando );
+}
+
+jQuery.buildFragment = function( args, nodes, scripts ) {
+	var fragment, cacheable, cacheresults, doc,
+	first = args[ 0 ];
+
+	// nodes may contain either an explicit document object,
+	// a jQuery collection or context object.
+	// If nodes[0] contains a valid object to assign to doc
+	if ( nodes && nodes[0] ) {
+		doc = nodes[0].ownerDocument || nodes[0];
+	}
+
+	// Ensure that an attr object doesn't incorrectly stand in as a document object
+	// Chrome and Firefox seem to allow this to occur and will throw exception
+	// Fixes #8950
+	if ( !doc.createDocumentFragment ) {
+		doc = document;
+	}
+
+	// Only cache "small" (1/2 KB) HTML strings that are associated with the main document
+	// Cloning options loses the selected state, so don't cache them
+	// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
+	// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
+	// Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501
+	if ( args.length === 1 && typeof first === "string" && first.length < 512 && doc === document &&
+		first.charAt(0) === "<" && !rnocache.test( first ) &&
+		(jQuery.support.checkClone || !rchecked.test( first )) &&
+		(jQuery.support.html5Clone || !rnoshimcache.test( first )) ) {
+
+		cacheable = true;
+
+		cacheresults = jQuery.fragments[ first ];
+		if ( cacheresults && cacheresults !== 1 ) {
+			fragment = cacheresults;
+		}
+	}
+
+	if ( !fragment ) {
+		fragment = doc.createDocumentFragment();
+		jQuery.clean( args, doc, fragment, scripts );
+	}
+
+	if ( cacheable ) {
+		jQuery.fragments[ first ] = cacheresults ? fragment : 1;
+	}
+
+	return { fragment: fragment, cacheable: cacheable };
+};
+
+jQuery.fragments = {};
+
+jQuery.each({
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var ret = [],
+			insert = jQuery( selector ),
+			parent = this.length === 1 && this[0].parentNode;
+
+		if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
+			insert[ original ]( this[0] );
+			return this;
+
+		} else {
+			for ( var i = 0, l = insert.length; i < l; i++ ) {
+				var elems = ( i > 0 ? this.clone(true) : this ).get();
+				jQuery( insert[i] )[ original ]( elems );
+				ret = ret.concat( elems );
+			}
+
+			return this.pushStack( ret, name, insert.selector );
+		}
+	};
+});
+
+function getAll( elem ) {
+	if ( typeof elem.getElementsByTagName !== "undefined" ) {
+		return elem.getElementsByTagName( "*" );
+
+	} else if ( typeof elem.querySelectorAll !== "undefined" ) {
+		return elem.querySelectorAll( "*" );
+
+	} else {
+		return [];
+	}
+}
+
+// Used in clean, fixes the defaultChecked property
+function fixDefaultChecked( elem ) {
+	if ( elem.type === "checkbox" || elem.type === "radio" ) {
+		elem.defaultChecked = elem.checked;
+	}
+}
+// Finds all inputs and passes them to fixDefaultChecked
+function findInputs( elem ) {
+	var nodeName = ( elem.nodeName || "" ).toLowerCase();
+	if ( nodeName === "input" ) {
+		fixDefaultChecked( elem );
+	// Skip scripts, get other children
+	} else if ( nodeName !== "script" && typeof elem.getElementsByTagName !== "undefined" ) {
+		jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
+	}
+}
+
+// Derived From: http://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js
+function shimCloneNode( elem ) {
+	var div = document.createElement( "div" );
+	safeFragment.appendChild( div );
+
+	div.innerHTML = elem.outerHTML;
+	return div.firstChild;
+}
+
+jQuery.extend({
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var srcElements,
+			destElements,
+			i,
+			// IE<=8 does not properly clone detached, unknown element nodes
+			clone = jQuery.support.html5Clone || !rnoshimcache.test( "<" + elem.nodeName ) ?
+				elem.cloneNode( true ) :
+				shimCloneNode( elem );
+
+		if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
+				(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
+			// IE copies events bound via attachEvent when using cloneNode.
+			// Calling detachEvent on the clone will also remove the events
+			// from the original. In order to get around this, we use some
+			// proprietary methods to clear the events. Thanks to MooTools
+			// guys for this hotness.
+
+			cloneFixAttributes( elem, clone );
+
+			// Using Sizzle here is crazy slow, so we use getElementsByTagName instead
+			srcElements = getAll( elem );
+			destElements = getAll( clone );
+
+			// Weird iteration because IE will replace the length property
+			// with an element if you are cloning the body and one of the
+			// elements on the page has a name or id of "length"
+			for ( i = 0; srcElements[i]; ++i ) {
+				// Ensure that the destination node is not null; Fixes #9587
+				if ( destElements[i] ) {
+					cloneFixAttributes( srcElements[i], destElements[i] );
+				}
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			cloneCopyEvent( elem, clone );
+
+			if ( deepDataAndEvents ) {
+				srcElements = getAll( elem );
+				destElements = getAll( clone );
+
+				for ( i = 0; srcElements[i]; ++i ) {
+					cloneCopyEvent( srcElements[i], destElements[i] );
+				}
+			}
+		}
+
+		srcElements = destElements = null;
+
+		// Return the cloned set
+		return clone;
+	},
+
+	clean: function( elems, context, fragment, scripts ) {
+		var checkScriptType;
+
+		context = context || document;
+
+		// !context.createElement fails in IE with an error but returns typeof 'object'
+		if ( typeof context.createElement === "undefined" ) {
+			context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
+		}
+
+		var ret = [], j;
+
+		for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+			if ( typeof elem === "number" ) {
+				elem += "";
+			}
+
+			if ( !elem ) {
+				continue;
+			}
+
+			// Convert html string into DOM nodes
+			if ( typeof elem === "string" ) {
+				if ( !rhtml.test( elem ) ) {
+					elem = context.createTextNode( elem );
+				} else {
+					// Fix "XHTML"-style tags in all browsers
+					elem = elem.replace(rxhtmlTag, "<$1></$2>");
+
+					// Trim whitespace, otherwise indexOf won't work as expected
+					var tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(),
+						wrap = wrapMap[ tag ] || wrapMap._default,
+						depth = wrap[0],
+						div = context.createElement("div");
+
+					// Append wrapper element to unknown element safe doc fragment
+					if ( context === document ) {
+						// Use the fragment we've already created for this document
+						safeFragment.appendChild( div );
+					} else {
+						// Use a fragment created with the owner document
+						createSafeFragment( context ).appendChild( div );
+					}
+
+					// Go to html and back, then peel off extra wrappers
+					div.innerHTML = wrap[1] + elem + wrap[2];
+
+					// Move to the right depth
+					while ( depth-- ) {
+						div = div.lastChild;
+					}
+
+					// Remove IE's autoinserted <tbody> from table fragments
+					if ( !jQuery.support.tbody ) {
+
+						// String was a <table>, *may* have spurious <tbody>
+						var hasBody = rtbody.test(elem),
+							tbody = tag === "table" && !hasBody ?
+								div.firstChild && div.firstChild.childNodes :
+
+								// String was a bare <thead> or <tfoot>
+								wrap[1] === "<table>" && !hasBody ?
+									div.childNodes :
+									[];
+
+						for ( j = tbody.length - 1; j >= 0 ; --j ) {
+							if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
+								tbody[ j ].parentNode.removeChild( tbody[ j ] );
+							}
+						}
+					}
+
+					// IE completely kills leading whitespace when innerHTML is used
+					if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
+						div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
+					}
+
+					elem = div.childNodes;
+				}
+			}
+
+			// Resets defaultChecked for any radios and checkboxes
+			// about to be appended to the DOM in IE 6/7 (#8060)
+			var len;
+			if ( !jQuery.support.appendChecked ) {
+				if ( elem[0] && typeof (len = elem.length) === "number" ) {
+					for ( j = 0; j < len; j++ ) {
+						findInputs( elem[j] );
+					}
+				} else {
+					findInputs( elem );
+				}
+			}
+
+			if ( elem.nodeType ) {
+				ret.push( elem );
+			} else {
+				ret = jQuery.merge( ret, elem );
+			}
+		}
+
+		if ( fragment ) {
+			checkScriptType = function( elem ) {
+				return !elem.type || rscriptType.test( elem.type );
+			};
+			for ( i = 0; ret[i]; i++ ) {
+				if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
+					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
+
+				} else {
+					if ( ret[i].nodeType === 1 ) {
+						var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType );
+
+						ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
+					}
+					fragment.appendChild( ret[i] );
+				}
+			}
+		}
+
+		return ret;
+	},
+
+	cleanData: function( elems ) {
+		var data, id,
+			cache = jQuery.cache,
+			special = jQuery.event.special,
+			deleteExpando = jQuery.support.deleteExpando;
+
+		for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+			if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
+				continue;
+			}
+
+			id = elem[ jQuery.expando ];
+
+			if ( id ) {
+				data = cache[ id ];
+
+				if ( data && data.events ) {
+					for ( var type in data.events ) {
+						if ( special[ type ] ) {
+							jQuery.event.remove( elem, type );
+
+						// This is a shortcut to avoid jQuery.event.remove's overhead
+						} else {
+							jQuery.removeEvent( elem, type, data.handle );
+						}
+					}
+
+					// Null the DOM reference to avoid IE6/7/8 leak (#7054)
+					if ( data.handle ) {
+						data.handle.elem = null;
+					}
+				}
+
+				if ( deleteExpando ) {
+					delete elem[ jQuery.expando ];
+
+				} else if ( elem.removeAttribute ) {
+					elem.removeAttribute( jQuery.expando );
+				}
+
+				delete cache[ id ];
+			}
+		}
+	}
+});
+
+function evalScript( i, elem ) {
+	if ( elem.src ) {
+		jQuery.ajax({
+			url: elem.src,
+			async: false,
+			dataType: "script"
+		});
+	} else {
+		jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "/*$0*/" ) );
+	}
+
+	if ( elem.parentNode ) {
+		elem.parentNode.removeChild( elem );
+	}
+}
+
+
+
+
+var ralpha = /alpha\([^)]*\)/i,
+	ropacity = /opacity=([^)]*)/,
+	// fixed for IE9, see #8346
+	rupper = /([A-Z]|^ms)/g,
+	rnumpx = /^-?\d+(?:px)?$/i,
+	rnum = /^-?\d/,
+	rrelNum = /^([\-+])=([\-+.\de]+)/,
+
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssWidth = [ "Left", "Right" ],
+	cssHeight = [ "Top", "Bottom" ],
+	curCSS,
+
+	getComputedStyle,
+	currentStyle;
+
+jQuery.fn.css = function( name, value ) {
+	// Setting 'undefined' is a no-op
+	if ( arguments.length === 2 && value === undefined ) {
+		return this;
+	}
+
+	return jQuery.access( this, name, value, true, function( elem, name, value ) {
+		return value !== undefined ?
+			jQuery.style( elem, name, value ) :
+			jQuery.css( elem, name );
+	});
+};
+
+jQuery.extend({
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity", "opacity" );
+					return ret === "" ? "1" : ret;
+
+				} else {
+					return elem.style.opacity;
+				}
+			}
+		}
+	},
+
+	// Exclude the following css properties to add px
+	cssNumber: {
+		"fillOpacity": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {
+		// normalize float css property
+		"float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat"
+	},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, origName = jQuery.camelCase( name ),
+			style = elem.style, hooks = jQuery.cssHooks[ origName ];
+
+		name = jQuery.cssProps[ origName ] || origName;
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// convert relative number strings (+= or -=) to relative numbers. #7345
+			if ( type === "string" && (ret = rrelNum.exec( value )) ) {
+				value = ( +( ret[1] + 1) * +ret[2] ) + parseFloat( jQuery.css( elem, name ) );
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that NaN and null values aren't set. See: #7116
+			if ( value == null || type === "number" && isNaN( value ) ) {
+				return;
+			}
+
+			// If a number was passed in, add 'px' to the (except for certain CSS properties)
+			if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
+				value += "px";
+			}
+
+			// If a hook was provided, use that value, otherwise just set the specified value
+			if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
+				// Wrapped to prevent IE from throwing errors when 'invalid' values are provided
+				// Fixes bug #5509
+				try {
+					style[ name ] = value;
+				} catch(e) {}
+			}
+
+		} else {
+			// If a hook was provided get the non-computed value from there
+			if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
+				return ret;
+			}
+
+			// Otherwise just get the value from the style object
+			return style[ name ];
+		}
+	},
+
+	css: function( elem, name, extra ) {
+		var ret, hooks;
+
+		// Make sure that we're working with the right name
+		name = jQuery.camelCase( name );
+		hooks = jQuery.cssHooks[ name ];
+		name = jQuery.cssProps[ name ] || name;
+
+		// cssFloat needs a special treatment
+		if ( name === "cssFloat" ) {
+			name = "float";
+		}
+
+		// If a hook was provided get the computed value from there
+		if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
+			return ret;
+
+		// Otherwise, if a way to get the computed value exists, use that
+		} else if ( curCSS ) {
+			return curCSS( elem, name );
+		}
+	},
+
+	// A method for quickly swapping in/out CSS properties to get correct calculations
+	swap: function( elem, options, callback ) {
+		var old = {};
+
+		// Remember the old values, and insert the new ones
+		for ( var name in options ) {
+			old[ name ] = elem.style[ name ];
+			elem.style[ name ] = options[ name ];
+		}
+
+		callback.call( elem );
+
+		// Revert the old values
+		for ( name in options ) {
+			elem.style[ name ] = old[ name ];
+		}
+	}
+});
+
+// DEPRECATED, Use jQuery.css() instead
+jQuery.curCSS = jQuery.css;
+
+jQuery.each(["height", "width"], function( i, name ) {
+	jQuery.cssHooks[ name ] = {
+		get: function( elem, computed, extra ) {
+			var val;
+
+			if ( computed ) {
+				if ( elem.offsetWidth !== 0 ) {
+					return getWH( elem, name, extra );
+				} else {
+					jQuery.swap( elem, cssShow, function() {
+						val = getWH( elem, name, extra );
+					});
+				}
+
+				return val;
+			}
+		},
+
+		set: function( elem, value ) {
+			if ( rnumpx.test( value ) ) {
+				// ignore negative width and height values #1599
+				value = parseFloat( value );
+
+				if ( value >= 0 ) {
+					return value + "px";
+				}
+
+			} else {
+				return value;
+			}
+		}
+	};
+});
+
+if ( !jQuery.support.opacity ) {
+	jQuery.cssHooks.opacity = {
+		get: function( elem, computed ) {
+			// IE uses filters for opacity
+			return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
+				( parseFloat( RegExp.$1 ) / 100 ) + "" :
+				computed ? "1" : "";
+		},
+
+		set: function( elem, value ) {
+			var style = elem.style,
+				currentStyle = elem.currentStyle,
+				opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
+				filter = currentStyle && currentStyle.filter || style.filter || "";
+
+			// IE has trouble with opacity if it does not have layout
+			// Force it by setting the zoom level
+			style.zoom = 1;
+
+			// if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
+			if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" ) {
+
+				// Setting style.filter to null, "" & " " still leave "filter:" in the cssText
+				// if "filter:" is present at all, clearType is disabled, we want to avoid this
+				// style.removeAttribute is IE Only, but so apparently is this code path...
+				style.removeAttribute( "filter" );
+
+				// if there there is no filter style applied in a css rule, we are done
+				if ( currentStyle && !currentStyle.filter ) {
+					return;
+				}
+			}
+
+			// otherwise, set new filter values
+			style.filter = ralpha.test( filter ) ?
+				filter.replace( ralpha, opacity ) :
+				filter + " " + opacity;
+		}
+	};
+}
+
+jQuery(function() {
+	// This hook cannot be added until DOM ready because the support test
+	// for it is not run until after DOM ready
+	if ( !jQuery.support.reliableMarginRight ) {
+		jQuery.cssHooks.marginRight = {
+			get: function( elem, computed ) {
+				// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+				// Work around by temporarily setting element display to inline-block
+				var ret;
+				jQuery.swap( elem, { "display": "inline-block" }, function() {
+					if ( computed ) {
+						ret = curCSS( elem, "margin-right", "marginRight" );
+					} else {
+						ret = elem.style.marginRight;
+					}
+				});
+				return ret;
+			}
+		};
+	}
+});
+
+if ( document.defaultView && document.defaultView.getComputedStyle ) {
+	getComputedStyle = function( elem, name ) {
+		var ret, defaultView, computedStyle;
+
+		name = name.replace( rupper, "-$1" ).toLowerCase();
+
+		if ( (defaultView = elem.ownerDocument.defaultView) &&
+				(computedStyle = defaultView.getComputedStyle( elem, null )) ) {
+			ret = computedStyle.getPropertyValue( name );
+			if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) {
+				ret = jQuery.style( elem, name );
+			}
+		}
+
+		return ret;
+	};
+}
+
+if ( document.documentElement.currentStyle ) {
+	currentStyle = function( elem, name ) {
+		var left, rsLeft, uncomputed,
+			ret = elem.currentStyle && elem.currentStyle[ name ],
+			style = elem.style;
+
+		// Avoid setting ret to empty string here
+		// so we don't default to auto
+		if ( ret === null && style && (uncomputed = style[ name ]) ) {
+			ret = uncomputed;
+		}
+
+		// From the awesome hack by Dean Edwards
+		// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+
+		// If we're not dealing with a regular pixel number
+		// but a number that has a weird ending, we need to convert it to pixels
+		if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
+
+			// Remember the original values
+			left = style.left;
+			rsLeft = elem.runtimeStyle && elem.runtimeStyle.left;
+
+			// Put in the new values to get a computed value out
+			if ( rsLeft ) {
+				elem.runtimeStyle.left = elem.currentStyle.left;
+			}
+			style.left = name === "fontSize" ? "1em" : ( ret || 0 );
+			ret = style.pixelLeft + "px";
+
+			// Revert the changed values
+			style.left = left;
+			if ( rsLeft ) {
+				elem.runtimeStyle.left = rsLeft;
+			}
+		}
+
+		return ret === "" ? "auto" : ret;
+	};
+}
+
+curCSS = getComputedStyle || currentStyle;
+
+function getWH( elem, name, extra ) {
+
+	// Start with offset property
+	var val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
+		which = name === "width" ? cssWidth : cssHeight,
+		i = 0,
+		len = which.length;
+
+	if ( val > 0 ) {
+		if ( extra !== "border" ) {
+			for ( ; i < len; i++ ) {
+				if ( !extra ) {
+					val -= parseFloat( jQuery.css( elem, "padding" + which[ i ] ) ) || 0;
+				}
+				if ( extra === "margin" ) {
+					val += parseFloat( jQuery.css( elem, extra + which[ i ] ) ) || 0;
+				} else {
+					val -= parseFloat( jQuery.css( elem, "border" + which[ i ] + "Width" ) ) || 0;
+				}
+			}
+		}
+
+		return val + "px";
+	}
+
+	// Fall back to computed then uncomputed css if necessary
+	val = curCSS( elem, name, name );
+	if ( val < 0 || val == null ) {
+		val = elem.style[ name ] || 0;
+	}
+	// Normalize "", auto, and prepare for extra
+	val = parseFloat( val ) || 0;
+
+	// Add padding, border, margin
+	if ( extra ) {
+		for ( ; i < len; i++ ) {
+			val += parseFloat( jQuery.css( elem, "padding" + which[ i ] ) ) || 0;
+			if ( extra !== "padding" ) {
+				val += parseFloat( jQuery.css( elem, "border" + which[ i ] + "Width" ) ) || 0;
+			}
+			if ( extra === "margin" ) {
+				val += parseFloat( jQuery.css( elem, extra + which[ i ] ) ) || 0;
+			}
+		}
+	}
+
+	return val + "px";
+}
+
+if ( jQuery.expr && jQuery.expr.filters ) {
+	jQuery.expr.filters.hidden = function( elem ) {
+		var width = elem.offsetWidth,
+			height = elem.offsetHeight;
+
+		return ( width === 0 && height === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
+	};
+
+	jQuery.expr.filters.visible = function( elem ) {
+		return !jQuery.expr.filters.hidden( elem );
+	};
+}
+
+
+
+
+var r20 = /%20/g,
+	rbracket = /\[\]$/,
+	rCRLF = /\r?\n/g,
+	rhash = /#.*$/,
+	rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
+	rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
+	// #7653, #8125, #8152: local protocol detection
+	rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
+	rnoContent = /^(?:GET|HEAD)$/,
+	rprotocol = /^\/\//,
+	rquery = /\?/,
+	rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
+	rselectTextarea = /^(?:select|textarea)/i,
+	rspacesAjax = /\s+/,
+	rts = /([?&])_=[^&]*/,
+	rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
+
+	// Keep a copy of the old load method
+	_load = jQuery.fn.load,
+
+	/* Prefilters
+	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+	 * 2) These are called:
+	 *    - BEFORE asking for a transport
+	 *    - AFTER param serialization (s.data is a string if s.processData is true)
+	 * 3) key is the dataType
+	 * 4) the catchall symbol "*" can be used
+	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+	 */
+	prefilters = {},
+
+	/* Transports bindings
+	 * 1) key is the dataType
+	 * 2) the catchall symbol "*" can be used
+	 * 3) selection will start with transport dataType and THEN go to "*" if needed
+	 */
+	transports = {},
+
+	// Document location
+	ajaxLocation,
+
+	// Document location segments
+	ajaxLocParts,
+
+	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+	allTypes = ["*/"] + ["*"];
+
+// #8138, IE may throw an exception when accessing
+// a field from window.location if document.domain has been set
+try {
+	ajaxLocation = location.href;
+} catch( e ) {
+	// Use the href attribute of an A element
+	// since IE will modify it given document.location
+	ajaxLocation = document.createElement( "a" );
+	ajaxLocation.href = "";
+	ajaxLocation = ajaxLocation.href;
+}
+
+// Segment location into parts
+ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+	// dataTypeExpression is optional and defaults to "*"
+	return function( dataTypeExpression, func ) {
+
+		if ( typeof dataTypeExpression !== "string" ) {
+			func = dataTypeExpression;
+			dataTypeExpression = "*";
+		}
+
+		if ( jQuery.isFunction( func ) ) {
+			var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),
+				i = 0,
+				length = dataTypes.length,
+				dataType,
+				list,
+				placeBefore;
+
+			// For each dataType in the dataTypeExpression
+			for ( ; i < length; i++ ) {
+				dataType = dataTypes[ i ];
+				// We control if we're asked to add before
+				// any existing element
+				placeBefore = /^\+/.test( dataType );
+				if ( placeBefore ) {
+					dataType = dataType.substr( 1 ) || "*";
+				}
+				list = structure[ dataType ] = structure[ dataType ] || [];
+				// then we add to the structure accordingly
+				list[ placeBefore ? "unshift" : "push" ]( func );
+			}
+		}
+	};
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
+		dataType /* internal */, inspected /* internal */ ) {
+
+	dataType = dataType || options.dataTypes[ 0 ];
+	inspected = inspected || {};
+
+	inspected[ dataType ] = true;
+
+	var list = structure[ dataType ],
+		i = 0,
+		length = list ? list.length : 0,
+		executeOnly = ( structure === prefilters ),
+		selection;
+
+	for ( ; i < length && ( executeOnly || !selection ); i++ ) {
+		selection = list[ i ]( options, originalOptions, jqXHR );
+		// If we got redirected to another dataType
+		// we try there if executing only and not done already
+		if ( typeof selection === "string" ) {
+			if ( !executeOnly || inspected[ selection ] ) {
+				selection = undefined;
+			} else {
+				options.dataTypes.unshift( selection );
+				selection = inspectPrefiltersOrTransports(
+						structure, options, originalOptions, jqXHR, selection, inspected );
+			}
+		}
+	}
+	// If we're only executing or nothing was selected
+	// we try the catchall dataType if not done already
+	if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
+		selection = inspectPrefiltersOrTransports(
+				structure, options, originalOptions, jqXHR, "*", inspected );
+	}
+	// unnecessary when only executing (prefilters)
+	// but it'll be ignored by the caller in that case
+	return selection;
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+	var key, deep,
+		flatOptions = jQuery.ajaxSettings.flatOptions || {};
+	for ( key in src ) {
+		if ( src[ key ] !== undefined ) {
+			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+		}
+	}
+	if ( deep ) {
+		jQuery.extend( true, target, deep );
+	}
+}
+
+jQuery.fn.extend({
+	load: function( url, params, callback ) {
+		if ( typeof url !== "string" && _load ) {
+			return _load.apply( this, arguments );
+
+		// Don't do a request if no elements are being requested
+		} else if ( !this.length ) {
+			return this;
+		}
+
+		var off = url.indexOf( " " );
+		if ( off >= 0 ) {
+			var selector = url.slice( off, url.length );
+			url = url.slice( 0, off );
+		}
+
+		// Default to a GET request
+		var type = "GET";
+
+		// If the second parameter was provided
+		if ( params ) {
+			// If it's a function
+			if ( jQuery.isFunction( params ) ) {
+				// We assume that it's the callback
+				callback = params;
+				params = undefined;
+
+			// Otherwise, build a param string
+			} else if ( typeof params === "object" ) {
+				params = jQuery.param( params, jQuery.ajaxSettings.traditional );
+				type = "POST";
+			}
+		}
+
+		var self = this;
+
+		// Request the remote document
+		jQuery.ajax({
+			url: url,
+			type: type,
+			dataType: "html",
+			data: params,
+			// Complete callback (responseText is used internally)
+			complete: function( jqXHR, status, responseText ) {
+				// Store the response as specified by the jqXHR object
+				responseText = jqXHR.responseText;
+				// If successful, inject the HTML into all the matched elements
+				if ( jqXHR.isResolved() ) {
+					// #4825: Get the actual response in case
+					// a dataFilter is present in ajaxSettings
+					jqXHR.done(function( r ) {
+						responseText = r;
+					});
+					// See if a selector was specified
+					self.html( selector ?
+						// Create a dummy div to hold the results
+						jQuery("<div>")
+							// inject the contents of the document in, removing the scripts
+							// to avoid any 'Permission Denied' errors in IE
+							.append(responseText.replace(rscript, ""))
+
+							// Locate the specified elements
+							.find(selector) :
+
+						// If not, just inject the full result
+						responseText );
+				}
+
+				if ( callback ) {
+					self.each( callback, [ responseText, status, jqXHR ] );
+				}
+			}
+		});
+
+		return this;
+	},
+
+	serialize: function() {
+		return jQuery.param( this.serializeArray() );
+	},
+
+	serializeArray: function() {
+		return this.map(function(){
+			return this.elements ? jQuery.makeArray( this.elements ) : this;
+		})
+		.filter(function(){
+			return this.name && !this.disabled &&
+				( this.checked || rselectTextarea.test( this.nodeName ) ||
+					rinput.test( this.type ) );
+		})
+		.map(function( i, elem ){
+			var val = jQuery( this ).val();
+
+			return val == null ?
+				null :
+				jQuery.isArray( val ) ?
+					jQuery.map( val, function( val, i ){
+						return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+					}) :
+					{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+		}).get();
+	}
+});
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
+	jQuery.fn[ o ] = function( f ){
+		return this.on( o, f );
+	};
+});
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+	jQuery[ method ] = function( url, data, callback, type ) {
+		// shift arguments if data argument was omitted
+		if ( jQuery.isFunction( data ) ) {
+			type = type || callback;
+			callback = data;
+			data = undefined;
+		}
+
+		return jQuery.ajax({
+			type: method,
+			url: url,
+			data: data,
+			success: callback,
+			dataType: type
+		});
+	};
+});
+
+jQuery.extend({
+
+	getScript: function( url, callback ) {
+		return jQuery.get( url, undefined, callback, "script" );
+	},
+
+	getJSON: function( url, data, callback ) {
+		return jQuery.get( url, data, callback, "json" );
+	},
+
+	// Creates a full fledged settings object into target
+	// with both ajaxSettings and settings fields.
+	// If target is omitted, writes into ajaxSettings.
+	ajaxSetup: function( target, settings ) {
+		if ( settings ) {
+			// Building a settings object
+			ajaxExtend( target, jQuery.ajaxSettings );
+		} else {
+			// Extending ajaxSettings
+			settings = target;
+			target = jQuery.ajaxSettings;
+		}
+		ajaxExtend( target, settings );
+		return target;
+	},
+
+	ajaxSettings: {
+		url: ajaxLocation,
+		isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
+		global: true,
+		type: "GET",
+		contentType: "application/x-www-form-urlencoded",
+		processData: true,
+		async: true,
+		/*
+		timeout: 0,
+		data: null,
+		dataType: null,
+		username: null,
+		password: null,
+		cache: null,
+		traditional: false,
+		headers: {},
+		*/
+
+		accepts: {
+			xml: "application/xml, text/xml",
+			html: "text/html",
+			text: "text/plain",
+			json: "application/json, text/javascript",
+			"*": allTypes
+		},
+
+		contents: {
+			xml: /xml/,
+			html: /html/,
+			json: /json/
+		},
+
+		responseFields: {
+			xml: "responseXML",
+			text: "responseText"
+		},
+
+		// List of data converters
+		// 1) key format is "source_type destination_type" (a single space in-between)
+		// 2) the catchall symbol "*" can be used for source_type
+		converters: {
+
+			// Convert anything to text
+			"* text": window.String,
+
+			// Text to html (true = no transformation)
+			"text html": true,
+
+			// Evaluate text as a json expression
+			"text json": jQuery.parseJSON,
+
+			// Parse text as xml
+			"text xml": jQuery.parseXML
+		},
+
+		// For options that shouldn't be deep extended:
+		// you can add your own custom options here if
+		// and when you create one that shouldn't be
+		// deep extended (see ajaxExtend)
+		flatOptions: {
+			context: true,
+			url: true
+		}
+	},
+
+	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+	ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+	// Main method
+	ajax: function( url, options ) {
+
+		// If url is an object, simulate pre-1.5 signature
+		if ( typeof url === "object" ) {
+			options = url;
+			url = undefined;
+		}
+
+		// Force options to be an object
+		options = options || {};
+
+		var // Create the final options object
+			s = jQuery.ajaxSetup( {}, options ),
+			// Callbacks context
+			callbackContext = s.context || s,
+			// Context for global events
+			// It's the callbackContext if one was provided in the options
+			// and if it's a DOM node or a jQuery collection
+			globalEventContext = callbackContext !== s &&
+				( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
+						jQuery( callbackContext ) : jQuery.event,
+			// Deferreds
+			deferred = jQuery.Deferred(),
+			completeDeferred = jQuery.Callbacks( "once memory" ),
+			// Status-dependent callbacks
+			statusCode = s.statusCode || {},
+			// ifModified key
+			ifModifiedKey,
+			// Headers (they are sent all at once)
+			requestHeaders = {},
+			requestHeadersNames = {},
+			// Response headers
+			responseHeadersString,
+			responseHeaders,
+			// transport
+			transport,
+			// timeout handle
+			timeoutTimer,
+			// Cross-domain detection vars
+			parts,
+			// The jqXHR state
+			state = 0,
+			// To know if global events are to be dispatched
+			fireGlobals,
+			// Loop variable
+			i,
+			// Fake xhr
+			jqXHR = {
+
+				readyState: 0,
+
+				// Caches the header
+				setRequestHeader: function( name, value ) {
+					if ( !state ) {
+						var lname = name.toLowerCase();
+						name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
+						requestHeaders[ name ] = value;
+					}
+					return this;
+				},
+
+				// Raw string
+				getAllResponseHeaders: function() {
+					return state === 2 ? responseHeadersString : null;
+				},
+
+				// Builds headers hashtable if needed
+				getResponseHeader: function( key ) {
+					var match;
+					if ( state === 2 ) {
+						if ( !responseHeaders ) {
+							responseHeaders = {};
+							while( ( match = rheaders.exec( responseHeadersString ) ) ) {
+								responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
+							}
+						}
+						match = responseHeaders[ key.toLowerCase() ];
+					}
+					return match === undefined ? null : match;
+				},
+
+				// Overrides response content-type header
+				overrideMimeType: function( type ) {
+					if ( !state ) {
+						s.mimeType = type;
+					}
+					return this;
+				},
+
+				// Cancel the request
+				abort: function( statusText ) {
+					statusText = statusText || "abort";
+					if ( transport ) {
+						transport.abort( statusText );
+					}
+					done( 0, statusText );
+					return this;
+				}
+			};
+
+		// Callback for when everything is done
+		// It is defined here because jslint complains if it is declared
+		// at the end of the function (which would be more logical and readable)
+		function done( status, nativeStatusText, responses, headers ) {
+
+			// Called once
+			if ( state === 2 ) {
+				return;
+			}
+
+			// State is "done" now
+			state = 2;
+
+			// Clear timeout if it exists
+			if ( timeoutTimer ) {
+				clearTimeout( timeoutTimer );
+			}
+
+			// Dereference transport for early garbage collection
+			// (no matter how long the jqXHR object will be used)
+			transport = undefined;
+
+			// Cache response headers
+			responseHeadersString = headers || "";
+
+			// Set readyState
+			jqXHR.readyState = status > 0 ? 4 : 0;
+
+			var isSuccess,
+				success,
+				error,
+				statusText = nativeStatusText,
+				response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined,
+				lastModified,
+				etag;
+
+			// If successful, handle type chaining
+			if ( status >= 200 && status < 300 || status === 304 ) {
+
+				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+				if ( s.ifModified ) {
+
+					if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) {
+						jQuery.lastModified[ ifModifiedKey ] = lastModified;
+					}
+					if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) {
+						jQuery.etag[ ifModifiedKey ] = etag;
+					}
+				}
+
+				// If not modified
+				if ( status === 304 ) {
+
+					statusText = "notmodified";
+					isSuccess = true;
+
+				// If we have data
+				} else {
+
+					try {
+						success = ajaxConvert( s, response );
+						statusText = "success";
+						isSuccess = true;
+					} catch(e) {
+						// We have a parsererror
+						statusText = "parsererror";
+						error = e;
+					}
+				}
+			} else {
+				// We extract error from statusText
+				// then normalize statusText and status for non-aborts
+				error = statusText;
+				if ( !statusText || status ) {
+					statusText = "error";
+					if ( status < 0 ) {
+						status = 0;
+					}
+				}
+			}
+
+			// Set data for the fake xhr object
+			jqXHR.status = status;
+			jqXHR.statusText = "" + ( nativeStatusText || statusText );
+
+			// Success/Error
+			if ( isSuccess ) {
+				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+			} else {
+				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+			}
+
+			// Status-dependent callbacks
+			jqXHR.statusCode( statusCode );
+			statusCode = undefined;
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
+						[ jqXHR, s, isSuccess ? success : error ] );
+			}
+
+			// Complete
+			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+				// Handle the global AJAX counter
+				if ( !( --jQuery.active ) ) {
+					jQuery.event.trigger( "ajaxStop" );
+				}
+			}
+		}
+
+		// Attach deferreds
+		deferred.promise( jqXHR );
+		jqXHR.success = jqXHR.done;
+		jqXHR.error = jqXHR.fail;
+		jqXHR.complete = completeDeferred.add;
+
+		// Status-dependent callbacks
+		jqXHR.statusCode = function( map ) {
+			if ( map ) {
+				var tmp;
+				if ( state < 2 ) {
+					for ( tmp in map ) {
+						statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];
+					}
+				} else {
+					tmp = map[ jqXHR.status ];
+					jqXHR.then( tmp, tmp );
+				}
+			}
+			return this;
+		};
+
+		// Remove hash character (#7531: and string promotion)
+		// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
+		// We also use the url parameter if available
+		s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
+
+		// Extract dataTypes list
+		s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
+
+		// Determine if a cross-domain request is in order
+		if ( s.crossDomain == null ) {
+			parts = rurl.exec( s.url.toLowerCase() );
+			s.crossDomain = !!( parts &&
+				( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] ||
+					( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
+						( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
+			);
+		}
+
+		// Convert data if not already a string
+		if ( s.data && s.processData && typeof s.data !== "string" ) {
+			s.data = jQuery.param( s.data, s.traditional );
+		}
+
+		// Apply prefilters
+		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+		// If request was aborted inside a prefiler, stop there
+		if ( state === 2 ) {
+			return false;
+		}
+
+		// We can fire global events as of now if asked to
+		fireGlobals = s.global;
+
+		// Uppercase the type
+		s.type = s.type.toUpperCase();
+
+		// Determine if request has content
+		s.hasContent = !rnoContent.test( s.type );
+
+		// Watch for a new set of requests
+		if ( fireGlobals && jQuery.active++ === 0 ) {
+			jQuery.event.trigger( "ajaxStart" );
+		}
+
+		// More options handling for requests with no content
+		if ( !s.hasContent ) {
+
+			// If data is available, append data to url
+			if ( s.data ) {
+				s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data;
+				// #9682: remove data so that it's not used in an eventual retry
+				delete s.data;
+			}
+
+			// Get ifModifiedKey before adding the anti-cache parameter
+			ifModifiedKey = s.url;
+
+			// Add anti-cache in url if needed
+			if ( s.cache === false ) {
+
+				var ts = jQuery.now(),
+					// try replacing _= if it is there
+					ret = s.url.replace( rts, "$1_=" + ts );
+
+				// if nothing was replaced, add timestamp to the end
+				s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" );
+			}
+		}
+
+		// Set the correct header, if data is being sent
+		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+			jqXHR.setRequestHeader( "Content-Type", s.contentType );
+		}
+
+		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+		if ( s.ifModified ) {
+			ifModifiedKey = ifModifiedKey || s.url;
+			if ( jQuery.lastModified[ ifModifiedKey ] ) {
+				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
+			}
+			if ( jQuery.etag[ ifModifiedKey ] ) {
+				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
+			}
+		}
+
+		// Set the Accepts header for the server, depending on the dataType
+		jqXHR.setRequestHeader(
+			"Accept",
+			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
+				s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+				s.accepts[ "*" ]
+		);
+
+		// Check for headers option
+		for ( i in s.headers ) {
+			jqXHR.setRequestHeader( i, s.headers[ i ] );
+		}
+
+		// Allow custom headers/mimetypes and early abort
+		if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
+				// Abort if not done already
+				jqXHR.abort();
+				return false;
+
+		}
+
+		// Install callbacks on deferreds
+		for ( i in { success: 1, error: 1, complete: 1 } ) {
+			jqXHR[ i ]( s[ i ] );
+		}
+
+		// Get transport
+		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+		// If no transport, we auto-abort
+		if ( !transport ) {
+			done( -1, "No Transport" );
+		} else {
+			jqXHR.readyState = 1;
+			// Send global event
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+			}
+			// Timeout
+			if ( s.async && s.timeout > 0 ) {
+				timeoutTimer = setTimeout( function(){
+					jqXHR.abort( "timeout" );
+				}, s.timeout );
+			}
+
+			try {
+				state = 1;
+				transport.send( requestHeaders, done );
+			} catch (e) {
+				// Propagate exception as error if not done
+				if ( state < 2 ) {
+					done( -1, e );
+				// Simply rethrow otherwise
+				} else {
+					throw e;
+				}
+			}
+		}
+
+		return jqXHR;
+	},
+
+	// Serialize an array of form elements or a set of
+	// key/values into a query string
+	param: function( a, traditional ) {
+		var s = [],
+			add = function( key, value ) {
+				// If value is a function, invoke it and return its value
+				value = jQuery.isFunction( value ) ? value() : value;
+				s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
+			};
+
+		// Set traditional to true for jQuery <= 1.3.2 behavior.
+		if ( traditional === undefined ) {
+			traditional = jQuery.ajaxSettings.traditional;
+		}
+
+		// If an array was passed in, assume that it is an array of form elements.
+		if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+			// Serialize the form elements
+			jQuery.each( a, function() {
+				add( this.name, this.value );
+			});
+
+		} else {
+			// If traditional, encode the "old" way (the way 1.3.2 or older
+			// did it), otherwise encode params recursively.
+			for ( var prefix in a ) {
+				buildParams( prefix, a[ prefix ], traditional, add );
+			}
+		}
+
+		// Return the resulting serialization
+		return s.join( "&" ).replace( r20, "+" );
+	}
+});
+
+function buildParams( prefix, obj, traditional, add ) {
+	if ( jQuery.isArray( obj ) ) {
+		// Serialize array item.
+		jQuery.each( obj, function( i, v ) {
+			if ( traditional || rbracket.test( prefix ) ) {
+				// Treat each array item as a scalar.
+				add( prefix, v );
+
+			} else {
+				// If array item is non-scalar (array or object), encode its
+				// numeric index to resolve deserialization ambiguity issues.
+				// Note that rack (as of 1.0.0) can't currently deserialize
+				// nested arrays properly, and attempting to do so may cause
+				// a server error. Possible fixes are to modify rack's
+				// deserialization algorithm or to provide an option or flag
+				// to force array serialization to be shallow.
+				buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add );
+			}
+		});
+
+	} else if ( !traditional && obj != null && typeof obj === "object" ) {
+		// Serialize object item.
+		for ( var name in obj ) {
+			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+		}
+
+	} else {
+		// Serialize scalar item.
+		add( prefix, obj );
+	}
+}
+
+// This is still on the jQuery object... for now
+// Want to move this to jQuery.ajax some day
+jQuery.extend({
+
+	// Counter for holding the number of active queries
+	active: 0,
+
+	// Last-Modified header cache for next request
+	lastModified: {},
+	etag: {}
+
+});
+
+/* Handles responses to an ajax request:
+ * - sets all responseXXX fields accordingly
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+	var contents = s.contents,
+		dataTypes = s.dataTypes,
+		responseFields = s.responseFields,
+		ct,
+		type,
+		finalDataType,
+		firstDataType;
+
+	// Fill responseXXX fields
+	for ( type in responseFields ) {
+		if ( type in responses ) {
+			jqXHR[ responseFields[type] ] = responses[ type ];
+		}
+	}
+
+	// Remove auto dataType and get content-type in the process
+	while( dataTypes[ 0 ] === "*" ) {
+		dataTypes.shift();
+		if ( ct === undefined ) {
+			ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
+		}
+	}
+
+	// Check if we're dealing with a known content-type
+	if ( ct ) {
+		for ( type in contents ) {
+			if ( contents[ type ] && contents[ type ].test( ct ) ) {
+				dataTypes.unshift( type );
+				break;
+			}
+		}
+	}
+
+	// Check to see if we have a response for the expected dataType
+	if ( dataTypes[ 0 ] in responses ) {
+		finalDataType = dataTypes[ 0 ];
+	} else {
+		// Try convertible dataTypes
+		for ( type in responses ) {
+			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
+				finalDataType = type;
+				break;
+			}
+			if ( !firstDataType ) {
+				firstDataType = type;
+			}
+		}
+		// Or just use first one
+		finalDataType = finalDataType || firstDataType;
+	}
+
+	// If we found a dataType
+	// We add the dataType to the list if needed
+	// and return the corresponding response
+	if ( finalDataType ) {
+		if ( finalDataType !== dataTypes[ 0 ] ) {
+			dataTypes.unshift( finalDataType );
+		}
+		return responses[ finalDataType ];
+	}
+}
+
+// Chain conversions given the request and the original response
+function ajaxConvert( s, response ) {
+
+	// Apply the dataFilter if provided
+	if ( s.dataFilter ) {
+		response = s.dataFilter( response, s.dataType );
+	}
+
+	var dataTypes = s.dataTypes,
+		converters = {},
+		i,
+		key,
+		length = dataTypes.length,
+		tmp,
+		// Current and previous dataTypes
+		current = dataTypes[ 0 ],
+		prev,
+		// Conversion expression
+		conversion,
+		// Conversion function
+		conv,
+		// Conversion functions (transitive conversion)
+		conv1,
+		conv2;
+
+	// For each dataType in the chain
+	for ( i = 1; i < length; i++ ) {
+
+		// Create converters map
+		// with lowercased keys
+		if ( i === 1 ) {
+			for ( key in s.converters ) {
+				if ( typeof key === "string" ) {
+					converters[ key.toLowerCase() ] = s.converters[ key ];
+				}
+			}
+		}
+
+		// Get the dataTypes
+		prev = current;
+		current = dataTypes[ i ];
+
+		// If current is auto dataType, update it to prev
+		if ( current === "*" ) {
+			current = prev;
+		// If no auto and dataTypes are actually different
+		} else if ( prev !== "*" && prev !== current ) {
+
+			// Get the converter
+			conversion = prev + " " + current;
+			conv = converters[ conversion ] || converters[ "* " + current ];
+
+			// If there is no direct converter, search transitively
+			if ( !conv ) {
+				conv2 = undefined;
+				for ( conv1 in converters ) {
+					tmp = conv1.split( " " );
+					if ( tmp[ 0 ] === prev || tmp[ 0 ] === "*" ) {
+						conv2 = converters[ tmp[1] + " " + current ];
+						if ( conv2 ) {
+							conv1 = converters[ conv1 ];
+							if ( conv1 === true ) {
+								conv = conv2;
+							} else if ( conv2 === true ) {
+								conv = conv1;
+							}
+							break;
+						}
+					}
+				}
+			}
+			// If we found no converter, dispatch an error
+			if ( !( conv || conv2 ) ) {
+				jQuery.error( "No conversion from " + conversion.replace(" "," to ") );
+			}
+			// If found converter is not an equivalence
+			if ( conv !== true ) {
+				// Convert with 1 or 2 converters accordingly
+				response = conv ? conv( response ) : conv2( conv1(response) );
+			}
+		}
+	}
+	return response;
+}
+
+
+
+
+var jsc = jQuery.now(),
+	jsre = /(\=)\?(&|$)|\?\?/i;
+
+// Default jsonp settings
+jQuery.ajaxSetup({
+	jsonp: "callback",
+	jsonpCallback: function() {
+		return jQuery.expando + "_" + ( jsc++ );
+	}
+});
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+	var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
+		( typeof s.data === "string" );
+
+	if ( s.dataTypes[ 0 ] === "jsonp" ||
+		s.jsonp !== false && ( jsre.test( s.url ) ||
+				inspectData && jsre.test( s.data ) ) ) {
+
+		var responseContainer,
+			jsonpCallback = s.jsonpCallback =
+				jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback,
+			previous = window[ jsonpCallback ],
+			url = s.url,
+			data = s.data,
+			replace = "$1" + jsonpCallback + "$2";
+
+		if ( s.jsonp !== false ) {
+			url = url.replace( jsre, replace );
+			if ( s.url === url ) {
+				if ( inspectData ) {
+					data = data.replace( jsre, replace );
+				}
+				if ( s.data === data ) {
+					// Add callback manually
+					url += (/\?/.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback;
+				}
+			}
+		}
+
+		s.url = url;
+		s.data = data;
+
+		// Install callback
+		window[ jsonpCallback ] = function( response ) {
+			responseContainer = [ response ];
+		};
+
+		// Clean-up function
+		jqXHR.always(function() {
+			// Set callback back to previous value
+			window[ jsonpCallback ] = previous;
+			// Call if it was a function and we have a response
+			if ( responseContainer && jQuery.isFunction( previous ) ) {
+				window[ jsonpCallback ]( responseContainer[ 0 ] );
+			}
+		});
+
+		// Use data converter to retrieve json after script execution
+		s.converters["script json"] = function() {
+			if ( !responseContainer ) {
+				jQuery.error( jsonpCallback + " was not called" );
+			}
+			return responseContainer[ 0 ];
+		};
+
+		// force json dataType
+		s.dataTypes[ 0 ] = "json";
+
+		// Delegate to script
+		return "script";
+	}
+});
+
+
+
+
+// Install script dataType
+jQuery.ajaxSetup({
+	accepts: {
+		script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
+	},
+	contents: {
+		script: /javascript|ecmascript/
+	},
+	converters: {
+		"text script": function( text ) {
+			jQuery.globalEval( text );
+			return text;
+		}
+	}
+});
+
+// Handle cache's special case and global
+jQuery.ajaxPrefilter( "script", function( s ) {
+	if ( s.cache === undefined ) {
+		s.cache = false;
+	}
+	if ( s.crossDomain ) {
+		s.type = "GET";
+		s.global = false;
+	}
+});
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function(s) {
+
+	// This transport only deals with cross domain requests
+	if ( s.crossDomain ) {
+
+		var script,
+			head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
+
+		return {
+
+			send: function( _, callback ) {
+
+				script = document.createElement( "script" );
+
+				script.async = "async";
+
+				if ( s.scriptCharset ) {
+					script.charset = s.scriptCharset;
+				}
+
+				script.src = s.url;
+
+				// Attach handlers for all browsers
+				script.onload = script.onreadystatechange = function( _, isAbort ) {
+
+					if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
+
+						// Handle memory leak in IE
+						script.onload = script.onreadystatechange = null;
+
+						// Remove the script
+						if ( head && script.parentNode ) {
+							head.removeChild( script );
+						}
+
+						// Dereference the script
+						script = undefined;
+
+						// Callback if not abort
+						if ( !isAbort ) {
+							callback( 200, "success" );
+						}
+					}
+				};
+				// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
+				// This arises when a base node is used (#2709 and #4378).
+				head.insertBefore( script, head.firstChild );
+			},
+
+			abort: function() {
+				if ( script ) {
+					script.onload( 0, 1 );
+				}
+			}
+		};
+	}
+});
+
+
+
+
+var // #5280: Internet Explorer will keep connections alive if we don't abort on unload
+	xhrOnUnloadAbort = window.ActiveXObject ? function() {
+		// Abort all pending requests
+		for ( var key in xhrCallbacks ) {
+			xhrCallbacks[ key ]( 0, 1 );
+		}
+	} : false,
+	xhrId = 0,
+	xhrCallbacks;
+
+// Functions to create xhrs
+function createStandardXHR() {
+	try {
+		return new window.XMLHttpRequest();
+	} catch( e ) {}
+}
+
+function createActiveXHR() {
+	try {
+		return new window.ActiveXObject( "Microsoft.XMLHTTP" );
+	} catch( e ) {}
+}
+
+// Create the request object
+// (This is still attached to ajaxSettings for backward compatibility)
+jQuery.ajaxSettings.xhr = window.ActiveXObject ?
+	/* Microsoft failed to properly
+	 * implement the XMLHttpRequest in IE7 (can't request local files),
+	 * so we use the ActiveXObject when it is available
+	 * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
+	 * we need a fallback.
+	 */
+	function() {
+		return !this.isLocal && createStandardXHR() || createActiveXHR();
+	} :
+	// For all other browsers, use the standard XMLHttpRequest object
+	createStandardXHR;
+
+// Determine support properties
+(function( xhr ) {
+	jQuery.extend( jQuery.support, {
+		ajax: !!xhr,
+		cors: !!xhr && ( "withCredentials" in xhr )
+	});
+})( jQuery.ajaxSettings.xhr() );
+
+// Create transport if the browser can provide an xhr
+if ( jQuery.support.ajax ) {
+
+	jQuery.ajaxTransport(function( s ) {
+		// Cross domain only allowed if supported through XMLHttpRequest
+		if ( !s.crossDomain || jQuery.support.cors ) {
+
+			var callback;
+
+			return {
+				send: function( headers, complete ) {
+
+					// Get a new xhr
+					var xhr = s.xhr(),
+						handle,
+						i;
+
+					// Open the socket
+					// Passing null username, generates a login popup on Opera (#2865)
+					if ( s.username ) {
+						xhr.open( s.type, s.url, s.async, s.username, s.password );
+					} else {
+						xhr.open( s.type, s.url, s.async );
+					}
+
+					// Apply custom fields if provided
+					if ( s.xhrFields ) {
+						for ( i in s.xhrFields ) {
+							xhr[ i ] = s.xhrFields[ i ];
+						}
+					}
+
+					// Override mime type if needed
+					if ( s.mimeType && xhr.overrideMimeType ) {
+						xhr.overrideMimeType( s.mimeType );
+					}
+
+					// X-Requested-With header
+					// For cross-domain requests, seeing as conditions for a preflight are
+					// akin to a jigsaw puzzle, we simply never set it to be sure.
+					// (it can always be set on a per-request basis or even using ajaxSetup)
+					// For same-domain requests, won't change header if already provided.
+					if ( !s.crossDomain && !headers["X-Requested-With"] ) {
+						headers[ "X-Requested-With" ] = "XMLHttpRequest";
+					}
+
+					// Need an extra try/catch for cross domain requests in Firefox 3
+					try {
+						for ( i in headers ) {
+							xhr.setRequestHeader( i, headers[ i ] );
+						}
+					} catch( _ ) {}
+
+					// Do send the request
+					// This may raise an exception which is actually
+					// handled in jQuery.ajax (so no try/catch here)
+					xhr.send( ( s.hasContent && s.data ) || null );
+
+					// Listener
+					callback = function( _, isAbort ) {
+
+						var status,
+							statusText,
+							responseHeaders,
+							responses,
+							xml;
+
+						// Firefox throws exceptions when accessing properties
+						// of an xhr when a network error occured
+						// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
+						try {
+
+							// Was never called and is aborted or complete
+							if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
+
+								// Only called once
+								callback = undefined;
+
+								// Do not keep as active anymore
+								if ( handle ) {
+									xhr.onreadystatechange = jQuery.noop;
+									if ( xhrOnUnloadAbort ) {
+										delete xhrCallbacks[ handle ];
+									}
+								}
+
+								// If it's an abort
+								if ( isAbort ) {
+									// Abort it manually if needed
+									if ( xhr.readyState !== 4 ) {
+										xhr.abort();
+									}
+								} else {
+									status = xhr.status;
+									responseHeaders = xhr.getAllResponseHeaders();
+									responses = {};
+									xml = xhr.responseXML;
+
+									// Construct response list
+									if ( xml && xml.documentElement /* #4958 */ ) {
+										responses.xml = xml;
+									}
+									responses.text = xhr.responseText;
+
+									// Firefox throws an exception when accessing
+									// statusText for faulty cross-domain requests
+									try {
+										statusText = xhr.statusText;
+									} catch( e ) {
+										// We normalize with Webkit giving an empty statusText
+										statusText = "";
+									}
+
+									// Filter status for non standard behaviors
+
+									// If the request is local and we have data: assume a success
+									// (success with no data won't get notified, that's the best we
+									// can do given current implementations)
+									if ( !status && s.isLocal && !s.crossDomain ) {
+										status = responses.text ? 200 : 404;
+									// IE - #1450: sometimes returns 1223 when it should be 204
+									} else if ( status === 1223 ) {
+										status = 204;
+									}
+								}
+							}
+						} catch( firefoxAccessException ) {
+							if ( !isAbort ) {
+								complete( -1, firefoxAccessException );
+							}
+						}
+
+						// Call complete if needed
+						if ( responses ) {
+							complete( status, statusText, responses, responseHeaders );
+						}
+					};
+
+					// if we're in sync mode or it's in cache
+					// and has been retrieved directly (IE6 & IE7)
+					// we need to manually fire the callback
+					if ( !s.async || xhr.readyState === 4 ) {
+						callback();
+					} else {
+						handle = ++xhrId;
+						if ( xhrOnUnloadAbort ) {
+							// Create the active xhrs callbacks list if needed
+							// and attach the unload handler
+							if ( !xhrCallbacks ) {
+								xhrCallbacks = {};
+								jQuery( window ).unload( xhrOnUnloadAbort );
+							}
+							// Add to list of active xhrs callbacks
+							xhrCallbacks[ handle ] = callback;
+						}
+						xhr.onreadystatechange = callback;
+					}
+				},
+
+				abort: function() {
+					if ( callback ) {
+						callback(0,1);
+					}
+				}
+			};
+		}
+	});
+}
+
+
+
+
+var elemdisplay = {},
+	iframe, iframeDoc,
+	rfxtypes = /^(?:toggle|show|hide)$/,
+	rfxnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
+	timerId,
+	fxAttrs = [
+		// height animations
+		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
+		// width animations
+		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
+		// opacity animations
+		[ "opacity" ]
+	],
+	fxNow;
+
+jQuery.fn.extend({
+	show: function( speed, easing, callback ) {
+		var elem, display;
+
+		if ( speed || speed === 0 ) {
+			return this.animate( genFx("show", 3), speed, easing, callback );
+
+		} else {
+			for ( var i = 0, j = this.length; i < j; i++ ) {
+				elem = this[ i ];
+
+				if ( elem.style ) {
+					display = elem.style.display;
+
+					// Reset the inline display of this element to learn if it is
+					// being hidden by cascaded rules or not
+					if ( !jQuery._data(elem, "olddisplay") && display === "none" ) {
+						display = elem.style.display = "";
+					}
+
+					// Set elements which have been overridden with display: none
+					// in a stylesheet to whatever the default browser style is
+					// for such an element
+					if ( display === "" && jQuery.css(elem, "display") === "none" ) {
+						jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) );
+					}
+				}
+			}
+
+			// Set the display of most of the elements in a second loop
+			// to avoid the constant reflow
+			for ( i = 0; i < j; i++ ) {
+				elem = this[ i ];
+
+				if ( elem.style ) {
+					display = elem.style.display;
+
+					if ( display === "" || display === "none" ) {
+						elem.style.display = jQuery._data( elem, "olddisplay" ) || "";
+					}
+				}
+			}
+
+			return this;
+		}
+	},
+
+	hide: function( speed, easing, callback ) {
+		if ( speed || speed === 0 ) {
+			return this.animate( genFx("hide", 3), speed, easing, callback);
+
+		} else {
+			var elem, display,
+				i = 0,
+				j = this.length;
+
+			for ( ; i < j; i++ ) {
+				elem = this[i];
+				if ( elem.style ) {
+					display = jQuery.css( elem, "display" );
+
+					if ( display !== "none" && !jQuery._data( elem, "olddisplay" ) ) {
+						jQuery._data( elem, "olddisplay", display );
+					}
+				}
+			}
+
+			// Set the display of the elements in a second loop
+			// to avoid the constant reflow
+			for ( i = 0; i < j; i++ ) {
+				if ( this[i].style ) {
+					this[i].style.display = "none";
+				}
+			}
+
+			return this;
+		}
+	},
+
+	// Save the old toggle function
+	_toggle: jQuery.fn.toggle,
+
+	toggle: function( fn, fn2, callback ) {
+		var bool = typeof fn === "boolean";
+
+		if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
+			this._toggle.apply( this, arguments );
+
+		} else if ( fn == null || bool ) {
+			this.each(function() {
+				var state = bool ? fn : jQuery(this).is(":hidden");
+				jQuery(this)[ state ? "show" : "hide" ]();
+			});
+
+		} else {
+			this.animate(genFx("toggle", 3), fn, fn2, callback);
+		}
+
+		return this;
+	},
+
+	fadeTo: function( speed, to, easing, callback ) {
+		return this.filter(":hidden").css("opacity", 0).show().end()
+					.animate({opacity: to}, speed, easing, callback);
+	},
+
+	animate: function( prop, speed, easing, callback ) {
+		var optall = jQuery.speed( speed, easing, callback );
+
+		if ( jQuery.isEmptyObject( prop ) ) {
+			return this.each( optall.complete, [ false ] );
+		}
+
+		// Do not change referenced properties as per-property easing will be lost
+		prop = jQuery.extend( {}, prop );
+
+		function doAnimation() {
+			// XXX 'this' does not always have a nodeName when running the
+			// test suite
+
+			if ( optall.queue === false ) {
+				jQuery._mark( this );
+			}
+
+			var opt = jQuery.extend( {}, optall ),
+				isElement = this.nodeType === 1,
+				hidden = isElement && jQuery(this).is(":hidden"),
+				name, val, p, e,
+				parts, start, end, unit,
+				method;
+
+			// will store per property easing and be used to determine when an animation is complete
+			opt.animatedProperties = {};
+
+			for ( p in prop ) {
+
+				// property name normalization
+				name = jQuery.camelCase( p );
+				if ( p !== name ) {
+					prop[ name ] = prop[ p ];
+					delete prop[ p ];
+				}
+
+				val = prop[ name ];
+
+				// easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default)
+				if ( jQuery.isArray( val ) ) {
+					opt.animatedProperties[ name ] = val[ 1 ];
+					val = prop[ name ] = val[ 0 ];
+				} else {
+					opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing';
+				}
+
+				if ( val === "hide" && hidden || val === "show" && !hidden ) {
+					return opt.complete.call( this );
+				}
+
+				if ( isElement && ( name === "height" || name === "width" ) ) {
+					// Make sure that nothing sneaks out
+					// Record all 3 overflow attributes because IE does not
+					// change the overflow attribute when overflowX and
+					// overflowY are set to the same value
+					opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ];
+
+					// Set display property to inline-block for height/width
+					// animations on inline elements that are having width/height animated
+					if ( jQuery.css( this, "display" ) === "inline" &&
+							jQuery.css( this, "float" ) === "none" ) {
+
+						// inline-level elements accept inline-block;
+						// block-level elements need to be inline with layout
+						if ( !jQuery.support.inlineBlockNeedsLayout || defaultDisplay( this.nodeName ) === "inline" ) {
+							this.style.display = "inline-block";
+
+						} else {
+							this.style.zoom = 1;
+						}
+					}
+				}
+			}
+
+			if ( opt.overflow != null ) {
+				this.style.overflow = "hidden";
+			}
+
+			for ( p in prop ) {
+				e = new jQuery.fx( this, opt, p );
+				val = prop[ p ];
+
+				if ( rfxtypes.test( val ) ) {
+
+					// Tracks whether to show or hide based on private
+					// data attached to the element
+					method = jQuery._data( this, "toggle" + p ) || ( val === "toggle" ? hidden ? "show" : "hide" : 0 );
+					if ( method ) {
+						jQuery._data( this, "toggle" + p, method === "show" ? "hide" : "show" );
+						e[ method ]();
+					} else {
+						e[ val ]();
+					}
+
+				} else {
+					parts = rfxnum.exec( val );
+					start = e.cur();
+
+					if ( parts ) {
+						end = parseFloat( parts[2] );
+						unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" );
+
+						// We need to compute starting value
+						if ( unit !== "px" ) {
+							jQuery.style( this, p, (end || 1) + unit);
+							start = ( (end || 1) / e.cur() ) * start;
+							jQuery.style( this, p, start + unit);
+						}
+
+						// If a +=/-= token was provided, we're doing a relative animation
+						if ( parts[1] ) {
+							end = ( (parts[ 1 ] === "-=" ? -1 : 1) * end ) + start;
+						}
+
+						e.custom( start, end, unit );
+
+					} else {
+						e.custom( start, val, "" );
+					}
+				}
+			}
+
+			// For JS strict compliance
+			return true;
+		}
+
+		return optall.queue === false ?
+			this.each( doAnimation ) :
+			this.queue( optall.queue, doAnimation );
+	},
+
+	stop: function( type, clearQueue, gotoEnd ) {
+		if ( typeof type !== "string" ) {
+			gotoEnd = clearQueue;
+			clearQueue = type;
+			type = undefined;
+		}
+		if ( clearQueue && type !== false ) {
+			this.queue( type || "fx", [] );
+		}
+
+		return this.each(function() {
+			var index,
+				hadTimers = false,
+				timers = jQuery.timers,
+				data = jQuery._data( this );
+
+			// clear marker counters if we know they won't be
+			if ( !gotoEnd ) {
+				jQuery._unmark( true, this );
+			}
+
+			function stopQueue( elem, data, index ) {
+				var hooks = data[ index ];
+				jQuery.removeData( elem, index, true );
+				hooks.stop( gotoEnd );
+			}
+
+			if ( type == null ) {
+				for ( index in data ) {
+					if ( data[ index ] && data[ index ].stop && index.indexOf(".run") === index.length - 4 ) {
+						stopQueue( this, data, index );
+					}
+				}
+			} else if ( data[ index = type + ".run" ] && data[ index ].stop ){
+				stopQueue( this, data, index );
+			}
+
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
+					if ( gotoEnd ) {
+
+						// force the next step to be the last
+						timers[ index ]( true );
+					} else {
+						timers[ index ].saveState();
+					}
+					hadTimers = true;
+					timers.splice( index, 1 );
+				}
+			}
+
+			// start the next in the queue if the last step wasn't forced
+			// timers currently will call their complete callbacks, which will dequeue
+			// but only if they were gotoEnd
+			if ( !( gotoEnd && hadTimers ) ) {
+				jQuery.dequeue( this, type );
+			}
+		});
+	}
+
+});
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+	setTimeout( clearFxNow, 0 );
+	return ( fxNow = jQuery.now() );
+}
+
+function clearFxNow() {
+	fxNow = undefined;
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, num ) {
+	var obj = {};
+
+	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice( 0, num )), function() {
+		obj[ this ] = type;
+	});
+
+	return obj;
+}
+
+// Generate shortcuts for custom animations
+jQuery.each({
+	slideDown: genFx( "show", 1 ),
+	slideUp: genFx( "hide", 1 ),
+	slideToggle: genFx( "toggle", 1 ),
+	fadeIn: { opacity: "show" },
+	fadeOut: { opacity: "hide" },
+	fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return this.animate( props, speed, easing, callback );
+	};
+});
+
+jQuery.extend({
+	speed: function( speed, easing, fn ) {
+		var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+			complete: fn || !fn && easing ||
+				jQuery.isFunction( speed ) && speed,
+			duration: speed,
+			easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+		};
+
+		opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
+			opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
+
+		// normalize opt.queue - true/undefined/null -> "fx"
+		if ( opt.queue == null || opt.queue === true ) {
+			opt.queue = "fx";
+		}
+
+		// Queueing
+		opt.old = opt.complete;
+
+		opt.complete = function( noUnmark ) {
+			if ( jQuery.isFunction( opt.old ) ) {
+				opt.old.call( this );
+			}
+
+			if ( opt.queue ) {
+				jQuery.dequeue( this, opt.queue );
+			} else if ( noUnmark !== false ) {
+				jQuery._unmark( this );
+			}
+		};
+
+		return opt;
+	},
+
+	easing: {
+		linear: function( p, n, firstNum, diff ) {
+			return firstNum + diff * p;
+		},
+		swing: function( p, n, firstNum, diff ) {
+			return ( ( -Math.cos( p*Math.PI ) / 2 ) + 0.5 ) * diff + firstNum;
+		}
+	},
+
+	timers: [],
+
+	fx: function( elem, options, prop ) {
+		this.options = options;
+		this.elem = elem;
+		this.prop = prop;
+
+		options.orig = options.orig || {};
+	}
+
+});
+
+jQuery.fx.prototype = {
+	// Simple function for setting a style value
+	update: function() {
+		if ( this.options.step ) {
+			this.options.step.call( this.elem, this.now, this );
+		}
+
+		( jQuery.fx.step[ this.prop ] || jQuery.fx.step._default )( this );
+	},
+
+	// Get the current size
+	cur: function() {
+		if ( this.elem[ this.prop ] != null && (!this.elem.style || this.elem.style[ this.prop ] == null) ) {
+			return this.elem[ this.prop ];
+		}
+
+		var parsed,
+			r = jQuery.css( this.elem, this.prop );
+		// Empty strings, null, undefined and "auto" are converted to 0,
+		// complex values such as "rotate(1rad)" are returned as is,
+		// simple values such as "10px" are parsed to Float.
+		return isNaN( parsed = parseFloat( r ) ) ? !r || r === "auto" ? 0 : r : parsed;
+	},
+
+	// Start an animation from one number to another
+	custom: function( from, to, unit ) {
+		var self = this,
+			fx = jQuery.fx;
+
+		this.startTime = fxNow || createFxNow();
+		this.end = to;
+		this.now = this.start = from;
+		this.pos = this.state = 0;
+		this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" );
+
+		function t( gotoEnd ) {
+			return self.step( gotoEnd );
+		}
+
+		t.queue = this.options.queue;
+		t.elem = this.elem;
+		t.saveState = function() {
+			if ( self.options.hide && jQuery._data( self.elem, "fxshow" + self.prop ) === undefined ) {
+				jQuery._data( self.elem, "fxshow" + self.prop, self.start );
+			}
+		};
+
+		if ( t() && jQuery.timers.push(t) && !timerId ) {
+			timerId = setInterval( fx.tick, fx.interval );
+		}
+	},
+
+	// Simple 'show' function
+	show: function() {
+		var dataShow = jQuery._data( this.elem, "fxshow" + this.prop );
+
+		// Remember where we started, so that we can go back to it later
+		this.options.orig[ this.prop ] = dataShow || jQuery.style( this.elem, this.prop );
+		this.options.show = true;
+
+		// Begin the animation
+		// Make sure that we start at a small width/height to avoid any flash of content
+		if ( dataShow !== undefined ) {
+			// This show is picking up where a previous hide or show left off
+			this.custom( this.cur(), dataShow );
+		} else {
+			this.custom( this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur() );
+		}
+
+		// Start by showing the element
+		jQuery( this.elem ).show();
+	},
+
+	// Simple 'hide' function
+	hide: function() {
+		// Remember where we started, so that we can go back to it later
+		this.options.orig[ this.prop ] = jQuery._data( this.elem, "fxshow" + this.prop ) || jQuery.style( this.elem, this.prop );
+		this.options.hide = true;
+
+		// Begin the animation
+		this.custom( this.cur(), 0 );
+	},
+
+	// Each step of an animation
+	step: function( gotoEnd ) {
+		var p, n, complete,
+			t = fxNow || createFxNow(),
+			done = true,
+			elem = this.elem,
+			options = this.options;
+
+		if ( gotoEnd || t >= options.duration + this.startTime ) {
+			this.now = this.end;
+			this.pos = this.state = 1;
+			this.update();
+
+			options.animatedProperties[ this.prop ] = true;
+
+			for ( p in options.animatedProperties ) {
+				if ( options.animatedProperties[ p ] !== true ) {
+					done = false;
+				}
+			}
+
+			if ( done ) {
+				// Reset the overflow
+				if ( options.overflow != null && !jQuery.support.shrinkWrapBlocks ) {
+
+					jQuery.each( [ "", "X", "Y" ], function( index, value ) {
+						elem.style[ "overflow" + value ] = options.overflow[ index ];
+					});
+				}
+
+				// Hide the element if the "hide" operation was done
+				if ( options.hide ) {
+					jQuery( elem ).hide();
+				}
+
+				// Reset the properties, if the item has been hidden or shown
+				if ( options.hide || options.show ) {
+					for ( p in options.animatedProperties ) {
+						jQuery.style( elem, p, options.orig[ p ] );
+						jQuery.removeData( elem, "fxshow" + p, true );
+						// Toggle data is no longer needed
+						jQuery.removeData( elem, "toggle" + p, true );
+					}
+				}
+
+				// Execute the complete function
+				// in the event that the complete function throws an exception
+				// we must ensure it won't be called twice. #5684
+
+				complete = options.complete;
+				if ( complete ) {
+
+					options.complete = false;
+					complete.call( elem );
+				}
+			}
+
+			return false;
+
+		} else {
+			// classical easing cannot be used with an Infinity duration
+			if ( options.duration == Infinity ) {
+				this.now = t;
+			} else {
+				n = t - this.startTime;
+				this.state = n / options.duration;
+
+				// Perform the easing function, defaults to swing
+				this.pos = jQuery.easing[ options.animatedProperties[this.prop] ]( this.state, n, 0, 1, options.duration );
+				this.now = this.start + ( (this.end - this.start) * this.pos );
+			}
+			// Perform the next step of the animation
+			this.update();
+		}
+
+		return true;
+	}
+};
+
+jQuery.extend( jQuery.fx, {
+	tick: function() {
+		var timer,
+			timers = jQuery.timers,
+			i = 0;
+
+		for ( ; i < timers.length; i++ ) {
+			timer = timers[ i ];
+			// Checks the timer has not already been removed
+			if ( !timer() && timers[ i ] === timer ) {
+				timers.splice( i--, 1 );
+			}
+		}
+
+		if ( !timers.length ) {
+			jQuery.fx.stop();
+		}
+	},
+
+	interval: 13,
+
+	stop: function() {
+		clearInterval( timerId );
+		timerId = null;
+	},
+
+	speeds: {
+		slow: 600,
+		fast: 200,
+		// Default speed
+		_default: 400
+	},
+
+	step: {
+		opacity: function( fx ) {
+			jQuery.style( fx.elem, "opacity", fx.now );
+		},
+
+		_default: function( fx ) {
+			if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
+				fx.elem.style[ fx.prop ] = fx.now + fx.unit;
+			} else {
+				fx.elem[ fx.prop ] = fx.now;
+			}
+		}
+	}
+});
+
+// Adds width/height step functions
+// Do not set anything below 0
+jQuery.each([ "width", "height" ], function( i, prop ) {
+	jQuery.fx.step[ prop ] = function( fx ) {
+		jQuery.style( fx.elem, prop, Math.max(0, fx.now) + fx.unit );
+	};
+});
+
+if ( jQuery.expr && jQuery.expr.filters ) {
+	jQuery.expr.filters.animated = function( elem ) {
+		return jQuery.grep(jQuery.timers, function( fn ) {
+			return elem === fn.elem;
+		}).length;
+	};
+}
+
+// Try to restore the default display value of an element
+function defaultDisplay( nodeName ) {
+
+	if ( !elemdisplay[ nodeName ] ) {
+
+		var body = document.body,
+			elem = jQuery( "<" + nodeName + ">" ).appendTo( body ),
+			display = elem.css( "display" );
+		elem.remove();
+
+		// If the simple way fails,
+		// get element's real default display by attaching it to a temp iframe
+		if ( display === "none" || display === "" ) {
+			// No iframe to use yet, so create it
+			if ( !iframe ) {
+				iframe = document.createElement( "iframe" );
+				iframe.frameBorder = iframe.width = iframe.height = 0;
+			}
+
+			body.appendChild( iframe );
+
+			// Create a cacheable copy of the iframe document on first call.
+			// IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML
+			// document to it; WebKit & Firefox won't allow reusing the iframe document.
+			if ( !iframeDoc || !iframe.createElement ) {
+				iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;
+				iframeDoc.write( ( document.compatMode === "CSS1Compat" ? "<!doctype html>" : "" ) + "<html><body>" );
+				iframeDoc.close();
+			}
+
+			elem = iframeDoc.createElement( nodeName );
+
+			iframeDoc.body.appendChild( elem );
+
+			display = jQuery.css( elem, "display" );
+			body.removeChild( iframe );
+		}
+
+		// Store the correct default display
+		elemdisplay[ nodeName ] = display;
+	}
+
+	return elemdisplay[ nodeName ];
+}
+
+
+
+
+var rtable = /^t(?:able|d|h)$/i,
+	rroot = /^(?:body|html)$/i;
+
+if ( "getBoundingClientRect" in document.documentElement ) {
+	jQuery.fn.offset = function( options ) {
+		var elem = this[0], box;
+
+		if ( options ) {
+			return this.each(function( i ) {
+				jQuery.offset.setOffset( this, options, i );
+			});
+		}
+
+		if ( !elem || !elem.ownerDocument ) {
+			return null;
+		}
+
+		if ( elem === elem.ownerDocument.body ) {
+			return jQuery.offset.bodyOffset( elem );
+		}
+
+		try {
+			box = elem.getBoundingClientRect();
+		} catch(e) {}
+
+		var doc = elem.ownerDocument,
+			docElem = doc.documentElement;
+
+		// Make sure we're not dealing with a disconnected DOM node
+		if ( !box || !jQuery.contains( docElem, elem ) ) {
+			return box ? { top: box.top, left: box.left } : { top: 0, left: 0 };
+		}
+
+		var body = doc.body,
+			win = getWindow(doc),
+			clientTop  = docElem.clientTop  || body.clientTop  || 0,
+			clientLeft = docElem.clientLeft || body.clientLeft || 0,
+			scrollTop  = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop  || body.scrollTop,
+			scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
+			top  = box.top  + scrollTop  - clientTop,
+			left = box.left + scrollLeft - clientLeft;
+
+		return { top: top, left: left };
+	};
+
+} else {
+	jQuery.fn.offset = function( options ) {
+		var elem = this[0];
+
+		if ( options ) {
+			return this.each(function( i ) {
+				jQuery.offset.setOffset( this, options, i );
+			});
+		}
+
+		if ( !elem || !elem.ownerDocument ) {
+			return null;
+		}
+
+		if ( elem === elem.ownerDocument.body ) {
+			return jQuery.offset.bodyOffset( elem );
+		}
+
+		var computedStyle,
+			offsetParent = elem.offsetParent,
+			prevOffsetParent = elem,
+			doc = elem.ownerDocument,
+			docElem = doc.documentElement,
+			body = doc.body,
+			defaultView = doc.defaultView,
+			prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
+			top = elem.offsetTop,
+			left = elem.offsetLeft;
+
+		while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
+			if ( jQuery.support.fixedPosition && prevComputedStyle.position === "fixed" ) {
+				break;
+			}
+
+			computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
+			top  -= elem.scrollTop;
+			left -= elem.scrollLeft;
+
+			if ( elem === offsetParent ) {
+				top  += elem.offsetTop;
+				left += elem.offsetLeft;
+
+				if ( jQuery.support.doesNotAddBorder && !(jQuery.support.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) {
+					top  += parseFloat( computedStyle.borderTopWidth  ) || 0;
+					left += parseFloat( computedStyle.borderLeftWidth ) || 0;
+				}
+
+				prevOffsetParent = offsetParent;
+				offsetParent = elem.offsetParent;
+			}
+
+			if ( jQuery.support.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
+				top  += parseFloat( computedStyle.borderTopWidth  ) || 0;
+				left += parseFloat( computedStyle.borderLeftWidth ) || 0;
+			}
+
+			prevComputedStyle = computedStyle;
+		}
+
+		if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
+			top  += body.offsetTop;
+			left += body.offsetLeft;
+		}
+
+		if ( jQuery.support.fixedPosition && prevComputedStyle.position === "fixed" ) {
+			top  += Math.max( docElem.scrollTop, body.scrollTop );
+			left += Math.max( docElem.scrollLeft, body.scrollLeft );
+		}
+
+		return { top: top, left: left };
+	};
+}
+
+jQuery.offset = {
+
+	bodyOffset: function( body ) {
+		var top = body.offsetTop,
+			left = body.offsetLeft;
+
+		if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) {
+			top  += parseFloat( jQuery.css(body, "marginTop") ) || 0;
+			left += parseFloat( jQuery.css(body, "marginLeft") ) || 0;
+		}
+
+		return { top: top, left: left };
+	},
+
+	setOffset: function( elem, options, i ) {
+		var position = jQuery.css( elem, "position" );
+
+		// set position first, in-case top/left are set even on static elem
+		if ( position === "static" ) {
+			elem.style.position = "relative";
+		}
+
+		var curElem = jQuery( elem ),
+			curOffset = curElem.offset(),
+			curCSSTop = jQuery.css( elem, "top" ),
+			curCSSLeft = jQuery.css( elem, "left" ),
+			calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1,
+			props = {}, curPosition = {}, curTop, curLeft;
+
+		// need to be able to calculate position if either top or left is auto and position is either absolute or fixed
+		if ( calculatePosition ) {
+			curPosition = curElem.position();
+			curTop = curPosition.top;
+			curLeft = curPosition.left;
+		} else {
+			curTop = parseFloat( curCSSTop ) || 0;
+			curLeft = parseFloat( curCSSLeft ) || 0;
+		}
+
+		if ( jQuery.isFunction( options ) ) {
+			options = options.call( elem, i, curOffset );
+		}
+
+		if ( options.top != null ) {
+			props.top = ( options.top - curOffset.top ) + curTop;
+		}
+		if ( options.left != null ) {
+			props.left = ( options.left - curOffset.left ) + curLeft;
+		}
+
+		if ( "using" in options ) {
+			options.using.call( elem, props );
+		} else {
+			curElem.css( props );
+		}
+	}
+};
+
+
+jQuery.fn.extend({
+
+	position: function() {
+		if ( !this[0] ) {
+			return null;
+		}
+
+		var elem = this[0],
+
+		// Get *real* offsetParent
+		offsetParent = this.offsetParent(),
+
+		// Get correct offsets
+		offset       = this.offset(),
+		parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
+
+		// Subtract element margins
+		// note: when an element has margin: auto the offsetLeft and marginLeft
+		// are the same in Safari causing offset.left to incorrectly be 0
+		offset.top  -= parseFloat( jQuery.css(elem, "marginTop") ) || 0;
+		offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0;
+
+		// Add offsetParent borders
+		parentOffset.top  += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0;
+		parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0;
+
+		// Subtract the two offsets
+		return {
+			top:  offset.top  - parentOffset.top,
+			left: offset.left - parentOffset.left
+		};
+	},
+
+	offsetParent: function() {
+		return this.map(function() {
+			var offsetParent = this.offsetParent || document.body;
+			while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
+				offsetParent = offsetParent.offsetParent;
+			}
+			return offsetParent;
+		});
+	}
+});
+
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( ["Left", "Top"], function( i, name ) {
+	var method = "scroll" + name;
+
+	jQuery.fn[ method ] = function( val ) {
+		var elem, win;
+
+		if ( val === undefined ) {
+			elem = this[ 0 ];
+
+			if ( !elem ) {
+				return null;
+			}
+
+			win = getWindow( elem );
+
+			// Return the scroll offset
+			return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
+				jQuery.support.boxModel && win.document.documentElement[ method ] ||
+					win.document.body[ method ] :
+				elem[ method ];
+		}
+
+		// Set the scroll offset
+		return this.each(function() {
+			win = getWindow( this );
+
+			if ( win ) {
+				win.scrollTo(
+					!i ? val : jQuery( win ).scrollLeft(),
+					 i ? val : jQuery( win ).scrollTop()
+				);
+
+			} else {
+				this[ method ] = val;
+			}
+		});
+	};
+});
+
+function getWindow( elem ) {
+	return jQuery.isWindow( elem ) ?
+		elem :
+		elem.nodeType === 9 ?
+			elem.defaultView || elem.parentWindow :
+			false;
+}
+
+
+
+
+// Create width, height, innerHeight, innerWidth, outerHeight and outerWidth methods
+jQuery.each([ "Height", "Width" ], function( i, name ) {
+
+	var type = name.toLowerCase();
+
+	// innerHeight and innerWidth
+	jQuery.fn[ "inner" + name ] = function() {
+		var elem = this[0];
+		return elem ?
+			elem.style ?
+			parseFloat( jQuery.css( elem, type, "padding" ) ) :
+			this[ type ]() :
+			null;
+	};
+
+	// outerHeight and outerWidth
+	jQuery.fn[ "outer" + name ] = function( margin ) {
+		var elem = this[0];
+		return elem ?
+			elem.style ?
+			parseFloat( jQuery.css( elem, type, margin ? "margin" : "border" ) ) :
+			this[ type ]() :
+			null;
+	};
+
+	jQuery.fn[ type ] = function( size ) {
+		// Get window width or height
+		var elem = this[0];
+		if ( !elem ) {
+			return size == null ? null : this;
+		}
+
+		if ( jQuery.isFunction( size ) ) {
+			return this.each(function( i ) {
+				var self = jQuery( this );
+				self[ type ]( size.call( this, i, self[ type ]() ) );
+			});
+		}
+
+		if ( jQuery.isWindow( elem ) ) {
+			// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
+			// 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat
+			var docElemProp = elem.document.documentElement[ "client" + name ],
+				body = elem.document.body;
+			return elem.document.compatMode === "CSS1Compat" && docElemProp ||
+				body && body[ "client" + name ] || docElemProp;
+
+		// Get document width or height
+		} else if ( elem.nodeType === 9 ) {
+			// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
+			return Math.max(
+				elem.documentElement["client" + name],
+				elem.body["scroll" + name], elem.documentElement["scroll" + name],
+				elem.body["offset" + name], elem.documentElement["offset" + name]
+			);
+
+		// Get or set width or height on the element
+		} else if ( size === undefined ) {
+			var orig = jQuery.css( elem, type ),
+				ret = parseFloat( orig );
+
+			return jQuery.isNumeric( ret ) ? ret : orig;
+
+		// Set the width or height on the element (default to pixels if value is unitless)
+		} else {
+			return this.css( type, typeof size === "string" ? size : size + "px" );
+		}
+	};
+
+});
+
+
+
+
+// Expose jQuery to the global object
+window.jQuery = window.$ = jQuery;
+
+// Expose jQuery as an AMD module, but only for AMD loaders that
+// understand the issues with loading multiple versions of jQuery
+// in a page that all might call define(). The loader will indicate
+// they have special allowances for multiple jQuery versions by
+// specifying define.amd.jQuery = true. Register as a named module,
+// since jQuery can be concatenated with other files that may use define,
+// but not use a proper concatenation script that understands anonymous
+// AMD modules. A named AMD is safest and most robust way to register.
+// Lowercase jquery is used because AMD module names are derived from
+// file names, and jQuery is normally delivered in a lowercase file name.
+// Do this after creating the global so that if an AMD module wants to call
+// noConflict to hide this version of jQuery, it will work.
+if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
+	define( "jquery", [], function () { return jQuery; } );
+}
+
+
+
+})( window );
diff --git a/js/tests/vendor/qunit.css b/js/tests/vendor/qunit.css
index c8eb02fbee..800dac541b 100644
--- a/js/tests/vendor/qunit.css
+++ b/js/tests/vendor/qunit.css
@@ -227,6 +227,6 @@
 
 /** Runoff */
 
-#qunit-runoff {
+#qunit-fixture {
   display:none;
 }
\ No newline at end of file
-- 
GitLab


From 0980a33b4703677e1aaf3cd949c0437512fa6f33 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 20 Dec 2011 19:37:41 -0800
Subject: [PATCH 136/576] update all to new on api + add animation support to
 tabs

---
 bootstrap.css                 |   2 +-
 docs/assets/js/application.js |   2 +-
 docs/javascript.html          | 112 +++++++++++++++++++---------------
 js/README.md                  |   4 +-
 js/bootstrap-alert.js         |   2 +-
 js/bootstrap-modal.js         |   6 +-
 js/bootstrap-popover.js       |   5 +-
 js/bootstrap-scrollspy.js     |   2 +-
 js/bootstrap-tab.js           |  47 +++++++++-----
 js/bootstrap-twipsy.js        |   6 +-
 10 files changed, 110 insertions(+), 78 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6411413ff7..c39a12264f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Dec 12 09:51:27 PST 2011
+ * Date: Tue Dec 20 19:08:51 PST 2011
  */
 html, body {
   margin: 0;
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 74024caa1d..dd759bf8b2 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -37,7 +37,7 @@ $(function(){
   // POSITION STATIC TWIPSIES
   // ========================
 
-  $(window).bind( 'load resize', function () {
+  $(window).on('load resize', function () {
     $(".twipsies a").each(function () {
        $(this)
         .twipsy({
diff --git a/docs/javascript.html b/docs/javascript.html
index 964d2f7aaf..45a7a2fe8a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -93,7 +93,7 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Javascript for Bootstrap</h1>
-        <p class="lead">Bring Bootstrap's components to life with 12 custom, flexible <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
+        <p class="lead">Bring Bootstrap's components to life &mdash; now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
       </header>
 
 
@@ -121,36 +121,40 @@
          </thead>
          <tbody>
            <tr>
-             <td><a href="./javascript.html#modal">bootstrap-modal.js</a></td>
-             <td>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</td>
+             <td><a href="./javascript.html#transition">bootstrap-transition.js</a></td>
+             <td>The transition plugin is required for adding animation to other bootstrap plugins. Include this plugin (only once) when sliding in modals or fading out alerts.</td>
            </tr>
            <tr>
-             <td><a href="./javascript.html#alert">bootstrap-alert.js</a></td>
-             <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
+             <td><a href="./javascript.html#modal">bootstrap-modal.js</a></td>
+             <td>Our Modal plugin is a super slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require here at twitter.</td>
            </tr>
            <tr>
              <td><a href="./javascript.html#dropdown">bootstrap-dropdown.js</a></td>
-             <td>This plugin is for adding dropdown interaction to the bootstrap navbar or tabbed navigations.</td>
+             <td>This plugin is for adding generic dropdown interactions to things like navigation top bars and tabs.</td>
            </tr>
            <tr>
              <td><a href="./javascript.html#scrollspy">bootstrap-scrollspy.js</a></td>
-             <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap navbar.</td>
+             <td>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</td>
            </tr>
            <tr>
              <td><a href="./javascript.html#tab">bootstrap-tab.js</a></td>
-             <td>This plugin adds quick, dynamic tab and pill functionality for cycling through local content.</td>
-           </tr>
+             <td>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</td>
            <tr>
              <td><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></td>
-             <td>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for local title storage!</td>
+             <td>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, data-attributes for local title storage, and now jquery 1.7's new event api!</td>
            </tr>
            <tr>
              <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
              <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
            </tr>
+           </tr>
+           <tr>
+             <td><a href="./javascript.html#alert">bootstrap-alert.js</a></td>
+             <td>The alert plugin is a tiny class for adding close functionality to alerts.</td>
+           </tr>
            <tr>
               <td><a href="./javascript.html#button">bootstrap-button.js</a></td>
-              <td>This plugin offers additional functionality for managing button state.</td>
+              <td>This plugin offers additional functionality for managing button state in single buttons and button sets.</td>
             </tr>
             <tr>
               <td><a href="./javascript.html#collapse">bootstrap-collapse.js</a></td>
@@ -161,7 +165,6 @@
        <h3>Is javascript necessary?</h3>
        <p><strong>Nope!</strong> Bootstrap is designed first and foremost to be a CSS library. This javascript provides a basic interactive layer on top of the included styles.</p>
        <p>However, for those who do need javascript, we've provided the plugins above to help you understand how to integrate Bootstrap with javascript and to give you a quick, lightweight option for the basic functionality right away.</p>
-       <p>For more information and to see some live demos, please refer to our <a href="./javascript.html">plugin documentation page</a>.</p>
      </div>
    </div>
 </section>
@@ -265,7 +268,7 @@ $('#myModal').modal({
           </table>
 
 <pre class="prettyprint linenums">
-$('#myModal').bind('hidden', function () {
+$('#myModal').on('hidden', function () {
   // do something ...
 })</pre>
           <h3>Demo</h3>
@@ -301,7 +304,7 @@ $('#myModal').bind('hidden', function () {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin is for adding dropdown interaction to the Bootstrap navbar or tabbed navigations.</p>
+          <p>This plugin is for adding generic dropdown interactions to things like navigation top bars and tabs.</p>
           <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
@@ -375,7 +378,7 @@ $('#myModal').bind('hidden', function () {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin is for adding the scrollspy (auto updating nav) interaction to the bootstrap navbar.</p>
+          <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
           <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
@@ -449,7 +452,7 @@ $('#myModal').bind('hidden', function () {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin adds quick, dynamic tab and pill functionality.</p>
+          <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
           <a href="../js/bootstrap-tab.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
@@ -510,7 +513,7 @@ $('#myModal').bind('hidden', function () {
           </table>
 
           <pre class="prettyprint linenums">
-$('a[data-toggle="tab"]').bind('shown', function (e) {
+$('a[data-toggle="tab"]').on('shown', function (e) {
   e.target // activated tab
   e.relatedTarget // previous tab
 })</pre>
@@ -529,22 +532,22 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
             </li>
           </ul>
           <div id="myTabContent" class="tab-content">
-            <div class="active tab-pane" id="home">
+            <div class="tab-pane fade in active" id="home">
               <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
             </div>
-            <div class="tab-pane" id="profile">
+            <div class="tab-pane fade" id="profile">
               <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
             </div>
-            <div class="tab-pane" id="messages">
+            <div class="tab-pane fade" id="messages">
               <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
             </div>
-            <div class="tab-pane" id="settings">
+            <div class="tab-pane fade" id="settings">
               <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
             </div>
-            <div class="tab-pane" id="dropdown1">
+            <div class="tab-pane fade" id="dropdown1">
               <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
             </div>
-            <div class="tab-pane" id="dropdown2">
+            <div class="tab-pane fade" id="dropdown2">
               <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
             </div>
           </div>
@@ -561,7 +564,7 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for title storage!</p>
+          <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, data-attributes for local title storage, and now jquery 1.7's new event api!</p>
           <a href="../js/bootstrap-twipsy.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
@@ -591,16 +594,16 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
                <td>how to position the tooltip - above | below | left | right</td>
              </tr>
              <tr>
-               <td>live</td>
-               <td>boolean</td>
+               <td>selector</td>
+               <td>string</td>
                <td>false</td>
-               <td>use event delegation instead of individual event handlers</td>
+               <td>If a selector is provided, twipsy objects will be delegated to the specified targets.</td>
              </tr>
              <tr>
-               <td>offset</td>
-               <td>number</td>
-               <td>0</td>
-               <td>pixel offset of tooltip from target element</td>
+               <td>title</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default title value if `title` tag isn't present</td>
              </tr>
              <tr>
                <td>trigger</td>
@@ -622,7 +625,8 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
           </table>
           <p><span class="label notice">Notice</span> Individual twipsy instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
-          For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just set the live flag to true, however we recommend you know what you are doing if you do that. :)
+          <p>
+          For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
           <h3>Methods</h3>
           <h4>$().twipsy(options)</h4>
           <p>Attaches a twipsy handler to an element collection.</p>
@@ -673,12 +677,6 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
                <td>true</td>
                <td>apply a css fade transition to the tooltip</td>
              </tr>
-             <tr>
-               <td>delay</td>
-               <td>number | object</td>
-               <td>0</td>
-               <td>delay before showing/hiding the tooltip (ms)</td>
-             </tr>
              <tr>
                <td>placement</td>
                <td>string</td>
@@ -686,16 +684,10 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
                <td>how to position the popover - above | below | left | right</td>
              </tr>
              <tr>
-               <td>live</td>
-               <td>boolean</td>
+               <td>selector</td>
+               <td>string</td>
                <td>false</td>
-               <td>use event delegation instead of individual event handlers</td>
-             </tr>
-             <tr>
-               <td>offset</td>
-               <td>number</td>
-               <td>0</td>
-               <td>pixel offset of tooltip from target element</td>
+               <td>if a selector is provided, twipsy objects will be delegated to the specified targets</td>
              </tr>
              <tr>
                <td>trigger</td>
@@ -703,12 +695,34 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
                <td>'hover'</td>
                <td>how tooltip is triggered - hover | focus | manual</td>
              </tr>
+             <tr>
+               <td>title</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default title value if `title` attribute isn't present</td>
+             </tr>
+             <tr>
+               <td>content</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default content value if `data-content` attribute isn't present</td>
+             </tr>
+             <tr>
+               <td>delay</td>
+               <td>number | object</td>
+               <td>0</td>
+               <td>
+                <p>delay showing/hiding the popover (ms)</p>
+                <p>If a number is supplied, delay is applied to both hide/show</p>
+                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+               </td>
+             </tr>
             </tbody>
           </table>
           <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
           <p>
-          For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just set the live flag to true, however we recommend you know what you are doing if you do that. :)
+          For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just specify a the selector option.
           </p>
           <h3>Methods</h3>
           <h4>$().popover(options)</h4>
@@ -969,7 +983,7 @@ $('#myCollapsible').collapse({
           </table>
 
 <pre class="prettyprint linenums">
-$('#myCollapsible').bind('hidden', function () {
+$('#myCollapsible').on('hidden', function () {
   // do something ...
 })</pre>
           <h3>Demo</h3>
diff --git a/js/README.md b/js/README.md
index 107dd15281..061509fd3a 100644
--- a/js/README.md
+++ b/js/README.md
@@ -9,11 +9,11 @@ We believe you should be able to use all plugins provided by Bootstrap purely th
 
 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:
 
-    $('body').unbind('.data-api')
+    $('body').off('.data-api')
 
 To target a specific plugin, just include the plugins name as a namespace along with the data-api namespace like this:
 
-    $('body').unbind('.alert.data-api')
+    $('body').off('.alert.data-api')
 
 ---
 
diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index db9116f761..af15cbd7be 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -46,7 +46,7 @@
       }
 
       $.support.transition && $element.hasClass('fade') ?
-        $element.bind($.support.transition.end, removeElement) :
+        $element.on($.support.transition.end, removeElement) :
         removeElement()
     }
 
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 38f4f51a29..f2624ec1c1 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -96,7 +96,7 @@
   function hideWithTransition() {
     var that = this
       , timeout = setTimeout(function () {
-          that.$element.unbind($.support.transition.end)
+          that.$element.off($.support.transition.end)
           hideModal.call(that)
         }, 500)
 
@@ -156,11 +156,11 @@
   function escape() {
     var that = this
     if (this.isShown && this.options.keyboard) {
-      $(document).bind('keyup.dismiss.modal', function ( e ) {
+      $(document).on('keyup.dismiss.modal', function ( e ) {
         e.which == 27 && that.hide()
       })
     } else if (!this.isShown) {
-      $(document).unbind('keyup.dismiss.modal')
+      $(document).off('keyup.dismiss.modal')
     }
   }
 
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index a0495ce699..53edfc8c9d 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -63,8 +63,7 @@
 
   , tip: function() {
       if (!this.$tip) {
-        this.$tip = $('<div class="popover" />')
-          .html(this.options.template)
+        this.$tip = $(this.options.template)
       }
       return this.$tip
     }
@@ -90,7 +89,7 @@
   $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
     placement: 'right'
   , content: ''
-  , template: '<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>'
+  , template: '<div class="popover"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>'
   })
 
 }( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 3c271793c0..041cfcb454 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -27,7 +27,7 @@
   function ScrollSpy( element ) {
     var process = $.proxy(this.process, this)
 
-    this.$scrollElement = $(element).bind('scroll.scroll.data-api', process)
+    this.$scrollElement = $(element).on('scroll.scroll.data-api', process)
     this.selector = (this.$scrollElement.attr('data-target')
       || this.$scrollElement.attr('href')
       || '') + ' .nav li > a'
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index e0a92816d4..2f147c59d8 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -52,26 +52,45 @@
       $href = $(href)
 
       this.activate($this.parent('li'), $ul)
-      this.activate($href, $href.parent())
-
-      $this.trigger({
-        type: 'shown'
-      , relatedTarget: previous
+      this.activate($href, $href.parent(), function () {
+        $this.trigger({
+          type: 'shown'
+        , relatedTarget: previous
+        })
       })
     }
 
-  , activate: function ( element, container ) {
-      container
-        .find('> .active')
-        .removeClass('active')
-        .find('> .dropdown-menu > .active')
-        .removeClass('active')
+  , activate: function ( element, container, callback) {
+      var $active = container.find('> .active')
+        , transition = callback
+            && $.support.transition
+            && $active.hasClass('fade')
+
+      function next() {
+        $active
+          .removeClass('active')
+          .find('> .dropdown-menu > .active')
+          .removeClass('active')
 
-      element.addClass('active')
+        element.addClass('active')
 
-      if ( element.parent('.dropdown-menu') ) {
-        element.closest('li.dropdown').addClass('active')
+        if (transition) {
+          element[0].offsetWidth // reflow for transition
+          element.addClass('in')
+        }
+
+        if ( element.parent('.dropdown-menu') ) {
+          element.closest('li.dropdown').addClass('active')
+        }
+
+        callback && callback()
       }
+
+      transition ?
+        $active.one($.support.transition.end, next) :
+        next()
+
+      $active.removeClass('in')
     }
   }
 
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index ee9a415fdb..ab744b7c5a 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -167,7 +167,7 @@
       }
 
       $.support.transition && this.$tip.hasClass('fade') ?
-        $tip.bind( $.support.transition.end, removeElement) :
+        $tip.on($.support.transition.end, removeElement) :
         removeElement()
     }
 
@@ -196,7 +196,7 @@
     }
 
   , tip: function () {
-      return this.$tip = this.$tip || $('<div class="twipsy" />').html(this.options.template)
+      return this.$tip = this.$tip || $(this.options.template)
     }
 
   , validate: function () {
@@ -256,7 +256,7 @@
   , placement: 'above'
   , trigger: 'hover'
   , title: ''
-  , template: '<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>'
+  , template: '<div class="twipsy"><div class="twipsy-arrow"></div><div class="twipsy-inner"></div></div>'
   }
 
 }( window.jQuery )
\ No newline at end of file
-- 
GitLab


From c4364285e456013c4b66308fea86e0f1fb852817 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 20 Dec 2011 22:12:23 -0800
Subject: [PATCH 137/576] add default margin for popover and twipsy

---
 bootstrap.css     | 26 +++++++++++++++++++++++++-
 bootstrap.min.css | 10 +++++++++-
 lib/popovers.less |  6 +++++-
 lib/twipsy.less   |  8 +++++---
 4 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c39a12264f..f3fcca6376 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 20 19:08:51 PST 2011
+ * Date: Tue Dec 20 22:11:42 PST 2011
  */
 html, body {
   margin: 0;
@@ -2364,6 +2364,18 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
+.twipsy.above {
+  margin-top: -2px;
+}
+.twipsy.right {
+  margin-left: 2px;
+}
+.twipsy.below {
+  margin-top: 2px;
+}
+.twipsy.left {
+  margin-left: -2px;
+}
 .twipsy.above .twipsy-arrow {
   bottom: 0;
   left: 50%;
@@ -2420,6 +2432,18 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   display: none;
   padding: 5px;
 }
+.popover.above {
+  margin-top: -5px;
+}
+.popover.right {
+  margin-left: 5px;
+}
+.popover.below {
+  margin-top: 5px;
+}
+.popover.left {
+  margin-left: -5px;
+}
 .popover.above .arrow {
   bottom: 0;
   left: 50%;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b9e7dd1ee5..beef8754b0 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -311,13 +311,21 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
 .twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.twipsy.above{margin-top:-2px;}
+.twipsy.right{margin-left:2px;}
+.twipsy.below{margin-top:2px;}
+.twipsy.left{margin-left:-2px;}
 .twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
 .twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1000;display:none;padding:5px;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
+.popover{position:absolute;top:0;left:0;z-index:1000;display:none;padding:5px;}.popover.above{margin-top:-5px;}
+.popover.right{margin-left:5px;}
+.popover.below{margin-top:5px;}
+.popover.left{margin-left:-5px;}
+.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .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;}
 .popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
diff --git a/lib/popovers.less b/lib/popovers.less
index 570bc906c4..ff875eaffb 100644
--- a/lib/popovers.less
+++ b/lib/popovers.less
@@ -8,10 +8,14 @@
   z-index: 1000;
   display: none;
   padding: 5px;
+  &.above { margin-top:  -5px; }
+  &.right { margin-left:  5px; }
+  &.below { margin-top:   5px; }
+  &.left  { margin-left: -5px; }
   &.above .arrow { #popoverArrow > .above(); }
   &.right .arrow { #popoverArrow > .right(); }
   &.below .arrow { #popoverArrow > .below(); }
-  &.left .arrow  { #popoverArrow > .left(); }
+  &.left .arrow  { #popoverArrow > .left();  }
   .arrow {
     position: absolute;
     width: 0;
diff --git a/lib/twipsy.less b/lib/twipsy.less
index 3fa21fa012..05f121a5dd 100644
--- a/lib/twipsy.less
+++ b/lib/twipsy.less
@@ -9,9 +9,11 @@
   padding: 5px;
   font-size: 11px;
   .opacity(0);
-  &.in {
-    .opacity(80);
-  }
+  &.in { .opacity(80); }
+  &.above { margin-top:  -2px; }
+  &.right { margin-left:  2px; }
+  &.below { margin-top:   2px; }
+  &.left  { margin-left: -2px; }
   &.above .twipsy-arrow   { #popoverArrow > .above(); }
   &.left .twipsy-arrow    { #popoverArrow > .left(); }
   &.below .twipsy-arrow   { #popoverArrow > .below(); }
-- 
GitLab


From f72a94ae2879ebfc5206dd40d5db175e13113850 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 20 Dec 2011 23:28:48 -0800
Subject: [PATCH 138/576] update more readme changes - introduce target
 specificty convention to more plugins

---
 docs/javascript.html      | 39 ++++++++++++++++++---------------------
 js/README.md              | 28 +++++++++++++++++++++++-----
 js/bootstrap-alert.js     | 18 +++++++++++-------
 js/bootstrap-button.js    |  2 +-
 js/bootstrap-carousel.js  |  2 +-
 js/bootstrap-collapse.js  |  2 +-
 js/bootstrap-dropdown.js  | 14 ++++++++++----
 js/bootstrap-modal.js     | 12 ++++++------
 js/bootstrap-popover.js   |  4 ++--
 js/bootstrap-scrollspy.js |  2 +-
 js/bootstrap-tab.js       |  2 +-
 js/bootstrap-twipsy.js    |  2 +-
 12 files changed, 76 insertions(+), 51 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 45a7a2fe8a..8a9a203e74 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -112,7 +112,7 @@
      <div class="span9">
       <h3>What's included</h3>
        <p>Bring some of Bootstrap's primary components to life with custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins. We encourage you to extend and modify them to fit your specific development needs.</p>
-       <table class="striped-table">
+       <table class="bordered-table striped-table">
          <thead>
            <tr>
              <th style="width: 150px;">File</th>
@@ -186,7 +186,7 @@
           <h3>Using bootstrap-modal</h3>
           <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
           <h3>Options</h3>
-          <table class="striped-table">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -208,16 +208,11 @@
                <td>true</td>
                <td>Closes the modal when escape key is pressed</td>
              </tr>
-             <tr>
-               <td>show</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>Opens modal on class initialization</td>
-             </tr>
             </tbody>
           </table>
           <h3>Markup</h3>
-          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal. To add modal options, just include them as additoinal data attributes.</p>
+          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
+          <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
 <pre class="prettyprint linenums">
 &lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
 </pre>
@@ -240,7 +235,7 @@ $('#myModal').modal({
           <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="striped-table">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -311,12 +306,14 @@ $('#myModal').on('hidden', function () {
           <h3>Using boostrap-dropdown.js</h3>
           <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
           <h3>Markup</h3>
-          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code>. Any valid bootstrap dropdown will automatically be activated.</p>
+          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
+          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
   &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li class="dropdown"&gt;
-    &lt;a href="#" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown&lt;/a&gt;
+  &lt;li id="secondary" class="dropdown"&gt;
+    &lt;a href="#secondary" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown&lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
       &lt;li&gt;&lt;a href="#"&gt;Secondary link&lt;/a&gt;&lt;/li&gt;
       &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
@@ -343,7 +340,7 @@ $('#myModal').on('hidden', function () {
                   <input type="text" class="search-query span2" placeholder="Search">
                 </form>
                 <ul class="nav secondary-nav">
-                  <li class="dropdown">
+                  <li id="fat-menu" class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1</a>
                     <ul class="dropdown-menu">
                       <li><a href="#">Secondary link</a></li>
@@ -352,7 +349,7 @@ $('#myModal').on('hidden', function () {
                       <li><a href="#">Another link</a></li>
                     </ul>
                   </li>
-                  <li class="dropdown">
+                  <li id="mdo-menu" class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2</a>
                     <ul class="dropdown-menu">
                       <li><a href="#">Secondary link</a></li>
@@ -493,7 +490,7 @@ $('#myModal').on('hidden', function () {
 &lt;/script&gt;</pre>
           </p>
           <h3>Events</h3>
-          <table class="zebra-striped">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -571,7 +568,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h3>Using bootstrap-twipsy.js</h3>
           <pre class="prettyprint linenums">$('#example').twipsy(options)</pre>
           <h3>Options</h3>
-          <table class="striped-table">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -661,7 +658,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h3>Using boostrap-popover.js</h3>
           <pre class="prettyprint linenums">$('#example').popover(options)</pre>
           <h3>Options</h3>
-          <table class="striped-table">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -834,7 +831,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
   $('.btn').button('complete')
 &lt;/scrip&gt;</pre>
           <h3>Demo</h3>
-          <table class="striped-table">
+          <table class="bordered-table striped-table">
             <tbody>
              <tr>
                <td>Stateful</td>
@@ -903,7 +900,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h3>Using bootstrap-collapse.js</h3>
           <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
           <h3>Options</h3>
-          <table class="striped-table">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -953,7 +950,7 @@ $('#myCollapsible').collapse({
           <p>
             Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
           </p>
-          <table class="striped-table">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
diff --git a/js/README.md b/js/README.md
index 061509fd3a..04dfb75df6 100644
--- a/js/README.md
+++ b/js/README.md
@@ -1,5 +1,5 @@
 ## 2.0 BOOTSTRAP JS PHILOSOPHY
-These are the high-level design rules which guide the development of Bootstrap's JS plugins.
+These are the high-level design rules which guide the development of Bootstrap's plugin apis.
 
 ---
 
@@ -28,10 +28,12 @@ All public APIs should be single, chainable methods, and return the collection a
 All methods should accept an optional options object, a string which targets a particular method, or null which initiates the default behavior:
 
     $("#myModal").modal() // initialized with defaults
+    $("#myModal").modal({ keyboard: false }) // initialized with now keyboard
+    $("#myModal").modal('show') // initializes and invokes show immediately afterqwe2
 
 ---
 
-### PLUGIN OPTIONS
+### OPTIONS
 
 Options should be sparse and add universal value. We should pick the right defaults.
 
@@ -51,7 +53,7 @@ examples:
 
 ---
 
-### PLUGIN EVENTS
+### EVENTS
 
 All events should have an infinitive and past participle form. The infinitive is fired just before an action takes place, the past participle on completion of the action.
 
@@ -60,14 +62,30 @@ All events should have an infinitive and past participle form. The infinitive is
 
 ---
 
+### CONSTRUCTORS
+
+Each plugin should expose it's raw constructor on a `Constructor` property -- accessed in the following way:
+
+
+    $.fn.popover.Constructor
+
+---
+
+### DATA ACCESSOR
+
+Each plugin stores a copy of the invoked class on an object. This class instance can be accessed directly through jQuery's data api like this:
+
+    $('[rel=popover]').data('popover') instanceof $.fn.popover.Constructor
+
+---
 
 ### DATA ATTRIBUTES
 
 Data attributes should take the following form:
 
 - data-*(verb)* - defines main interaction
-- data-target || href^=# - defined on controller element (if element interacts with an element other than self)
-- data-*(noun)* - defines options for element invocation
+- data-target || href^=# - defined on "control" element (if element controls an element other than self)
+- data-*(noun)* - defines class instance options
 
 examples:
 
diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index af15cbd7be..90961cdd39 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -35,18 +35,22 @@
     constructor: Alert
 
   , close: function ( e ) {
-      var $element = $(this)
+      var $this = $(this)
+        , selector = $this.attr('data-target') || $this.attr('href')
+        , $parent = $(selector)
 
-      $element = $element.hasClass('alert-message') ? $element : $element.parent()
       e && e.preventDefault()
-      $element.removeClass('in')
+
+      $parent.length || ($parent = $this.hasClass('alert-message') ? $this : $this.parent())
+
+      $parent.removeClass('in')
 
       function removeElement() {
-        $element.remove()
+        $parent.remove()
       }
 
-      $.support.transition && $element.hasClass('fade') ?
-        $element.on($.support.transition.end, removeElement) :
+      $.support.transition && $parent.hasClass('fade') ?
+        $parent.on($.support.transition.end, removeElement) :
         removeElement()
     }
 
@@ -65,7 +69,7 @@
     })
   }
 
-  $.fn.alert.Alert = Alert
+  $.fn.alert.Constructor = Alert
 
 
  /* ALERT DATA-API
diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js
index 508835a38f..10a85835e6 100644
--- a/js/bootstrap-button.js
+++ b/js/bootstrap-button.js
@@ -83,7 +83,7 @@
     loadingText: 'loading...'
   }
 
-  $.fn.button.Button = Button
+  $.fn.button.Constructor = Button
 
 
  /* BUTTON DATA-API
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index e2b36884b5..ed4b8f3fac 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -46,6 +46,6 @@
     })
   }
 
-  $.fn.carousel.Carousel = Carousel
+  $.fn.carousel.Constructor = Carousel
 
 }( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 8eefd8863a..313c0abcab 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -116,7 +116,7 @@
     toggle: true
   }
 
-  $.fn.collapse.Collapse = Collapse
+  $.fn.collapse.Constructor = Collapse
 
 
  /* COLLAPSIBLE DATA-API
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index d2881b2762..15f4677b9d 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -35,11 +35,15 @@
     constructor: Dropdown
 
   , toggle: function ( e ) {
-      var li = $(this).parent('li')
-        , isActive = li.hasClass('open')
+      var $this = $(this)
+        , selector = $this.attr('data-target') || $this.attr('href')
+        , $parent = $(selector)
+
+      $parent.length || ($parent = $this.parent())
 
       clearMenus()
-      !isActive && li.toggleClass('open')
+
+      !$parent.hasClass('open') && $parent.toggleClass('open')
 
       return false
     }
@@ -47,7 +51,7 @@
   }
 
   function clearMenus() {
-    $(toggle).parent('li').removeClass('open')
+    $(toggle).parent().removeClass('open')
   }
 
 
@@ -63,6 +67,8 @@
     })
   }
 
+  $.fn.dropdown.Constructor = Dropdown
+
 
   /* APPLY TO STANDARD DROPDOWN ELEMENTS
    * =================================== */
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index f2624ec1c1..98a62865b3 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -175,17 +175,16 @@
         , options = typeof option == 'object' && option
       if (!data) $this.data('modal', (data = new Modal(this, options)))
       if (typeof option == 'string') data[option]()
-      else if (data.options.show) data.show()
+      else data.show()
     })
   }
 
   $.fn.modal.defaults = {
       backdrop: true
     , keyboard: true
-    , show: true
   }
 
-  $.fn.modal.Modal = Modal
+  $.fn.modal.Constructor = Modal
 
 
  /* MODAL DATA-API
@@ -194,10 +193,11 @@
   $(function () {
     $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
       var $this = $(this)
-        , target = $this.attr('data-target') || $this.attr('href')
-        , option = $(target).data('modal') ? 'toggle' : $this.data()
+        , $target = $($this.attr('data-target') || $this.attr('href'))
+        , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
+
       e.preventDefault()
-      $(target).modal(option)
+      $target.modal(option)
     })
   })
 
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 53edfc8c9d..746699d372 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -29,7 +29,7 @@
   /* NOTE: POPOVER EXTENDS BOOTSTRAP-TWIPSY.js
      ========================================= */
 
-  Popover.prototype = $.extend({}, $.fn.twipsy.Twipsy.prototype, {
+  Popover.prototype = $.extend({}, $.fn.twipsy.Constructor.prototype, {
 
     constructor: Popover
 
@@ -84,7 +84,7 @@
     })
   }
 
-  $.fn.popover.Popover = Popover
+  $.fn.popover.Constructor = Popover
 
   $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
     placement: 'right'
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 041cfcb454..6201d4cefa 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -103,7 +103,7 @@
     })
   }
 
-  $.fn.scrollspy.ScrollSpy = ScrollSpy
+  $.fn.scrollspy.Constructor = ScrollSpy
 
 
  /* SCROLLSPY DATA-API
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index 2f147c59d8..c7632ded25 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -107,7 +107,7 @@
     })
   }
 
-  $.fn.tab.Tab = Tab
+  $.fn.tab.Constructor = Tab
 
 
  /* TAB DATA-API
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index ab744b7c5a..4868671bf3 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -247,7 +247,7 @@
     })
   }
 
-  $.fn.twipsy.Twipsy = Twipsy
+  $.fn.twipsy.Constructor = Twipsy
 
   $.fn.twipsy.defaults = {
     animate: true
-- 
GitLab


From 80cb760fac507ce207a6174f8886417d32d4b5ed Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 21 Dec 2011 13:29:12 -0800
Subject: [PATCH 139/576] animate -> animation

---
 docs/javascript.html   | 4 ++--
 js/README.md           | 4 ++--
 js/bootstrap-twipsy.js | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 8a9a203e74..8dc3ba9d8d 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -579,7 +579,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
             </thead>
             <tbody>
              <tr>
-               <td>animate</td>
+               <td>animation</td>
                <td>boolean</td>
                <td>true</td>
                <td>apply a css fade transition to the tooltip</td>
@@ -669,7 +669,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
             </thead>
             <tbody>
              <tr>
-               <td>animate</td>
+               <td>animation</td>
                <td>boolean</td>
                <td>true</td>
                <td>apply a css fade transition to the tooltip</td>
diff --git a/js/README.md b/js/README.md
index 04dfb75df6..0d8d163a28 100644
--- a/js/README.md
+++ b/js/README.md
@@ -83,9 +83,9 @@ Each plugin stores a copy of the invoked class on an object. This class instance
 
 Data attributes should take the following form:
 
-- data-*(verb)* - defines main interaction
+- data-{{verb}}={{plugin}} - defines main interaction
 - data-target || href^=# - defined on "control" element (if element controls an element other than self)
-- data-*(noun)* - defines class instance options
+- data-{{noun}} - defines class instance options
 
 examples:
 
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 4868671bf3..018edb97e5 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -109,7 +109,7 @@
         $tip = this.tip()
         this.setContent()
 
-        if (this.options.animate) {
+        if (this.options.animation) {
           $tip.addClass('fade')
         }
 
@@ -250,7 +250,7 @@
   $.fn.twipsy.Constructor = Twipsy
 
   $.fn.twipsy.defaults = {
-    animate: true
+    animation: true
   , delay: 0
   , selector: false
   , placement: 'above'
-- 
GitLab


From 8a7abc7493a07935d4d91b2cc56a82523fd53970 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 16:00:50 -0600
Subject: [PATCH 140/576] docs updates, forms updated to include error states
 and more examples, remove text-shadow from gradientbar mixin to fix bug

---
 bootstrap.css        |  13 +++---
 bootstrap.min.css    |  13 +++---
 docs/base-css.html   |  80 +++++++++++++++++++++++++++++---
 docs/components.html | 107 +++++++++++++++++++++++++++++++++++++------
 docs/upgrading.html  |   2 +-
 lib/forms.less       |   1 +
 lib/mixins.less      |   1 -
 lib/patterns.less    |   6 +++
 8 files changed, 190 insertions(+), 33 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index f57423b0c7..7254ee443f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Dec 19 22:58:34 PST 2011
+ * Date: Wed Dec 21 15:58:57 CST 2011
  */
 html, body {
   margin: 0;
@@ -919,6 +919,9 @@ textarea[readonly] {
 .inline-inputs span {
   padding: 0 2px 0 1px;
 }
+.input-prepend, .input-append {
+  overflow: hidden;
+}
 .input-prepend input, .input-append input {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
@@ -1534,7 +1537,6 @@ footer {
 .alert-message.danger,
 .btn.error,
 .alert-message.error {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #c43c35;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
@@ -1549,7 +1551,6 @@ footer {
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn.success, .alert-message.success {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #57a957;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
@@ -1564,7 +1565,6 @@ footer {
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn.info, .alert-message.info {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #339bb9;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
@@ -1619,7 +1619,6 @@ footer {
 }
 .btn.primary {
   color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0064cd;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
   background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
@@ -1759,7 +1758,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   margin-bottom: 18px;
   color: #404040;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #eedc94;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
   background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
@@ -1802,6 +1800,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
   box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
 }
+.alert-message.error, .alert-message.success, .alert-message.info {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
 .alert-message.block-message {
   padding: 14px;
   background-image: none;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4bb1adc5c0..5953cfabaf 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -150,7 +150,7 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .inline-inputs input.mini{width:60px;}
 .inline-inputs input.small{width:90px;}
 .inline-inputs span{padding:0 2px 0 1px;}
-.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-prepend,.input-append{overflow:hidden;}.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .input-prepend .add-on,.input-append .add-on{position:relative;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
@@ -212,12 +212,12 @@ tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 footer{padding-top:17px;margin-top:17px;border-top:1px solid #eee;}
 .page-header{margin-bottom:27px;border-bottom:1px solid #eee;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:13.5px;}
 .btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
-.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success,.alert-message.success{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info,.alert-message.info{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.primary{color:#ffffff;background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
@@ -234,11 +234,12 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
 .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
 .alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
+.alert-message.error,.alert-message.success,.alert-message.info{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
 .alert-message.block-message{padding:14px;background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
 .alert-message.block-message ul{margin-bottom:0;}
 .alert-message.block-message li{color:#404040;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 2098974027..63ec53306d 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -762,6 +762,43 @@
     <h1>Forms</h1>
   </div>
 
+<!--
+
+Types of forms
+  default (stacked)
+  horizontal (change the class)
+  search
+  inline
+Form elements
+  form
+  fieldset
+  legend
+  label
+  input
+    text (password, email, etc)
+    radio
+    checkbox
+  textarea
+    rows
+  select
+    single
+    multiple
+    size
+Custom form elements
+  Input prepend and append (for @ and $)
+  checkbox and radio lists
+Explaining the default Bootstrap form structure
+  Bulletproofing our forms means adding a bit of extra structure and providing more classes for customization and event handling
+  Form vertical and horizontal forms, we require a wrapping element.
+    we suggest a fieldset
+    but could be anthing so long as it uses the proper class
+Form states
+  warning
+  error
+  success
+
+-->
+
   <h2>Four types of forms</h2>
   <table class="bordered-table striped-table">
     <thead>
@@ -842,7 +879,7 @@
     </div>
     <div class="span9">
       <form class="horizontal-form">
-        <legend>Example form</legend>
+        <legend>Example form section</legend>
         <fieldset class="control-group">
           <label class="control-label" for="input01">Text input</label>
           <div class="controls">
@@ -850,6 +887,16 @@
             <p class="help-text">Help text here. Be sure to fill this out like so, or else!</p>
           </div>
         </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="prependedInput">Prepended text</label>
+          <div class="controls">
+            <div class="input-prepend">
+              <span class="add-on">@</span>
+              <input class="input-small" id="prependedInput" name="prependedInput" size="16" type="text">
+            </div>
+            <span class="help-block">Here's some help text</span>
+          </div>
+        </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="select01">Select list</label>
           <div class="controls">
@@ -874,23 +921,44 @@
             </select>
           </div>
         </fieldset>
-        <legend>Example form</legend>
+        <legend>Example form section</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="textarea">Textarea</label>
+          <div class="controls">
+            <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="fileInput">Disabled input</label>
+          <div class="controls">
+            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" size="30" type="text" placeholder="Disabled input here... carry on." disabled>
+          </div>
+        </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="fileInput">File input</label>
           <div class="controls">
             <input class="input-file" id="fileInput" name="fileInput" type="file">
           </div>
         </fieldset>
-        <fieldset class="control-group has-error">
+        <fieldset class="control-group warning">
+          <label class="control-label" for="inputError">Input with warning</label>
+          <div class="controls">
+            <input type="text" name="inputError">
+            <span class="help-inline">Something may have gone wrong</span>
+          </div>
+        </fieldset>
+        <fieldset class="control-group error">
           <label class="control-label" for="inputError">Input with error</label>
           <div class="controls">
             <input type="text" name="inputError">
+            <span class="help-inline">Please correct the error</span>
           </div>
         </fieldset>
-        <fieldset class="control-group has-error">
-          <label class="control-label" for="textareaError">Textarea with error</label>
+        <fieldset class="control-group success">
+          <label class="control-label" for="inputError">Input with success</label>
           <div class="controls">
-            <textarea class="input-xlarge" rows="3"></textarea>
+            <input type="text" name="inputError">
+            <span class="help-inline">Woohoo!</span>
           </div>
         </fieldset>
         <fieldset class="control-group">
diff --git a/docs/components.html b/docs/components.html
index 56e71b0f7f..11d83c51ae 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -201,11 +201,33 @@
 
 
 
-<!-- Navigation
+<!-- Autocomplete
 ================================================== -->
-<section id="navigation">
+<section id="autocomplete">
   <div class="page-header">
-    <h1>Navigation</h1>
+    <h1>Autocomplete <small></small></h1>
+  </div>
+
+</section>
+
+
+
+<!-- Carousel
+================================================== -->
+<section id="carousel">
+  <div class="page-header">
+    <h1>Carousel <small></small></h1>
+  </div>
+
+</section>
+
+
+
+<!-- Navbar
+================================================== -->
+<section id="navbar">
+  <div class="page-header">
+    <h1>Navbar</h1>
   </div>
   <h2>Fixed navbar</h2>
   <div class="navbar navbar-static" data-dropdown="dropdown">
@@ -262,11 +284,19 @@
   </div>
   <p><strong>Note:</strong> When using the navbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
 
-  <br>
+</section>
+
+
+
+<!-- Tabs & Pills
+================================================== -->
+<section id="tabsAndPills">
+  <div class="page-header">
+    <h1>Tabs and pills <small></small></h1>
+  </div>
 
   <div class="row">
     <div class="span3">
-      <h2>Tabs and pills</h2>
       <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
       <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
     </div>
@@ -428,10 +458,19 @@
     </div>
   </div><!-- /row -->
 
-  <!-- Breadcrumbs -->
+</section>
+
+
+
+<!-- Breadcrumbs
+================================================== -->
+<section id="breadcrumbs">
+  <div class="page-header">
+    <h1>Breadcrumbs <small></small></h1>
+  </div>
+
   <div class="row">
     <div class="span3">
-      <h2>Breadcrumbs</h2>
       <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation.</p>
     </div>
     <div class="span9">
@@ -464,10 +503,20 @@
     </div>
   </div>
 
+</section>
+
+
+
+<!-- Step nav
+================================================== -->
+<section id="stepNav">
+  <div class="page-header">
+    <h1>Step nav <small></small></h1>
+  </div>
+
   <!-- Step nav -->
   <div class="row">
     <div class="span3">
-      <h2>Step nav</h2>
       <p>Placeholder for now!</p>
     </div>
     <div class="span9">
@@ -486,7 +535,17 @@
     </div>
   </div>
 
-  <!-- Pagination -->
+</section>
+
+
+
+<!-- Pagination
+================================================== -->
+<section id="carousel">
+  <div class="page-header">
+    <h1>Pagination <small></small></h1>
+  </div>
+
   <div class="row">
     <div class="span3">
       <h2>Pagination</h2>
@@ -644,11 +703,11 @@
 </section>
 
 
-<!-- Popovers
+<!-- Modals
 ================================================== -->
 <section id="popovers">
   <div class="page-header">
-    <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
+    <h1>Modals <small></small></h1>
   </div>
   <div class="row">
     <div class="span3">
@@ -676,7 +735,17 @@
     </div>
   </div><!-- /row -->
 
-  <!-- Tooltips -->
+</section>
+
+
+
+<!-- Twipsies
+================================================== -->
+<section id="carousel">
+  <div class="page-header">
+    <h1>Twipsy tooltips <small></small></h1>
+  </div>
+
   <div class="row">
     <div class="span3">
       <h2>Tooltips</h2>
@@ -694,7 +763,17 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
     </div>
   </div><!-- /row -->
 
-  <!-- Popovers -->
+</section>
+
+
+
+<!-- Popovers
+================================================== -->
+<section id="popovers">
+  <div class="page-header">
+    <h1>Popovers <small></small></h1>
+  </div>
+
   <div class="row">
     <div class="span3">
       <h2>Popovers</h2>
@@ -721,6 +800,8 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 </section>
 
 
+
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/docs/upgrading.html b/docs/upgrading.html
index cd0ca8e22d..60c9c325b8 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -38,7 +38,7 @@
             <li><a href="./base-css.html">Base CSS</a></li>
             <li><a href="./components.html">Components</a></li>
             <li><a href="./javascript.html">Javascript plugins</a></li>
-            <li class="active"><a href="./less.html">Using LESS</a></li>
+            <li><a href="./less.html">Using LESS</a></li>
           </ul>
         </div>
       </div>
diff --git a/lib/forms.less b/lib/forms.less
index a73e6f545f..64e77fdb4c 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -325,6 +325,7 @@ textarea[readonly] {
 // Allow us to put symbols and text within the input field for a cleaner look
 .input-prepend,
 .input-append {
+  overflow: hidden;
   input {
     .border-radius(0 3px 3px 0);
   }
diff --git a/lib/mixins.less b/lib/mixins.less
index 0effdfa37a..251173fced 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -205,7 +205,6 @@
 
 // Gradient Bar Colors for buttons and alerts
 .gradientBar(@primaryColor, @secondaryColor) {
-  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
   #gradient > .vertical(@primaryColor, @secondaryColor);
   border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
   border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
diff --git a/lib/patterns.less b/lib/patterns.less
index 558f3ca45b..ec717e030f 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -575,6 +575,12 @@ input[type=submit].btn {
     .box-shadow(0 1px 0 rgba(255,255,255,.25));
   }
 
+  &.error,
+  &.success,
+  &.info {
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+  }
+
   &.block-message {
     padding: 14px;
     background-image: none;
-- 
GitLab


From 20aecb983838422c7b43e20960b10d4d79fefaa3 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 16:22:20 -0600
Subject: [PATCH 141/576] updated all docs to jQuery 1.7, move all docs JS to
 application.js, and move dropdowns css to dedicated file

---
 bootstrap.css                 | 103 +++++++++++++++++++++++++++++++++-
 bootstrap.min.css             |  12 +++-
 docs/assets/css/docs.css      |   5 ++
 docs/assets/js/application.js |  31 ++++++++++
 docs/base-css.html            |  13 +----
 docs/components.html          |  13 +----
 docs/index.html               |  37 +++---------
 docs/less.html                |  13 +----
 docs/scaffolding.html         |  24 +-------
 docs/upgrading.html           |  24 +-------
 lib/bootstrap.less            |   1 +
 lib/dropdowns.less            |  94 +++++++++++++++++++++++++++++++
 lib/patterns.less             |   3 +-
 13 files changed, 260 insertions(+), 113 deletions(-)
 create mode 100644 lib/dropdowns.less

diff --git a/bootstrap.css b/bootstrap.css
index 7254ee443f..74849e66b9 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Dec 21 15:58:57 CST 2011
+ * Date: Wed Dec 21 16:21:54 CST 2011
  */
 html, body {
   margin: 0;
@@ -1610,7 +1610,7 @@ footer {
   transition: 0.1s linear all;
 }
 .btn:hover {
-  color: #333;
+  color: #404040;
   text-decoration: none;
   background-position: 0 -15px;
 }
@@ -1619,6 +1619,7 @@ footer {
 }
 .btn.primary {
   color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0064cd;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
   background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
@@ -1906,6 +1907,104 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .label.notice {
   background-color: #62cffc;
 }
+.dropdown {
+  position: relative;
+}
+.dropdown-toggle:after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-top: 8px;
+  margin-left: 6px;
+  text-indent: -99999px;
+  vertical-align: top;
+  border-left: 4px solid transparent;
+  border-right: 4px solid transparent;
+  border-top: 4px solid #ffffff;
+  filter: alpha(opacity=30);
+  -moz-opacity: 0.3;
+  opacity: 0.3;
+  content: "&darr;";
+}
+.dropdown:hover .dropdown-toggle:after {
+  filter: alpha(opacity=100);
+  -moz-opacity: 1;
+  opacity: 1;
+}
+.dropdown-menu {
+  position: absolute;
+  top: 40px;
+  z-index: 900;
+  float: left;
+  display: none;
+  min-width: 160px;
+  max-width: 220px;
+  _width: 160px;
+  padding: 6px 0;
+  margin-left: 0;
+  margin-right: 0;
+  background-color: #ffffff;
+  border-color: #999;
+  border-color: rgba(0, 0, 0, 0.2);
+  border-style: solid;
+  border-width: 0 1px 1px;
+  -webkit-border-radius: 0 0 6px 6px;
+  -moz-border-radius: 0 0 6px 6px;
+  border-radius: 0 0 6px 6px;
+  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
+  zoom: 1;
+}
+.dropdown-menu li {
+  float: none;
+  display: block;
+  background-color: none;
+}
+.dropdown-menu .divider {
+  height: 1px;
+  margin: 5px 0;
+  overflow: hidden;
+  background-color: #eee;
+  border-bottom: 1px solid #ffffff;
+}
+.topbar .dropdown-menu a, .dropdown-menu a {
+  display: block;
+  padding: 4px 15px;
+  clear: both;
+  font-weight: normal;
+  line-height: 18px;
+  color: #808080;
+  text-shadow: 0 1px 0 #ffffff;
+}
+.topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
+  color: #404040;
+  text-decoration: none;
+  background-color: #dddddd;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
+  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: -ms-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));
+  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: linear-gradient(top, #eeeeee, #dddddd);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+}
+.dropdown.open .dropdown-toggle {
+  color: #ffffff;
+  background: #ccc;
+  background: rgba(0, 0, 0, 0.3);
+}
+.dropdown.open .dropdown-menu {
+  display: block;
+}
 .tabs, .pills {
   padding: 0;
   margin: 0 0 20px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 5953cfabaf..728a48a129 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -215,9 +215,9 @@ footer{padding-top:17px;margin-top:17px;border-top:1px solid #eee;}
 .btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;}
+.btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#404040;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
@@ -255,6 +255,14 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
+.dropdown{position:relative;}
+.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"&darr;";}
+.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:6px 0;margin-left:0;margin-right:0;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;zoom:1;}.dropdown-menu li{float:none;display:block;background-color:none;}
+.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
+.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{color:#404040;text-decoration:none;background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
+.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
+.dropdown.open .dropdown-menu{display:block;}
 .tabs,.pills{padding:0;margin:0 0 20px;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 8432f92ea7..5ed38bb478 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -317,6 +317,11 @@ h2 + table {
 .example-sites img {
   width: 290px;
 }
+.built-with {
+  margin: -18px 0 27px;
+  color: #999;
+  text-align: center;
+}
 
 .scrollspy-example {
   height: 200px;
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 74024caa1d..255f624bed 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -1,5 +1,36 @@
 $(function(){
 
+  // Hide the Mobile Safari address bar once loaded
+  // ==============================================
+
+  window.addEventListener("load",function() {
+    // Set a timeout...
+    setTimeout(function(){
+      // Hide the address bar!
+      window.scrollTo(0, 1);
+    }, 0);
+  });
+
+
+  // Docs topbar nav
+  // ===============
+
+  $('.nav .active').click(function(e) {
+    e.preventDefault();
+    $(this).siblings().toggle();
+  });
+
+
+  // Show grid dimensions on hover
+  // =============================
+
+  $('.show-grid > div').hover(function() {
+    var width = $(this).width();
+    $(this).attr('title', width);
+    $(this).twipsy();
+  });
+
+
   // table sort example
   // ==================
 
diff --git a/docs/base-css.html b/docs/base-css.html
index 63ec53306d..bb54b0c511 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1178,18 +1178,7 @@ Form states
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/components.html b/docs/components.html
index 11d83c51ae..9c683b9b2d 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -814,18 +814,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/index.html b/docs/index.html
index 55a75b1bf6..1b7edb8c56 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -107,19 +107,20 @@
 
         <div class="marketing">
           <h1>Built with Bootstrap</h1>
-          <ul class="media-grid example-sites">
-            <li>
-              <a href="http://kippt.com/" target="_blank">
+          <p class="built-with">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+          <ul class="thumbnails example-sites">
+            <li class="span4">
+              <a class="thumbnail" href="http://kippt.com/" target="_blank">
                 <img src="assets/img/example-sites/kippt.png" alt="Kippt">
               </a>
             </li>
-            <li>
-              <a href="http://www.fleetio.com/" target="_blank">
+            <li class="span4">
+              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
                 <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
               </a>
             </li>
-            <li>
-              <a href="http://www.jshint.com/" target="_blank">
+            <li class="span4">
+              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
                 <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
               </a>
             </li>
@@ -233,27 +234,7 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
-
-    <script type="text/javascript">
-      // When ready...
-      window.addEventListener("load",function() {
-        // Set a timeout...
-        setTimeout(function(){
-          // Hide the address bar!
-          window.scrollTo(0, 1);
-        }, 0);
-      });
-
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/less.html b/docs/less.html
index 52de8b6aac..e004bc24c2 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -466,18 +466,7 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 7431ae58b3..4735534129 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -371,29 +371,7 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script type="text/javascript">
-      // Show grid dimensions on hover
-      $(document).ready(function() {
-        $('.show-grid > div').hover(function() {
-          var width = $(this).width();
-          $(this).attr('title', width);
-          $(this).twipsy();
-        });
-      });
-    </script>
-
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 60c9c325b8..3e5a14a8ab 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -99,21 +99,14 @@
       <li>Added button bar options</li>
     </ul>
   </li>
+<!--
   <li>
     <ul>
       <li></li>
     </ul>
   </li>
-</ul>
-
-<!--
-
-
-
 -->
-
-
-
+</ul>
 
 
       <!-- Footer
@@ -128,18 +121,7 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index ffad359130..a871a7cd43 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -27,6 +27,7 @@
 // Temp catchall for what's missing thus far
 @import "patterns.less";
 
+@import "dropdowns.less";
 @import "tabs-pills.less";
 @import "breadcrumbs.less";
 @import "pagination.less";
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
new file mode 100644
index 0000000000..7436f6a2c5
--- /dev/null
+++ b/lib/dropdowns.less
@@ -0,0 +1,94 @@
+// Dropdown Menus
+// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
+.dropdown {
+  position: relative;
+}
+// The link that is clicked to toggle the dropdown
+.dropdown-toggle:after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-top: 8px;
+  margin-left: 6px;
+  text-indent: -99999px;
+  vertical-align: top;
+  border-left: 4px solid transparent;
+  border-right: 4px solid transparent;
+  border-top: 4px solid @white;
+  .opacity(30);
+  content: "&darr;";
+}
+.dropdown:hover .dropdown-toggle:after {
+  .opacity(100);
+}
+// The dropdown menu (ul)
+.dropdown-menu {
+  position: absolute;
+  top: 40px;
+  z-index: 900;
+  float: left;
+  display: none; // None by default, but block on "open" of the menu
+  min-width: 160px;
+  max-width: 220px;
+  _width: 160px;
+  padding: 6px 0;
+  margin-left: 0; // override default ul styles
+  margin-right: 0;
+  background-color: @white;
+  border-color: #999;
+  border-color: rgba(0,0,0,.2);
+  border-style: solid;
+  border-width: 0 1px 1px;
+  .border-radius(0 0 6px 6px);
+  .box-shadow(0 2px 4px rgba(0,0,0,.2));
+  .background-clip(padding-box);
+  zoom: 1; // do we need this?
+
+  // Unfloat any li's to make them stack
+  li {
+    float: none;
+    display: block;
+    background-color: none;
+  }
+  // Dividers (basically an hr) within the dropdown
+  .divider {
+    height: 1px;
+    margin: 5px 0;
+    overflow: hidden;
+    background-color: #eee;
+    border-bottom: 1px solid @white;
+  }
+}
+
+.topbar .dropdown-menu, .dropdown-menu {
+  // Links within the dropdown menu
+  a {
+    display: block;
+    padding: 4px 15px;
+    clear: both;
+    font-weight: normal;
+    line-height: 18px;
+    color: @gray;
+    text-shadow: 0 1px 0 @white;
+    // Hover state
+    &:hover {
+      color: @grayDark;
+      text-decoration: none;
+      #gradient > .vertical(#eeeeee, #dddddd);
+      @shadow: inset 0 1px 0 rgba(0,0,0,.025), inset 0 -1px rgba(0,0,0,.025);
+      .box-shadow(@shadow);
+    }
+  }
+}
+
+// Open state for the dropdown
+.dropdown.open {
+  .dropdown-toggle {
+    color: @white;
+    background: #ccc;
+    background: rgba(0,0,0,.3);
+  }
+  .dropdown-menu {
+    display: block;
+  }
+}
diff --git a/lib/patterns.less b/lib/patterns.less
index ec717e030f..44c427adf5 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -401,7 +401,7 @@ footer {
   cursor: pointer;
 
   &:hover {
-    color: #333;
+    color: @grayDark;
     text-decoration: none;
     background-position: 0 -15px;
   }
@@ -414,6 +414,7 @@ footer {
   // Primary Button Type
   &.primary {
     color: @white;
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
     .gradientBar(@blue, @blueDark)
   }
 
-- 
GitLab


From c854ed167ce37d6a008723c78f2e6336211fff69 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 16:26:21 -0600
Subject: [PATCH 142/576] rename media grid to thumbnails, recompile bootstrap,
 fix examples for mobile phones

---
 bootstrap.css                             | 2 +-
 docs/assets/css/docs.css                  | 2 +-
 lib/bootstrap.less                        | 2 +-
 lib/{media-grids.less => thumbnails.less} | 0
 4 files changed, 3 insertions(+), 3 deletions(-)
 rename lib/{media-grids.less => thumbnails.less} (100%)

diff --git a/bootstrap.css b/bootstrap.css
index 74849e66b9..c7f2dfc6a2 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Dec 21 16:21:54 CST 2011
+ * Date: Wed Dec 21 16:26:02 CST 2011
  */
 html, body {
   margin: 0;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 5ed38bb478..20ea50d6f1 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -387,7 +387,7 @@ h2 + table {
   .example-sites {
     margin-left: 0;
   }
-  .example-sites a {
+  .example-sites > li {
     float: none;
     display: block;
     max-width: 300px;
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index a871a7cd43..e05a966add 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -34,7 +34,7 @@
 @import "modals.less";
 @import "twipsy.less";
 @import "popovers.less";
-@import "media-grids.less";
+@import "thumbnails.less";
 
 // Responsive
 @import "responsive.less";
\ No newline at end of file
diff --git a/lib/media-grids.less b/lib/thumbnails.less
similarity index 100%
rename from lib/media-grids.less
rename to lib/thumbnails.less
-- 
GitLab


From af5793e1cd358862cf510a54dda2476b95a26ca8 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 16:41:46 -0600
Subject: [PATCH 143/576] fix mobile example sites, remove unused JS from docs
 index

---
 docs/assets/css/docs.css |  5 ++++-
 docs/index.html          | 24 ------------------------
 2 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 20ea50d6f1..b3c4649419 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -315,7 +315,7 @@ h2 + table {
 
 /* Example sites showcase */
 .example-sites img {
-  width: 290px;
+  max-width: 290px;
 }
 .built-with {
   margin: -18px 0 27px;
@@ -393,6 +393,9 @@ h2 + table {
     max-width: 300px;
     margin: 0 auto 18px;
   }
+  .example-sites img {
+    max-width: 270px;
+  }
 
   table code {
     white-space: normal;
diff --git a/docs/index.html b/docs/index.html
index 1b7edb8c56..9cad062714 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -124,23 +124,6 @@
                 <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
               </a>
             </li>
-<!--
-            <li>
-              <a href="http://bartop.co/" target="_blank">
-                <img src="assets/img/example-sites/bartop.png" alt="Bartop.co">
-              </a>
-            </li>
-            <li>
-              <a href="http://railwayjs.com/" target="_blank">
-                <img src="assets/img/example-sites/railwayjs.png" alt="RailwayJS">
-              </a>
-            </li>
-            <li>
-              <a href="http://www.totalwireframe.com/" target="_blank">
-                <img src="assets/img/example-sites/totalwireframe.png" alt="Total Wireframe">
-              </a>
-            </li>
- -->
           </ul>
 
           <h1>Designed for everyone, everywhere</h1>
@@ -235,13 +218,6 @@
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="assets/js/application.js"></script>
 
   </body>
-- 
GitLab


From 00cbadf9943fea6a196cc01c7705d7f2c012bfa1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 18:21:55 -0600
Subject: [PATCH 144/576] update thumbnails to keep images from going past
 edges of thumbnails

---
 bootstrap.css       | 5 +++--
 bootstrap.min.css   | 4 ++--
 lib/thumbnails.less | 3 ++-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c7f2dfc6a2..3fa776fcbb 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Dec 21 16:26:02 CST 2011
+ * Date: Wed Dec 21 18:20:33 CST 2011
  */
 html, body {
   margin: 0;
@@ -2615,6 +2615,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .thumbnail {
   display: block;
+  padding: 4px;
   line-height: 1;
   border: 1px solid #ddd;
   -webkit-border-radius: 4px;
@@ -2632,7 +2633,7 @@ a.thumbnail:hover {
 }
 .thumbnail > img {
   display: block;
-  margin: 4px;
+  max-width: 100%;
 }
 .thumbnail .caption {
   padding: 9px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 728a48a129..71996816d8 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -338,9 +338,9 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .thumbnails{margin-left:-20px;margin-bottom:0;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 20px 20px;}
-.thumbnail{display:block;line-height:1;border:1px solid #ddd;-webkit-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);}
+.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
 a.thumbnail:hover{border-color:#0069d6;-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);}
-.thumbnail>img{display:block;margin:4px;}
+.thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index 12626df3f1..9e25f50272 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -13,6 +13,7 @@
 }
 .thumbnail {
   display: block;
+  padding: 4px;
   line-height: 1;
   border: 1px solid #ddd;
   .border-radius(4px);
@@ -26,7 +27,7 @@ a.thumbnail:hover {
 // Images and captions
 .thumbnail > img {
   display: block;
-  margin: 4px;
+  max-width: 100%;
 }
 .thumbnail .caption {
   padding: 9px;
-- 
GitLab


From 12a0d69454a2831031035d19237d36d38bb2c2a9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 18:38:03 -0600
Subject: [PATCH 145/576] fix dropdowns in components docs page

---
 docs/components.html | 30 +++++++++++++++---------------
 docs/javascript.html | 23 ++++++-----------------
 2 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index 9c683b9b2d..2f359ab57f 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -22,6 +22,18 @@
     <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
     <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transitions.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="assets/js/application.js"></script>
   </head>
 
   <body>
@@ -230,7 +242,7 @@
     <h1>Navbar</h1>
   </div>
   <h2>Fixed navbar</h2>
-  <div class="navbar navbar-static" data-dropdown="dropdown">
+  <div class="navbar navbar-static">
     <div class="navbar-inner">
       <div class="container" style="width: auto;">
         <a class="brand" href="#">Project Name</a>
@@ -240,7 +252,7 @@
           <li><a href="#">Link</a></li>
           <li><a href="#">Link</a></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
             <ul class="dropdown-menu">
               <li><a href="#">Secondary link</a></li>
               <li><a href="#">Something else here</a></li>
@@ -255,7 +267,7 @@
         <ul class="nav secondary-nav">
           <li class="divider"></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
             <ul class="dropdown-menu">
               <li><a href="#">Secondary link</a></li>
               <li><a href="#">Something else here</a></li>
@@ -811,17 +823,5 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
-
-    <!-- Le javascript -->
-    <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/javascript.html b/docs/javascript.html
index 568991969b..91fe949101 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -26,17 +26,6 @@
     <!-- Le javascript -->
     <!-- placed up here so that the inline demos can be next to their markup -->
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
     <script src="../js/bootstrap-transition.js"></script>
@@ -147,7 +136,7 @@
            </tr>
            <tr>
              <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
-             <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
+             <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">bootstrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
            </tr>
            <tr>
               <td><a href="./javascript.html#button">bootstrap-button.js</a></td>
@@ -306,7 +295,7 @@ $('#myModal').bind('hidden', function () {
           <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using boostrap-dropdown.js</h3>
+          <h3>Using bootstrap-dropdown.js</h3>
           <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
           <h3>Markup</h3>
           <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code>. Any valid bootstrap dropdown will automatically be activated.</p>
@@ -380,7 +369,7 @@ $('#myModal').bind('hidden', function () {
           <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h2>Using boostrap-scrollspy.js</h2>
+          <h2>Using bootstrap-scrollspy.js</h2>
           <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
           <h3>Markup</h3>
           <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
@@ -454,7 +443,7 @@ $('#myModal').bind('hidden', function () {
           <a href="../js/bootstrap-tab.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using boostrap-tab.js</h3>
+          <h3>Using bootstrap-tab.js</h3>
           <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
           <h3>Markup</h3>
           <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
@@ -651,11 +640,11 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</p>
+          <p>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">bootstrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</p>
           <a href="../js/bootstrap-popover.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using boostrap-popover.js</h3>
+          <h3>Using bootstrap-popover.js</h3>
           <pre class="prettyprint linenums">$('#example').popover(options)</pre>
           <h3>Options</h3>
           <table class="striped-table">
-- 
GitLab


From 369cedd87c4447241ce2a73ed6c8414a4cd8bdf8 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 19:31:01 -0600
Subject: [PATCH 146/576] update comment on select bg bug and confirmed it was
 fixed, scoped responsive .span* to .row

---
 bootstrap.css       | 4 ++--
 bootstrap.min.css   | 2 +-
 lib/forms.less      | 2 +-
 lib/responsive.less | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 354f534b28..fbd909de30 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Dec 21 18:38:56 CST 2011
+ * Date: Wed Dec 21 19:30:30 CST 2011
  */
 html, body {
   margin: 0;
@@ -2695,7 +2695,7 @@ a.thumbnail:hover {
   .row {
     margin-left: 0;
   }
-  [class*="span"] {
+  .row > [class*="span"] {
     float: none;
     display: block;
     width: auto;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 1fb1d4f32f..e6cf50d161 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -351,4 +351,4 @@ a.thumbnail:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/forms.less b/lib/forms.less
index 64e77fdb4c..84fddd7d1f 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -93,7 +93,7 @@ input[type=file] {
   line-height: @baseLineHeight * 1.5;
 }
 
-// Chrome on Linux needs background color
+// Chrome on Linux and Mobile Safari need background-color
 select {
   background-color: @white;
 }
diff --git a/lib/responsive.less b/lib/responsive.less
index c74f6b98e0..d8b453d06d 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -60,7 +60,7 @@
     margin-left: 0;
   }
   // Make all columns even
-  [class*="span"] {
+  .row > [class*="span"] {
     float: none;
     display: block;
     width: auto;
-- 
GitLab


From 690d3f4d1aeb97a76d22a4dfe056e33606e0bd94 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 21 Dec 2011 19:32:14 -0600
Subject: [PATCH 147/576] remove inline input field CSS since that's not
 required as all inputs are inline-block anyway

---
 bootstrap.css     | 17 +----------------
 bootstrap.min.css |  4 ----
 lib/forms.less    | 21 ---------------------
 3 files changed, 1 insertion(+), 41 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index fbd909de30..2ea7a8fbe3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Dec 21 19:30:30 CST 2011
+ * Date: Wed Dec 21 19:31:39 CST 2011
  */
 html, body {
   margin: 0;
@@ -904,21 +904,6 @@ textarea[readonly] {
   display: block;
   max-width: 600px;
 }
-.inline-inputs {
-  color: #808080;
-}
-.inline-inputs span, .inline-inputs input {
-  display: inline-block;
-}
-.inline-inputs input.mini {
-  width: 60px;
-}
-.inline-inputs input.small {
-  width: 90px;
-}
-.inline-inputs span {
-  padding: 0 2px 0 1px;
-}
 .input-prepend, .input-append {
   overflow: hidden;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e6cf50d161..f6587dd878 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -146,10 +146,6 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .help-text{margin-top:5px;margin-bottom:0;color:#bfbfbf;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .help-block{display:block;max-width:600px;}
-.inline-inputs{color:#808080;}.inline-inputs span,.inline-inputs input{display:inline-block;}
-.inline-inputs input.mini{width:60px;}
-.inline-inputs input.small{width:90px;}
-.inline-inputs span{padding:0 2px 0 1px;}
 .input-prepend,.input-append{overflow:hidden;}.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .input-prepend .add-on,.input-append .add-on{position:relative;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
diff --git a/lib/forms.less b/lib/forms.less
index 84fddd7d1f..99d6fcb59d 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -298,27 +298,6 @@ textarea[readonly] {
 
 
 
-// INLINE FIELDS
-// -------------
-
-.inline-inputs {
-  color: @gray;
-  span, input {
-    display: inline-block;
-  }
-  input.mini {
-    width: 60px;
-  }
-  input.small {
-    width: 90px;
-  }
-  span {
-    padding: 0 2px 0 1px;
-  }
-}
-
-
-
 // INPUT GROUPS
 // ------------
 
-- 
GitLab


From 6d5b5065176a9e46ce71ec5fc16ae4a079e9e636 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 21 Dec 2011 17:38:05 -0800
Subject: [PATCH 148/576] minor cleanups

---
 Makefile                   | 11 ++++++-----
 js/bootstrap-collapse.js   |  4 ++--
 js/bootstrap-transition.js |  2 ++
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index e5c083ae6f..1f38338f80 100644
--- a/Makefile
+++ b/Makefile
@@ -22,15 +22,16 @@ build:
 uglify:
 	@@if test ! -z ${UGLIFY_JS}; then \
 		mkdir -p js/min; \
-		uglifyjs -o js/min/bootstrap-accordion.js js/bootstrap-accordion.js;\
-		uglifyjs -o js/min/bootstrap-alerts.js js/bootstrap-alerts.js;\
-		uglifyjs -o js/min/bootstrap-buttons.js js/bootstrap-buttons.js;\
+		uglifyjs -o js/min/bootstrap-alerts.js js/bootstrap-alert.js;\
+		uglifyjs -o js/min/bootstrap-buttons.js js/bootstrap-button.js;\
+		uglifyjs -o js/min/bootstrap-carousel.js js/bootstrap-carousel.js;\
+		uglifyjs -o js/min/bootstrap-collapse.js js/bootstrap-collapse.js;\
 		uglifyjs -o js/min/bootstrap-dropdown.js js/bootstrap-dropdown.js;\
 		uglifyjs -o js/min/bootstrap-modal.js js/bootstrap-modal.js;\
 		uglifyjs -o js/min/bootstrap-popover.js js/bootstrap-popover.js;\
 		uglifyjs -o js/min/bootstrap-scrollspy.js js/bootstrap-scrollspy.js;\
-		uglifyjs -o js/min/bootstrap-tabs.js js/bootstrap-tabs.js;\
-		uglifyjs -o js/min/bootstrap-transitions.js js/bootstrap-transitions.js;\
+		uglifyjs -o js/min/bootstrap-tabs.js js/bootstrap-tab.js;\
+		uglifyjs -o js/min/bootstrap-transitions.js js/bootstrap-transition.js;\
 		uglifyjs -o js/min/bootstrap-twipsy.js js/bootstrap-twipsy.js;\
 	else \
 		echo "You must have the UGLIFYJS minifier installed in order to minify Bootstrap's js."; \
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 313c0abcab..9301c7309d 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -17,7 +17,7 @@
  * limitations under the License.
  * ============================================================ */
 
-(function( $ ){
+!function( $ ){
 
   "use strict"
 
@@ -132,4 +132,4 @@
     })
   })
 
-})( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-transition.js b/js/bootstrap-transition.js
index 25f8b111f1..29fa1bdebc 100644
--- a/js/bootstrap-transition.js
+++ b/js/bootstrap-transition.js
@@ -19,6 +19,8 @@
 
 $(function () {
 
+  "use strict"
+
   /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
    * ======================================================= */
 
-- 
GitLab


From efacac0d6c812abffa8a84a48fa760f5f56c92f0 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 21 Dec 2011 18:42:43 -0800
Subject: [PATCH 149/576] clean up all the js across all the doc pages

---
 bootstrap.css                 |  2 +-
 docs/assets/js/application.js | 86 +++++++++++++++++--------------
 docs/base-css.html            | 19 +------
 docs/components.html          | 91 +++++++++++++++------------------
 docs/index.html               | 37 ++------------
 docs/javascript.html          | 95 ++++++++++++++++-------------------
 docs/less.html                | 20 +-------
 docs/scaffolding.html         | 74 +++++++++------------------
 docs/upgrading.html           | 39 --------------
 9 files changed, 165 insertions(+), 298 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 612fe24bc7..6515b12b5f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Dec 21 13:29:41 PST 2011
+ * Date: Wed Dec 21 18:41:55 PST 2011
  */
 html, body {
   margin: 0;
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index dd759bf8b2..c653233e6b 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -1,52 +1,64 @@
 $(function(){
 
-  // table sort example
-  // ==================
+  // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
+  // IT'S ALL JUST JUNK FOR OUR DOCS!
+  // ++++++++++++++++++++++++++++++++++++++++++
 
-  $("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
+  // make code pretty
+  prettyPrint && prettyPrint()
 
+  // table sort example
+  if ($.fn.tableSorter) {
+    $("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
+  }
 
   // add on logic
-  // ============
-
-  $('.add-on :checkbox').click(function () {
-    if ($(this).attr('checked')) {
-      $(this).parents('.add-on').addClass('active')
-    } else {
-      $(this).parents('.add-on').removeClass('active')
-    }
+  $('.add-on :checkbox').on('click', function () {
+    var $this = $(this)
+      , method = $this.attr('checked') ? 'addClass' : 'removeClass'
+    $(this).parents('.add-on')[method]('active')
   })
 
-
   // Disable certain links in docs
-  // =============================
-  // Please do not carry these styles over to your projects, it's merely here to prevent button clicks form taking you away from your spot on page
+  // Please do not carry these styles over to your projects
+  // it's merely here to prevent button clicks form taking you
+  // away from your spot on page!!
 
-  $('ul.tabs a, ul.pills a, .pagination a, .well .btn, .actions .btn, .alert-message .btn, a.close').click(function (e) {
+  $('[href^=#]').click(function (e) {
     e.preventDefault()
   })
 
   // Copy code blocks in docs
-  $(".copy-code").focus(function () {
-    var el = this;
-    // push select to event loop for chrome :{o
-    setTimeout(function () { $(el).select(); }, 1);
-  });
-
-
-  // POSITION STATIC TWIPSIES
-  // ========================
-
-  $(window).on('load resize', function () {
-    $(".twipsies a").each(function () {
-       $(this)
-        .twipsy({
-          live: false
-        , placement: $(this).attr('title')
-        , trigger: 'manual'
-        , offset: 2
-        })
-        .twipsy('show')
-      })
+  $(".copy-code").on('focus', function () {
+    var el = this
+    setTimeout(function () { $(el).select() }, 0)
   })
-});
+
+  if ($.fn.twipsy) {
+
+    // position static twipsies for components page
+    if ($(".twipsies a").length) {
+      $(window).on('load resize', function () {
+        $(".twipsies a").each(function () {
+          $(this)
+            .twipsy({
+              placement: $(this).attr('title')
+            , trigger: 'manual'
+            })
+            .twipsy('show')
+          })
+      })
+    }
+
+    // add tipsies to grid for scaffolding
+    if ($('#grid-system').length) {
+
+      $('#grid-system').twipsy({
+          selector: '.show-grid > div'
+        , title: function () { return $(this).width() + 'px' }
+      })
+
+    }
+  }
+
+})
\ No newline at end of file
diff --git a/docs/base-css.html b/docs/base-css.html
index 2098974027..6173a4de6e 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1110,25 +1110,10 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/components.html b/docs/components.html
index 56e71b0f7f..4d2c608230 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -208,7 +208,7 @@
     <h1>Navigation</h1>
   </div>
   <h2>Fixed navbar</h2>
-  <div class="navbar navbar-static" data-dropdown="dropdown">
+  <div class="navbar navbar-static" >
     <div class="navbar-inner">
       <div class="container" style="width: auto;">
         <a class="brand" href="#">Project Name</a>
@@ -218,7 +218,7 @@
           <li><a href="#">Link</a></li>
           <li><a href="#">Link</a></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
             <ul class="dropdown-menu">
               <li><a href="#">Secondary link</a></li>
               <li><a href="#">Something else here</a></li>
@@ -233,7 +233,7 @@
         <ul class="nav secondary-nav">
           <li class="divider"></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle">Dropdown</a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
             <ul class="dropdown-menu">
               <li><a href="#">Secondary link</a></li>
               <li><a href="#">Something else here</a></li>
@@ -279,8 +279,8 @@
         <li><a href="#">Messages</a></li>
         <li><a href="#">Settings</a></li>
         <li><a href="#">Contact</a></li>
-        <li class="dropdown" data-dropdown="dropdown">
-          <a href="#" class="dropdown-toggle">Dropdown</a>
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
           <ul class="dropdown-menu">
             <li><a href="#">Secondary link</a></li>
             <li><a href="#">Something else here</a></li>
@@ -302,11 +302,11 @@
       <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>
 
       <div class="tabbable">
-        <ul class="tabs" data-tabs="tabs">
-          <li class="active"><a href="#1">Section 1</a></li>
-          <li><a href="#2">Section 2</a></li>
-          <li><a href="#3">Section 3</a></li>
-          <li><a href="#4">Section 4</a></li>
+        <ul class="tabs">
+          <li class="active"><a href="#1" data-toggle="tab">Section 1</a></li>
+          <li><a href="#2" data-toggle="tab">Section 2</a></li>
+          <li><a href="#3" data-toggle="tab">Section 3</a></li>
+          <li><a href="#4" data-toggle="tab">Section 4</a></li>
         </ul>
         <div class="tab-content">
           <div class="tab-pane active" id="1">
@@ -327,21 +327,21 @@
        <div class="row">
         <div class="span4">
           <div class="tabbable tabs-left">
-            <ul class="tabs" data-tabs="tabs">
-              <li class="active"><a href="#1">Section 1</a></li>
-              <li><a href="#2">Section 2</a></li>
-              <li><a href="#3">Section 3</a></li>
+            <ul class="tabs">
+              <li class="active"><a href="#4" data-toggle="tab">Section 1</a></li>
+              <li><a href="#5" data-toggle="tab">Section 2</a></li>
+              <li><a href="#6" data-toggle="tab">Section 3</a></li>
             </ul>
             <div class="tab-content" id="myTabContent2">
-              <div class="tab-pane active" id="1">
+              <div class="tab-pane active" id="4">
                 <h4>Section 1</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="2">
+              <div class="tab-pane" id="5">
                 <h4>Section 2</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="3">
+              <div class="tab-pane" id="6">
                 <h4>Section 3</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
@@ -350,21 +350,21 @@
         </div>
         <div class="span4 offset1">
           <div class="tabbable tabs-right">
-            <ul class="tabs" data-tabs="tabs">
-              <li class="active"><a href="#1">Section 1</a></li>
-              <li><a href="#2">Section 2</a></li>
-              <li><a href="#3">Section 3</a></li>
+            <ul class="tabs">
+              <li class="active"><a href="#7" data-toggle="tab">Section 1</a></li>
+              <li><a href="#8" data-toggle="tab">Section 2</a></li>
+              <li><a href="#9" data-toggle="tab">Section 3</a></li>
             </ul>
             <div class="tab-content" id="myTabContent3">
-              <div class="tab-pane active" id="1">
+              <div class="tab-pane active" id="7">
                 <h4>Section 1</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="2">
+              <div class="tab-pane" id="8">
                 <h4>Section 2</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="3">
+              <div class="tab-pane" id="9">
                 <h4>Section 3</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
@@ -375,24 +375,24 @@
 
       <div class="tabbable tabs-bottom">
         <div class="tab-content">
-          <div class="tab-pane active" id="1">
+          <div class="tab-pane active" id="10">
             <p>Oh hai #1!</p>
           </div>
-          <div class="tab-pane" id="2">
+          <div class="tab-pane" id="11">
             <p>Oh hai #2!</p>
           </div>
-          <div class="tab-pane" id="3">
+          <div class="tab-pane" id="12">
             <p>Oh hai #3!</p>
           </div>
-          <div class="tab-pane" id="4">
+          <div class="tab-pane" id="13">
             <p>Oh hai #4!</p>
           </div>
         </div>
-        <ul class="tabs" data-tabs="tabs">
-          <li class="active"><a href="#1">Section 1</a></li>
-          <li><a href="#2">Section 2</a></li>
-          <li><a href="#3">Section 3</a></li>
-          <li><a href="#4">Section 4</a></li>
+        <ul class="tabs">
+          <li class="active"><a href="#10" data-toggle="tab">Section 1</a></li>
+          <li><a href="#11" data-toggle="tab">Section 2</a></li>
+          <li><a href="#12" data-toggle="tab">Section 3</a></li>
+          <li><a href="#13" data-toggle="tab">Section 4</a></li>
         </ul>
       </div>
 
@@ -733,25 +733,16 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
+
     <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
+
+    <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+
     <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/index.html b/docs/index.html
index 55a75b1bf6..81d7df41e6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -97,10 +97,10 @@
 
           <li class="divider">&middot;</li>
           <li class="follow-btn">
-            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a><script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
           </li>
           <li class="tweet-btn">
-            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
+            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
           </li>
         </ul>
 
@@ -233,35 +233,6 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
-
-    <script type="text/javascript">
-      // When ready...
-      window.addEventListener("load",function() {
-        // Set a timeout...
-        setTimeout(function(){
-          // Hide the address bar!
-          window.scrollTo(0, 1);
-        }, 0);
-      });
-
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="assets/js/application.js"></script>
-
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
   </body>
-</html>
+</html>
\ No newline at end of file
diff --git a/docs/javascript.html b/docs/javascript.html
index acde34d46a..aed64d30ad 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -23,49 +23,6 @@
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
 
-    <!-- Le javascript -->
-    <!-- placed up here so that the inline demos can be next to their markup -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
-    <script src="../js/tests/vendor/jquery.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transition.js"></script>
-    <script src="../js/bootstrap-alert.js"></script>
-    <script src="../js/bootstrap-modal.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="../js/bootstrap-tab.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-popover.js"></script>
-    <script src="../js/bootstrap-button.js"></script>
-    <script src="../js/bootstrap-collapse.js"></script>
-    <script>
-      $(function () {
-        // twipsy demo
-        $('.twipsy-demo.well').twipsy({
-          selector: "a[rel=twipsy]"
-        })
-
-        //popover demo
-        $("a[rel=popover]")
-          .popover()
-          .click(function(e) {
-            e.preventDefault()
-          })
-      })
-    </script>
-
   </head>
 
   <body id="bootstrap-js">
@@ -839,16 +796,6 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                   <button id="fat-btn" data-loading-text="loading..." class="btn">
                     Loading State
                   </button>
-                  <script>
-                    $(function() {
-                      var btn = $('#fat-btn').click(function () {
-                        btn.button('loading')
-                        setTimeout(function () {
-                          btn.button('reset')
-                        }, 3000)
-                      })
-                    })
-                  </script>
                 </td>
              </tr>
              <tr>
@@ -1040,5 +987,47 @@ $('#myCollapsible').on('hidden', function () {
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
+
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="assets/js/application.js"></script>
+    <script>
+      $(function () {
+        // twipsy demo
+        $('.twipsy-demo.well').twipsy({
+          selector: "a[rel=twipsy]"
+        })
+
+        //popover demo
+        $("a[rel=popover]")
+          .popover()
+          .click(function(e) {
+            e.preventDefault()
+          })
+
+        $('#fat-btn')
+          .click(function () {
+            var btn = $(this)
+            btn.button('loading')
+            setTimeout(function () {
+              btn.button('reset')
+            }, 3000)
+          })
+      })
+    </script>
   </body>
 </html>
diff --git a/docs/less.html b/docs/less.html
index 52de8b6aac..13dfee282d 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -466,25 +466,9 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 7431ae58b3..311a6954c9 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -64,34 +64,34 @@
 
   <h2>Default 940px grid</h2>
   <div class="row show-grid">
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
-    <div class="span1" title="60px">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
   </div>
   <div class="row show-grid">
-    <div class="span4" title="300px">4</div>
-    <div class="span4" title="300px">4</div>
-    <div class="span4" title="300px">4</div>
+    <div class="span4">4</div>
+    <div class="span4">4</div>
+    <div class="span4">4</div>
   </div>
   <div class="row show-grid">
-    <div class="span4" title="300px">4</div>
-    <div class="span8" title="620px">8</div>
+    <div class="span4">4</div>
+    <div class="span8">8</div>
   </div>
   <div class="row show-grid">
-    <div class="span6" title="460px">6</div>
-    <div class="span6" title="460px">6</div>
+    <div class="span6">6</div>
+    <div class="span6">6</div>
   </div>
   <div class="row show-grid">
-    <div class="span12" title="940px">12</div>
+    <div class="span12">12</div>
   </div>
 
   <div class="row">
@@ -358,7 +358,6 @@
 </section>
 
 
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -371,36 +370,11 @@
 
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script type="text/javascript">
-      // Show grid dimensions on hover
-      $(document).ready(function() {
-        $('.show-grid > div').hover(function() {
-          var width = $(this).width();
-          $(this).attr('title', width);
-          $(this).twipsy();
-        });
-      });
-    </script>
-
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="assets/js/application.js"></script>
   </body>
-</html>
+</html>
\ No newline at end of file
diff --git a/docs/upgrading.html b/docs/upgrading.html
index cd0ca8e22d..4dedb37d88 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -99,23 +99,7 @@
       <li>Added button bar options</li>
     </ul>
   </li>
-  <li>
-    <ul>
-      <li></li>
-    </ul>
-  </li>
 </ul>
-
-<!--
-
-
-
--->
-
-
-
-
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -125,28 +109,5 @@
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
-
-    <!-- Le javascript -->
-    <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="assets/js/application.js"></script>
   </body>
 </html>
-- 
GitLab


From 5de1e39a8fba831faa170f46e868068fa069dd0e Mon Sep 17 00:00:00 2001
From: Jonathan Ingram <jonathan.b.ingram@gmail.com>
Date: Thu, 22 Dec 2011 16:41:26 +1100
Subject: [PATCH 150/576] From #822

---
 js/bootstrap-alert.js | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index 90961cdd39..1ce8f01bff 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -39,6 +39,8 @@
         , selector = $this.attr('data-target') || $this.attr('href')
         , $parent = $(selector)
 
+      $parent.trigger('close')
+
       e && e.preventDefault()
 
       $parent.length || ($parent = $this.hasClass('alert-message') ? $this : $this.parent())
@@ -47,6 +49,8 @@
 
       function removeElement() {
         $parent.remove()
+
+        $parent.trigger('closed')
       }
 
       $.support.transition && $parent.hasClass('fade') ?
-- 
GitLab


From 2ebc0ad2ef13c4eb9ab2e7b57ff6ca661687ca4e Mon Sep 17 00:00:00 2001
From: Jonathan Ingram <jonathan.b.ingram@gmail.com>
Date: Thu, 22 Dec 2011 16:47:42 +1100
Subject: [PATCH 151/576] Update docs to show available events on alert

---
 docs/javascript.html | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/docs/javascript.html b/docs/javascript.html
index bf27dd7f17..0bdcdc8ed5 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -750,6 +750,30 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h4>.alert('close')</h4>
           <p>Closes an alert.</p>
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
+          <h3>Events</h3>
+          <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
+          <table class="zebra-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>close</td>
+               <td>This event fires immediately when the <code>close</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>closed</td>
+               <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
+<pre class="prettyprint linenums">
+$('#my-alert').bind('closed', function () {
+  // do something ...
+})</pre>
           <h3>Demo</h3>
           <div class="alert-message warning fade in">
             <a class="close" data-dismiss="alert" href="#">&times;</a>
-- 
GitLab


From 87ac818253a26bcf09fa55f78ae3f55759c54e64 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 22 Dec 2011 19:10:32 -0800
Subject: [PATCH 152/576] change above below to top bottom and add "inside"
 placement option

---
 bootstrap.css          | 18 +++++++++---------
 bootstrap.min.css      | 16 ++++++++--------
 docs/javascript.html   |  4 ++--
 js/README.md           |  2 +-
 js/bootstrap-twipsy.js | 29 +++++++++++++----------------
 lib/mixins.less        |  4 ++--
 lib/popovers.less      | 16 ++++++++--------
 lib/twipsy.less        | 18 +++++++++---------
 8 files changed, 52 insertions(+), 55 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6515b12b5f..ee80000c2b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Dec 21 18:41:55 PST 2011
+ * Date: Thu Dec 22 19:09:49 PST 2011
  */
 html, body {
   margin: 0;
@@ -2366,19 +2366,19 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
-.twipsy.above {
+.twipsy.top {
   margin-top: -2px;
 }
 .twipsy.right {
   margin-left: 2px;
 }
-.twipsy.below {
+.twipsy.bottom {
   margin-top: 2px;
 }
 .twipsy.left {
   margin-left: -2px;
 }
-.twipsy.above .twipsy-arrow {
+.twipsy.top .twipsy-arrow {
   bottom: 0;
   left: 50%;
   margin-left: -5px;
@@ -2394,7 +2394,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-bottom: 5px solid transparent;
   border-left: 5px solid #000000;
 }
-.twipsy.below .twipsy-arrow {
+.twipsy.bottom .twipsy-arrow {
   top: 0;
   left: 50%;
   margin-left: -5px;
@@ -2434,19 +2434,19 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   display: none;
   padding: 5px;
 }
-.popover.above {
+.popover.top {
   margin-top: -5px;
 }
 .popover.right {
   margin-left: 5px;
 }
-.popover.below {
+.popover.bottom {
   margin-top: 5px;
 }
 .popover.left {
   margin-left: -5px;
 }
-.popover.above .arrow {
+.popover.top .arrow {
   bottom: 0;
   left: 50%;
   margin-left: -5px;
@@ -2462,7 +2462,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   border-bottom: 5px solid transparent;
   border-right: 5px solid #000000;
 }
-.popover.below .arrow {
+.popover.bottom .arrow {
   top: 0;
   left: 50%;
   margin-left: -5px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4e4a1270ac..3f48b135eb 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -312,23 +312,23 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
 .twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.twipsy.above{margin-top:-2px;}
+.twipsy.top{margin-top:-2px;}
 .twipsy.right{margin-left:2px;}
-.twipsy.below{margin-top:2px;}
+.twipsy.bottom{margin-top:2px;}
 .twipsy.left{margin-left:-2px;}
-.twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
+.twipsy.top .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
 .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
-.twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
+.twipsy.bottom .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
 .twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1000;display:none;padding:5px;}.popover.above{margin-top:-5px;}
+.popover{position:absolute;top:0;left:0;z-index:1000;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
-.popover.below{margin-top:5px;}
+.popover.bottom{margin-top:5px;}
 .popover.left{margin-left:-5px;}
-.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
+.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;}
 .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;}
-.popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
+.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;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
 .popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
diff --git a/docs/javascript.html b/docs/javascript.html
index aed64d30ad..c9bb425a41 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -544,8 +544,8 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              <tr>
                <td>placement</td>
                <td>string</td>
-               <td>'above'</td>
-               <td>how to position the tooltip - above | below | left | right</td>
+               <td>'top'</td>
+               <td>how to position the tooltip - top | bottom | left | right</td>
              </tr>
              <tr>
                <td>selector</td>
diff --git a/js/README.md b/js/README.md
index 0d8d163a28..2f8e1716f5 100644
--- a/js/README.md
+++ b/js/README.md
@@ -49,7 +49,7 @@ examples:
 
     backdrop: true
     keyboard: false
-    placement: 'above'
+    placement: 'top'
 
 ---
 
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 018edb97e5..21cf7d20b1 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -99,6 +99,7 @@
 
   , show: function () {
       var $tip
+        , inside
         , pos
         , actualWidth
         , actualHeight
@@ -113,12 +114,18 @@
           $tip.addClass('fade')
         }
 
+        placement = typeof this.options.placement == 'function' ?
+          thing.call(this, $tip[0], this.$element[0]) :
+          this.options.placement
+
+        inside = /in/.test(placement)
+
         $tip
           .remove()
           .css({ top: 0, left: 0, display: 'block' })
-          .prependTo(document.body)
+          .prependTo(inside ? this.$element : document.body)
 
-        pos = $.extend({}, this.$element.offset(), {
+        pos = $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
           width: this.$element[0].offsetWidth
         , height: this.$element[0].offsetHeight
         })
@@ -126,13 +133,11 @@
         actualWidth = $tip[0].offsetWidth
         actualHeight = $tip[0].offsetHeight
 
-        placement = maybeCall(this.options.placement, this, [ $tip[0], this.$element[0] ])
-
-        switch (placement) {
-          case 'below':
+        switch (inside ? placement.split(' ')[1] : placement) {
+          case 'bottom':
             tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
             break
-          case 'above':
+          case 'top':
             tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
             break
           case 'left':
@@ -226,14 +231,6 @@
   }
 
 
- /* TWIPSY PRIVATE METHODS
-  * ====================== */
-
-   function maybeCall ( thing, ctx, args ) {
-     return typeof thing == 'function' ? thing.apply(ctx, args) : thing
-   }
-
-
  /* TWIPSY PLUGIN DEFINITION
   * ======================== */
 
@@ -253,7 +250,7 @@
     animation: true
   , delay: 0
   , selector: false
-  , placement: 'above'
+  , placement: 'top'
   , trigger: 'hover'
   , title: ''
   , template: '<div class="twipsy"><div class="twipsy-arrow"></div><div class="twipsy-inner"></div></div>'
diff --git a/lib/mixins.less b/lib/mixins.less
index 0effdfa37a..41cf8890d1 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -283,7 +283,7 @@
 // Popover arrows
 // For tipsies and popovers
 #popoverArrow {
-  .above(@arrowWidth: 5px) {
+  .top(@arrowWidth: 5px) {
     bottom: 0;
     left: 50%;
     margin-left: -@arrowWidth;
@@ -299,7 +299,7 @@
     border-bottom: @arrowWidth solid transparent;
     border-left: @arrowWidth solid @black;
   }
-  .below(@arrowWidth: 5px) {
+  .bottom(@arrowWidth: 5px) {
     top: 0;
     left: 50%;
     margin-left: -@arrowWidth;
diff --git a/lib/popovers.less b/lib/popovers.less
index ff875eaffb..5ecde09233 100644
--- a/lib/popovers.less
+++ b/lib/popovers.less
@@ -8,14 +8,14 @@
   z-index: 1000;
   display: none;
   padding: 5px;
-  &.above { margin-top:  -5px; }
-  &.right { margin-left:  5px; }
-  &.below { margin-top:   5px; }
-  &.left  { margin-left: -5px; }
-  &.above .arrow { #popoverArrow > .above(); }
-  &.right .arrow { #popoverArrow > .right(); }
-  &.below .arrow { #popoverArrow > .below(); }
-  &.left .arrow  { #popoverArrow > .left();  }
+  &.top    { margin-top:  -5px; }
+  &.right  { margin-left:  5px; }
+  &.bottom { margin-top:   5px; }
+  &.left   { margin-left: -5px; }
+  &.top .arrow    { #popoverArrow > .top(); }
+  &.right .arrow  { #popoverArrow > .right(); }
+  &.bottom .arrow { #popoverArrow > .bottom(); }
+  &.left .arrow   { #popoverArrow > .left();  }
   .arrow {
     position: absolute;
     width: 0;
diff --git a/lib/twipsy.less b/lib/twipsy.less
index 05f121a5dd..abd0599f4e 100644
--- a/lib/twipsy.less
+++ b/lib/twipsy.less
@@ -9,15 +9,15 @@
   padding: 5px;
   font-size: 11px;
   .opacity(0);
-  &.in { .opacity(80); }
-  &.above { margin-top:  -2px; }
-  &.right { margin-left:  2px; }
-  &.below { margin-top:   2px; }
-  &.left  { margin-left: -2px; }
-  &.above .twipsy-arrow   { #popoverArrow > .above(); }
-  &.left .twipsy-arrow    { #popoverArrow > .left(); }
-  &.below .twipsy-arrow   { #popoverArrow > .below(); }
-  &.right .twipsy-arrow   { #popoverArrow > .right(); }
+  &.in     { .opacity(80); }
+  &.top    { margin-top:  -2px; }
+  &.right  { margin-left:  2px; }
+  &.bottom { margin-top:   2px; }
+  &.left   { margin-left: -2px; }
+  &.top .twipsy-arrow    { #popoverArrow > .top(); }
+  &.left .twipsy-arrow   { #popoverArrow > .left(); }
+  &.bottom .twipsy-arrow { #popoverArrow > .bottom(); }
+  &.right .twipsy-arrow  { #popoverArrow > .right(); }
 }
 .twipsy-inner {
   max-width: 200px;
-- 
GitLab


From 3396fc0542a5fbbed658a95f931472fc24feee56 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 22 Dec 2011 19:17:41 -0800
Subject: [PATCH 153/576] check for prettyprint on window

---
 docs/assets/js/application.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index c8e796a398..eae84b138f 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -17,7 +17,7 @@ $(function(){
   // ==================
 
   // make code pretty
-  prettyPrint && prettyPrint()
+  window.prettyPrint && prettyPrint()
 
   // table sort example
   if ($.fn.tableSorter) {
-- 
GitLab


From 49fb910b11baef4ccfe9270479e8b9bf9e5e7731 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 22 Dec 2011 19:25:29 -0800
Subject: [PATCH 154/576] more js cleanup after gnarly merge

---
 docs/base-css.html    |  1 -
 docs/components.html  | 28 ++++++++++++----------------
 docs/scaffolding.html |  1 +
 3 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 34e844df30..dad42381de 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1180,7 +1180,6 @@ Form states
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
     <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/components.html b/docs/components.html
index 26a657cb59..5b4e788f11 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -22,18 +22,6 @@
     <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
     <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
-
-    <!-- Le javascript -->
-    <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
-    <script src="../js/bootstrap-transitions.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="assets/js/application.js"></script>
   </head>
 
   <body>
@@ -768,7 +756,7 @@
       <div class="twipsies well">
         <div style="position: relative">
           <p class="muted" style="margin-bottom: 0">
-Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. <a href="#" title="right">Voluptasdicta</a> eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt <a href="#" title="left">sed</a> dicta quae accusantium fugit voluptas nemo voluptas voluptatem <a href="#" title="above">rem</a> quae aut veritatis quasi quae.
+Lorem ipsum dolar sit amet illo error <a href="#" title="bottom">ipsum</a> veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. <a href="#" title="right">Voluptasdicta</a> eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt <a href="#" title="left">sed</a> dicta quae accusantium fugit voluptas nemo voluptas voluptatem <a href="#" title="top">rem</a> quae aut veritatis quasi quae.
           </p>
         </div>
       </div>
@@ -811,9 +799,6 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
   </div><!-- /row -->
 </section>
 
-
-
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -823,5 +808,16 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
     </div><!-- /container -->
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index dc35bd5775..0a46252ddb 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -375,5 +375,6 @@
     <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="assets/js/application.js"></script>
+
   </body>
 </html>
-- 
GitLab


From ea2346197075a30f0200665fcd2836b217f33fb3 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 22 Dec 2011 19:28:58 -0800
Subject: [PATCH 155/576] fix unit test for twipsy

---
 js/tests/unit/bootstrap-twipsy.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/js/tests/unit/bootstrap-twipsy.js b/js/tests/unit/bootstrap-twipsy.js
index 7a88ab2f13..6623fc026e 100644
--- a/js/tests/unit/bootstrap-twipsy.js
+++ b/js/tests/unit/bootstrap-twipsy.js
@@ -30,10 +30,10 @@ $(function () {
         $.support.transition = false
         var twipsy = $('<a href="#" rel="twipsy" title="Another twipsy"></a>')
           .appendTo('#qunit-fixture')
-          .twipsy({placement: 'below'})
+          .twipsy({placement: 'bottom'})
           .twipsy('show')
 
-        ok($(".twipsy").hasClass('fade below in'), 'has correct classes applied')
+        ok($(".twipsy").hasClass('fade bottom in'), 'has correct classes applied')
         twipsy.twipsy('hide')
       })
 
-- 
GitLab


From 3aba68f832e3406fcd6687ba4687cd339ae3b42d Mon Sep 17 00:00:00 2001
From: Purwandi <free6300@gmail.com>
Date: Fri, 23 Dec 2011 21:39:29 +0700
Subject: [PATCH 156/576] Fix id tabs on docs component

---
 docs/components.html | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index 5b4e788f11..c6a349ff49 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -358,20 +358,20 @@
         <div class="span4">
           <div class="tabbable tabs-left">
             <ul class="tabs">
-              <li class="active"><a href="#4" data-toggle="tab">Section 1</a></li>
-              <li><a href="#5" data-toggle="tab">Section 2</a></li>
-              <li><a href="#6" data-toggle="tab">Section 3</a></li>
+              <li class="active"><a href="#5" data-toggle="tab">Section 1</a></li>
+              <li><a href="#6" data-toggle="tab">Section 2</a></li>
+              <li><a href="#7" data-toggle="tab">Section 3</a></li>
             </ul>
             <div class="tab-content" id="myTabContent2">
-              <div class="tab-pane active" id="4">
+              <div class="tab-pane active" id="5">
                 <h4>Section 1</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="5">
+              <div class="tab-pane" id="6">
                 <h4>Section 2</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="6">
+              <div class="tab-pane" id="7">
                 <h4>Section 3</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
@@ -381,20 +381,20 @@
         <div class="span4 offset1">
           <div class="tabbable tabs-right">
             <ul class="tabs">
-              <li class="active"><a href="#7" data-toggle="tab">Section 1</a></li>
-              <li><a href="#8" data-toggle="tab">Section 2</a></li>
-              <li><a href="#9" data-toggle="tab">Section 3</a></li>
+              <li class="active"><a href="#8" data-toggle="tab">Section 1</a></li>
+              <li><a href="#9" data-toggle="tab">Section 2</a></li>
+              <li><a href="#10" data-toggle="tab">Section 3</a></li>
             </ul>
             <div class="tab-content" id="myTabContent3">
-              <div class="tab-pane active" id="7">
+              <div class="tab-pane active" id="8">
                 <h4>Section 1</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="8">
+              <div class="tab-pane" id="9">
                 <h4>Section 2</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
-              <div class="tab-pane" id="9">
+              <div class="tab-pane" id="10">
                 <h4>Section 3</h4>
                 <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
               </div>
@@ -405,24 +405,24 @@
 
       <div class="tabbable tabs-bottom">
         <div class="tab-content">
-          <div class="tab-pane active" id="10">
+          <div class="tab-pane active" id="11">
             <p>Oh hai #1!</p>
           </div>
-          <div class="tab-pane" id="11">
+          <div class="tab-pane" id="12">
             <p>Oh hai #2!</p>
           </div>
-          <div class="tab-pane" id="12">
+          <div class="tab-pane" id="13">
             <p>Oh hai #3!</p>
           </div>
-          <div class="tab-pane" id="13">
+          <div class="tab-pane" id="14">
             <p>Oh hai #4!</p>
           </div>
         </div>
         <ul class="tabs">
-          <li class="active"><a href="#10" data-toggle="tab">Section 1</a></li>
-          <li><a href="#11" data-toggle="tab">Section 2</a></li>
-          <li><a href="#12" data-toggle="tab">Section 3</a></li>
-          <li><a href="#13" data-toggle="tab">Section 4</a></li>
+          <li class="active"><a href="#11" data-toggle="tab">Section 1</a></li>
+          <li><a href="#12" data-toggle="tab">Section 2</a></li>
+          <li><a href="#13" data-toggle="tab">Section 3</a></li>
+          <li><a href="#14" data-toggle="tab">Section 4</a></li>
         </ul>
       </div>
 
-- 
GitLab


From 1a295491b275cf55187c913db311e807eda5e989 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 24 Dec 2011 22:15:04 -0800
Subject: [PATCH 157/576] update docs for placement

---
 docs/javascript.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index e339004323..7c92ef06a1 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -635,7 +635,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>placement</td>
                <td>string</td>
                <td>'right'</td>
-               <td>how to position the popover - above | below | left | right</td>
+               <td>how to position the popover - top | bottom | left | right</td>
              </tr>
              <tr>
                <td>selector</td>
-- 
GitLab


From 076370f3f9076b177a1f9c8ba9f536faa1a58957 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 24 Dec 2011 22:31:39 -0800
Subject: [PATCH 158/576] fix for linux

---
 Makefile      | 3 +--
 bootstrap.css | 6 +-----
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 1f38338f80..3d24eb1c52 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,4 @@
 VERSION=2.0.0
-DATE=$(shell DATE)
 BOOTSTRAP = ./bootstrap.css
 BOOTSTRAP_MIN = ./bootstrap.min.css
 BOOTSTRAP_LESS = ./lib/bootstrap.less
@@ -9,7 +8,7 @@ WATCHR ?= `which watchr`
 
 build:
 	@@if test ! -z ${LESS_COMPESSOR}; then \
-		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"${DATE}"'/' <${BOOTSTRAP_LESS} >${BOOTSTRAP_LESS}.tmp; \
+		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_LESS} >${BOOTSTRAP_LESS}.tmp; \
 		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP}; \
 		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP_MIN} --compress; \
 		rm -f ${BOOTSTRAP_LESS}.tmp; \
diff --git a/bootstrap.css b/bootstrap.css
index eb7b656783..333d6f04c0 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,11 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
-<<<<<<< HEAD
- * Date: Thu Dec 22 19:09:49 PST 2011
-=======
- * Date: Wed Dec 21 18:38:56 CST 2011
->>>>>>> 9fb380151d477f1741b7609ade7a9e7fd5450b2c
+ * Date: Sat Dec 24 22:30:43 PST 2011
  */
 html, body {
   margin: 0;
-- 
GitLab


From 823d89dbb23511b7ee929ddbd62661be751429d6 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 24 Dec 2011 22:56:01 -0800
Subject: [PATCH 159/576] move position of twipsy into getPosition so it can
 easily be extended for svg use

---
 js/bootstrap-twipsy.js | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 21cf7d20b1..2651e38226 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -125,10 +125,7 @@
           .css({ top: 0, left: 0, display: 'block' })
           .prependTo(inside ? this.$element : document.body)
 
-        pos = $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
-          width: this.$element[0].offsetWidth
-        , height: this.$element[0].offsetHeight
-        })
+        pos = this.getPosition(inside)
 
         actualWidth = $tip[0].offsetWidth
         actualHeight = $tip[0].offsetHeight
@@ -187,6 +184,13 @@
       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
-- 
GitLab


From 12868933b9141ff9c63277efe36665cc7a8815df Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 24 Dec 2011 23:06:16 -0800
Subject: [PATCH 160/576] clean up dead elements in firefox (which is droping
 transitionEnd events :(

---
 js/bootstrap-twipsy.js | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 2651e38226..a176f09088 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -164,13 +164,20 @@
 
       $tip.removeClass('in')
 
-      function removeElement () {
-        $tip.remove()
+      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 && this.$tip.hasClass('fade') ?
-        $tip.on($.support.transition.end, removeElement) :
-        removeElement()
+        removeWithAnimation() :
+        $tip.remove()
     }
 
   , fixTitle: function () {
-- 
GitLab


From 058f47b33b3978bbb484e521e7fc14c6ebadc161 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 26 Dec 2011 17:25:25 -0600
Subject: [PATCH 161/576] clean up some comments and fix a bug with buttons in
 navbar by removing too generic of a link color

---
 bootstrap.css     | 106 ++--------------------------------------------
 bootstrap.min.css |  11 +----
 docs/index.html   |   1 +
 lib/patterns.less | 103 ++------------------------------------------
 4 files changed, 8 insertions(+), 213 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 5e22415ddd..ff21bc836c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Dec 26 16:47:02 CST 2011
+ * Date: Mon Dec 26 17:12:29 CST 2011
  */
 html, body {
   margin: 0;
@@ -1191,10 +1191,6 @@ table {
   -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 a {
-  color: #bfbfbf;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
 .navbar .brand a:hover, .navbar ul .active > a {
   color: #ffffff;
   text-decoration: none;
@@ -1300,7 +1296,9 @@ table {
   float: none;
   padding: 10px 10px 11px;
   line-height: 19px;
+  color: #bfbfbf;
   text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
 .nav a:hover {
   color: #ffffff;
@@ -1368,104 +1366,6 @@ table {
 .topbar ul .dropdown-menu li a {
   padding: 4px 15px;
 }
-.dropdown {
-  position: relative;
-}
-.dropdown-toggle:after {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-top: 8px;
-  margin-left: 6px;
-  text-indent: -99999px;
-  vertical-align: top;
-  border-left: 4px solid transparent;
-  border-right: 4px solid transparent;
-  border-top: 4px solid #ffffff;
-  filter: alpha(opacity=30);
-  -moz-opacity: 0.3;
-  opacity: 0.3;
-  content: "&darr;";
-}
-.dropdown:hover .dropdown-toggle:after {
-  filter: alpha(opacity=100);
-  -moz-opacity: 1;
-  opacity: 1;
-}
-.dropdown-menu {
-  position: absolute;
-  top: 40px;
-  z-index: 900;
-  float: left;
-  display: none;
-  min-width: 160px;
-  max-width: 220px;
-  _width: 160px;
-  padding: 6px 0;
-  margin-left: 0;
-  margin-right: 0;
-  background-color: #ffffff;
-  border-color: #999;
-  border-color: rgba(0, 0, 0, 0.2);
-  border-style: solid;
-  border-width: 0 1px 1px;
-  -webkit-border-radius: 0 0 6px 6px;
-  -moz-border-radius: 0 0 6px 6px;
-  border-radius: 0 0 6px 6px;
-  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding-box;
-  background-clip: padding-box;
-  zoom: 1;
-}
-.dropdown-menu li {
-  float: none;
-  display: block;
-  background-color: none;
-}
-.dropdown-menu .divider {
-  height: 1px;
-  margin: 5px 0;
-  overflow: hidden;
-  background-color: #eee;
-  border-bottom: 1px solid #ffffff;
-}
-.topbar .dropdown-menu a, .dropdown-menu a {
-  display: block;
-  padding: 4px 15px;
-  clear: both;
-  font-weight: normal;
-  line-height: 18px;
-  color: #808080;
-  text-shadow: 0 1px 0 #ffffff;
-}
-.topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
-  color: #404040;
-  text-decoration: none;
-  background-color: #dddddd;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
-  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -ms-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));
-  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: linear-gradient(top, #eeeeee, #dddddd);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
-  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
-  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
-}
-.dropdown.open .dropdown-toggle {
-  color: #ffffff;
-  background: #ccc;
-  background: rgba(0, 0, 0, 0.3);
-}
-.dropdown.open .dropdown-menu {
-  display: block;
-}
 .hero-unit {
   padding: 60px;
   margin-bottom: 30px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index aa277ddb8c..711e8a37ee 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -173,7 +173,6 @@ tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 .striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
-.navbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
 .navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
@@ -185,7 +184,7 @@ tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:10000;}
 .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
-.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.nav a:hover{color:#ffffff;text-decoration:none;}
+.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;color:#bfbfbf;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
 .nav .divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
 .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
@@ -195,14 +194,6 @@ tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 .nav .dropdown-menu .active a{color:#ffffff;}
 .nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
 .topbar ul .dropdown-menu li a{padding:4px 15px;}
-.dropdown{position:relative;}
-.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"&darr;";}
-.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:6px 0;margin-left:0;margin-right:0;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;zoom:1;}.dropdown-menu li{float:none;display:block;background-color:none;}
-.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
-.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{color:#404040;text-decoration:none;background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
-.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
-.dropdown.open .dropdown-menu{display:block;}
 .hero-unit{padding:60px;margin-bottom:30px;background-color:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
 .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 footer{padding-top:17px;margin-top:17px;border-top:1px solid #eee;}
diff --git a/docs/index.html b/docs/index.html
index 0d340fa1ab..735fe7ae73 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -41,6 +41,7 @@
             <li><a href="./javascript.html">Javascript plugins</a></li>
             <li><a href="./less.html">Using LESS</a></li>
           </ul>
+          <a href="" class="btn pull-right">Button</a>
         </div>
       </div>
     </div>
diff --git a/lib/patterns.less b/lib/patterns.less
index 44c427adf5..25934d80a8 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -24,11 +24,6 @@
 }
 // Text and links
 .navbar {
-  // Links get text-shadow
-  a {
-    color: @grayLight;
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-  }
   // Hover and active states
   .brand a:hover,
   ul .active > a {
@@ -146,7 +141,9 @@
     float: none;
     padding: 10px 10px 11px;
     line-height: 19px;
+    color: @grayLight;
     text-decoration: none;
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
     &:hover {
       color: @white;
       text-decoration: none;
@@ -213,101 +210,6 @@
   padding: 4px 15px;
 }
 
-// Dropdown Menus
-// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
-.dropdown {
-  position: relative;
-}
-// The link that is clicked to toggle the dropdown
-.dropdown-toggle:after {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-top: 8px;
-  margin-left: 6px;
-  text-indent: -99999px;
-  vertical-align: top;
-  border-left: 4px solid transparent;
-  border-right: 4px solid transparent;
-  border-top: 4px solid @white;
-  .opacity(30);
-  content: "&darr;";
-}
-.dropdown:hover .dropdown-toggle:after {
-  .opacity(100);
-}
-// The dropdown menu (ul)
-.dropdown-menu {
-  position: absolute;
-  top: 40px;
-  z-index: 900;
-  float: left;
-  display: none; // None by default, but block on "open" of the menu
-  min-width: 160px;
-  max-width: 220px;
-  _width: 160px;
-  padding: 6px 0;
-  margin-left: 0; // override default ul styles
-  margin-right: 0;
-  background-color: @white;
-  border-color: #999;
-  border-color: rgba(0,0,0,.2);
-  border-style: solid;
-  border-width: 0 1px 1px;
-  .border-radius(0 0 6px 6px);
-  .box-shadow(0 2px 4px rgba(0,0,0,.2));
-  .background-clip(padding-box);
-  zoom: 1; // do we need this?
-
-  // Unfloat any li's to make them stack
-  li {
-    float: none;
-    display: block;
-    background-color: none;
-  }
-  // Dividers (basically an hr) within the dropdown
-  .divider {
-    height: 1px;
-    margin: 5px 0;
-    overflow: hidden;
-    background-color: #eee;
-    border-bottom: 1px solid @white;
-  }
-}
-
-.topbar .dropdown-menu, .dropdown-menu {
-  // Links within the dropdown menu
-  a {
-    display: block;
-    padding: 4px 15px;
-    clear: both;
-    font-weight: normal;
-    line-height: 18px;
-    color: @gray;
-    text-shadow: 0 1px 0 @white;
-    // Hover state
-    &:hover {
-      color: @grayDark;
-      text-decoration: none;
-      #gradient > .vertical(#eeeeee, #dddddd);
-      @shadow: inset 0 1px 0 rgba(0,0,0,.025), inset 0 -1px rgba(0,0,0,.025);
-      .box-shadow(@shadow);
-    }
-  }
-}
-
-// Open state for the dropdown
-.dropdown.open {
-  .dropdown-toggle {
-    color: @white;
-    background: #ccc;
-    background: rgba(0,0,0,.3);
-  }
-  .dropdown-menu {
-    display: block;
-  }
-}
-
 
 
 
@@ -493,6 +395,7 @@ input[type=submit].btn {
   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
   &:first-child {
     margin-left: 0;
        -webkit-border-top-left-radius: 4px;
-- 
GitLab


From 324246e4f964437a2dfa7efbd2d1b6b039369b2c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 12:39:39 -0600
Subject: [PATCH 162/576] remove negative margin from .brand in docs, update
 navbar to support buttons up thurr

---
 bootstrap.css            | 5 ++++-
 bootstrap.min.css        | 1 +
 docs/assets/css/docs.css | 1 +
 lib/patterns.less        | 4 ++++
 4 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index ff21bc836c..105c10de39 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Dec 26 17:12:29 CST 2011
+ * Date: Tue Dec 27 12:39:01 CST 2011
  */
 html, body {
   margin: 0;
@@ -1215,6 +1215,9 @@ table {
   color: #ffffff;
   background-color: transparent;
 }
+.navbar .btn {
+  margin-top: 5px;
+}
 .navbar-search {
   position: relative;
   float: left;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 711e8a37ee..048414c782 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -176,6 +176,7 @@ tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 .navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
+.navbar .btn{margin-top:5px;}
 .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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
 .navbar-search .search-query::-webkit-input-placeholder{color:#e6e6e6;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index b3c4649419..c2c92a2519 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -22,6 +22,7 @@ body {
 body > .navbar-fixed .brand {
   padding-right: 0;
   padding-left: 0;
+  margin-left: 20px;
   float: right;
   font-weight: bold;
   color: #000;
diff --git a/lib/patterns.less b/lib/patterns.less
index 25934d80a8..d48d65e48b 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -52,6 +52,10 @@
       background-color: transparent;
     }
   }
+  // Buttons in navbar
+  .btn {
+    margin-top: 5px; // make buttons vertically centered in navbar
+  }
 }
 
 // Navbar search
-- 
GitLab


From b9adae14fc9fa64134aebb57655dd93e0a7e6ad6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 12:40:30 -0600
Subject: [PATCH 163/576] remove button from topbar for testing

---
 docs/index.html | 1 -
 1 file changed, 1 deletion(-)

diff --git a/docs/index.html b/docs/index.html
index 735fe7ae73..0d340fa1ab 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -41,7 +41,6 @@
             <li><a href="./javascript.html">Javascript plugins</a></li>
             <li><a href="./less.html">Using LESS</a></li>
           </ul>
-          <a href="" class="btn pull-right">Button</a>
         </div>
       </div>
     </div>
-- 
GitLab


From 5801c4d766205c6f1579b9c45e733df5dba3b1fe Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 13:51:50 -0600
Subject: [PATCH 164/576] capitalize Less in makefile, add print less file (not
 yet compiled)

---
 Makefile       |  2 +-
 lib/print.less | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 lib/print.less

diff --git a/Makefile b/Makefile
index 3d24eb1c52..5eee74f2e5 100644
--- a/Makefile
+++ b/Makefile
@@ -42,7 +42,7 @@ watch:
 	  echo "Watching less files..."; \
 	  watchr -e "watch('lib/.*\.less') { system 'make' }"; \
 	else \
-		echo "You must have the watchr installed in order to watch Bootstrap less files."; \
+		echo "You must have the watchr installed in order to watch Bootstrap Less files."; \
 		echo "You can install it by running: gem install watchr"; \
 	fi
 
diff --git a/lib/print.less b/lib/print.less
new file mode 100644
index 0000000000..b45d016fdd
--- /dev/null
+++ b/lib/print.less
@@ -0,0 +1,18 @@
+/*!
+ * Bootstrap @VERSION for Print
+ *
+ * Copyright 2011 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ * Date: @DATE
+ */
+
+
+// HIDE UNECESSARY COMPONENTS
+// --------------------------
+
+.navbar-fixed {
+  display: none;
+}
\ No newline at end of file
-- 
GitLab


From fec02f50455c87f0e01fe74b1fb2e3cd032ade09 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 15:40:58 -0600
Subject: [PATCH 165/576] clean up some css for github issues: input prepend
 z-index, modals revamped for responsive

---
 bootstrap.css        | 18 ++++++++++++------
 bootstrap.min.css    |  8 ++++----
 docs/base-css.html   |  2 +-
 docs/components.html |  2 +-
 lib/forms.less       |  4 +---
 lib/modals.less      |  3 ++-
 lib/responsive.less  | 12 ++++++++++++
 7 files changed, 33 insertions(+), 16 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 105c10de39..95dde47e84 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 27 12:39:01 CST 2011
+ * Date: Tue Dec 27 15:23:07 CST 2011
  */
 html, body {
   margin: 0;
@@ -602,6 +602,7 @@ select, input[type=file] {
 }
 select {
   background-color: #ffffff;
+  vertical-align: middle;
 }
 select[multiple] {
   height: inherit;
@@ -904,17 +905,12 @@ textarea[readonly] {
   display: block;
   max-width: 600px;
 }
-.input-prepend, .input-append {
-  overflow: hidden;
-}
 .input-prepend input, .input-append input {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
 .input-prepend .add-on, .input-append .add-on {
-  position: relative;
-  z-index: 2;
   float: left;
   display: block;
   width: auto;
@@ -2574,6 +2570,16 @@ a.thumbnail:hover {
   .horizontal-form .form-actions {
     padding-left: 0;
   }
+  .modal {
+    position: fixed;
+    top: 20px;
+    left: 20px;
+    right: 20px;
+    width: auto;
+  }
+  .modal .close {
+    padding: 10px;
+  }
 }
 @media (max-width: 768px) {
   .container {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 048414c782..aff1c43c2a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -100,7 +100,7 @@ input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;*margin-top:4px;line-height:27px;}
-select{background-color:#ffffff;}
+select{background-color:#ffffff;vertical-align:middle;}
 select[multiple]{height:inherit;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
@@ -146,8 +146,8 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .help-text{margin-top:5px;margin-bottom:0;color:#bfbfbf;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .help-block{display:block;max-width:600px;}
-.input-prepend,.input-append{overflow:hidden;}.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .add-on,.input-append .add-on{position:relative;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
@@ -339,4 +339,4 @@ a.thumbnail:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/base-css.html b/docs/base-css.html
index dad42381de..99fb9bd1a6 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -894,7 +894,7 @@ Form states
               <span class="add-on">@</span>
               <input class="input-small" id="prependedInput" name="prependedInput" size="16" type="text">
             </div>
-            <span class="help-block">Here's some help text</span>
+            <p class="help-block">Here's some help text</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
diff --git a/docs/components.html b/docs/components.html
index c6a349ff49..fbfa9fb31e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -716,7 +716,7 @@
       <p><a class="btn js-btn" href="./javascript.html#modal">Get the javascript &raquo;</a></p>
     </div>
     <div class="span9">
-      <div class="well" style="background-color: #888; border: none; padding: 40px;">
+      <div class="well" style="background-color: #888; border: none; ">
         <!-- Modal -->
         <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
           <div class="modal-header">
diff --git a/lib/forms.less b/lib/forms.less
index 99d6fcb59d..9d96e8f33c 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -96,6 +96,7 @@ input[type=file] {
 // Chrome on Linux and Mobile Safari need background-color
 select {
   background-color: @white;
+  vertical-align: middle;
 }
 
 // Make multiple select elements height not fixed
@@ -304,13 +305,10 @@ textarea[readonly] {
 // Allow us to put symbols and text within the input field for a cleaner look
 .input-prepend,
 .input-append {
-  overflow: hidden;
   input {
     .border-radius(0 3px 3px 0);
   }
   .add-on {
-    position: relative;
-    z-index: 2;
     float: left;
     display: block;
     width: auto;
diff --git a/lib/modals.less b/lib/modals.less
index 53d6cd4089..4d2b92cbcd 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -13,7 +13,8 @@
   &.fade { opacity: 0; }
 }
 
-.modal-backdrop, .modal-backdrop.fade.in {
+.modal-backdrop,
+.modal-backdrop.fade.in {
   .opacity(80);
 }
 
diff --git a/lib/responsive.less b/lib/responsive.less
index d8b453d06d..fe2b7cd49a 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -43,6 +43,18 @@
   .horizontal-form .form-actions {
     padding-left: 0;
   }
+
+  // Modals
+  .modal {
+    position: fixed;
+    top: 20px;
+    left: 20px;
+    right: 20px;
+    width: auto;
+    .close {
+      padding: 10px;
+    }
+  }
 }
 
 
-- 
GitLab


From 3426877c894b858d89e68c72bc300cd4f670c40f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 15:51:36 -0600
Subject: [PATCH 166/576] add ie7 inline block mixin and add ability to center
 pagination

---
 bootstrap.css       | 11 +++++++++--
 bootstrap.min.css   |  3 ++-
 lib/mixins.less     |  6 ++++++
 lib/pagination.less |  8 +++++++-
 4 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 95dde47e84..51341e9023 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 27 15:23:07 CST 2011
+ * Date: Tue Dec 27 15:49:07 CST 2011
  */
 html, body {
   margin: 0;
@@ -2211,7 +2211,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   margin: 18px 0;
 }
 .pagination ul {
-  float: left;
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
   margin: 0;
   border: 1px solid #ddd;
   border: 1px solid rgba(0, 0, 0, 0.15);
@@ -2247,6 +2251,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .pagination .next a {
   border: 0;
 }
+.pagination.centered {
+  text-align: center;
+}
 .modal-backdrop {
   position: fixed;
   top: 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index aff1c43c2a..4c794c9e74 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -292,12 +292,13 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
 .breadcrumb .active a{color:#404040;}
-.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
+.pagination{height:36px;margin:18px 0;}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
 .pagination .disabled a,.pagination .disabled a:hover{color:#bfbfbf;background-color:transparent;}
 .pagination .next a{border:0;}
+.pagination.centered{text-align:center;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
diff --git a/lib/mixins.less b/lib/mixins.less
index e8b5cdd2f5..58df9298a5 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -25,6 +25,12 @@
   margin-right: auto;
 }
 
+// IE7 inline-block
+.ie7-inline-block() {
+  *display: inline; /* IE7 inline-block hack */
+  *zoom: 1;
+}
+
 // Sizing shortcuts
 .size(@height: 5px, @width: 5px) {
   width: @width;
diff --git a/lib/pagination.less b/lib/pagination.less
index d82a0bbd07..f630511689 100644
--- a/lib/pagination.less
+++ b/lib/pagination.less
@@ -5,7 +5,8 @@
   height: @baseLineHeight * 2;
   margin: @baseLineHeight 0;
   ul {
-    float: left;
+    display: inline-block;
+    .ie7-inline-block();
     margin: 0;
     border: 1px solid #ddd;
     border: 1px solid rgba(0,0,0,.15);
@@ -37,4 +38,9 @@
   .next a {
     border: 0;
   }
+
+  // Centered
+  &.centered {
+    text-align: center;
+  }
 }
-- 
GitLab


From 46d2ad5e221646807fb2bd71881860462988008e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 16:08:07 -0600
Subject: [PATCH 167/576] allow select with size attr to not have fixed height

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/forms.less    | 3 ++-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 51341e9023..a1fcc1df62 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 27 15:49:07 CST 2011
+ * Date: Tue Dec 27 16:07:55 CST 2011
  */
 html, body {
   margin: 0;
@@ -604,7 +604,7 @@ select {
   background-color: #ffffff;
   vertical-align: middle;
 }
-select[multiple] {
+select[multiple], select[size] {
   height: inherit;
 }
 input[type=image] {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4c794c9e74..0be96084b2 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -101,7 +101,7 @@ input[type=file]{padding:initial;line-height:initial;border:initial;background-c
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
 select,input[type=file]{height:27px;*margin-top:4px;line-height:27px;}
 select{background-color:#ffffff;vertical-align:middle;}
-select[multiple]{height:inherit;}
+select[multiple],select[size]{height:inherit;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
 input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
diff --git a/lib/forms.less b/lib/forms.less
index 9d96e8f33c..e9c392c763 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -100,7 +100,8 @@ select {
 }
 
 // Make multiple select elements height not fixed
-select[multiple] {
+select[multiple],
+select[size] {
   height: inherit;
 }
 
-- 
GitLab


From e78d5f8ff33009e4c4ab57496913b43ff1e369dc Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 16:25:22 -0600
Subject: [PATCH 168/576] fix tables for rowspan

---
 bootstrap.css      | 2 +-
 docs/base-css.html | 7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a1fcc1df62..2b870bfce4 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 27 16:07:55 CST 2011
+ * Date: Tue Dec 27 16:25:12 CST 2011
  */
 html, body {
   margin: 0;
diff --git a/docs/base-css.html b/docs/base-css.html
index 99fb9bd1a6..13cbeedbc2 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -646,25 +646,24 @@
       <tr>
         <td>1</td>
         <td colspan="2">Some One</td>
-        <td>English</td>
+        <td>HTML</td>
       </tr>
       <tr>
         <td>2</td>
         <td>Joe</td>
         <td>Sixpack</td>
-        <td>English</td>
+        <td rowspan="2">Javascript</td>
       </tr>
       </tr>
         <td>3</td>
         <td>Joe</td>
         <td>Sixpack</td>
-        <td>English</td>
       </tr>
       <tr>
         <td>3</td>
         <td>Stu</td>
         <td>Dent</td>
-        <td>Code</td>
+        <td>CSS</td>
       </tr>
     </tbody>
   </table>
-- 
GitLab


From 550879cf666ec6445d1918604cb71c7202a52999 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 16:50:27 -0600
Subject: [PATCH 169/576] fix quotes in font-family usage

---
 lib/mixins.less | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/mixins.less b/lib/mixins.less
index 58df9298a5..83a3a31f92 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -54,13 +54,13 @@
 #font {
   #family {
     .serif() {
-      font-family: "Georgia", Times New Roman, Times, serif;
+      font-family: Georgia, "Times New Roman", Times, serif;
     }
     .sans-serif() {
       font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
     }
     .monospace() {
-      font-family: "Menlo", Monaco, Courier New, monospace;
+      font-family: Menlo, Monaco, Courier New, monospace;
     }
   }
   .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
-- 
GitLab


From 53c6dbff0d6dd781df421f07acdd9e98719b41bf Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 17:04:55 -0600
Subject: [PATCH 170/576] add appended input example to docs, fix help-text
 wrapping issue by clearing float

---
 bootstrap.css      | 24 ++++++++++++++++++------
 bootstrap.min.css  |  7 ++++---
 docs/base-css.html | 10 ++++++++++
 lib/forms.less     |  1 +
 lib/tables.less    |  6 +-----
 5 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 2b870bfce4..e83f46258c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 27 16:25:12 CST 2011
+ * Date: Tue Dec 27 17:02:48 CST 2011
  */
 html, body {
   margin: 0;
@@ -491,7 +491,7 @@ address {
 }
 code, pre {
   padding: 0 3px 2px;
-  font-family: "Menlo", Monaco, Courier New, monospace;
+  font-family: Menlo, Monaco, Courier New, monospace;
   font-size: 12px;
   color: #404040;
   -webkit-border-radius: 3px;
@@ -905,6 +905,21 @@ textarea[readonly] {
   display: block;
   max-width: 600px;
 }
+.input-prepend, .input-append {
+  zoom: 1;
+}
+.input-prepend:before,
+.input-append:before,
+.input-prepend:after,
+.input-append:after {
+  display: table;
+  *display: inline;
+  content: "";
+  zoom: 1;
+}
+.input-prepend:after, .input-append:after {
+  clear: both;
+}
 .input-prepend input, .input-append input {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
@@ -985,7 +1000,7 @@ th, td {
   padding: 8px;
   line-height: 18px;
   text-align: left;
-  border-bottom: 1px solid #ddd;
+  border-top: 1px solid #ddd;
 }
 th {
   font-weight: bold;
@@ -994,9 +1009,6 @@ th {
 td {
   vertical-align: top;
 }
-tbody tr:last-child th, tbody tr:last-child td {
-  border-bottom: 0;
-}
 .condensed-table th, .condensed-table td {
   padding: 4px 5px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0be96084b2..e2d7fccaa1 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -87,7 +87,7 @@ blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}bloc
 blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;margin-bottom:18px;line-height:18px;}
-code,pre{padding:0 3px 2px;font-family:"Menlo",Monaco,Courier New,monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Courier New, monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
@@ -146,6 +146,8 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .help-text{margin-top:5px;margin-bottom:0;color:#bfbfbf;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .help-block{display:block;max-width:600px;}
+.input-prepend,.input-append{zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;*display:inline;content:"";zoom:1;}
+.input-prepend:after,.input-append:after{clear:both;}
 .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
@@ -160,10 +162,9 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .horizontal-form .control-list{padding-top:6px;}
 .horizontal-form .form-actions{padding-left:150px;}
 table{width:100%;margin-bottom:18px;}
-th,td{padding:8px;line-height:18px;text-align:left;border-bottom:1px solid #ddd;}
+th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
 th{font-weight:bold;vertical-align:bottom;}
 td{vertical-align:top;}
-tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
 .condensed-table th,.condensed-table td{padding:4px 5px;}
 .bordered-table{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td,.bordered-table td+th{border-left:1px solid #ddd;}
 .bordered-table thead:first-child tr:first-child th:first-child,.bordered-table 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;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 13cbeedbc2..2bc6f49fbb 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -896,6 +896,16 @@ Form states
             <p class="help-block">Here's some help text</p>
           </div>
         </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="appendedInput">Appended text</label>
+          <div class="controls">
+            <div class="input-append">
+              <input class="input-small" id="appendedInput" name="appendedInput" size="16" type="text">
+              <span class="add-on">.00</span>
+            </div>
+            <p class="help-block">Here's more help text</p>
+          </div>
+        </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="select01">Select list</label>
           <div class="controls">
diff --git a/lib/forms.less b/lib/forms.less
index e9c392c763..5293d780ab 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -306,6 +306,7 @@ textarea[readonly] {
 // Allow us to put symbols and text within the input field for a cleaner look
 .input-prepend,
 .input-append {
+  .clearfix(); // Clear the float to prevent wrapping
   input {
     .border-radius(0 3px 3px 0);
   }
diff --git a/lib/tables.less b/lib/tables.less
index 524f959f06..1643705620 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -17,7 +17,7 @@ td {
   padding: 8px;
   line-height: @baseLineHeight;
   text-align: left;
-  border-bottom: 1px solid #ddd;
+  border-top: 1px solid #ddd;
 }
 th {
   font-weight: bold;
@@ -26,10 +26,6 @@ th {
 td {
   vertical-align: top;
 }
-tbody tr:last-child th,
-tbody tr:last-child td {
-  border-bottom: 0;
-}
 
 
 // CONDENSED TABLE W/ HALF PADDING
-- 
GitLab


From 704d713aadbfcd27e39226cb0d1b2243d52dde0a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 27 Dec 2011 17:39:34 -0600
Subject: [PATCH 171/576] border radius on large button toolbar

---
 bootstrap.css     | 19 ++++++++++++++++++-
 bootstrap.min.css |  2 ++
 lib/patterns.less | 18 ++++++++++++++++++
 3 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index e83f46258c..1d0a29b519 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 27 17:02:48 CST 2011
+ * Date: Tue Dec 27 17:38:27 CST 2011
  */
 html, body {
   margin: 0;
@@ -1628,6 +1628,23 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius-bottomright: 4px;
   border-bottom-right-radius: 4px;
 }
+.btn-group .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;
+  -moz-border-radius-bottomleft: 6px;
+  border-bottom-left-radius: 6px;
+}
+.btn-group .btn.large:last-child {
+  -webkit-border-top-right-radius: 6px;
+  -moz-border-radius-topright: 6px;
+  border-top-right-radius: 6px;
+  -webkit-border-bottom-right-radius: 6px;
+  -moz-border-radius-bottomright: 6px;
+  border-bottom-right-radius: 6px;
+}
 .btn-group .btn:hover, .btn-group .btn:focus, .btn-group .btn:active {
   z-index: 2;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e2d7fccaa1..51e652bb95 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -221,6 +221,8 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group:after{clear:both;}
 .btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
 .btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
+.btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
+.btn-group .btn.large:last-child{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
 .alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
diff --git a/lib/patterns.less b/lib/patterns.less
index d48d65e48b..7c9ee7e48f 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -417,6 +417,24 @@ input[type=submit].btn {
         -moz-border-radius-bottomright: 4px;
             border-bottom-right-radius: 4px;
   }
+  // Reset corners for large buttons
+  &.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;
+        -moz-border-radius-bottomleft: 6px;
+            border-bottom-left-radius: 6px;
+  }
+  &.large:last-child {
+       -webkit-border-top-right-radius: 6px;
+           -moz-border-radius-topright: 6px;
+               border-top-right-radius: 6px;
+    -webkit-border-bottom-right-radius: 6px;
+        -moz-border-radius-bottomright: 6px;
+            border-bottom-right-radius: 6px;
+  }
 }
 // On hover/focus/active, bring the proper btn to front
 .btn-group .btn:hover,
-- 
GitLab


From 553030ca7de8dac3c5180629ff84fa14173513ab Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 30 Dec 2011 16:01:29 -0800
Subject: [PATCH 172/576] missing parantheses

---
 bootstrap.css  | 2 +-
 lib/forms.less | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 1d0a29b519..8e2ce41f3b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Dec 27 17:38:27 CST 2011
+ * Date: Fri Dec 30 16:01:05 PST 2011
  */
 html, body {
   margin: 0;
diff --git a/lib/forms.less b/lib/forms.less
index 5293d780ab..ededc772ed 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -220,7 +220,7 @@ textarea[readonly] {
     border-color: @borderColor;
     &:focus {
       border-color: darken(@borderColor, 10%);
-      .box-shadow(0 0 6px lighten(@borderColor, 20%);
+      .box-shadow(0 0 6px lighten(@borderColor, 20%));
     }
   }
   // Give a small background color for input-prepend/-append
-- 
GitLab


From 2d092dfeea969d82bc55a153c6a597a3e87a0a03 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 2 Jan 2012 16:04:01 -0800
Subject: [PATCH 173/576] start playing with carousel stuff

---
 bootstrap.css            | 10 +++++-
 bootstrap.min.css        |  4 ++-
 docs/javascript.html     | 66 +++++++++++++++++++++++++++++++++++++++-
 js/bootstrap-carousel.js | 21 +++++++++++--
 lib/modals.less          |  2 ++
 lib/thumbnails.less      |  8 +++++
 6 files changed, 106 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 333d6f04c0..d906168cfa 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Dec 24 22:30:43 PST 2011
+ * Date: Sun Dec 25 21:24:32 PST 2011
  */
 html, body {
   margin: 0;
@@ -2385,6 +2385,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   top: 50%;
   left: 50%;
   z-index: 11000;
+  max-height: 500px;
+  overflow: auto;
   width: 560px;
   margin: -250px 0 0 -250px;
   background-color: #ffffff;
@@ -2662,6 +2664,12 @@ a.thumbnail:hover {
 .thumbnail .caption {
   padding: 9px;
 }
+.carousel .item {
+  display: none;
+}
+.carousel .active {
+  display: block;
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index db5e4206d8..4036f46450 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -312,7 +312,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .pagination .next a{border:0;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
+.modal{position:fixed;top:50%;left:50%;z-index:11000;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
 .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%;}
 .modal.fade.in{top:50%;}
 .modal-header{padding:5px 15px;border-bottom:1px solid #eee;}
@@ -350,5 +350,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 a.thumbnail:hover{border-color:#0069d6;-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);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
+.carousel .item{display:none;}
+.carousel .active{display:block;}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} [class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/javascript.html b/docs/javascript.html
index d5aebbacdc..8e5e22adba 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -117,6 +117,10 @@
               <td><a href="./javascript.html#collapse">bootstrap-collapse.js</a></td>
               <td>The collapse plugin offers simple, generic collapsible element support for making accordions and other collapsible ui components.</td>
             </tr>
+            <tr>
+              <td><a href="./javascript.html#collapse">bootstrap-carousel.js</a></td>
+              <td>Carousel add</td>
+            </tr>
          </tbody>
        </table>
        <h3>Is javascript necessary?</h3>
@@ -1002,6 +1006,61 @@ $('#myCollapsible').on('hidden', function () {
       </div>
     </section>
 
+     <!-- Carousel
+    ================================================== -->
+
+    <section id="carousel">
+      <div class="page-header">
+        <h1>Carousel <small>bootstrap-carousel.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <p>The carousel plugin creates a carousel douh..</p>
+          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn primary">Download</a>
+        </div>
+        <div class="span9 columns">
+          <h3>Using bootstrap-carousel.js</h3>
+          <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
+            <h3>Markup</h3>
+          <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
+          <pre class="prettyprint linenums"></pre>
+          <h3>Demo</h3>
+
+          <!-- carousel -->
+          <div class="thumbnail carousel">
+
+            <div class="item active">
+              <img src="http://placehold.it/1100x350" alt="">
+              <div class="caption">
+                <h5>Thumbnail label</h5>
+                <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              </div>
+            </div>
+
+            <div class="item active">
+              <img src="http://placehold.it/1100x350" alt="">
+              <div class="caption">
+                <h5>Thumbnail label</h5>
+                <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              </div>
+            </div>
+
+            <div class="item">
+              <img src="http://placehold.it/1100x350" alt="">
+              <div class="caption">
+                <h5>Thumbnail label</h5>
+                <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              </div>
+            </div>
+
+          </div>
+
+
+
+        </div>
+      </div>
+    </section>
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1028,6 +1087,7 @@ $('#myCollapsible').on('hidden', function () {
     <script src="../js/bootstrap-popover.js"></script>
     <script src="../js/bootstrap-button.js"></script>
     <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
     <script src="assets/js/application.js"></script>
     <script>
       $(function () {
@@ -1036,13 +1096,14 @@ $('#myCollapsible').on('hidden', function () {
           selector: "a[rel=twipsy]"
         })
 
-        //popover demo
+        // popover demo
         $("a[rel=popover]")
           .popover()
           .click(function(e) {
             e.preventDefault()
           })
 
+        // button state demo
         $('#fat-btn')
           .click(function () {
             var btn = $(this)
@@ -1051,6 +1112,9 @@ $('#myCollapsible').on('hidden', function () {
               btn.button('reset')
             }, 3000)
           })
+
+        // carousel demo
+        $('.carousel').carousel()
       })
     </script>
   </body>
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index ed4b8f3fac..2e1fde11a2 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -25,12 +25,29 @@
  /* CAROUSEL CLASS DEFINITION
   * ========================= */
 
-  var Carousel = function () {
-
+  var Carousel = function (element) {
+    this.$element = $(element)
+    this.cycle()
   }
 
   Carousel.prototype = {
 
+    cycle: function () {
+      this.interval = setInterval($.proxy(this.right, this), 500)
+    }
+
+  , pause: function () {
+      clearInterval(this.interval)
+    }
+
+  , right: function () {
+
+    }
+
+  , left: function () {
+
+    }
+
   }
 
 
diff --git a/lib/modals.less b/lib/modals.less
index 53d6cd4089..ec1607c511 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -22,6 +22,8 @@
   top: 50%;
   left: 50%;
   z-index: 11000;
+  max-height: 500px;
+  overflow: auto;
   width: 560px;
   margin: -250px 0 0 -250px;
   background-color: @white;
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index 9e25f50272..ae2e6c94e9 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -32,3 +32,11 @@ a.thumbnail:hover {
 .thumbnail .caption {
   padding: 9px;
 }
+
+.carousel .item {
+  display: none;
+}
+
+.carousel .active {
+  display: block;
+}
\ No newline at end of file
-- 
GitLab


From 0c3bf7275cfe0757c876be6ba6f01cad31375923 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 2 Jan 2012 16:05:14 -0800
Subject: [PATCH 174/576] add quotes to courier new

---
 lib/mixins.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/mixins.less b/lib/mixins.less
index 83a3a31f92..32d3a83acc 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -60,7 +60,7 @@
       font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
     }
     .monospace() {
-      font-family: Menlo, Monaco, Courier New, monospace;
+      font-family: Menlo, Monaco, "Courier New", monospace;
     }
   }
   .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
-- 
GitLab


From 8b58a1c3d9fea740c89f48c1771a6c7dd44e1f41 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 2 Jan 2012 19:13:02 -0800
Subject: [PATCH 175/576] placeholder design for carousel

---
 bootstrap.css        | 28 ++++++++++++++++++++++++++--
 bootstrap.min.css    |  6 ++++--
 docs/javascript.html | 43 +++++++++++++++++++++++++++++++++++--------
 lib/thumbnails.less  | 26 +++++++++++++++++++++-----
 4 files changed, 86 insertions(+), 17 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 601c1875b9..ae1754aa65 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan  2 16:04:30 PST 2012
+ * Date: Mon Jan  2 19:12:52 PST 2012
  */
 html, body {
   margin: 0;
@@ -491,7 +491,7 @@ address {
 }
 code, pre {
   padding: 0 3px 2px;
-  font-family: Menlo, Monaco, Courier New, monospace;
+  font-family: Menlo, Monaco, "Courier New", monospace;
   font-size: 12px;
   color: #404040;
   -webkit-border-radius: 3px;
@@ -2584,12 +2584,36 @@ a.thumbnail:hover {
 .thumbnail .caption {
   padding: 9px;
 }
+.carousel {
+  position: relative;
+}
 .carousel .item {
   display: none;
 }
 .carousel .active {
   display: block;
 }
+.carousel .nav {
+  height: 50px;
+  position: absolute;
+  top: 50%;
+  margin: -25px 0 0;
+  cursor: pointer;
+  background: rgba(0, 0, 0, 0.7);
+  color: white;
+  font-size: 42px;
+  left: 5px;
+  font-weight: 100;
+  padding: 0 15px;
+}
+.carousel .nav.right {
+  right: 5px;
+  left: auto;
+}
+.carousel .nav:hover {
+  text-decoration: none;
+  background: rgba(0, 0, 0, 0.8);
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b3e5a3eefe..2272502263 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -87,7 +87,7 @@ blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}bloc
 blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
 blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;margin-bottom:18px;line-height:18px;}
-code,pre{padding:0 3px 2px;font-family:Menlo, Monaco, Courier New, monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
@@ -342,7 +342,9 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 a.thumbnail:hover{border-color:#0069d6;-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);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
-.carousel .item{display:none;}
+.carousel{position:relative;}.carousel .item{display:none;}
 .carousel .active{display:block;}
+.carousel .nav{height:50px;position:absolute;top:50%;margin:-25px 0 0;cursor:pointer;background:rgba(0, 0, 0, 0.7);color:white;font-size:42px;left:5px;font-weight:100;padding:0 15px;}.carousel .nav.right{right:5px;left:auto;}
+.carousel .nav:hover{text-decoration:none;background:rgba(0, 0, 0, 0.8);}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/javascript.html b/docs/javascript.html
index 8e5e22adba..ae464e849e 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -118,8 +118,8 @@
               <td>The collapse plugin offers simple, generic collapsible element support for making accordions and other collapsible ui components.</td>
             </tr>
             <tr>
-              <td><a href="./javascript.html#collapse">bootstrap-carousel.js</a></td>
-              <td>Carousel add</td>
+              <td><a href="./javascript.html#carousel">bootstrap-carousel.js</a></td>
+              <td>A plugin for rotating through elements. A merry-go-round.</td>
             </tr>
          </tbody>
        </table>
@@ -1015,7 +1015,7 @@ $('#myCollapsible').on('hidden', function () {
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>The carousel plugin creates a carousel douh..</p>
+          <p>A generic plugin for cycling through elements. A merry-go-round.</p>
           <a href="../js/bootstrap-carousel.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
@@ -1023,11 +1023,40 @@ $('#myCollapsible').on('hidden', function () {
           <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
             <h3>Markup</h3>
           <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
-          <pre class="prettyprint linenums"></pre>
+<pre class="prettyprint linenums">
+&lt;div class="thumbnail carousel"&gt;
+
+  &lt;!-- navigation --&gt;
+  &lt;a class="nav" href="#myCarousel" data-show="next"&gt;&amp;lt;&lt;/a&gt;
+  &lt;a class="nav" href="#myCarousel" data-show="previous"&gt;&amp;gt;&lt;/a&gt;
+
+  &lt;!-- items --&gt;
+  &lt;div class="item active"&gt;
+    &lt;img src="http://placehold.it/1100x350"&gt;
+    &lt;div class="caption"&gt;
+      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
+      &lt;p&gt;Cras justo odio, dapibus ac facilisis in, egestas eget quam. &lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+
+  &lt;div class="item"&gt;
+    &lt;img src="http://placehold.it/1100x350"&gt;
+    &lt;div class="caption"&gt;
+      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
+      &lt;p&gt;Donec id elit non mi porta gravida at eget metus.&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+
+&lt;/div&gt;
+</pre>
           <h3>Demo</h3>
 
           <!-- carousel -->
-          <div class="thumbnail carousel">
+
+          <div id="myCarousel" class="thumbnail carousel">
+
+           <a class="left nav" href="#myCarousel" data-show="next">&laquo;</a>
+           <a class="right nav" href="#myCarousel" data-show="previous">&raquo;</a>
 
             <div class="item active">
               <img src="http://placehold.it/1100x350" alt="">
@@ -1037,7 +1066,7 @@ $('#myCollapsible').on('hidden', function () {
               </div>
             </div>
 
-            <div class="item active">
+            <div class="item">
               <img src="http://placehold.it/1100x350" alt="">
               <div class="caption">
                 <h5>Thumbnail label</h5>
@@ -1055,8 +1084,6 @@ $('#myCollapsible').on('hidden', function () {
 
           </div>
 
-
-
         </div>
       </div>
     </section>
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index ae2e6c94e9..181cca6817 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -33,10 +33,26 @@ a.thumbnail:hover {
   padding: 9px;
 }
 
-.carousel .item {
-  display: none;
-}
+// carousel
+.carousel {
+  position: relative;
 
-.carousel .active {
-  display: block;
+  .item { display: none; }
+  .active { display: block; }
+
+  .nav {
+    height: 50px;
+    position: absolute;
+    top: 50%;
+    margin: -25px 0 0;
+    cursor: pointer;
+    background: rgba(0, 0, 0, 0.7);
+    color: white;
+    font-size: 42px;
+    left: 5px;
+    font-weight: 100;
+    padding: 0 15px;
+    &.right { right: 5px; left: auto; }
+    &:hover { text-decoration: none; background: rgba(0, 0, 0, 0.8); }
+  }
 }
\ No newline at end of file
-- 
GitLab


From 3fb6f6ee8670acff0c681c621b87a06a087f94be Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 2 Jan 2012 22:30:57 -0800
Subject: [PATCH 176/576] basic carousel implementation

---
 bootstrap.css            | 39 +++++++++++++++++++-
 bootstrap.min.css        | 13 +++++--
 docs/javascript.html     | 79 ++++++++++++++++++++--------------------
 js/bootstrap-carousel.js | 48 +++++++++++++++++++++---
 lib/thumbnails.less      | 32 ++++++++++++++--
 5 files changed, 158 insertions(+), 53 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ae1754aa65..b4fd7e7487 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan  2 19:12:52 PST 2012
+ * Date: Mon Jan  2 22:30:09 PST 2012
  */
 html, body {
   margin: 0;
@@ -2587,13 +2587,48 @@ a.thumbnail:hover {
 .carousel {
   position: relative;
 }
+.carousel .carousel-inner {
+  overflow: hidden;
+  width: 100%;
+  position: relative;
+}
 .carousel .item {
   display: none;
+  position: relative;
+  -webkit-transition: 0.25s linear left;
+  -moz-transition: 0.25s linear left;
+  -ms-transition: 0.25s linear left;
+  -o-transition: 0.25s linear left;
+  transition: 0.25s linear left;
 }
-.carousel .active {
+.carousel .active, .carousel .next, .carousel .prev {
   display: block;
 }
+.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 .nav {
+  width: auto;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
   height: 50px;
   position: absolute;
   top: 50%;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2272502263..49e9686839 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -342,9 +342,16 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 a.thumbnail:hover{border-color:#0069d6;-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);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
-.carousel{position:relative;}.carousel .item{display:none;}
-.carousel .active{display:block;}
-.carousel .nav{height:50px;position:absolute;top:50%;margin:-25px 0 0;cursor:pointer;background:rgba(0, 0, 0, 0.7);color:white;font-size:42px;left:5px;font-weight:100;padding:0 15px;}.carousel .nav.right{right:5px;left:auto;}
+.carousel{position:relative;}.carousel .carousel-inner{overflow:hidden;width:100%;position:relative;}
+.carousel .item{display:none;position:relative;-webkit-transition:0.25s linear left;-moz-transition:0.25s linear left;-ms-transition:0.25s linear left;-o-transition:0.25s linear left;transition:0.25s linear left;}
+.carousel .active,.carousel .next,.carousel .prev{display:block;}
+.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 .nav{width:auto;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;height:50px;position:absolute;top:50%;margin:-25px 0 0;cursor:pointer;background:rgba(0, 0, 0, 0.7);color:white;font-size:42px;left:5px;font-weight:100;padding:0 15px;}.carousel .nav.right{right:5px;left:auto;}
 .carousel .nav:hover{text-decoration:none;background:rgba(0, 0, 0, 0.8);}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/javascript.html b/docs/javascript.html
index ae464e849e..4d90dbcf1e 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1026,62 +1026,66 @@ $('#myCollapsible').on('hidden', function () {
 <pre class="prettyprint linenums">
 &lt;div class="thumbnail carousel"&gt;
 
-  &lt;!-- navigation --&gt;
-  &lt;a class="nav" href="#myCarousel" data-show="next"&gt;&amp;lt;&lt;/a&gt;
-  &lt;a class="nav" href="#myCarousel" data-show="previous"&gt;&amp;gt;&lt;/a&gt;
-
   &lt;!-- items --&gt;
-  &lt;div class="item active"&gt;
-    &lt;img src="http://placehold.it/1100x350"&gt;
-    &lt;div class="caption"&gt;
-      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
-      &lt;p&gt;Cras justo odio, dapibus ac facilisis in, egestas eget quam. &lt;/p&gt;
+  &lt;div class="carousel-inner"&gt;
+    &lt;div class="item active"&gt;
+      &lt;img src="http://placehold.it/1100x350"&gt;
+      &lt;div class="caption"&gt;
+        &lt;h5&gt;Thumbnail label&lt;/h5&gt;
+        &lt;p&gt;Cras justo odio, dapibus ac facilisis in, egestas eget quam. &lt;/p&gt;
+      &lt;/div&gt;
     &lt;/div&gt;
-  &lt;/div&gt;
 
-  &lt;div class="item"&gt;
-    &lt;img src="http://placehold.it/1100x350"&gt;
-    &lt;div class="caption"&gt;
-      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
-      &lt;p&gt;Donec id elit non mi porta gravida at eget metus.&lt;/p&gt;
+    &lt;div class="item"&gt;
+      &lt;img src="http://placehold.it/1100x350"&gt;
+      &lt;div class="caption"&gt;
+        &lt;h5&gt;Thumbnail label&lt;/h5&gt;
+        &lt;p&gt;Donec id elit non mi porta gravida at eget metus.&lt;/p&gt;
+      &lt;/div&gt;
     &lt;/div&gt;
   &lt;/div&gt;
 
+  &lt;!-- navigation --&gt;
+  &lt;a class="nav" href="#myCarousel" data-slide="next"&gt;&amp;lt;&lt;/a&gt;
+  &lt;a class="nav" href="#myCarousel" data-slide="prev"&gt;&amp;gt;&lt;/a&gt;
+
 &lt;/div&gt;
 </pre>
           <h3>Demo</h3>
 
           <!-- carousel -->
 
-          <div id="myCarousel" class="thumbnail carousel">
+          <div id="myCarousel" class="thumbnail carousel slide">
 
-           <a class="left nav" href="#myCarousel" data-show="next">&laquo;</a>
-           <a class="right nav" href="#myCarousel" data-show="previous">&raquo;</a>
-
-            <div class="item active">
-              <img src="http://placehold.it/1100x350" alt="">
-              <div class="caption">
-                <h5>Thumbnail label</h5>
-                <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+            <div class="carousel-inner">
+              <div class="item active">
+                <img src="http://placehold.it/1100x400" alt="">
+                <div class="caption">
+                  <h5>First Thumbnail label</h5>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
               </div>
-            </div>
 
-            <div class="item">
-              <img src="http://placehold.it/1100x350" alt="">
-              <div class="caption">
-                <h5>Thumbnail label</h5>
-                <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <div class="item">
+                <img src="http://placehold.it/1100x400" alt="">
+                <div class="caption">
+                  <h5>Second Thumbnail label</h5>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
               </div>
-            </div>
 
-            <div class="item">
-              <img src="http://placehold.it/1100x350" alt="">
-              <div class="caption">
-                <h5>Thumbnail label</h5>
-                <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <div class="item">
+                <img src="http://placehold.it/1100x400" alt="">
+                <div class="caption">
+                  <h5>Third Thumbnail label</h5>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
               </div>
             </div>
 
+            <a class="left nav" href="#myCarousel" data-slide="prev">&laquo;</a>
+            <a class="right nav" href="#myCarousel" data-slide="next">&raquo;</a>
+
           </div>
 
         </div>
@@ -1139,9 +1143,6 @@ $('#myCollapsible').on('hidden', function () {
               btn.button('reset')
             }, 3000)
           })
-
-        // carousel demo
-        $('.carousel').carousel()
       })
     </script>
   </body>
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 2e1fde11a2..2099b372cb 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -27,25 +27,48 @@
 
   var Carousel = function (element) {
     this.$element = $(element)
-    this.cycle()
   }
 
   Carousel.prototype = {
 
     cycle: function () {
-      this.interval = setInterval($.proxy(this.right, this), 500)
+      this.interval = setInterval($.proxy(this.next, this), 5000)
     }
 
   , pause: function () {
       clearInterval(this.interval)
     }
 
-  , right: function () {
-
+  , next: function () {
+      this.slide('next')
     }
 
-  , left: function () {
+  , prev: function () {
+      this.slide('prev')
+    }
 
+  , slide: function (type) {
+      var $active = this.$element.find('.active')
+        , $next = $active[type]()
+        , direction = type == 'next' ? 'left' : 'right'
+        , fallback  = type == 'next' ? 'first' : 'last'
+        , that = this
+
+      $next = $next.length ? $next : this.$element.find('.item')[fallback]()
+
+      if (!$.support.transition && this.$element.hasClass('slide')) {
+        $active.removeClass('active')
+        $next.addClass('active')
+      } else {
+        $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(' '))
+        })
+      }
     }
 
   }
@@ -59,10 +82,23 @@
       var $this = $(this)
         , data = $this.data('carousel')
       if (!data) $this.data('carousel', (data = new Carousel(this)))
-      if (typeof option == 'string') data[option].call($this)
+      if (typeof option == 'string') data[option]()
     })
   }
 
   $.fn.carousel.Constructor = Carousel
 
+
+ /* CAROUSEL DATA-API
+  * ================= */
+
+  $(function () {
+    $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
+      var $this = $(this)
+        , $target = $($this.attr('data-target') || $this.attr('href'))
+
+      $target.carousel($this.attr('data-slide'))
+    })
+  })
+
 }( window.jQuery )
\ No newline at end of file
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index 181cca6817..114d0f0c84 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -33,14 +33,40 @@ a.thumbnail:hover {
   padding: 9px;
 }
 
-// carousel
 .carousel {
+
   position: relative;
 
-  .item { display: none; }
-  .active { display: block; }
+  .carousel-inner {
+    overflow: hidden;
+    width: 100%;
+    position: relative;
+  }
+
+  .item {
+    display: none;
+    position: relative;
+    .transition(.25s linear left);
+  }
+
+  .active, .next, .prev { display: block; }
+
+  .next, .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+
+  .next { left: 100%; }
+  .prev { left: -100%; }
+  .next.left, .prev.right { left: 0% }
+
+  .active.left { left: -100% }
+  .active.right { left: 100% }
 
   .nav {
+    width: auto;
+    .border-radius(0);
     height: 50px;
     position: absolute;
     top: 50%;
-- 
GitLab


From f5bcfaec2c13eb3102ffc2890a69a7c2b725ff36 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 2 Jan 2012 22:33:49 -0800
Subject: [PATCH 177/576] ease-in-out slide transition

---
 bootstrap.css       | 12 ++++++------
 bootstrap.min.css   |  2 +-
 lib/thumbnails.less |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index b4fd7e7487..5413144e9d 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan  2 22:30:09 PST 2012
+ * Date: Mon Jan  2 22:33:44 PST 2012
  */
 html, body {
   margin: 0;
@@ -2595,11 +2595,11 @@ a.thumbnail:hover {
 .carousel .item {
   display: none;
   position: relative;
-  -webkit-transition: 0.25s linear left;
-  -moz-transition: 0.25s linear left;
-  -ms-transition: 0.25s linear left;
-  -o-transition: 0.25s linear left;
-  transition: 0.25s linear left;
+  -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;
 }
 .carousel .active, .carousel .next, .carousel .prev {
   display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 49e9686839..522de261ee 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -343,7 +343,7 @@ a.thumbnail:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
 .carousel{position:relative;}.carousel .carousel-inner{overflow:hidden;width:100%;position:relative;}
-.carousel .item{display:none;position:relative;-webkit-transition:0.25s linear left;-moz-transition:0.25s linear left;-ms-transition:0.25s linear left;-o-transition:0.25s linear left;transition:0.25s linear left;}
+.carousel .item{display:none;position:relative;-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;}
 .carousel .active,.carousel .next,.carousel .prev{display:block;}
 .carousel .next,.carousel .prev{position:absolute;top:0;width:100%;}
 .carousel .next{left:100%;}
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index 114d0f0c84..6ac3cb51f1 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -46,7 +46,7 @@ a.thumbnail:hover {
   .item {
     display: none;
     position: relative;
-    .transition(.25s linear left);
+    .transition(.6s ease-in-out left);
   }
 
   .active, .next, .prev { display: block; }
-- 
GitLab


From e89618a47f768eddf47164f89176e172b5c2972d Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 2 Jan 2012 22:55:51 -0800
Subject: [PATCH 178/576] clean up options implementation for carousel

---
 docs/javascript.html     | 59 +++++++++++++++++++++++++++-------------
 js/bootstrap-carousel.js | 31 ++++++++++++++++-----
 2 files changed, 64 insertions(+), 26 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 4d90dbcf1e..1cba7766f9 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -724,7 +724,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
           <h3>Events</h3>
           <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
-          <table class="zebra-striped">
+          <table class="bordered-table striped-table">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -1021,29 +1021,32 @@ $('#myCollapsible').on('hidden', function () {
         <div class="span9 columns">
           <h3>Using bootstrap-carousel.js</h3>
           <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
-            <h3>Markup</h3>
+          <h3>Options</h3>
+          <table class="bordered-table striped-table">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>interval</td>
+               <td>number</td>
+               <td>5000</td>
+               <td>The amount of type to delay between automatically cycling an item.</td>
+             </tr>
+            </tbody>
+          </table>
+          <h3>Markup</h3>
           <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
 &lt;div class="thumbnail carousel"&gt;
 
   &lt;!-- items --&gt;
-  &lt;div class="carousel-inner"&gt;
-    &lt;div class="item active"&gt;
-      &lt;img src="http://placehold.it/1100x350"&gt;
-      &lt;div class="caption"&gt;
-        &lt;h5&gt;Thumbnail label&lt;/h5&gt;
-        &lt;p&gt;Cras justo odio, dapibus ac facilisis in, egestas eget quam. &lt;/p&gt;
-      &lt;/div&gt;
-    &lt;/div&gt;
-
-    &lt;div class="item"&gt;
-      &lt;img src="http://placehold.it/1100x350"&gt;
-      &lt;div class="caption"&gt;
-        &lt;h5&gt;Thumbnail label&lt;/h5&gt;
-        &lt;p&gt;Donec id elit non mi porta gravida at eget metus.&lt;/p&gt;
-      &lt;/div&gt;
-    &lt;/div&gt;
-  &lt;/div&gt;
+  &lt;div class="carousel-inner"&gt;…&lt;/div&gt;
 
   &lt;!-- navigation --&gt;
   &lt;a class="nav" href="#myCarousel" data-slide="next"&gt;&amp;lt;&lt;/a&gt;
@@ -1051,6 +1054,21 @@ $('#myCollapsible').on('hidden', function () {
 
 &lt;/div&gt;
 </pre>
+<h3>Methods</h3>
+<h4>.carousel(options)</h4>
+<p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
+<pre class="prettyprint linenums">
+$('.myCarousel').carousel({
+  interval: 2000
+})</pre>
+<h4>.carousel('cycle')</h4>
+<p>Cycles through the carousel items from left to right.</p>
+<h4>.carousel('pause')</h4>
+<p>Stops the carousel from cycling through items.</p>
+<h4>.carousel('prev')</h4>
+<p>Cycles to the previous item.</p>
+<h4>.carousel('next')</h4>
+<p>Cycles to the next item.</p>
           <h3>Demo</h3>
 
           <!-- carousel -->
@@ -1143,6 +1161,9 @@ $('#myCollapsible').on('hidden', function () {
               btn.button('reset')
             }, 3000)
           })
+
+        // carousel demo
+        $('#myCarousel').carousel()
       })
     </script>
   </body>
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 2099b372cb..5e37b0f60e 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -25,35 +25,42 @@
  /* CAROUSEL CLASS DEFINITION
   * ========================= */
 
-  var Carousel = function (element) {
+  var Carousel = function (element, options) {
     this.$element = $(element)
+    this.options = $.extend({}, $.fn.carousel.defaults, options)
+    this.options.slide && this.slide(this.options.slide)
   }
 
   Carousel.prototype = {
 
     cycle: function () {
       this.interval = setInterval($.proxy(this.next, this), 5000)
+      return this
     }
 
   , pause: function () {
       clearInterval(this.interval)
+      return this
     }
 
   , next: function () {
-      this.slide('next')
+      return this.slide('next')
     }
 
   , prev: function () {
-      this.slide('prev')
+      return this.slide('prev')
     }
 
   , slide: function (type) {
       var $active = this.$element.find('.active')
         , $next = $active[type]()
+        , isCycling = this.interval
         , direction = type == 'next' ? 'left' : 'right'
         , fallback  = type == 'next' ? 'first' : 'last'
         , that = this
 
+      isCycling && this.pause()
+
       $next = $next.length ? $next : this.$element.find('.item')[fallback]()
 
       if (!$.support.transition && this.$element.hasClass('slide')) {
@@ -69,6 +76,10 @@
           $active.removeClass(['active', direction].join(' '))
         })
       }
+
+      isCycling && this.cycle()
+
+      return this
     }
 
   }
@@ -81,11 +92,17 @@
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('carousel')
-      if (!data) $this.data('carousel', (data = new Carousel(this)))
-      if (typeof option == 'string') data[option]()
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
+      if (typeof option == 'string' || (option = options.slide)) data[option]()
+      else data.cycle()
     })
   }
 
+  $.fn.carousel.defaults = {
+      interval: 5000
+  }
+
   $.fn.carousel.Constructor = Carousel
 
 
@@ -96,8 +113,8 @@
     $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
       var $this = $(this)
         , $target = $($this.attr('data-target') || $this.attr('href'))
-
-      $target.carousel($this.attr('data-slide'))
+        , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
+      $target.carousel(options)
     })
   })
 
-- 
GitLab


From 5661855be3da81f0a46bd99c7522a93f01706289 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 2 Jan 2012 22:57:04 -0800
Subject: [PATCH 179/576] actuall use interval option :P

---
 js/bootstrap-carousel.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 5e37b0f60e..fa5247c97e 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -34,7 +34,7 @@
   Carousel.prototype = {
 
     cycle: function () {
-      this.interval = setInterval($.proxy(this.next, this), 5000)
+      this.interval = setInterval($.proxy(this.next, this), this.options.interval)
       return this
     }
 
@@ -100,7 +100,7 @@
   }
 
   $.fn.carousel.defaults = {
-      interval: 5000
+    interval: 5000
   }
 
   $.fn.carousel.Constructor = Carousel
-- 
GitLab


From fb9401b355366452d310d39f51224999da4daa82 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 01:34:14 -0800
Subject: [PATCH 180/576] tweaks abound, updated prettify styles, new sidenav
 component started, sprite icons started

---
 bootstrap.css                                 | 330 +++++++++++++++++-
 bootstrap.min.css                             | 102 +++++-
 docs/assets/css/docs.css                      |  18 +
 .../img/glyphicons-halflings-sprite.png       | Bin 0 -> 9944 bytes
 .../js/google-code-prettify/prettify.css      |  41 +--
 docs/base-css.html                            | 152 ++++++++
 docs/components.html                          |  32 ++
 lib/bootstrap.less                            |   2 +
 lib/sidenav.less                              |  40 +++
 lib/sprites.less                              | 118 +++++++
 lib/tables.less                               |   5 +
 lib/type.less                                 |   2 +-
 12 files changed, 809 insertions(+), 33 deletions(-)
 create mode 100644 docs/assets/img/glyphicons-halflings-sprite.png
 create mode 100644 lib/sidenav.less
 create mode 100644 lib/sprites.less

diff --git a/bootstrap.css b/bootstrap.css
index 8e2ce41f3b..ade32d9ba5 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Dec 30 16:01:05 PST 2011
+ * Date: Thu Jan  5 01:33:17 PST 2012
  */
 html, body {
   margin: 0;
@@ -401,7 +401,7 @@ h6 {
   text-transform: uppercase;
 }
 ul, ol {
-  margin: 0 0 9px 25px;
+  margin: 13px 0 14px 25px;
 }
 ul ul,
 ul ol,
@@ -1025,6 +1025,9 @@ td {
 .bordered-table td + th {
   border-left: 1px solid #ddd;
 }
+.bordered-table thead:first-child tr:first-child th, .bordered-table tbody:first-child tr:first-child td {
+  border-top: 0;
+}
 .bordered-table thead:first-child tr:first-child th:first-child, .bordered-table tbody:first-child tr:first-child td:first-child {
   -webkit-border-radius: 4px 0 0 0;
   -moz-border-radius: 4px 0 0 0;
@@ -1820,6 +1823,285 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .label.notice {
   background-color: #62cffc;
 }
+i {
+  background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
+  background-position: 0 0;
+  background-repeat: no-repeat;
+  display: inline-block;
+  vertical-align: text-top;
+  width: 14px;
+  height: 14px;
+}
+.glass {
+  background-position: 0      0;
+}
+.music {
+  background-position: -24px 0;
+}
+.search {
+  background-position: -48px 0;
+}
+.envelope {
+  background-position: -72px 0;
+}
+.heart {
+  background-position: -96px 0;
+}
+.star {
+  background-position: -120px 0;
+}
+.star-empty {
+  background-position: -144px 0;
+}
+.user {
+  background-position: -168px 0;
+}
+.film {
+  background-position: -192px 0;
+}
+.th-large {
+  background-position: -216px 0;
+}
+.th {
+  background-position: -240px 0;
+}
+.th-lines {
+  background-position: -264px 0;
+}
+.ok {
+  background-position: -288px 0;
+}
+.remove {
+  background-position: -312px 0;
+}
+.zoom-in {
+  background-position: -336px 0;
+}
+.zoom-out {
+  background-position: -360px 0;
+}
+.off {
+  background-position: -384px 0;
+}
+.signal {
+  background-position: -408px 0;
+}
+.cog {
+  background-position: -432px 0;
+}
+.trash {
+  background-position: -456px 0;
+}
+.home {
+  background-position: 0 -24px;
+}
+.file {
+  background-position: -24px -24px;
+}
+.time {
+  background-position: -48px -24px;
+}
+.road {
+  background-position: -72px -24px;
+}
+.download-alt {
+  background-position: -96px -24px;
+}
+.download {
+  background-position: -120px -24px;
+}
+.upload {
+  background-position: -144px -24px;
+}
+.inbox {
+  background-position: -168px -24px;
+}
+.play-circle {
+  background-position: -192px -24px;
+}
+.repeat {
+  background-position: -216px -24px;
+}
+.refresh {
+  background-position: -240px -24px;
+}
+.calendar {
+  background-position: -264px -24px;
+}
+.lock {
+  background-position: -288px -24px;
+}
+.flag {
+  background-position: -312px -24px;
+}
+.headphones {
+  background-position: -336px -24px;
+}
+.volume-off {
+  background-position: -360px -24px;
+}
+.volume-down {
+  background-position: -384px -24px;
+}
+.volume-up {
+  background-position: -408px -24px;
+}
+.qrcode {
+  background-position: -432px -24px;
+}
+.barcode {
+  background-position: -456px -24px;
+}
+.tag {
+  background-position: 0 -48px;
+}
+.tags {
+  background-position: -24px -48px;
+}
+.book {
+  background-position: -48px -48px;
+}
+.bookmark {
+  background-position: -72px -48px;
+}
+.print {
+  background-position: -96px -48px;
+}
+.camera {
+  background-position: -120px -48px;
+}
+.font {
+  background-position: -144px -48px;
+}
+.bold {
+  background-position: -168px -48px;
+}
+.italic {
+  background-position: -192px -48px;
+}
+.text-height {
+  background-position: -216px -48px;
+}
+.text-width {
+  background-position: -240px -48px;
+}
+.align-left {
+  background-position: -264px -48px;
+}
+.align-center {
+  background-position: -288px -48px;
+}
+.align-right {
+  background-position: -312px -48px;
+}
+.align-justify {
+  background-position: -336px -48px;
+}
+.list {
+  background-position: -360px -48px;
+}
+.indent-left {
+  background-position: -384px -48px;
+}
+.indent-right {
+  background-position: -408px -48px;
+}
+.facetime-video {
+  background-position: -432px -48px;
+}
+.picture {
+  background-position: -456px -48px;
+}
+.pencil {
+  background-position: 0 -72px;
+}
+.map-marker {
+  background-position: -24px -72px;
+}
+.adjust {
+  background-position: -48px -72px;
+}
+.tint {
+  background-position: -72px -72px;
+}
+.edit {
+  background-position: -96px -72px;
+}
+.share {
+  background-position: -120px -72px;
+}
+.check {
+  background-position: -144px -72px;
+}
+.move {
+  background-position: -168px -72px;
+}
+.step-backward {
+  background-position: -192px -72px;
+}
+.fast-backward {
+  background-position: -216px -72px;
+}
+.backward {
+  background-position: -240px -72px;
+}
+.play {
+  background-position: -264px -72px;
+}
+.pause {
+  background-position: -288px -72px;
+}
+.stop {
+  background-position: -312px -72px;
+}
+.forward {
+  background-position: -336px -72px;
+}
+.fast-forward {
+  background-position: -360px -72px;
+}
+.step-forward {
+  background-position: -384px -72px;
+}
+.eject {
+  background-position: -408px -72px;
+}
+.chevron-left {
+  background-position: -432px -72px;
+}
+.chevron-right {
+  background-position: -456px -72px;
+}
+.arrow-left {
+  background-position: -240px -96px;
+}
+.arrow-right {
+  background-position: -264px -96px;
+}
+.arrow-up {
+  background-position: -288px -96px;
+}
+.arrow-down {
+  background-position: -312px -96px;
+}
+.share {
+  background-position: -336px -96px;
+}
+.resize-full {
+  background-position: -360px -96px;
+}
+.resize-small {
+  background-position: -384px -96px;
+}
+.plus {
+  background-position: -408px -96px;
+}
+.minus {
+  background-position: -432px -96px;
+}
+.asterisk {
+  background-position: -456px -96px;
+}
 .dropdown {
   position: relative;
 }
@@ -2538,6 +2820,50 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .popover .content p, .popover .content ul, .popover .content ol {
   margin-bottom: 0;
 }
+.side-nav {
+  padding: 9px 0;
+}
+.side-nav .nav-label, .side-nav .nav-item {
+  display: block;
+  padding: 3px 16px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+.side-nav .nav-label {
+  font-size: 11px;
+  line-height: 18px;
+  color: #404040;
+  text-transform: uppercase;
+}
+.side-nav .nav-group {
+  margin: 0 -1px;
+  list-style: none;
+}
+.side-nav .nav-item {
+  font-weight: bold;
+}
+.side-nav .nav-item i {
+  vertical-align: -2px;
+}
+.side-nav .nav-item:hover {
+  text-decoration: none;
+}
+.side-nav .active .nav-item {
+  color: #fff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
+  background-color: #aaaaaa;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));
+  background-image: -moz-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: -ms-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
+  background-image: -webkit-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: -o-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: linear-gradient(top, #cccccc, #aaaaaa);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
+}
 .thumbnails {
   margin-left: -20px;
   margin-bottom: 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 51e652bb95..65fd2649bc 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -69,7 +69,7 @@ h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
 h6{font-size:13px;line-height:18px;color:#bfbfbf;text-transform:uppercase;}
-ul,ol{margin:0 0 9px 25px;}
+ul,ol{margin:13px 0 14px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
@@ -167,6 +167,7 @@ th{font-weight:bold;vertical-align:bottom;}
 td{vertical-align:top;}
 .condensed-table th,.condensed-table td{padding:4px 5px;}
 .bordered-table{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td,.bordered-table td+th{border-left:1px solid #ddd;}
+.bordered-table thead:first-child tr:first-child th,.bordered-table tbody:first-child tr:first-child td{border-top:0;}
 .bordered-table thead:first-child tr:first-child th:first-child,.bordered-table 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;}
 .bordered-table thead:first-child tr:first-child th:last-child,.bordered-table 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;}
 .bordered-table thead:last-child tr:last-child th:first-child,.bordered-table 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;}
@@ -246,6 +247,97 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
+i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
+.glass{background-position:0 0;}
+.music{background-position:-24px 0;}
+.search{background-position:-48px 0;}
+.envelope{background-position:-72px 0;}
+.heart{background-position:-96px 0;}
+.star{background-position:-120px 0;}
+.star-empty{background-position:-144px 0;}
+.user{background-position:-168px 0;}
+.film{background-position:-192px 0;}
+.th-large{background-position:-216px 0;}
+.th{background-position:-240px 0;}
+.th-lines{background-position:-264px 0;}
+.ok{background-position:-288px 0;}
+.remove{background-position:-312px 0;}
+.zoom-in{background-position:-336px 0;}
+.zoom-out{background-position:-360px 0;}
+.off{background-position:-384px 0;}
+.signal{background-position:-408px 0;}
+.cog{background-position:-432px 0;}
+.trash{background-position:-456px 0;}
+.home{background-position:0 -24px;}
+.file{background-position:-24px -24px;}
+.time{background-position:-48px -24px;}
+.road{background-position:-72px -24px;}
+.download-alt{background-position:-96px -24px;}
+.download{background-position:-120px -24px;}
+.upload{background-position:-144px -24px;}
+.inbox{background-position:-168px -24px;}
+.play-circle{background-position:-192px -24px;}
+.repeat{background-position:-216px -24px;}
+.refresh{background-position:-240px -24px;}
+.calendar{background-position:-264px -24px;}
+.lock{background-position:-288px -24px;}
+.flag{background-position:-312px -24px;}
+.headphones{background-position:-336px -24px;}
+.volume-off{background-position:-360px -24px;}
+.volume-down{background-position:-384px -24px;}
+.volume-up{background-position:-408px -24px;}
+.qrcode{background-position:-432px -24px;}
+.barcode{background-position:-456px -24px;}
+.tag{background-position:0 -48px;}
+.tags{background-position:-24px -48px;}
+.book{background-position:-48px -48px;}
+.bookmark{background-position:-72px -48px;}
+.print{background-position:-96px -48px;}
+.camera{background-position:-120px -48px;}
+.font{background-position:-144px -48px;}
+.bold{background-position:-168px -48px;}
+.italic{background-position:-192px -48px;}
+.text-height{background-position:-216px -48px;}
+.text-width{background-position:-240px -48px;}
+.align-left{background-position:-264px -48px;}
+.align-center{background-position:-288px -48px;}
+.align-right{background-position:-312px -48px;}
+.align-justify{background-position:-336px -48px;}
+.list{background-position:-360px -48px;}
+.indent-left{background-position:-384px -48px;}
+.indent-right{background-position:-408px -48px;}
+.facetime-video{background-position:-432px -48px;}
+.picture{background-position:-456px -48px;}
+.pencil{background-position:0 -72px;}
+.map-marker{background-position:-24px -72px;}
+.adjust{background-position:-48px -72px;}
+.tint{background-position:-72px -72px;}
+.edit{background-position:-96px -72px;}
+.share{background-position:-120px -72px;}
+.check{background-position:-144px -72px;}
+.move{background-position:-168px -72px;}
+.step-backward{background-position:-192px -72px;}
+.fast-backward{background-position:-216px -72px;}
+.backward{background-position:-240px -72px;}
+.play{background-position:-264px -72px;}
+.pause{background-position:-288px -72px;}
+.stop{background-position:-312px -72px;}
+.forward{background-position:-336px -72px;}
+.fast-forward{background-position:-360px -72px;}
+.step-forward{background-position:-384px -72px;}
+.eject{background-position:-408px -72px;}
+.chevron-left{background-position:-432px -72px;}
+.chevron-right{background-position:-456px -72px;}
+.arrow-left{background-position:-240px -96px;}
+.arrow-right{background-position:-264px -96px;}
+.arrow-up{background-position:-288px -96px;}
+.arrow-down{background-position:-312px -96px;}
+.share{background-position:-336px -96px;}
+.resize-full{background-position:-360px -96px;}
+.resize-small{background-position:-384px -96px;}
+.plus{background-position:-408px -96px;}
+.minus{background-position:-432px -96px;}
+.asterisk{background-position:-456px -96px;}
 .dropdown{position:relative;}
 .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"&darr;";}
 .dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
@@ -335,6 +427,14 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
 .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;}
 .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;-webkit-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;}
+.side-nav{padding:9px 0;}
+.side-nav .nav-label,.side-nav .nav-item{display:block;padding:3px 16px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.side-nav .nav-label{font-size:11px;line-height:18px;color:#404040;text-transform:uppercase;}
+.side-nav .nav-group{margin:0 -1px;list-style:none;}
+.side-nav .nav-item{font-weight:bold;}
+.side-nav .nav-item i{vertical-align:-2px;}
+.side-nav .nav-item:hover{text-decoration:none;}
+.side-nav .active .nav-item{color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);background-color:#aaaaaa;background-image:-khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));background-image:-moz-linear-gradient(top, #cccccc, #aaaaaa);background-image:-ms-linear-gradient(top, #cccccc, #aaaaaa);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));background-image:-webkit-linear-gradient(top, #cccccc, #aaaaaa);background-image:-o-linear-gradient(top, #cccccc, #aaaaaa);background-image:linear-gradient(top, #cccccc, #aaaaaa);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);}
 .thumbnails{margin-left:-20px;margin-bottom:0;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 20px 20px;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index c2c92a2519..b218b465c5 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -330,6 +330,24 @@ h2 + table {
   position: relative;
 }
 
+/* Icons
+------------------------- */
+.the-icons {
+  
+}
+.the-icons i {
+  display: block;
+  margin-bottom: 5px;
+  background-color: rgba(255,0,0,.25);
+}
+.the-icons i:after {
+  display: block;
+  content: attr(class);
+  font-style: normal;
+  margin-left: 20px;
+  width: 100px;
+}
+
 
 /* Responsive Docs
 -------------------------------------------------- */
diff --git a/docs/assets/img/glyphicons-halflings-sprite.png b/docs/assets/img/glyphicons-halflings-sprite.png
new file mode 100644
index 0000000000000000000000000000000000000000..525acee6dc1ae5bbf86f5dbd3c4332366beadebc
GIT binary patch
literal 9944
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

literal 0
HcmV?d00001

diff --git a/docs/assets/js/google-code-prettify/prettify.css b/docs/assets/js/google-code-prettify/prettify.css
index da6b6e7e17..7ff618550a 100644
--- a/docs/assets/js/google-code-prettify/prettify.css
+++ b/docs/assets/js/google-code-prettify/prettify.css
@@ -2,40 +2,23 @@
 .lit { color: #195f91; }
 .pun, .opn, .clo { color: #93a1a1; }
 .fun { color: #dc322f; }
-.str, .atv { color: #268bd2; }
-.kwd, .tag { color: #195f91; }
-.typ, .atn, .dec, .var { color: #CB4B16; }
+.str, .atv { color: #62C462; }
+.kwd, .linenums .tag { color: #049CD9; }
+.typ, .atn, .dec, .var { color: #EE5F5B; }
 .pln { color: #93a1a1; }
 pre.prettyprint {
-  background: #fefbf3;
+  background-color: #fefbf3;
   padding: 9px;
-  border: 1px solid rgba(0,0,0,.2);
-  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1);
-  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1);
-  box-shadow: 0 1px 2px rgba(0,0,0,.1);
+  margin-bottom: 9px;
+}
+
+pre.prettyprint {
+  color: #ccc;
+  background-color: #252525;
 }
 
 /* Specify class=linenums on a pre to get line numbering */
 ol.linenums { margin: 0 0 0 40px; } /* IE indents via margin-left */
-ol.linenums li { color: rgba(0,0,0,.15); line-height: 20px; }
+ol.linenums li { color: #444; line-height: 18px; }
 /* Alternate shading for lines */
-li.L1, li.L3, li.L5, li.L7, li.L9 {  }
-
-/*
-$base03:    #002b36;
-$base02:    #073642;
-$base01:    #586e75;
-$base00:    #657b83;
-$base0:     #839496;
-$base1:     #93a1a1;
-$base2:     #eee8d5;
-$base3:     #fdf6e3;
-$yellow:    #b58900;
-$orange:    #cb4b16;
-$red:       #dc322f;
-$magenta:   #d33682;
-$violet:    #6c71c4;
-$blue:      #268bd2;
-$cyan:      #2aa198;
-$green:     #859900;
-*/
\ No newline at end of file
+li.L1, li.L3, li.L5, li.L7, li.L9 {  }
\ No newline at end of file
diff --git a/docs/base-css.html b/docs/base-css.html
index 2bc6f49fbb..c07263495c 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1175,6 +1175,158 @@ Form states
 </section>
 
 
+
+<!-- Icons
+================================================== -->
+<section id="icons">
+  <div class="page-header">
+    <h1>Icons <small>Graciously provided by <a href="http://glyphicons.com" target="_blank">Glyphicons</a></small></h1>
+  </div>
+  <div class="row">
+    <div class="span2">
+      <div class="the-icons">
+        <i class="glass"></i>
+        <i class="music"></i>
+        <i class="search"></i>
+        <i class="envelope"></i>
+        <i class="heart"></i>
+        <i class="star"></i>
+        <i class="star-empty"></i>
+        <i class="user"></i>
+        <i class="film"></i>
+        <i class="th-large"></i>
+        <i class="th"></i>
+        <i class="th-list"></i>
+        <i class="ok"></i>
+        <i class="remove"></i>
+        <i class="zoom-in"></i>
+        <i class="zoom-out"></i>
+        <i class="off"></i>
+        <i class="signal"></i>
+        <i class="cog"></i>
+        <i class="trash"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="home"></i>
+        <i class="file"></i>
+        <i class="time"></i>
+        <i class="road"></i>
+        <i class="download-alt"></i>
+        <i class="download"></i>
+        <i class="upload"></i>
+        <i class="inbox"></i>
+        <i class="play-circle"></i>
+        <i class="repeat"></i>
+        <i class="refresh"></i>
+        <i class="calendar"></i>
+        <i class="lock"></i>
+        <i class="flag"></i>
+        <i class="headphones"></i>
+        <i class="volume-off"></i>
+        <i class="volume-down"></i>
+        <i class="volume-up"></i>
+        <i class="qrcode"></i>
+        <i class="barcode"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="tag"></i>
+        <i class="tags"></i>
+        <i class="book"></i>
+        <i class="bookmark"></i>
+        <i class="print"></i>
+        <i class="camera"></i>
+        <i class="font"></i>
+        <i class="bold"></i>
+        <i class="italic"></i>
+        <i class="text-height"></i>
+        <i class="text-width"></i>
+        <i class="align-left"></i>
+        <i class="align-center"></i>
+        <i class="align-right"></i>
+        <i class="align-justify"></i>
+        <i class="list"></i>
+        <i class="indent-left"></i>
+        <i class="indent-right"></i>
+        <i class="facetime-video"></i>
+        <i class="picture"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="pencil"></i>
+        <i class="map-marker"></i>
+        <i class="adjust"></i>
+        <i class="tint"></i>
+        <i class="edit"></i>
+        <i class="share"></i>
+        <i class="check"></i>
+        <i class="move"></i>
+        <i class="step-backward"></i>
+        <i class="fast-backward"></i>
+        <i class="backward"></i>
+        <i class="play"></i>
+        <i class="pause"></i>
+        <i class="stop"></i>
+        <i class="forward"></i>
+        <i class="fast-forward"></i>
+        <i class="step-foward"></i>
+        <i class="eject"></i>
+        <i class="chevron-left"></i>
+        <i class="chevron-right"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="arrow-left"></i>
+        <i class="arrow-right"></i>
+        <i class="arrow-up"></i>
+        <i class="arrow-down"></i>
+        <i class="share"></i>
+        <i class="resize-full"></i>
+        <i class="resize-small"></i>
+        <i class="plus"></i>
+        <i class="minus"></i>
+        <i class="asterisk"></i>
+      </div>
+    </div>
+  </div>
+
+  <br>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Built as a sprite</h3>
+      <p>Instead of making every icon an extra request, we've compiled them into a sprite&mdash;a bunch of images in one file that uses CSS to position the images with <code>background-position</code>. This is the same method we use on Twitter.com and it has worked well for us.</p>
+      <p><a href="http://glyphicons.com" target="_blank">Glyphicons</a> has granted us use of the Halflings set in our open-source toolkit so long as we provide a link and credit. Please consider doing the same in your projects.</p>
+    </div>
+    <div class="span4">
+      <h3>How to use</h3>
+      <p>With v2.0.0, the <code>&lt;i&gt;</code> tag is essentially dedicated to iconography. To use the icons, you can place the follow code wherever you like one to appear:</p>
+<pre class="prettyprint">
+&lt;i class="chevron-left"&gt;&lt;/i&gt;
+</pre>
+      <p>There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right class and you're set. You can find the full list in sprites.less or right here in this document.</p>
+    </div>
+    <div class="span4">
+      <h3>Use cases</h3>
+      <p>Icons are great, but where would one use them? Here are a few ideas:</p>
+      <ul>
+        <li>As visuals for your sidebar navigation</li>
+        <li>For a purely icon-driven nav</li>
+        <li>For buttons to help convey the meaning of an action</li>
+        <li>With links to share context on a user's destination</li>
+      </ul>
+      <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.</p>
+    </div>
+  </div>
+</section>
+
+
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/docs/components.html b/docs/components.html
index fbfa9fb31e..d9d6b10d62 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -223,6 +223,38 @@
 
 
 
+<!-- Side nav
+================================================== -->
+<section id="sidenav">
+  <div class="page-header">
+    <h1>Side nav <small></small></h1>
+  </div>
+
+  <div class="well side-nav">
+    <h6 class="nav-label">Your account</h6>
+    <ul class="nav-group">
+      <li class="active"><a class="nav-item" href="#">Home</a></li>
+      <li><a class="nav-item" href="#">Library</a></li>
+      <li><a class="nav-item" href="#">Profile</a></li>
+      <li><a class="nav-item" href="#">Settings</a></li>
+      <li><a class="nav-item" href="#">Help</a></li>
+    </ul>
+  </div>
+
+  <div class="well side-nav">
+    <h6 class="nav-label">Your account</h6>
+    <ul class="nav-group">
+      <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
+      <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
+      <li><a class="nav-item" href="#"><i class="user"></i> Profile</a></li>
+      <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
+      <li><a class="nav-item" href="#"><i class="time"></i> Help</a></li>
+    </ul>
+  </div>
+</section>
+
+
+
 <!-- Navbar
 ================================================== -->
 <section id="navbar">
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index e05a966add..8b821825c7 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -27,6 +27,7 @@
 // Temp catchall for what's missing thus far
 @import "patterns.less";
 
+@import "sprites.less";
 @import "dropdowns.less";
 @import "tabs-pills.less";
 @import "breadcrumbs.less";
@@ -34,6 +35,7 @@
 @import "modals.less";
 @import "twipsy.less";
 @import "popovers.less";
+@import "sidenav.less";
 @import "thumbnails.less";
 
 // Responsive
diff --git a/lib/sidenav.less b/lib/sidenav.less
new file mode 100644
index 0000000000..afc5ea1ddf
--- /dev/null
+++ b/lib/sidenav.less
@@ -0,0 +1,40 @@
+// SIDE NAV
+// --------
+
+
+.side-nav {
+  padding: @baseLineHeight / 2 0;
+}
+.side-nav .nav-label,
+.side-nav .nav-item {
+  display: block;
+  padding: 3px 16px;
+  text-shadow: 0 1px 0 rgba(255,255,255,.5);
+}
+.side-nav .nav-label {
+  font-size: 11px;
+  line-height: @baseLineHeight;
+  color: @grayDark;
+  text-transform: uppercase;
+}
+.side-nav .nav-group {
+  margin: 0 -1px;
+  list-style: none;
+}
+
+.side-nav .nav-item {
+  font-weight: bold;
+}
+.side-nav .nav-item i {
+  vertical-align: -2px;
+}
+.side-nav .nav-item:hover {
+  text-decoration: none;
+}
+.side-nav .active .nav-item {
+  color: #fff;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.3);
+  #gradient > .vertical(#ccc, #aaa);
+  @shadow: inset 0 1px 0 rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.05);
+  .box-shadow(@shadow);
+}
\ No newline at end of file
diff --git a/lib/sprites.less b/lib/sprites.less
new file mode 100644
index 0000000000..8b5bcd5a5f
--- /dev/null
+++ b/lib/sprites.less
@@ -0,0 +1,118 @@
+// SPRITES
+// Glyphs and icons for buttons, nav, and more
+// -------------------------------------------
+
+
+// ICONS
+// -----
+
+// As of v2.0.0, the <i> tag is reserved for icons from the Glyphicons set.
+// All icons receive the styles of the <i> tag and are then given a unique
+// class to add width, height, and background-position. Your resulting HTML
+// will look like <i class="inbox"></i>.
+
+i {
+  background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
+  background-position: 0 0;
+  background-repeat: no-repeat;
+  display: inline-block;
+  vertical-align: text-top;
+  width: 14px;
+  height: 14px;
+}
+
+.glass              { background-position: 0      0; }
+.music              { background-position: -24px  0; }
+.search             { background-position: -48px  0; }
+.envelope           { background-position: -72px  0; }
+.heart              { background-position: -96px  0; }
+.star               { background-position: -120px 0; }
+.star-empty         { background-position: -144px 0; }
+.user               { background-position: -168px 0; }
+.film               { background-position: -192px 0; }
+.th-large           { background-position: -216px 0; }
+.th                 { background-position: -240px 0; }
+.th-lines           { background-position: -264px 0; }
+.ok                 { background-position: -288px 0; }
+.remove             { background-position: -312px 0; }
+.zoom-in            { background-position: -336px 0; }
+.zoom-out           { background-position: -360px 0; }
+.off                { background-position: -384px 0; }
+.signal             { background-position: -408px 0; }
+.cog                { background-position: -432px 0; }
+.trash              { background-position: -456px 0; }
+
+.home               { background-position: 0      -24px; }
+.file               { background-position: -24px  -24px; }
+.time               { background-position: -48px  -24px; }
+.road               { background-position: -72px  -24px; }
+.download-alt       { background-position: -96px  -24px; }
+.download           { background-position: -120px -24px; }
+.upload             { background-position: -144px -24px; }
+.inbox              { background-position: -168px -24px; }
+.play-circle        { background-position: -192px -24px; }
+.repeat             { background-position: -216px -24px; }
+.refresh            { background-position: -240px -24px; }
+.calendar           { background-position: -264px -24px; }
+.lock               { background-position: -288px -24px; }
+.flag               { background-position: -312px -24px; }
+.headphones         { background-position: -336px -24px; }
+.volume-off         { background-position: -360px -24px; }
+.volume-down        { background-position: -384px -24px; }
+.volume-up          { background-position: -408px -24px; }
+.qrcode             { background-position: -432px -24px; }
+.barcode            { background-position: -456px -24px; }
+
+.tag                { background-position: 0      -48px; }
+.tags               { background-position: -24px  -48px; }
+.book               { background-position: -48px  -48px; }
+.bookmark           { background-position: -72px  -48px; }
+.print              { background-position: -96px  -48px; }
+.camera             { background-position: -120px -48px; }
+.font               { background-position: -144px -48px; }
+.bold               { background-position: -168px -48px; }
+.italic             { background-position: -192px -48px; }
+.text-height        { background-position: -216px -48px; }
+.text-width         { background-position: -240px -48px; }
+.align-left         { background-position: -264px -48px; }
+.align-center       { background-position: -288px -48px; }
+.align-right        { background-position: -312px -48px; }
+.align-justify      { background-position: -336px -48px; }
+.list               { background-position: -360px -48px; }
+.indent-left        { background-position: -384px -48px; }
+.indent-right       { background-position: -408px -48px; }
+.facetime-video     { background-position: -432px -48px; }
+.picture            { background-position: -456px -48px; }
+
+.pencil             { background-position: 0      -72px; }
+.map-marker         { background-position: -24px  -72px; }
+.adjust             { background-position: -48px  -72px; }
+.tint               { background-position: -72px  -72px; }
+.edit               { background-position: -96px  -72px; }
+.share              { background-position: -120px -72px; }
+.check              { background-position: -144px -72px; }
+.move               { background-position: -168px -72px; }
+.step-backward      { background-position: -192px -72px; }
+.fast-backward      { background-position: -216px -72px; }
+.backward           { background-position: -240px -72px; }
+.play               { background-position: -264px -72px; }
+.pause              { background-position: -288px -72px; }
+.stop               { background-position: -312px -72px; }
+.forward            { background-position: -336px -72px; }
+.fast-forward       { background-position: -360px -72px; }
+.step-forward       { background-position: -384px -72px; }
+.eject              { background-position: -408px -72px; }
+.chevron-left       { background-position: -432px -72px; }
+.chevron-right      { background-position: -456px -72px; }
+
+.arrow-left         { background-position: -240px -96px; }
+.arrow-right        { background-position: -264px -96px; }
+.arrow-up           { background-position: -288px -96px; }
+.arrow-down         { background-position: -312px -96px; }
+.share              { background-position: -336px -96px; }
+.resize-full        { background-position: -360px -96px; }
+.resize-small       { background-position: -384px -96px; }
+.plus               { background-position: -408px -96px; }
+.minus              { background-position: -432px -96px; }
+.asterisk           { background-position: -456px -96px; }
+
diff --git a/lib/tables.less b/lib/tables.less
index 1643705620..e1c9ed53bc 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -52,6 +52,11 @@ td {
   td + th {
     border-left: 1px solid #ddd;
   }
+  // Prevent a double border
+  thead:first-child tr:first-child th,
+  tbody:first-child tr:first-child td {
+    border-top: 0;
+  }
   // 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 {
diff --git a/lib/type.less b/lib/type.less
index b2ba73b867..cc446a69d5 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -74,7 +74,7 @@ h6 {
 
 // Unordered and Ordered lists
 ul, ol {
-  margin: 0 0 @baseLineHeight / 2 25px;
+  margin: 13px 0 14px 25px;
 }
 ul ul,
 ul ol,
-- 
GitLab


From a13ab64870f40a67ffd85532c30620f8001d0822 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 01:36:05 -0800
Subject: [PATCH 181/576] add a quick little example of icons in buttons

---
 docs/base-css.html | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/base-css.html b/docs/base-css.html
index c07263495c..37fa97ba85 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1323,6 +1323,9 @@ Form states
       <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.</p>
     </div>
   </div>
+
+  <h3>Examples</h3>
+  <p><a class="btn" href="#"><i class="check"></i> Button</a></p>
 </section>
 
 
-- 
GitLab


From 20add59de3f2b69aaa9c9b325dab20b13c75eaa1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 10:01:42 -0800
Subject: [PATCH 182/576] breaking out patterns.less even more, removing
 unnecessary div from checkbox and radio lists--now just labels and inputs

---
 bootstrap.css                 | 2675 ++++++++++++++++-----------------
 bootstrap.min.css             |  219 ++-
 docs/assets/css/docs.css      |    2 +-
 docs/base-css.html            |   72 +-
 docs/components.html          |   46 +-
 lib/alerts.less               |   83 +
 lib/bootstrap.less            |   24 +-
 lib/button-groups.less        |   65 +
 lib/buttons.less              |  119 ++
 lib/close.less                |   17 +
 lib/component-animations.less |   18 +
 lib/forms.less                |    3 +-
 lib/labels.less               |   16 +
 lib/navbar.less               |  206 +++
 lib/patterns.less             |  565 -------
 lib/scaffolding.less          |    2 +-
 lib/variables.less            |   10 +-
 lib/wells.less                |   17 +
 18 files changed, 2054 insertions(+), 2105 deletions(-)
 create mode 100644 lib/alerts.less
 create mode 100644 lib/button-groups.less
 create mode 100644 lib/buttons.less
 create mode 100644 lib/close.less
 create mode 100644 lib/component-animations.less
 create mode 100644 lib/labels.less
 create mode 100644 lib/navbar.less
 create mode 100644 lib/wells.less

diff --git a/bootstrap.css b/bootstrap.css
index f9f174c3d5..55706e2a3c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 01:36:56 PST 2012
+ * Date: Thu Jan  5 10:00:31 PST 2012
  */
 html, body {
   margin: 0;
@@ -175,7 +175,7 @@ body {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   line-height: 18px;
-  color: #404040;
+  color: #555555;
   background-color: #ffffff;
 }
 .container {
@@ -228,11 +228,11 @@ body {
 a {
   font-weight: inherit;
   line-height: inherit;
-  color: #0069d6;
+  color: #0088cc;
   text-decoration: none;
 }
 a:hover {
-  color: #00438a;
+  color: #005580;
   text-decoration: underline;
 }
 .pull-right {
@@ -342,7 +342,7 @@ p {
 }
 p small {
   font-size: 11px;
-  color: #bfbfbf;
+  color: #999999;
 }
 h1,
 h2,
@@ -351,7 +351,7 @@ h4,
 h5,
 h6 {
   font-weight: bold;
-  color: #404040;
+  color: #333333;
   text-rendering: optimizelegibility;
 }
 h1 small,
@@ -360,7 +360,7 @@ h3 small,
 h4 small,
 h5 small,
 h6 small {
-  color: #bfbfbf;
+  color: #999999;
 }
 h1 {
   font-size: 30px;
@@ -397,7 +397,7 @@ h5 {
 h6 {
   font-size: 13px;
   line-height: 18px;
-  color: #bfbfbf;
+  color: #999999;
   text-transform: uppercase;
 }
 ul, ol {
@@ -417,7 +417,7 @@ ol {
 }
 li {
   line-height: 18px;
-  color: #404040;
+  color: #333333;
 }
 ul.unstyled {
   margin-left: 0;
@@ -451,7 +451,7 @@ em {
   line-height: inherit;
 }
 .muted {
-  color: #bfbfbf;
+  color: #999999;
 }
 abbr {
   font-size: 90%;
@@ -473,7 +473,7 @@ blockquote p {
 blockquote small {
   display: block;
   line-height: 18px;
-  color: #bfbfbf;
+  color: #999999;
 }
 blockquote small:before {
   content: '\2014 \00A0';
@@ -493,7 +493,7 @@ code, pre {
   padding: 0 3px 2px;
   font-family: Menlo, Monaco, "Courier New", monospace;
   font-size: 12px;
-  color: #404040;
+  color: #333333;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
@@ -534,7 +534,7 @@ legend {
   margin-bottom: 27px;
   font-size: 19.5px;
   line-height: 36px;
-  color: #404040;
+  color: #333333;
   border-bottom: 1px solid #eee;
 }
 label,
@@ -549,7 +549,7 @@ textarea {
 label {
   display: block;
   margin-bottom: 5px;
-  color: #404040;
+  color: #333333;
 }
 input,
 textarea,
@@ -561,7 +561,7 @@ select,
   padding: 4px;
   font-size: 13px;
   line-height: 18px;
-  color: #808080;
+  color: #555555;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
@@ -881,15 +881,15 @@ textarea[readonly] {
   cursor: not-allowed;
 }
 :-moz-placeholder {
-  color: #bfbfbf;
+  color: #999999;
 }
 ::-webkit-input-placeholder {
-  color: #bfbfbf;
+  color: #999999;
 }
 .help-text {
   margin-top: 5px;
   margin-bottom: 0;
-  color: #bfbfbf;
+  color: #999999;
 }
 .help-inline {
   *position: relative;
@@ -935,7 +935,7 @@ textarea[readonly] {
   padding: 4px 4px 4px 5px;
   font-weight: normal;
   line-height: 18px;
-  color: #bfbfbf;
+  color: #999999;
   text-align: center;
   text-shadow: 0 1px 0 #ffffff;
   background-color: #f5f5f5;
@@ -986,7 +986,7 @@ textarea[readonly] {
 .horizontal-form .controls {
   margin-left: 150px;
 }
-.horizontal-form .control-list {
+.horizontal-form .controls > .radio:first-child, .horizontal-form .controls > .checkbox:first-child {
   padding-top: 6px;
 }
 .horizontal-form .form-actions {
@@ -1183,580 +1183,382 @@ table {
     background-color: lighten(@purple, 40%);
   }
 }*/
-.navbar {
-  overflow: visible;
+i {
+  background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
+  background-position: 0 0;
+  background-repeat: no-repeat;
+  display: inline-block;
+  vertical-align: text-top;
+  width: 14px;
+  height: 14px;
 }
-.navbar-inner {
-  background-color: #222222;
-  background-color: #222222;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
-  background-image: -moz-linear-gradient(top, #333333, #222222);
-  background-image: -ms-linear-gradient(top, #333333, #222222);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);
-  -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);
+.glass {
+  background-position: 0      0;
 }
-.navbar .brand a:hover, .navbar ul .active > a {
-  color: #ffffff;
-  text-decoration: none;
-  background-color: #333333;
-  background-color: rgba(255, 255, 255, 0.05);
+.music {
+  background-position: -24px 0;
 }
-.navbar .brand {
-  float: left;
-  display: block;
-  padding: 8px 20px 12px;
-  margin-left: -20px;
-  font-size: 20px;
-  font-weight: 200;
-  line-height: 1;
-  color: #ffffff;
+.search {
+  background-position: -48px 0;
 }
-.navbar p {
-  margin: 0;
-  line-height: 40px;
+.envelope {
+  background-position: -72px 0;
 }
-.navbar p a:hover {
-  color: #ffffff;
-  background-color: transparent;
+.heart {
+  background-position: -96px 0;
 }
-.navbar .btn {
-  margin-top: 5px;
+.star {
+  background-position: -120px 0;
 }
-.navbar-search {
-  position: relative;
-  float: left;
-  margin-top: 6px;
-  margin-bottom: 0;
+.star-empty {
+  background-position: -144px 0;
 }
-.navbar-search .search-query {
-  padding: 4px 9px;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
-  font-weight: normal;
-  line-height: 1;
-  color: #ffffff;
-  color: rgba(255, 255, 255, 0.75);
-  background-color: #444;
-  background-color: rgba(255, 255, 255, 0.3);
-  border: 1px solid #111;
-  -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-transition: none;
-  -moz-transition: none;
-  -ms-transition: none;
-  -o-transition: none;
-  transition: none;
+.user {
+  background-position: -168px 0;
 }
-.navbar-search .search-query:-moz-placeholder {
-  color: #e6e6e6;
+.film {
+  background-position: -192px 0;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
-  color: #e6e6e6;
+.th-large {
+  background-position: -216px 0;
 }
-.navbar-search .search-query:hover {
-  color: #ffffff;
-  background-color: #bfbfbf;
-  background-color: rgba(255, 255, 255, 0.5);
+.th {
+  background-position: -240px 0;
 }
-.navbar-search .search-query:focus, .navbar-search .search-query.focused {
-  padding: 5px 10px;
-  color: #404040;
-  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;
+.th-lines {
+  background-position: -264px 0;
 }
-.navbar-static {
-  margin-bottom: 18px;
+.ok {
+  background-position: -288px 0;
 }
-.navbar-static .navbar-inner {
-  padding-left: 20px;
-  padding-right: 20px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+.remove {
+  background-position: -312px 0;
 }
-.navbar-fixed {
-  position: fixed;
-  top: 0;
-  right: 0;
-  left: 0;
-  z-index: 10000;
+.zoom-in {
+  background-position: -336px 0;
 }
-.nav {
-  position: relative;
-  left: 0;
-  display: block;
-  float: left;
-  margin: 0 10px 0 0;
+.zoom-out {
+  background-position: -360px 0;
 }
-.nav > li {
-  display: block;
-  float: left;
+.off {
+  background-position: -384px 0;
 }
-.nav a {
-  display: block;
-  float: none;
-  padding: 10px 10px 11px;
-  line-height: 19px;
-  color: #bfbfbf;
-  text-decoration: none;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+.signal {
+  background-position: -408px 0;
 }
-.nav a:hover {
-  color: #ffffff;
-  text-decoration: none;
+.cog {
+  background-position: -432px 0;
 }
-.nav .active > a {
-  background-color: #222;
-  background-color: rgba(0, 0, 0, 0.5);
+.trash {
+  background-position: -456px 0;
 }
-.nav .divider {
-  height: 40px;
-  width: 1px;
-  margin: 0 5px;
-  overflow: hidden;
-  background-color: #222;
-  border-right: 1px solid #444;
+.home {
+  background-position: 0 -24px;
 }
-.nav.secondary-nav {
-  float: right;
-  margin-left: 10px;
-  margin-right: 0;
+.file {
+  background-position: -24px -24px;
 }
-.nav.secondary-nav .dropdown-menu {
-  right: 0;
-  border: 0;
+.time {
+  background-position: -48px -24px;
 }
-.nav .dropdown-toggle:hover, .nav .dropdown.open .dropdown-toggle {
-  background: #444;
-  background: rgba(255, 255, 255, 0.05);
+.road {
+  background-position: -72px -24px;
 }
-.nav .dropdown-menu {
-  background-color: #333;
+.download-alt {
+  background-position: -96px -24px;
 }
-.nav .dropdown-menu .dropdown-toggle {
-  color: #ffffff;
+.download {
+  background-position: -120px -24px;
 }
-.nav .dropdown-menu .dropdown-toggle.open {
-  background: #444;
-  background: rgba(255, 255, 255, 0.05);
+.upload {
+  background-position: -144px -24px;
 }
-.nav .dropdown-menu li a {
-  color: #999;
-  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+.inbox {
+  background-position: -168px -24px;
 }
-.nav .dropdown-menu li a:hover {
-  background-color: #191919;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));
-  background-image: -moz-linear-gradient(top, #292929, #191919);
-  background-image: -ms-linear-gradient(top, #292929, #191919);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));
-  background-image: -webkit-linear-gradient(top, #292929, #191919);
-  background-image: -o-linear-gradient(top, #292929, #191919);
-  background-image: linear-gradient(top, #292929, #191919);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);
-  color: #ffffff;
+.play-circle {
+  background-position: -192px -24px;
 }
-.nav .dropdown-menu .active a {
-  color: #ffffff;
+.repeat {
+  background-position: -216px -24px;
 }
-.nav .dropdown-menu .divider {
-  background-color: #222;
-  border-color: #444;
+.refresh {
+  background-position: -240px -24px;
 }
-.topbar ul .dropdown-menu li a {
-  padding: 4px 15px;
+.calendar {
+  background-position: -264px -24px;
 }
-.hero-unit {
-  padding: 60px;
-  margin-bottom: 30px;
-  background-color: #f5f5f5;
-  -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+.lock {
+  background-position: -288px -24px;
 }
-.hero-unit h1 {
-  margin-bottom: 0;
-  font-size: 60px;
-  line-height: 1;
-  letter-spacing: -1px;
+.flag {
+  background-position: -312px -24px;
 }
-.hero-unit p {
-  font-size: 18px;
-  font-weight: 200;
-  line-height: 27px;
+.headphones {
+  background-position: -336px -24px;
 }
-footer {
-  padding-top: 17px;
-  margin-top: 17px;
-  border-top: 1px solid #eee;
+.volume-off {
+  background-position: -360px -24px;
 }
-.page-header {
-  margin-bottom: 27px;
-  border-bottom: 1px solid #eee;
-  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+.volume-down {
+  background-position: -384px -24px;
 }
-.page-header h1 {
-  margin-bottom: 13.5px;
+.volume-up {
+  background-position: -408px -24px;
 }
-.btn.danger,
-.alert-message.danger,
-.btn.danger:hover,
-.alert-message.danger:hover,
-.btn.error,
-.alert-message.error,
-.btn.error:hover,
-.alert-message.error:hover,
-.btn.success,
-.alert-message.success,
-.btn.success:hover,
-.alert-message.success:hover,
-.btn.info,
-.alert-message.info,
-.btn.info:hover,
-.alert-message.info:hover {
-  color: #ffffff;
-}
-.btn.danger,
-.alert-message.danger,
-.btn.error,
-.alert-message.error {
-  background-color: #c43c35;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
-  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);
-  border-color: #c43c35 #c43c35 #882a25;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+.qrcode {
+  background-position: -432px -24px;
 }
-.btn.success, .alert-message.success {
-  background-color: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  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);
-  border-color: #57a957 #57a957 #3d773d;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+.barcode {
+  background-position: -456px -24px;
 }
-.btn.info, .alert-message.info {
-  background-color: #339bb9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
-  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);
-  border-color: #339bb9 #339bb9 #22697d;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+.tag {
+  background-position: 0 -48px;
 }
-.btn {
-  display: inline-block;
-  padding: 5px 14px 6px;
-  font-size: 13px;
-  line-height: normal;
-  color: #333;
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-  background-color: #e6e6e6;
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
-  background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
-  background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
-  background-repeat: no-repeat;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
-  border: 1px solid #ccc;
-  border-bottom-color: #bbb;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  -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;
-  -webkit-transition: 0.1s linear all;
-  -moz-transition: 0.1s linear all;
-  -ms-transition: 0.1s linear all;
-  -o-transition: 0.1s linear all;
-  transition: 0.1s linear all;
+.tags {
+  background-position: -24px -48px;
 }
-.btn:hover {
-  color: #404040;
-  text-decoration: none;
-  background-position: 0 -15px;
+.book {
+  background-position: -48px -48px;
 }
-.btn:focus {
-  outline: 1px dotted #666;
+.bookmark {
+  background-position: -72px -48px;
 }
-.btn.primary {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0064cd;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
-  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
-  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
-  background-image: linear-gradient(top, #049cdb, #0064cd);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
-  border-color: #0064cd #0064cd #003f81;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+.print {
+  background-position: -96px -48px;
 }
-.btn.active, .btn:active {
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+.camera {
+  background-position: -120px -48px;
 }
-.btn.disabled {
-  cursor: default;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  filter: alpha(opacity=65);
-  -moz-opacity: 0.65;
-  opacity: 0.65;
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
+.font {
+  background-position: -144px -48px;
 }
-.btn[disabled] {
-  cursor: default;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  filter: alpha(opacity=65);
-  -moz-opacity: 0.65;
-  opacity: 0.65;
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
+.bold {
+  background-position: -168px -48px;
 }
-.btn.large {
-  padding: 9px 14px 9px;
-  font-size: 15px;
-  line-height: normal;
-  -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+.italic {
+  background-position: -192px -48px;
 }
-.btn.small {
-  padding: 7px 9px 7px;
-  font-size: 11px;
+.text-height {
+  background-position: -216px -48px;
 }
-:root .alert-message, :root .btn {
-  border-radius: 0 \0;
+.text-width {
+  background-position: -240px -48px;
 }
-button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
-  padding: 0;
-  border: 0;
+.align-left {
+  background-position: -264px -48px;
 }
-.btn-toolbar {
-  zoom: 1;
+.align-center {
+  background-position: -288px -48px;
 }
-.btn-toolbar:before, .btn-toolbar:after {
-  display: table;
-  *display: inline;
-  content: "";
-  zoom: 1;
+.align-right {
+  background-position: -312px -48px;
 }
-.btn-toolbar:after {
-  clear: both;
+.align-justify {
+  background-position: -336px -48px;
 }
-.btn-toolbar .btn-group {
-  float: left;
-  margin-right: 10px;
+.list {
+  background-position: -360px -48px;
 }
-.btn-group {
-  zoom: 1;
+.indent-left {
+  background-position: -384px -48px;
 }
-.btn-group:before, .btn-group:after {
-  display: table;
-  *display: inline;
-  content: "";
-  zoom: 1;
+.indent-right {
+  background-position: -408px -48px;
 }
-.btn-group:after {
-  clear: both;
+.facetime-video {
+  background-position: -432px -48px;
 }
-.btn-group .btn {
-  position: relative;
-  float: left;
-  margin-left: -1px;
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
+.picture {
+  background-position: -456px -48px;
 }
-.btn-group .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;
-  -moz-border-radius-bottomleft: 4px;
-  border-bottom-left-radius: 4px;
+.pencil {
+  background-position: 0 -72px;
 }
-.btn-group .btn:last-child {
-  -webkit-border-top-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  border-top-right-radius: 4px;
-  -webkit-border-bottom-right-radius: 4px;
-  -moz-border-radius-bottomright: 4px;
-  border-bottom-right-radius: 4px;
+.map-marker {
+  background-position: -24px -72px;
 }
-.btn-group .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;
-  -moz-border-radius-bottomleft: 6px;
-  border-bottom-left-radius: 6px;
+.adjust {
+  background-position: -48px -72px;
 }
-.btn-group .btn.large:last-child {
-  -webkit-border-top-right-radius: 6px;
-  -moz-border-radius-topright: 6px;
-  border-top-right-radius: 6px;
-  -webkit-border-bottom-right-radius: 6px;
-  -moz-border-radius-bottomright: 6px;
-  border-bottom-right-radius: 6px;
+.tint {
+  background-position: -72px -72px;
 }
-.btn-group .btn:hover, .btn-group .btn:focus, .btn-group .btn:active {
-  z-index: 2;
+.edit {
+  background-position: -96px -72px;
 }
-.close {
-  float: right;
-  font-size: 20px;
-  font-weight: bold;
-  line-height: 13.5px;
-  color: #000000;
-  text-shadow: 0 1px 0 #ffffff;
-  filter: alpha(opacity=20);
-  -moz-opacity: 0.2;
-  opacity: 0.2;
+.share {
+  background-position: -120px -72px;
 }
-.close:hover {
-  color: #000000;
-  text-decoration: none;
-  filter: alpha(opacity=40);
-  -moz-opacity: 0.4;
-  opacity: 0.4;
+.check {
+  background-position: -144px -72px;
 }
-.alert-message {
-  position: relative;
-  padding: 7px 15px;
-  margin-bottom: 18px;
-  color: #404040;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  background-color: #eedc94;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
-  background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
-  background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
-  background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
-  background-image: -o-linear-gradient(top, #fceec1, #eedc94);
-  background-image: linear-gradient(top, #fceec1, #eedc94);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
-  border-color: #eedc94 #eedc94 #e4c652;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  border-width: 1px;
-  border-style: solid;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+.move {
+  background-position: -168px -72px;
 }
-.alert-message .close {
-  *margin-top: 3px;
-  /* IE7 spacing */
-
+.step-backward {
+  background-position: -192px -72px;
 }
-.alert-message h5 {
-  line-height: 18px;
+.fast-backward {
+  background-position: -216px -72px;
 }
-.alert-message p {
-  margin-bottom: 0;
+.backward {
+  background-position: -240px -72px;
 }
-.alert-message div {
-  margin-top: 5px;
-  margin-bottom: 2px;
-  line-height: 28px;
+.play {
+  background-position: -264px -72px;
 }
-.alert-message .btn {
-  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
-  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
+.pause {
+  background-position: -288px -72px;
 }
-.alert-message.error, .alert-message.success, .alert-message.info {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+.stop {
+  background-position: -312px -72px;
 }
-.alert-message.block-message {
-  padding: 14px;
-  background-image: none;
-  background-color: #fdf5d9;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  border-color: #fceec1;
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
+.forward {
+  background-position: -336px -72px;
 }
-.alert-message.block-message ul, .alert-message.block-message p {
-  margin-right: 30px;
+.fast-forward {
+  background-position: -360px -72px;
 }
-.alert-message.block-message ul {
-  margin-bottom: 0;
+.step-forward {
+  background-position: -384px -72px;
 }
-.alert-message.block-message li {
-  color: #404040;
+.eject {
+  background-position: -408px -72px;
 }
-.alert-message.block-message .alert-actions {
-  margin-top: 5px;
+.chevron-left {
+  background-position: -432px -72px;
 }
-.alert-message.block-message.error, .alert-message.block-message.success, .alert-message.block-message.info {
-  color: #404040;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+.chevron-right {
+  background-position: -456px -72px;
 }
-.alert-message.block-message.error {
-  background-color: #fddfde;
-  border-color: #fbc7c6;
+.arrow-left {
+  background-position: -240px -96px;
 }
-.alert-message.block-message.success {
-  background-color: #d1eed1;
-  border-color: #bfe7bf;
+.arrow-right {
+  background-position: -264px -96px;
 }
-.alert-message.block-message.info {
-  background-color: #ddf4fb;
-  border-color: #c6edf9;
+.arrow-up {
+  background-position: -288px -96px;
+}
+.arrow-down {
+  background-position: -312px -96px;
+}
+.share {
+  background-position: -336px -96px;
+}
+.resize-full {
+  background-position: -360px -96px;
+}
+.resize-small {
+  background-position: -384px -96px;
+}
+.plus {
+  background-position: -408px -96px;
+}
+.minus {
+  background-position: -432px -96px;
+}
+.asterisk {
+  background-position: -456px -96px;
+}
+.dropdown {
+  position: relative;
+}
+.dropdown-toggle:after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-top: 8px;
+  margin-left: 6px;
+  text-indent: -99999px;
+  vertical-align: top;
+  border-left: 4px solid transparent;
+  border-right: 4px solid transparent;
+  border-top: 4px solid #ffffff;
+  filter: alpha(opacity=30);
+  -moz-opacity: 0.3;
+  opacity: 0.3;
+  content: "&darr;";
+}
+.dropdown:hover .dropdown-toggle:after {
+  filter: alpha(opacity=100);
+  -moz-opacity: 1;
+  opacity: 1;
+}
+.dropdown-menu {
+  position: absolute;
+  top: 40px;
+  z-index: 900;
+  float: left;
+  display: none;
+  min-width: 160px;
+  max-width: 220px;
+  _width: 160px;
+  padding: 6px 0;
+  margin-left: 0;
+  margin-right: 0;
+  background-color: #ffffff;
+  border-color: #999;
+  border-color: rgba(0, 0, 0, 0.2);
+  border-style: solid;
+  border-width: 0 1px 1px;
+  -webkit-border-radius: 0 0 6px 6px;
+  -moz-border-radius: 0 0 6px 6px;
+  border-radius: 0 0 6px 6px;
+  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
+  zoom: 1;
+}
+.dropdown-menu li {
+  float: none;
+  display: block;
+  background-color: none;
+}
+.dropdown-menu .divider {
+  height: 1px;
+  margin: 5px 0;
+  overflow: hidden;
+  background-color: #eee;
+  border-bottom: 1px solid #ffffff;
+}
+.topbar .dropdown-menu a, .dropdown-menu a {
+  display: block;
+  padding: 4px 15px;
+  clear: both;
+  font-weight: normal;
+  line-height: 18px;
+  color: #555555;
+  text-shadow: 0 1px 0 #ffffff;
+}
+.topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
+  color: #333333;
+  text-decoration: none;
+  background-color: #dddddd;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
+  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: -ms-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));
+  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
+  background-image: linear-gradient(top, #eeeeee, #dddddd);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+}
+.dropdown.open .dropdown-toggle {
+  color: #ffffff;
+  background: #ccc;
+  background: rgba(0, 0, 0, 0.3);
+}
+.dropdown.open .dropdown-menu {
+  display: block;
 }
 .well {
   min-height: 20px;
@@ -1800,1071 +1602,1209 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .collapse.in {
   height: auto;
 }
-.label {
-  padding: 1px 3px 2px;
-  font-size: 9.75px;
+.close {
+  float: right;
+  font-size: 20px;
   font-weight: bold;
-  color: #ffffff;
-  text-transform: uppercase;
-  background-color: #bfbfbf;
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
-}
-.label.important {
-  background-color: #c43c35;
-}
-.label.warning {
-  background-color: #f89406;
-}
-.label.success {
-  background-color: #46a546;
+  line-height: 13.5px;
+  color: #000000;
+  text-shadow: 0 1px 0 #ffffff;
+  filter: alpha(opacity=20);
+  -moz-opacity: 0.2;
+  opacity: 0.2;
 }
-.label.notice {
-  background-color: #62cffc;
+.close:hover {
+  color: #000000;
+  text-decoration: none;
+  filter: alpha(opacity=40);
+  -moz-opacity: 0.4;
+  opacity: 0.4;
 }
-i {
-  background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
-  background-position: 0 0;
-  background-repeat: no-repeat;
-  display: inline-block;
-  vertical-align: text-top;
-  width: 14px;
-  height: 14px;
+.navbar {
+  overflow: visible;
 }
-.glass {
-  background-position: 0      0;
+.navbar-inner {
+  background-color: #222222;
+  background-color: #222222;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);
+  -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);
 }
-.music {
-  background-position: -24px 0;
+.navbar .brand a:hover, .navbar ul .active > a {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #333333;
+  background-color: rgba(255, 255, 255, 0.05);
 }
-.search {
-  background-position: -48px 0;
+.navbar .brand {
+  float: left;
+  display: block;
+  padding: 8px 20px 12px;
+  margin-left: -20px;
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 1;
+  color: #ffffff;
 }
-.envelope {
-  background-position: -72px 0;
+.navbar p {
+  margin: 0;
+  line-height: 40px;
 }
-.heart {
-  background-position: -96px 0;
+.navbar p a:hover {
+  color: #ffffff;
+  background-color: transparent;
 }
-.star {
-  background-position: -120px 0;
+.navbar .btn {
+  margin-top: 5px;
 }
-.star-empty {
-  background-position: -144px 0;
+.navbar-search {
+  position: relative;
+  float: left;
+  margin-top: 6px;
+  margin-bottom: 0;
 }
-.user {
-  background-position: -168px 0;
+.navbar-search .search-query {
+  padding: 4px 9px;
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  font-weight: normal;
+  line-height: 1;
+  color: #ffffff;
+  color: rgba(255, 255, 255, 0.75);
+  background-color: #444;
+  background-color: rgba(255, 255, 255, 0.3);
+  border: 1px solid #111;
+  -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-transition: none;
+  -moz-transition: none;
+  -ms-transition: none;
+  -o-transition: none;
+  transition: none;
 }
-.film {
-  background-position: -192px 0;
+.navbar-search .search-query:-moz-placeholder {
+  color: #eeeeee;
 }
-.th-large {
-  background-position: -216px 0;
+.navbar-search .search-query::-webkit-input-placeholder {
+  color: #eeeeee;
 }
-.th {
-  background-position: -240px 0;
+.navbar-search .search-query:hover {
+  color: #ffffff;
+  background-color: #999999;
+  background-color: rgba(255, 255, 255, 0.5);
 }
-.th-lines {
-  background-position: -264px 0;
+.navbar-search .search-query:focus, .navbar-search .search-query.focused {
+  padding: 5px 10px;
+  color: #333333;
+  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;
 }
-.ok {
-  background-position: -288px 0;
+.navbar-static {
+  margin-bottom: 18px;
 }
-.remove {
-  background-position: -312px 0;
+.navbar-static .navbar-inner {
+  padding-left: 20px;
+  padding-right: 20px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
 }
-.zoom-in {
-  background-position: -336px 0;
+.navbar-fixed {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 10000;
 }
-.zoom-out {
-  background-position: -360px 0;
+.nav {
+  position: relative;
+  left: 0;
+  display: block;
+  float: left;
+  margin: 0 10px 0 0;
 }
-.off {
-  background-position: -384px 0;
+.nav > li {
+  display: block;
+  float: left;
 }
-.signal {
-  background-position: -408px 0;
+.nav a {
+  display: block;
+  float: none;
+  padding: 10px 10px 11px;
+  line-height: 19px;
+  color: #999999;
+  text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
-.cog {
-  background-position: -432px 0;
+.nav a:hover {
+  color: #ffffff;
+  text-decoration: none;
 }
-.trash {
-  background-position: -456px 0;
+.nav .active > a {
+  background-color: #222;
+  background-color: rgba(0, 0, 0, 0.5);
 }
-.home {
-  background-position: 0 -24px;
+.nav .divider {
+  height: 40px;
+  width: 1px;
+  margin: 0 5px;
+  overflow: hidden;
+  background-color: #222;
+  border-right: 1px solid #444;
 }
-.file {
-  background-position: -24px -24px;
+.nav.secondary-nav {
+  float: right;
+  margin-left: 10px;
+  margin-right: 0;
 }
-.time {
-  background-position: -48px -24px;
+.nav.secondary-nav .dropdown-menu {
+  right: 0;
+  border: 0;
 }
-.road {
-  background-position: -72px -24px;
+.nav .dropdown-toggle:hover, .nav .dropdown.open .dropdown-toggle {
+  background: #444;
+  background: rgba(255, 255, 255, 0.05);
 }
-.download-alt {
-  background-position: -96px -24px;
+.nav .dropdown-menu {
+  background-color: #333;
 }
-.download {
-  background-position: -120px -24px;
+.nav .dropdown-menu .dropdown-toggle {
+  color: #ffffff;
 }
-.upload {
-  background-position: -144px -24px;
+.nav .dropdown-menu .dropdown-toggle.open {
+  background: #444;
+  background: rgba(255, 255, 255, 0.05);
 }
-.inbox {
-  background-position: -168px -24px;
+.nav .dropdown-menu li a {
+  color: #999;
+  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
 }
-.play-circle {
-  background-position: -192px -24px;
+.nav .dropdown-menu li a:hover {
+  background-color: #191919;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));
+  background-image: -moz-linear-gradient(top, #292929, #191919);
+  background-image: -ms-linear-gradient(top, #292929, #191919);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));
+  background-image: -webkit-linear-gradient(top, #292929, #191919);
+  background-image: -o-linear-gradient(top, #292929, #191919);
+  background-image: linear-gradient(top, #292929, #191919);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);
+  color: #ffffff;
 }
-.repeat {
-  background-position: -216px -24px;
+.nav .dropdown-menu .active a {
+  color: #ffffff;
 }
-.refresh {
-  background-position: -240px -24px;
+.nav .dropdown-menu .divider {
+  background-color: #222;
+  border-color: #444;
 }
-.calendar {
-  background-position: -264px -24px;
+.tabs, .pills {
+  padding: 0;
+  margin: 0 0 20px;
+  list-style: none;
+  zoom: 1;
 }
-.lock {
-  background-position: -288px -24px;
+.tabs:before,
+.pills:before,
+.tabs:after,
+.pills:after {
+  display: table;
+  *display: inline;
+  content: "";
+  zoom: 1;
 }
-.flag {
-  background-position: -312px -24px;
+.tabs:after, .pills:after {
+  clear: both;
 }
-.headphones {
-  background-position: -336px -24px;
+.tabs > li, .pills > li {
+  float: left;
 }
-.volume-off {
-  background-position: -360px -24px;
+.tabs > li > a, .pills > li > a {
+  display: block;
 }
-.volume-down {
-  background-position: -384px -24px;
+.tabs {
+  border-color: #ddd;
+  border-style: solid;
+  border-width: 0 0 1px;
 }
-.volume-up {
-  background-position: -408px -24px;
+.tabs > li {
+  position: relative;
+  margin-bottom: -1px;
 }
-.qrcode {
-  background-position: -432px -24px;
+.tabs > li > a {
+  padding: 0 15px;
+  margin-right: 2px;
+  line-height: 36px;
+  border: 1px solid transparent;
+  -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
+  border-radius: 4px 4px 0 0;
 }
-.barcode {
-  background-position: -456px -24px;
+.tabs > li > a:hover {
+  text-decoration: none;
+  background-color: #eee;
+  border-color: #eee #eee #ddd;
 }
-.tag {
-  background-position: 0 -48px;
+.tabs .active > a, .tabs .active > a:hover {
+  color: #555555;
+  background-color: #ffffff;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+  cursor: default;
 }
-.tags {
-  background-position: -24px -48px;
+.tabbable {
+  margin-bottom: 18px;
 }
-.book {
-  background-position: -48px -48px;
+.tabbable .tabs {
+  margin-bottom: 0;
+  border-bottom: 0;
 }
-.bookmark {
-  background-position: -72px -48px;
+.tabbable .tab-content {
+  padding: 19px;
+  border: 1px solid #ddd;
 }
-.print {
-  background-position: -96px -48px;
+.tabbable.tabs-bottom .tabs > li {
+  margin-top: -1px;
+  margin-bottom: 0;
 }
-.camera {
-  background-position: -120px -48px;
+.tabbable.tabs-bottom .tabs > li > a {
+  -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
+  border-radius: 0 0 4px 4px;
 }
-.font {
-  background-position: -144px -48px;
+.tabbable.tabs-bottom .tabs > li > a:hover {
+  border-bottom-color: transparent;
+  border-top-color: #ddd;
 }
-.bold {
-  background-position: -168px -48px;
+.tabbable.tabs-bottom .tabs > .active > a, .tabbable.tabs-bottom .tabs > .active > a:hover {
+  border-color: transparent #ddd #ddd #ddd;
 }
-.italic {
-  background-position: -192px -48px;
+.tabbable.tabs-left, .tabbable.tabs-right {
+  zoom: 1;
 }
-.text-height {
-  background-position: -216px -48px;
+.tabbable.tabs-left:before,
+.tabbable.tabs-right:before,
+.tabbable.tabs-left:after,
+.tabbable.tabs-right:after {
+  display: table;
+  *display: inline;
+  content: "";
+  zoom: 1;
 }
-.text-width {
-  background-position: -240px -48px;
+.tabbable.tabs-left:after, .tabbable.tabs-right:after {
+  clear: both;
 }
-.align-left {
-  background-position: -264px -48px;
+.tabbable.tabs-left .tabs, .tabbable.tabs-right .tabs {
+  width: 100px;
 }
-.align-center {
-  background-position: -288px -48px;
+.tabbable.tabs-left .tabs > li, .tabbable.tabs-right .tabs > li {
+  float: none;
+  margin-bottom: -1px;
 }
-.align-right {
-  background-position: -312px -48px;
+.tabbable.tabs-left .tabs > li > a, .tabbable.tabs-right .tabs > li > a {
+  margin-bottom: 2px;
 }
-.align-justify {
-  background-position: -336px -48px;
+.tabbable.tabs-left .tabs > li > a:hover, .tabbable.tabs-right .tabs > li > a:hover {
+  border-color: transparent;
 }
-.list {
-  background-position: -360px -48px;
+.tabbable.tabs-left .tab-content {
+  margin-left: 100px;
 }
-.indent-left {
-  background-position: -384px -48px;
+.tabbable.tabs-left .tabs {
+  float: left;
 }
-.indent-right {
-  background-position: -408px -48px;
+.tabbable.tabs-left .tabs > li {
+  margin-right: -1px;
 }
-.facetime-video {
-  background-position: -432px -48px;
+.tabbable.tabs-left .tabs > li > a {
+  margin-right: 0;
+  -webkit-border-radius: 4px 0 0 4px;
+  -moz-border-radius: 4px 0 0 4px;
+  border-radius: 4px 0 0 4px;
 }
-.picture {
-  background-position: -456px -48px;
+.tabbable.tabs-left .tabs > li > a:hover {
+  border-right-color: #ddd;
 }
-.pencil {
-  background-position: 0 -72px;
+.tabbable.tabs-left .tabs .active > a, .tabbable.tabs-left .tabs .active > a:hover {
+  border-color: #ddd;
+  border-right-color: transparent;
 }
-.map-marker {
-  background-position: -24px -72px;
+.tabbable.tabs-right .tab-content {
+  margin-right: 100px;
 }
-.adjust {
-  background-position: -48px -72px;
+.tabbable.tabs-right .tabs {
+  float: right;
 }
-.tint {
-  background-position: -72px -72px;
+.tabbable.tabs-right .tabs > li {
+  margin-left: -1px;
 }
-.edit {
-  background-position: -96px -72px;
+.tabbable.tabs-right .tabs > li > a {
+  margin-left: 0;
+  -webkit-border-radius: 0 4px 4px 0;
+  -moz-border-radius: 0 4px 4px 0;
+  border-radius: 0 4px 4px 0;
 }
-.share {
-  background-position: -120px -72px;
+.tabbable.tabs-right .tabs > li > a:hover {
+  border-left-color: #ddd;
 }
-.check {
-  background-position: -144px -72px;
+.tabbable.tabs-right .tabs .active > a, .tabbable.tabs-right .tabs .active > a:hover {
+  border-color: #ddd;
+  border-left-color: transparent;
 }
-.move {
-  background-position: -168px -72px;
+.tabs .menu-dropdown, .tabs .dropdown-menu {
+  top: 35px;
+  border-width: 1px;
+  -webkit-border-radius: 0 6px 6px 6px;
+  -moz-border-radius: 0 6px 6px 6px;
+  border-radius: 0 6px 6px 6px;
 }
-.step-backward {
-  background-position: -192px -72px;
+.tabs a.menu:after, .tabs .dropdown-toggle:after {
+  border-top-color: #999;
+  margin-top: 15px;
+  margin-left: 5px;
 }
-.fast-backward {
-  background-position: -216px -72px;
+.tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
+  border-color: #999;
 }
-.backward {
-  background-position: -240px -72px;
+.tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
+  border-top-color: #555;
 }
-.play {
-  background-position: -264px -72px;
+.pills > li > a {
+  padding: 0 15px;
+  margin: 5px 3px 5px 0;
+  line-height: 30px;
+  text-shadow: 0 1px 1px #ffffff;
+  -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
 }
-.pause {
-  background-position: -288px -72px;
+.pills > li > a:hover {
+  color: #ffffff;
+  text-decoration: none;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  background-color: #005580;
 }
-.stop {
-  background-position: -312px -72px;
+.pills .active > a {
+  color: #ffffff;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  background-color: #0088cc;
 }
-.forward {
-  background-position: -336px -72px;
+.pills-vertical > li {
+  float: none;
 }
-.fast-forward {
-  background-position: -360px -72px;
+.tab-content > .tab-pane, .pill-content > .pill-pane {
+  display: none;
 }
-.step-forward {
-  background-position: -384px -72px;
+.tab-content > .active, .pill-content > .active {
+  display: block;
 }
-.eject {
-  background-position: -408px -72px;
+.step-nav {
+  position: relative;
+  margin: 0 0 18px;
+  list-style: none;
+  line-height: 30px;
+  text-align: center;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
 }
-.chevron-left {
-  background-position: -432px -72px;
+.step-nav li {
+  display: inline;
+  color: #999999;
 }
-.chevron-right {
-  background-position: -456px -72px;
+.step-nav .prev, .step-nav .next {
+  position: absolute;
+  top: 6px;
 }
-.arrow-left {
-  background-position: -240px -96px;
-}
-.arrow-right {
-  background-position: -264px -96px;
+.step-nav .prev {
+  left: 15px;
 }
-.arrow-up {
-  background-position: -288px -96px;
+.step-nav .next {
+  right: 15px;
 }
-.arrow-down {
-  background-position: -312px -96px;
+.step-nav .dot {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  margin: 0 3px;
+  text-indent: -999em;
+  background-color: #999999;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
 }
-.share {
-  background-position: -336px -96px;
+.step-nav .dot:hover, .step-nav .active .dot {
+  background-color: #333333;
 }
-.resize-full {
-  background-position: -360px -96px;
+.subnav {
+  background-color: #eeeeee;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));
+  background-image: -moz-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: -ms-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: -o-linear-gradient(top, #f5f5f5, #eeeeee);
+  background-image: linear-gradient(top, #f5f5f5, #eeeeee);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
+  -moz-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
+  box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
 }
-.resize-small {
-  background-position: -384px -96px;
+.subnav a {
+  padding: 8px 10px;
+  font-size: 12px;
+  color: #0088cc;
+  text-shadow: 0 1px 0 #fff;
+  border-left: 1px solid #f9f9f9;
+  border-right: 1px solid #e5e5e5;
 }
-.plus {
-  background-position: -408px -96px;
+.subnav a:hover {
+  color: #005580;
+  background-color: #eee;
 }
-.minus {
-  background-position: -432px -96px;
+.subnav li:first-child a {
+  border-left: 0;
+  -webkit-border-radius: 6px 0 0 6px;
+  -moz-border-radius: 6px 0 0 6px;
+  border-radius: 6px 0 0 6px;
 }
-.asterisk {
-  background-position: -456px -96px;
+.subnav li:last-child a {
+  border-right: 0;
+  -webkit-border-radius: 0 6px 6px 0;
+  -moz-border-radius: 0 6px 6px 0;
+  border-radius: 0 6px 6px 0;
 }
-.dropdown {
-  position: relative;
+.subnav ul .active > a {
+  color: #333333;
+  background-color: #eee;
 }
-.dropdown-toggle:after {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-top: 8px;
-  margin-left: 6px;
-  text-indent: -99999px;
-  vertical-align: top;
-  border-left: 4px solid transparent;
-  border-right: 4px solid transparent;
-  border-top: 4px solid #ffffff;
-  filter: alpha(opacity=30);
-  -moz-opacity: 0.3;
-  opacity: 0.3;
-  content: "&darr;";
+.side-nav {
+  padding: 9px 0;
 }
-.dropdown:hover .dropdown-toggle:after {
-  filter: alpha(opacity=100);
-  -moz-opacity: 1;
-  opacity: 1;
+.side-nav .nav-label, .side-nav .nav-item {
+  display: block;
+  padding: 3px 16px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
-.dropdown-menu {
-  position: absolute;
-  top: 40px;
-  z-index: 900;
-  float: left;
-  display: none;
-  min-width: 160px;
-  max-width: 220px;
-  _width: 160px;
-  padding: 6px 0;
-  margin-left: 0;
-  margin-right: 0;
-  background-color: #ffffff;
-  border-color: #999;
-  border-color: rgba(0, 0, 0, 0.2);
-  border-style: solid;
-  border-width: 0 1px 1px;
-  -webkit-border-radius: 0 0 6px 6px;
-  -moz-border-radius: 0 0 6px 6px;
-  border-radius: 0 0 6px 6px;
-  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding-box;
-  background-clip: padding-box;
-  zoom: 1;
+.side-nav .nav-label {
+  font-size: 11px;
+  line-height: 18px;
+  color: #333333;
+  text-transform: uppercase;
 }
-.dropdown-menu li {
-  float: none;
-  display: block;
-  background-color: none;
+.side-nav .nav-group {
+  margin: 0 -1px;
+  list-style: none;
 }
-.dropdown-menu .divider {
-  height: 1px;
-  margin: 5px 0;
-  overflow: hidden;
-  background-color: #eee;
-  border-bottom: 1px solid #ffffff;
+.side-nav .nav-item {
+  font-weight: bold;
 }
-.topbar .dropdown-menu a, .dropdown-menu a {
-  display: block;
-  padding: 4px 15px;
-  clear: both;
-  font-weight: normal;
-  line-height: 18px;
-  color: #808080;
-  text-shadow: 0 1px 0 #ffffff;
+.side-nav .nav-item i {
+  vertical-align: -2px;
 }
-.topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
-  color: #404040;
+.side-nav .nav-item:hover {
   text-decoration: none;
-  background-color: #dddddd;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
-  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -ms-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));
-  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: linear-gradient(top, #eeeeee, #dddddd);
+}
+.side-nav .active .nav-item {
+  color: #fff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
+  background-color: #aaaaaa;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));
+  background-image: -moz-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: -ms-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
+  background-image: -webkit-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: -o-linear-gradient(top, #cccccc, #aaaaaa);
+  background-image: linear-gradient(top, #cccccc, #aaaaaa);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
-  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
-  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
 }
-.dropdown.open .dropdown-toggle {
-  color: #ffffff;
-  background: #ccc;
-  background: rgba(0, 0, 0, 0.3);
+.breadcrumb {
+  padding: 7px 14px;
+  margin: 0 0 18px;
+  background-color: #f5f5f5;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
+  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
+  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+  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;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff;
+  -moz-box-shadow: inset 0 1px 0 #ffffff;
+  box-shadow: inset 0 1px 0 #ffffff;
 }
-.dropdown.open .dropdown-menu {
-  display: block;
+.breadcrumb li {
+  display: inline;
+  text-shadow: 0 1px 0 #ffffff;
 }
-.tabs, .pills {
-  padding: 0;
-  margin: 0 0 20px;
-  list-style: none;
-  zoom: 1;
+.breadcrumb .divider {
+  padding: 0 5px;
+  color: #999999;
 }
-.tabs:before,
-.pills:before,
-.tabs:after,
-.pills:after {
-  display: table;
-  *display: inline;
-  content: "";
-  zoom: 1;
+.breadcrumb .active a {
+  color: #333333;
 }
-.tabs:after, .pills:after {
-  clear: both;
+.pagination {
+  height: 36px;
+  margin: 18px 0;
 }
-.tabs > li, .pills > li {
-  float: left;
+.pagination ul {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
+  margin: 0;
+  border: 1px solid #ddd;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+  -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);
 }
-.tabs > li > a, .pills > li > a {
-  display: block;
+.pagination li {
+  display: inline;
 }
-.tabs {
-  border-color: #ddd;
-  border-style: solid;
-  border-width: 0 0 1px;
+.pagination a {
+  float: left;
+  padding: 0 14px;
+  line-height: 34px;
+  text-decoration: none;
+  border-right: 1px solid;
+  border-right-color: #ddd;
+  border-right-color: rgba(0, 0, 0, 0.15);
+  *border-right-color: #ddd;
+  /* IE6-7 */
+
 }
-.tabs > li {
-  position: relative;
-  margin-bottom: -1px;
+.pagination a:hover, .pagination .active a {
+  background-color: #c7eefe;
 }
-.tabs > li > a {
-  padding: 0 15px;
-  margin-right: 2px;
-  line-height: 36px;
-  border: 1px solid transparent;
-  -webkit-border-radius: 4px 4px 0 0;
-  -moz-border-radius: 4px 4px 0 0;
-  border-radius: 4px 4px 0 0;
+.pagination .disabled a, .pagination .disabled a:hover {
+  color: #999999;
+  background-color: transparent;
 }
-.tabs > li > a:hover {
-  text-decoration: none;
-  background-color: #eee;
-  border-color: #eee #eee #ddd;
+.pagination .next a {
+  border: 0;
 }
-.tabs .active > a, .tabs .active > a:hover {
-  color: #808080;
-  background-color: #ffffff;
-  border: 1px solid #ddd;
-  border-bottom-color: transparent;
-  cursor: default;
+.pagination.centered {
+  text-align: center;
 }
-.tabbable {
-  margin-bottom: 18px;
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 10000;
+  background-color: #000000;
 }
-.tabbable .tabs {
-  margin-bottom: 0;
-  border-bottom: 0;
+.modal-backdrop.fade {
+  opacity: 0;
 }
-.tabbable .tab-content {
-  padding: 19px;
-  border: 1px solid #ddd;
+.modal-backdrop, .modal-backdrop.fade.in {
+  filter: alpha(opacity=80);
+  -moz-opacity: 0.8;
+  opacity: 0.8;
 }
-.tabbable.tabs-bottom .tabs > li {
-  margin-top: -1px;
-  margin-bottom: 0;
+.modal {
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  z-index: 11000;
+  max-height: 500px;
+  overflow: auto;
+  width: 560px;
+  margin: -250px 0 0 -250px;
+  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;
+  -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);
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
 }
-.tabbable.tabs-bottom .tabs > li > a {
-  -webkit-border-radius: 0 0 4px 4px;
-  -moz-border-radius: 0 0 4px 4px;
-  border-radius: 0 0 4px 4px;
+.modal .close {
+  margin-top: 7px;
 }
-.tabbable.tabs-bottom .tabs > li > a:hover {
-  border-bottom-color: transparent;
-  border-top-color: #ddd;
+.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%;
 }
-.tabbable.tabs-bottom .tabs > .active > a, .tabbable.tabs-bottom .tabs > .active > a:hover {
-  border-color: transparent #ddd #ddd #ddd;
+.modal.fade.in {
+  top: 50%;
 }
-.tabbable.tabs-left, .tabbable.tabs-right {
+.modal-header {
+  padding: 5px 15px;
+  border-bottom: 1px solid #eee;
+}
+.modal-body {
+  padding: 15px;
+}
+.modal-footer {
+  padding: 14px 15px 15px;
+  margin-bottom: 0;
+  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;
   zoom: 1;
 }
-.tabbable.tabs-left:before,
-.tabbable.tabs-right:before,
-.tabbable.tabs-left:after,
-.tabbable.tabs-right:after {
+.modal-footer:before, .modal-footer:after {
   display: table;
   *display: inline;
   content: "";
   zoom: 1;
 }
-.tabbable.tabs-left:after, .tabbable.tabs-right:after {
+.modal-footer:after {
   clear: both;
 }
-.tabbable.tabs-left .tabs, .tabbable.tabs-right .tabs {
-  width: 100px;
-}
-.tabbable.tabs-left .tabs > li, .tabbable.tabs-right .tabs > li {
-  float: none;
-  margin-bottom: -1px;
+.modal-footer .btn {
+  float: right;
+  margin-left: 5px;
 }
-.tabbable.tabs-left .tabs > li > a, .tabbable.tabs-right .tabs > li > a {
-  margin-bottom: 2px;
+.twipsy {
+  position: absolute;
+  z-index: 1000;
+  display: block;
+  visibility: visible;
+  padding: 5px;
+  font-size: 11px;
+  filter: alpha(opacity=0);
+  -moz-opacity: 0;
+  opacity: 0;
 }
-.tabbable.tabs-left .tabs > li > a:hover, .tabbable.tabs-right .tabs > li > a:hover {
-  border-color: transparent;
+.twipsy.in {
+  filter: alpha(opacity=80);
+  -moz-opacity: 0.8;
+  opacity: 0.8;
 }
-.tabbable.tabs-left .tab-content {
-  margin-left: 100px;
+.twipsy.top {
+  margin-top: -2px;
 }
-.tabbable.tabs-left .tabs {
-  float: left;
+.twipsy.right {
+  margin-left: 2px;
 }
-.tabbable.tabs-left .tabs > li {
-  margin-right: -1px;
+.twipsy.bottom {
+  margin-top: 2px;
 }
-.tabbable.tabs-left .tabs > li > a {
-  margin-right: 0;
-  -webkit-border-radius: 4px 0 0 4px;
-  -moz-border-radius: 4px 0 0 4px;
-  border-radius: 4px 0 0 4px;
+.twipsy.left {
+  margin-left: -2px;
 }
-.tabbable.tabs-left .tabs > li > a:hover {
-  border-right-color: #ddd;
+.twipsy.top .twipsy-arrow {
+  bottom: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid #000000;
 }
-.tabbable.tabs-left .tabs .active > a, .tabbable.tabs-left .tabs .active > a:hover {
-  border-color: #ddd;
-  border-right-color: transparent;
+.twipsy.left .twipsy-arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-left: 5px solid #000000;
 }
-.tabbable.tabs-right .tab-content {
-  margin-right: 100px;
+.twipsy.bottom .twipsy-arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid #000000;
 }
-.tabbable.tabs-right .tabs {
-  float: right;
+.twipsy.right .twipsy-arrow {
+  top: 50%;
+  left: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-right: 5px solid #000000;
 }
-.tabbable.tabs-right .tabs > li {
-  margin-left: -1px;
+.twipsy-inner {
+  max-width: 200px;
+  padding: 3px 8px;
+  color: white;
+  text-align: center;
+  text-decoration: none;
+  background-color: #000000;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
 }
-.tabbable.tabs-right .tabs > li > a {
-  margin-left: 0;
-  -webkit-border-radius: 0 4px 4px 0;
-  -moz-border-radius: 0 4px 4px 0;
-  border-radius: 0 4px 4px 0;
+.twipsy-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
 }
-.tabbable.tabs-right .tabs > li > a:hover {
-  border-left-color: #ddd;
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  padding: 5px;
 }
-.tabbable.tabs-right .tabs .active > a, .tabbable.tabs-right .tabs .active > a:hover {
-  border-color: #ddd;
-  border-left-color: transparent;
+.popover.top {
+  margin-top: -5px;
 }
-.tabs .menu-dropdown, .tabs .dropdown-menu {
-  top: 35px;
-  border-width: 1px;
-  -webkit-border-radius: 0 6px 6px 6px;
-  -moz-border-radius: 0 6px 6px 6px;
-  border-radius: 0 6px 6px 6px;
-}
-.tabs a.menu:after, .tabs .dropdown-toggle:after {
-  border-top-color: #999;
-  margin-top: 15px;
+.popover.right {
   margin-left: 5px;
 }
-.tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
-  border-color: #999;
+.popover.bottom {
+  margin-top: 5px;
 }
-.tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
-  border-top-color: #555;
+.popover.left {
+  margin-left: -5px;
 }
-.pills > li > a {
-  padding: 0 15px;
-  margin: 5px 3px 5px 0;
-  line-height: 30px;
-  text-shadow: 0 1px 1px #ffffff;
-  -webkit-border-radius: 15px;
-  -moz-border-radius: 15px;
-  border-radius: 15px;
+.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;
 }
-.pills > li > a:hover {
-  color: #ffffff;
-  text-decoration: none;
-  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-  background-color: #00438a;
+.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;
 }
-.pills .active > a {
-  color: #ffffff;
-  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-  background-color: #0069d6;
+.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;
 }
-.pills-vertical > li {
-  float: none;
+.popover.left .arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-left: 5px solid #000000;
 }
-.tab-content > .tab-pane, .pill-content > .pill-pane {
-  display: none;
+.popover .arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
 }
-.tab-content > .active, .pill-content > .active {
-  display: block;
+.popover .inner {
+  padding: 3px;
+  width: 280px;
+  overflow: hidden;
+  background-color: #000000;
+  background-color: rgba(0, 0, 0, 0.8);
+  -webkit-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);
 }
-.step-nav {
-  position: relative;
-  margin: 0 0 18px;
-  list-style: none;
-  line-height: 30px;
-  text-align: center;
+.popover .title {
+  padding: 9px 15px;
+  line-height: 1;
   background-color: #f5f5f5;
-  -webkit-border-radius: 15px;
-  -moz-border-radius: 15px;
-  border-radius: 15px;
-}
-.step-nav li {
-  display: inline;
-  color: #bfbfbf;
-}
-.step-nav .prev, .step-nav .next {
-  position: absolute;
-  top: 6px;
-}
-.step-nav .prev {
-  left: 15px;
+  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;
 }
-.step-nav .next {
-  right: 15px;
+.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;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
 }
-.step-nav .dot {
-  display: inline-block;
-  width: 10px;
-  height: 10px;
-  margin: 0 3px;
-  text-indent: -999em;
-  background-color: #bfbfbf;
-  -webkit-border-radius: 5px;
-  -moz-border-radius: 5px;
-  border-radius: 5px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
+.popover .content p, .popover .content ul, .popover .content ol {
+  margin-bottom: 0;
 }
-.step-nav .dot:hover, .step-nav .active .dot {
-  background-color: #404040;
+.btn.danger,
+.alert-message.danger,
+.btn.danger:hover,
+.alert-message.danger:hover,
+.btn.error,
+.alert-message.error,
+.btn.error:hover,
+.alert-message.error:hover,
+.btn.success,
+.alert-message.success,
+.btn.success:hover,
+.alert-message.success:hover,
+.btn.info,
+.alert-message.info,
+.btn.info:hover,
+.alert-message.info:hover {
+  color: #ffffff;
 }
-.subnav {
-  background-color: #eeeeee;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));
-  background-image: -moz-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: -ms-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: -o-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: linear-gradient(top, #f5f5f5, #eeeeee);
+.btn.danger,
+.alert-message.danger,
+.btn.error,
+.alert-message.error {
+  background-color: #c43c35;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  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='#f5f5f5', endColorstr='#eeeeee', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
-  -moz-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
-  box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
-}
-.subnav a {
-  padding: 8px 10px;
-  font-size: 12px;
-  color: #0069d6;
-  text-shadow: 0 1px 0 #fff;
-  border-left: 1px solid #f9f9f9;
-  border-right: 1px solid #e5e5e5;
-}
-.subnav a:hover {
-  color: #00438a;
-  background-color: #eee;
-}
-.subnav li:first-child a {
-  border-left: 0;
-  -webkit-border-radius: 6px 0 0 6px;
-  -moz-border-radius: 6px 0 0 6px;
-  border-radius: 6px 0 0 6px;
-}
-.subnav li:last-child a {
-  border-right: 0;
-  -webkit-border-radius: 0 6px 6px 0;
-  -moz-border-radius: 0 6px 6px 0;
-  border-radius: 0 6px 6px 0;
-}
-.subnav ul .active > a {
-  color: #404040;
-  background-color: #eee;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+  border-color: #c43c35 #c43c35 #882a25;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.breadcrumb {
-  padding: 7px 14px;
-  margin: 0 0 18px;
-  background-color: #f5f5f5;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: linear-gradient(top, #ffffff, #f5f5f5);
+.btn.success, .alert-message.success {
+  background-color: #57a957;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  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='#ffffff', endColorstr='#f5f5f5', GradientType=0);
-  border: 1px solid #ddd;
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
-  -webkit-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;
-  text-shadow: 0 1px 0 #ffffff;
-}
-.breadcrumb .divider {
-  padding: 0 5px;
-  color: #bfbfbf;
-}
-.breadcrumb .active a {
-  color: #404040;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
+  border-color: #57a957 #57a957 #3d773d;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.pagination {
-  height: 36px;
-  margin: 18px 0;
+.btn.info, .alert-message.info {
+  background-color: #339bb9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  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);
+  border-color: #339bb9 #339bb9 #22697d;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.pagination ul {
+.btn {
   display: inline-block;
-  *display: inline;
-  /* IE7 inline-block hack */
-
-  *zoom: 1;
-  margin: 0;
-  border: 1px solid #ddd;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
-  -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);
-}
-.pagination li {
-  display: inline;
+  padding: 5px 14px 6px;
+  font-size: 13px;
+  line-height: normal;
+  color: #333;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+  background-color: #e6e6e6;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+  background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-repeat: no-repeat;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+  border: 1px solid #ccc;
+  border-bottom-color: #bbb;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -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;
+  -webkit-transition: 0.1s linear all;
+  -moz-transition: 0.1s linear all;
+  -ms-transition: 0.1s linear all;
+  -o-transition: 0.1s linear all;
+  transition: 0.1s linear all;
 }
-.pagination a {
-  float: left;
-  padding: 0 14px;
-  line-height: 34px;
+.btn:hover {
+  color: #333333;
   text-decoration: none;
-  border-right: 1px solid;
-  border-right-color: #ddd;
-  border-right-color: rgba(0, 0, 0, 0.15);
-  *border-right-color: #ddd;
-  /* IE6-7 */
-
-}
-.pagination a:hover, .pagination .active a {
-  background-color: #c7eefe;
-}
-.pagination .disabled a, .pagination .disabled a:hover {
-  color: #bfbfbf;
-  background-color: transparent;
+  background-position: 0 -15px;
 }
-.pagination .next a {
-  border: 0;
+.btn:focus {
+  outline: 1px dotted #666;
 }
-.pagination.centered {
-  text-align: center;
+.btn.primary {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #0064cd;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
+  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
+  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
+  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
+  background-image: linear-gradient(top, #049cdb, #0064cd);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+  border-color: #0064cd #0064cd #003f81;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 10000;
-  background-color: #000000;
+.btn.active, .btn:active {
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
 }
-.modal-backdrop.fade {
-  opacity: 0;
+.btn.disabled {
+  cursor: default;
+  background-image: none;
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  filter: alpha(opacity=65);
+  -moz-opacity: 0.65;
+  opacity: 0.65;
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
 }
-.modal-backdrop, .modal-backdrop.fade.in {
-  filter: alpha(opacity=80);
-  -moz-opacity: 0.8;
-  opacity: 0.8;
+.btn[disabled] {
+  cursor: default;
+  background-image: none;
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  filter: alpha(opacity=65);
+  -moz-opacity: 0.65;
+  opacity: 0.65;
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
 }
-.modal {
-  position: fixed;
-  top: 50%;
-  left: 50%;
-  z-index: 11000;
-  max-height: 500px;
-  overflow: auto;
-  width: 560px;
-  margin: -250px 0 0 -250px;
-  background-color: #ffffff;
-  border: 1px solid #999;
-  border: 1px solid rgba(0, 0, 0, 0.3);
-  *border: 1px solid #999;
-  /* IE6-7 */
-
+.btn.large {
+  padding: 9px 14px 9px;
+  font-size: 15px;
+  line-height: normal;
   -webkit-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);
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding-box;
-  background-clip: padding-box;
-}
-.modal .close {
-  margin-top: 7px;
-}
-.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%;
 }
-.modal.fade.in {
-  top: 50%;
+.btn.small {
+  padding: 7px 9px 7px;
+  font-size: 11px;
 }
-.modal-header {
-  padding: 5px 15px;
-  border-bottom: 1px solid #eee;
+:root .alert-message, :root .btn {
+  border-radius: 0 \0;
 }
-.modal-body {
-  padding: 15px;
+button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
+  padding: 0;
+  border: 0;
 }
-.modal-footer {
-  padding: 14px 15px 15px;
-  margin-bottom: 0;
-  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;
+.btn-toolbar {
   zoom: 1;
 }
-.modal-footer:before, .modal-footer:after {
+.btn-toolbar:before, .btn-toolbar:after {
   display: table;
   *display: inline;
   content: "";
   zoom: 1;
 }
-.modal-footer:after {
+.btn-toolbar:after {
   clear: both;
 }
-.modal-footer .btn {
-  float: right;
-  margin-left: 5px;
-}
-.twipsy {
-  position: absolute;
-  z-index: 1000;
-  display: block;
-  visibility: visible;
-  padding: 5px;
-  font-size: 11px;
-  filter: alpha(opacity=0);
-  -moz-opacity: 0;
-  opacity: 0;
+.btn-toolbar .btn-group {
+  float: left;
+  margin-right: 10px;
 }
-.twipsy.in {
-  filter: alpha(opacity=80);
-  -moz-opacity: 0.8;
-  opacity: 0.8;
+.btn-group {
+  zoom: 1;
 }
-.twipsy.top {
-  margin-top: -2px;
+.btn-group:before, .btn-group:after {
+  display: table;
+  *display: inline;
+  content: "";
+  zoom: 1;
 }
-.twipsy.right {
-  margin-left: 2px;
+.btn-group:after {
+  clear: both;
 }
-.twipsy.bottom {
-  margin-top: 2px;
+.btn-group .btn {
+  position: relative;
+  float: left;
+  margin-left: -1px;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
 }
-.twipsy.left {
-  margin-left: -2px;
+.btn-group .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;
+  -moz-border-radius-bottomleft: 4px;
+  border-bottom-left-radius: 4px;
 }
-.twipsy.top .twipsy-arrow {
-  bottom: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-left: 5px solid transparent;
-  border-right: 5px solid transparent;
-  border-top: 5px solid #000000;
+.btn-group .btn:last-child {
+  -webkit-border-top-right-radius: 4px;
+  -moz-border-radius-topright: 4px;
+  border-top-right-radius: 4px;
+  -webkit-border-bottom-right-radius: 4px;
+  -moz-border-radius-bottomright: 4px;
+  border-bottom-right-radius: 4px;
 }
-.twipsy.left .twipsy-arrow {
-  top: 50%;
-  right: 0;
-  margin-top: -5px;
-  border-top: 5px solid transparent;
-  border-bottom: 5px solid transparent;
-  border-left: 5px solid #000000;
+.btn-group .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;
+  -moz-border-radius-bottomleft: 6px;
+  border-bottom-left-radius: 6px;
 }
-.twipsy.bottom .twipsy-arrow {
-  top: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-left: 5px solid transparent;
-  border-right: 5px solid transparent;
-  border-bottom: 5px solid #000000;
+.btn-group .btn.large:last-child {
+  -webkit-border-top-right-radius: 6px;
+  -moz-border-radius-topright: 6px;
+  border-top-right-radius: 6px;
+  -webkit-border-bottom-right-radius: 6px;
+  -moz-border-radius-bottomright: 6px;
+  border-bottom-right-radius: 6px;
 }
-.twipsy.right .twipsy-arrow {
-  top: 50%;
-  left: 0;
-  margin-top: -5px;
-  border-top: 5px solid transparent;
-  border-bottom: 5px solid transparent;
-  border-right: 5px solid #000000;
+.btn-group .btn:hover, .btn-group .btn:focus, .btn-group .btn:active {
+  z-index: 2;
 }
-.twipsy-inner {
-  max-width: 200px;
-  padding: 3px 8px;
-  color: white;
-  text-align: center;
-  text-decoration: none;
-  background-color: #000000;
+.alert-message {
+  position: relative;
+  padding: 7px 15px;
+  margin-bottom: 18px;
+  color: #333333;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  background-color: #eedc94;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
+  background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
+  background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
+  background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
+  background-image: -o-linear-gradient(top, #fceec1, #eedc94);
+  background-image: linear-gradient(top, #fceec1, #eedc94);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
+  border-color: #eedc94 #eedc94 #e4c652;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  border-width: 1px;
+  border-style: solid;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
 }
-.twipsy-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-}
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 1000;
-  display: none;
-  padding: 5px;
+.alert-message .close {
+  *margin-top: 3px;
+  /* IE7 spacing */
+
 }
-.popover.top {
-  margin-top: -5px;
+.alert-message h5 {
+  line-height: 18px;
 }
-.popover.right {
-  margin-left: 5px;
+.alert-message p {
+  margin-bottom: 0;
 }
-.popover.bottom {
+.alert-message div {
   margin-top: 5px;
+  margin-bottom: 2px;
+  line-height: 28px;
 }
-.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;
-}
-.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;
-}
-.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;
-}
-.popover.left .arrow {
-  top: 50%;
-  right: 0;
-  margin-top: -5px;
-  border-top: 5px solid transparent;
-  border-bottom: 5px solid transparent;
-  border-left: 5px solid #000000;
-}
-.popover .arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-}
-.popover .inner {
-  padding: 3px;
-  width: 280px;
-  overflow: hidden;
-  background-color: #000000;
-  background-color: rgba(0, 0, 0, 0.8);
-  -webkit-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);
+.alert-message .btn {
+  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
+  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
 }
-.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;
+.alert-message.error, .alert-message.success, .alert-message.info {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
-.popover .content {
+.alert-message.block-message {
   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;
-  -webkit-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;
+  background-image: none;
+  background-color: #fdf5d9;
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  border-color: #fceec1;
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
 }
-.side-nav {
-  padding: 9px 0;
+.alert-message.block-message ul, .alert-message.block-message p {
+  margin-right: 30px;
 }
-.side-nav .nav-label, .side-nav .nav-item {
-  display: block;
-  padding: 3px 16px;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+.alert-message.block-message ul {
+  margin-bottom: 0;
 }
-.side-nav .nav-label {
-  font-size: 11px;
-  line-height: 18px;
-  color: #404040;
-  text-transform: uppercase;
+.alert-message.block-message li {
+  color: #333333;
 }
-.side-nav .nav-group {
-  margin: 0 -1px;
-  list-style: none;
+.alert-message.block-message .alert-actions {
+  margin-top: 5px;
 }
-.side-nav .nav-item {
-  font-weight: bold;
+.alert-message.block-message.error, .alert-message.block-message.success, .alert-message.block-message.info {
+  color: #333333;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
-.side-nav .nav-item i {
-  vertical-align: -2px;
+.alert-message.block-message.error {
+  background-color: #fddfde;
+  border-color: #fbc7c6;
 }
-.side-nav .nav-item:hover {
-  text-decoration: none;
+.alert-message.block-message.success {
+  background-color: #d1eed1;
+  border-color: #bfe7bf;
 }
-.side-nav .active .nav-item {
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
-  background-color: #aaaaaa;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));
-  background-image: -moz-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: -ms-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
-  background-image: -webkit-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: -o-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: linear-gradient(top, #cccccc, #aaaaaa);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
+.alert-message.block-message.info {
+  background-color: #ddf4fb;
+  border-color: #c6edf9;
 }
 .thumbnails {
   margin-left: -20px;
@@ -2898,7 +2838,7 @@ i {
   box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
 }
 a.thumbnail:hover {
-  border-color: #0069d6;
+  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);
@@ -2975,6 +2915,29 @@ a.thumbnail:hover {
   text-decoration: none;
   background: rgba(0, 0, 0, 0.8);
 }
+.label {
+  padding: 1px 3px 2px;
+  font-size: 9.75px;
+  font-weight: bold;
+  color: #ffffff;
+  text-transform: uppercase;
+  background-color: #999999;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.label.important {
+  background-color: #c43c35;
+}
+.label.warning {
+  background-color: #f89406;
+}
+.label.success {
+  background-color: #46a546;
+}
+.label.notice {
+  background-color: #62cffc;
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4f091262d4..d0ba4dc53e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -20,7 +20,7 @@ button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:poin
 input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}
 input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
-body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#404040;background-color:#ffffff;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#555555;background-color:#ffffff;}
 .container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;*display:inline;content:"";zoom:1;}
 .container:after{clear:both;}
 .fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;*display:inline;content:"";zoom:1;}
@@ -30,7 +30,7 @@ body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:
 .fluid-sidebar-right{float:right;}
 .fluid-content{margin-left:240px;}
 .fluid-container.reverse .fluid-content{margin-left:0;margin-right:240px;}
-a{font-weight:inherit;line-height:inherit;color:#0069d6;text-decoration:none;}a:hover{color:#00438a;text-decoration:underline;}
+a{font-weight:inherit;line-height:inherit;color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:underline;}
 .pull-right{float:right;}
 .pull-left{float:left;}
 .hide{display:none;}
@@ -61,19 +61,19 @@ a{font-weight:inherit;line-height:inherit;color:#0069d6;text-decoration:none;}a:
 .offset9{margin-left:740px;}
 .offset10{margin-left:820px;}
 .offset11{margin-left:900px;}
-p{margin-bottom:9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#bfbfbf;}
-h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
+p{margin-bottom:9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
+h1,h2,h3,h4,h5,h6{font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{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;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
-h6{font-size:13px;line-height:18px;color:#bfbfbf;text-transform:uppercase;}
+h6{font-size:13px;line-height:18px;color:#999999;text-transform:uppercase;}
 ul,ol{margin:13px 0 14px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
 ol{list-style:decimal;}
-li{line-height:18px;color:#404040;}
+li{line-height:18px;color:#333333;}
 ul.unstyled{margin-left:0;list-style:none;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
@@ -81,21 +81,21 @@ dl dd{margin-left:9px;}
 hr{margin:27px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
-.muted{color:#bfbfbf;}
+.muted{color:#999999;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
 blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:300;font-weight:16px;line-height:22.5px;}
-blockquote small{display:block;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
+blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
 blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;margin-bottom:18px;line-height:18px;}
-code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#404040;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
 form{margin-bottom:18px;}
-legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#404040;border-bottom:1px solid #eee;}
+legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
-label{display:block;margin-bottom:5px;color:#404040;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+label{display:block;margin-bottom:5px;color:#333333;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
@@ -141,15 +141,15 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{display:block;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-placeholder{color:#bfbfbf;}
-::-webkit-input-placeholder{color:#bfbfbf;}
-.help-text{margin-top:5px;margin-bottom:0;color:#bfbfbf;}
+:-moz-placeholder{color:#999999;}
+::-webkit-input-placeholder{color:#999999;}
+.help-text{margin-top:5px;margin-bottom:0;color:#999999;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .help-block{display:block;max-width:600px;}
 .input-prepend,.input-append{zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;*display:inline;content:"";zoom:1;}
 .input-prepend:after,.input-append:after{clear:both;}
 .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
@@ -159,7 +159,7 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .control-group>label{font-weight:bold;}
 .horizontal-form .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
 .horizontal-form .controls{margin-left:150px;}
-.horizontal-form .control-list{padding-top:6px;}
+.horizontal-form .controls>.radio:first-child,.horizontal-form .controls>.checkbox:first-child{padding-top:6px;}
 .horizontal-form .form-actions{padding-left:150px;}
 table{width:100%;margin-bottom:18px;}
 th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
@@ -173,80 +173,6 @@ td{vertical-align:top;}
 .bordered-table thead:last-child tr:last-child th:first-child,.bordered-table 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;}
 .bordered-table thead:last-child tr:last-child th:last-child,.bordered-table 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;}
 .striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
-.navbar{overflow:visible;}
-.navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
-.navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
-.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
-.navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
-.navbar .btn{margin-top:5px;}
-.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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#e6e6e6;}
-.navbar-search .search-query::-webkit-input-placeholder{color:#e6e6e6;}
-.navbar-search .search-query:hover{color:#ffffff;background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);}
-.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#404040;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;}
-.navbar-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:10000;}
-.nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
-.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;color:#bfbfbf;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.nav a:hover{color:#ffffff;text-decoration:none;}
-.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
-.nav .divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
-.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
-.nav .dropdown-toggle:hover,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
-.nav .dropdown-menu{background-color:#333;}.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
-.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
-.nav .dropdown-menu .active a{color:#ffffff;}
-.nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
-.topbar ul .dropdown-menu li a{padding:4px 15px;}
-.hero-unit{padding:60px;margin-bottom:30px;background-color:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
-.hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
-footer{padding-top:17px;margin-top:17px;border-top:1px solid #eee;}
-.page-header{margin-bottom:27px;border-bottom:1px solid #eee;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:13.5px;}
-.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
-.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#404040;text-decoration:none;background-position:0 -15px;}
-.btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
-.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
-.btn.small{padding:7px 9px 7px;font-size:11px;}
-:root .alert-message,:root .btn{border-radius:0 \0;}
-button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;*display:inline;content:"";zoom:1;}
-.btn-toolbar:after{clear:both;}
-.btn-toolbar .btn-group{float:left;margin-right:10px;}
-.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;*display:inline;content:"";zoom:1;}
-.btn-group:after{clear:both;}
-.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
-.btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
-.btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
-.btn-group .btn.large:last-child{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
-.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
-.close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
-.alert-message h5{line-height:18px;}
-.alert-message p{margin-bottom:0;}
-.alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
-.alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
-.alert-message.error,.alert-message.success,.alert-message.info{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.alert-message.block-message{padding:14px;background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
-.alert-message.block-message ul{margin-bottom:0;}
-.alert-message.block-message li{color:#404040;}
-.alert-message.block-message .alert-actions{margin-top:5px;}
-.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
-.alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
-.alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
-.alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
-.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
-.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;}.fade.in{opacity:1;}
-.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;}.collapse.in{height:auto;}
-.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
-.label.warning{background-color:#f89406;}
-.label.success{background-color:#46a546;}
-.label.notice{background-color:#62cffc;}
 i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
 .glass{background-position:0 0;}
 .music{background-position:-24px 0;}
@@ -343,14 +269,41 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:6px 0;margin-left:0;margin-right:0;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;zoom:1;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
-.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{color:#404040;text-decoration:none;background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
+.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{color:#333333;text-decoration:none;background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.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;}.fade.in{opacity:1;}
+.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;}.collapse.in{height:auto;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
+.navbar{overflow:visible;}
+.navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
+.navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
+.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
+.navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
+.navbar .btn{margin-top:5px;}
+.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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
+.navbar-static{margin-bottom:18px;}
+.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:10000;}
+.nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
+.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.nav a:hover{color:#ffffff;text-decoration:none;}
+.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
+.nav .divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
+.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
+.nav .dropdown-toggle:hover,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
+.nav .dropdown-menu{background-color:#333;}.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
+.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
+.nav .dropdown-menu .active a{color:#ffffff;}
+.nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
 .tabs,.pills{padding:0;margin:0 0 20px;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
 .tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
-.tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
+.tabs .active>a,.tabs .active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
 .tabbable{margin-bottom:18px;}.tabbable .tabs{margin-bottom:0;border-bottom:0;}
 .tabbable .tab-content{padding:19px;border:1px solid #ddd;}
 .tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
@@ -369,29 +322,37 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
 .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
 .tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
-.pills>li>a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills>li>a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
-.pills .active>a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
+.pills>li>a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills>li>a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#005580;}
+.pills .active>a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0088cc;}
 .pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
-.step-nav{position:relative;margin:0 0 18px;list-style:none;line-height:30px;text-align:center;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.step-nav li{display:inline;color:#bfbfbf;}
+.step-nav{position:relative;margin:0 0 18px;list-style:none;line-height:30px;text-align:center;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.step-nav li{display:inline;color:#999999;}
 .step-nav .prev,.step-nav .next{position:absolute;top:6px;}
 .step-nav .prev{left:15px;}
 .step-nav .next{right:15px;}
-.step-nav .dot{display:inline-block;width:10px;height:10px;margin:0 3px;text-indent:-999em;background-color:#bfbfbf;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);}
-.step-nav .dot:hover,.step-nav .active .dot{background-color:#404040;}
-.subnav{background-color:#eeeeee;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));background-image:-moz-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-ms-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));background-image:-webkit-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-o-linear-gradient(top, #f5f5f5, #eeeeee);background-image:linear-gradient(top, #f5f5f5, #eeeeee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);-webkit-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);-moz-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);}.subnav a{padding:8px 10px;font-size:12px;color:#0069d6;text-shadow:0 1px 0 #fff;border-left:1px solid #f9f9f9;border-right:1px solid #e5e5e5;}.subnav a:hover{color:#00438a;background-color:#eee;}
+.step-nav .dot{display:inline-block;width:10px;height:10px;margin:0 3px;text-indent:-999em;background-color:#999999;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);}
+.step-nav .dot:hover,.step-nav .active .dot{background-color:#333333;}
+.subnav{background-color:#eeeeee;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));background-image:-moz-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-ms-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));background-image:-webkit-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-o-linear-gradient(top, #f5f5f5, #eeeeee);background-image:linear-gradient(top, #f5f5f5, #eeeeee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);-webkit-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);-moz-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);}.subnav a{padding:8px 10px;font-size:12px;color:#0088cc;text-shadow:0 1px 0 #fff;border-left:1px solid #f9f9f9;border-right:1px solid #e5e5e5;}.subnav a:hover{color:#005580;background-color:#eee;}
 .subnav li:first-child a{border-left:0;-webkit-border-radius:6px 0 0 6px;-moz-border-radius:6px 0 0 6px;border-radius:6px 0 0 6px;}
 .subnav li:last-child a{border-right:0;-webkit-border-radius:0 6px 6px 0;-moz-border-radius:0 6px 6px 0;border-radius:0 6px 6px 0;}
-.subnav ul .active>a{color:#404040;background-color:#eee;}
+.subnav ul .active>a{color:#333333;background-color:#eee;}
+.side-nav{padding:9px 0;}
+.side-nav .nav-label,.side-nav .nav-item{display:block;padding:3px 16px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.side-nav .nav-label{font-size:11px;line-height:18px;color:#333333;text-transform:uppercase;}
+.side-nav .nav-group{margin:0 -1px;list-style:none;}
+.side-nav .nav-item{font-weight:bold;}
+.side-nav .nav-item i{vertical-align:-2px;}
+.side-nav .nav-item:hover{text-decoration:none;}
+.side-nav .active .nav-item{color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);background-color:#aaaaaa;background-image:-khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));background-image:-moz-linear-gradient(top, #cccccc, #aaaaaa);background-image:-ms-linear-gradient(top, #cccccc, #aaaaaa);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));background-image:-webkit-linear-gradient(top, #cccccc, #aaaaaa);background-image:-o-linear-gradient(top, #cccccc, #aaaaaa);background-image:linear-gradient(top, #cccccc, #aaaaaa);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
-.breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
-.breadcrumb .active a{color:#404040;}
+.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;*zoom:1;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
-.pagination .disabled a,.pagination .disabled a:hover{color:#bfbfbf;background-color:transparent;}
+.pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;}
 .pagination .next a{border:0;}
 .pagination.centered{text-align:center;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
@@ -427,19 +388,49 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
 .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;}
 .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;-webkit-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;}
-.side-nav{padding:9px 0;}
-.side-nav .nav-label,.side-nav .nav-item{display:block;padding:3px 16px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
-.side-nav .nav-label{font-size:11px;line-height:18px;color:#404040;text-transform:uppercase;}
-.side-nav .nav-group{margin:0 -1px;list-style:none;}
-.side-nav .nav-item{font-weight:bold;}
-.side-nav .nav-item i{vertical-align:-2px;}
-.side-nav .nav-item:hover{text-decoration:none;}
-.side-nav .active .nav-item{color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);background-color:#aaaaaa;background-image:-khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));background-image:-moz-linear-gradient(top, #cccccc, #aaaaaa);background-image:-ms-linear-gradient(top, #cccccc, #aaaaaa);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));background-image:-webkit-linear-gradient(top, #cccccc, #aaaaaa);background-image:-o-linear-gradient(top, #cccccc, #aaaaaa);background-image:linear-gradient(top, #cccccc, #aaaaaa);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);}
+.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
+.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
+.btn:focus{outline:1px dotted #666;}
+.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
+.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
+.btn.small{padding:7px 9px 7px;font-size:11px;}
+:root .alert-message,:root .btn{border-radius:0 \0;}
+button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
+.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;*display:inline;content:"";zoom:1;}
+.btn-toolbar:after{clear:both;}
+.btn-toolbar .btn-group{float:left;margin-right:10px;}
+.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;*display:inline;content:"";zoom:1;}
+.btn-group:after{clear:both;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
+.btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
+.btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
+.btn-group .btn.large:last-child{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
+.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
+.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#333333;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
+.alert-message h5{line-height:18px;}
+.alert-message p{margin-bottom:0;}
+.alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
+.alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
+.alert-message.error,.alert-message.success,.alert-message.info{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
+.alert-message.block-message{padding:14px;background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
+.alert-message.block-message ul{margin-bottom:0;}
+.alert-message.block-message li{color:#333333;}
+.alert-message.block-message .alert-actions{margin-top:5px;}
+.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#333333;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
+.alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
+.alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
 .thumbnails{margin-left:-20px;margin-bottom:0;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 20px 20px;}
 .thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
-a.thumbnail:hover{border-color:#0069d6;-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);}
+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);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
 .carousel{position:relative;}.carousel .carousel-inner{overflow:hidden;width:100%;position:relative;}
@@ -453,5 +444,9 @@ a.thumbnail:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel .active.right{left:100%;}
 .carousel .nav{width:auto;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;height:50px;position:absolute;top:50%;margin:-25px 0 0;cursor:pointer;background:rgba(0, 0, 0, 0.7);color:white;font-size:42px;left:5px;font-weight:100;padding:0 15px;}.carousel .nav.right{right:5px;left:auto;}
 .carousel .nav:hover{text-decoration:none;background:rgba(0, 0, 0, 0.8);}
+.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label.warning{background-color:#f89406;}
+.label.success{background-color:#46a546;}
+.label.notice{background-color:#62cffc;}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index b218b465c5..a4573448f2 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -171,7 +171,7 @@ body > .navbar-fixed .brand:hover {
   font-weight: 300;
 }
 .marketing h2 {
-  margin-bottom: 9px;
+  font-size: 22px;
 }
 .marketing p {
   margin-right: 10px;
diff --git a/docs/base-css.html b/docs/base-css.html
index 37fa97ba85..58d42c2b06 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -973,40 +973,36 @@ Form states
         <fieldset class="control-group">
           <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
           <div class="controls">
-            <div class="control-list">
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option1">
-                Option one is this and that&mdash;be sure to include why it’s great
-              </label>
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option2">
-                Option two can also be checked and included in form results
-              </label>
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option3">
-                Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
-              </label>
-              <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option4">
-                Option four cannot be checked as it is disabled
-              </label>
-            </div>
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckboxes" value="option1">
+              Option one is this and that&mdash;be sure to include why it’s great
+            </label>
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckboxes" value="option2">
+              Option two can also be checked and included in form results
+            </label>
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckboxes" value="option3">
+              Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
+            </label>
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckboxes" value="option4">
+              Option four cannot be checked as it is disabled
+            </label>
             <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="optionsRadios">Radio buttons</label>
           <div class="controls">
-            <div class="control-list">
-              <label>
-                <input type="radio" checked name="optionsRadios" value="option1">
-                <span>Option one is this and that&mdash;be sure to include why it’s great</span>
-              </label>
-              <label>
-                <input type="radio" name="optionsRadios" value="option2">
-                <span>Option two can is something else and selecting it will deselect options 1</span>
-              </label>
-            </div>
+            <label class="radio">
+              <input type="radio" checked name="optionsRadios" value="option1">
+              Option one is this and that&mdash;be sure to include why it’s great
+            </label>
+            <label class="radio">
+              <input type="radio" name="optionsRadios" value="option2">
+              Option two can is something else and selecting it will deselect options 1
+            </label>
             <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
           </div>
         </fieldset>
@@ -1040,17 +1036,15 @@ Form states
         <fieldset class="control-group">
           <label class="control-label" for="input02">Label</label>
           <div class="controls">
-            <div class="control-list">
-              <label class="checkbox">
-                <input type="checkbox"> Something something something something something
-              </label>
-              <label class="checkbox">
-                <input type="checkbox"> Something something something something
-              </label>
-              <label class="checkbox">
-                <input type="checkbox"> Something something something
-              </label>
-            </div>
+            <label class="checkbox">
+              <input type="checkbox"> Something something something something something
+            </label>
+            <label class="checkbox">
+              <input type="checkbox"> Something something something something
+            </label>
+            <label class="checkbox">
+              <input type="checkbox"> Something something something
+            </label>
           </div>
         </fieldset>
         <fieldset class="form-actions">
diff --git a/docs/components.html b/docs/components.html
index d9d6b10d62..e57d1fd179 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -230,27 +230,33 @@
     <h1>Side nav <small></small></h1>
   </div>
 
-  <div class="well side-nav">
-    <h6 class="nav-label">Your account</h6>
-    <ul class="nav-group">
-      <li class="active"><a class="nav-item" href="#">Home</a></li>
-      <li><a class="nav-item" href="#">Library</a></li>
-      <li><a class="nav-item" href="#">Profile</a></li>
-      <li><a class="nav-item" href="#">Settings</a></li>
-      <li><a class="nav-item" href="#">Help</a></li>
-    </ul>
-  </div>
-
-  <div class="well side-nav">
-    <h6 class="nav-label">Your account</h6>
-    <ul class="nav-group">
-      <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
-      <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
-      <li><a class="nav-item" href="#"><i class="user"></i> Profile</a></li>
-      <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
-      <li><a class="nav-item" href="#"><i class="time"></i> Help</a></li>
-    </ul>
+  <div class="row">
+    <div class="span3">
+      <div class="well side-nav">
+        <h6 class="nav-label">Your account</h6>
+        <ul class="nav-group">
+          <li class="active"><a class="nav-item" href="#">Home</a></li>
+          <li><a class="nav-item" href="#">Library</a></li>
+          <li><a class="nav-item" href="#">Profile</a></li>
+          <li><a class="nav-item" href="#">Settings</a></li>
+          <li><a class="nav-item" href="#">Help</a></li>
+        </ul>
+      </div>
+    </div>
+    <div class="span3">
+      <div class="well side-nav">
+        <h6 class="nav-label">Your account</h6>
+        <ul class="nav-group">
+          <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
+          <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
+          <li><a class="nav-item" href="#"><i class="user"></i> Profile</a></li>
+          <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
+          <li><a class="nav-item" href="#"><i class="time"></i> Help</a></li>
+        </ul>
+      </div>
+    </div>
   </div>
+  
 </section>
 
 
diff --git a/lib/alerts.less b/lib/alerts.less
new file mode 100644
index 0000000000..bb0bd5d99e
--- /dev/null
+++ b/lib/alerts.less
@@ -0,0 +1,83 @@
+// ALERT STYLES
+// ------------
+
+// Base alert styles
+.alert-message {
+  position: relative;
+  padding: 7px 15px;
+  margin-bottom: @baseLineHeight;
+  color: @grayDark;
+  text-shadow: 0 1px 0 rgba(255,255,255,.5);
+  .gradientBar(#fceec1, #eedc94); // warning by default
+  border-width: 1px;
+  border-style: solid;
+  .border-radius(4px);
+  .box-shadow(inset 0 1px 0 rgba(255,255,255,.25));
+
+  // Adjust close icon
+  .close {
+    *margin-top: 3px; /* IE7 spacing */
+  }
+
+  // Remove extra margin from content
+  h5 {
+    line-height: @baseLineHeight;
+  }
+  p {
+    margin-bottom: 0;
+  }
+  div {
+    margin-top: 5px;
+    margin-bottom: 2px;
+    line-height: 28px;
+  }
+  .btn {
+    // Provide actions with buttons
+    .box-shadow(0 1px 0 rgba(255,255,255,.25));
+  }
+
+  &.error,
+  &.success,
+  &.info {
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+  }
+
+  &.block-message {
+    padding: 14px;
+    background-image: none;
+    background-color: lighten(#fceec1, 5%);
+    .reset-filter(); // undo gradient for IE9
+    border-color: #fceec1;
+    .box-shadow(none);
+    ul, p {
+      margin-right: 30px;
+    }
+    ul {
+      margin-bottom: 0;
+    }
+    li {
+      color: @grayDark;
+    }
+    .alert-actions {
+      margin-top: 5px;
+    }
+    &.error,
+    &.success,
+    &.info {
+      color: @grayDark;
+      text-shadow: 0 1px 0 rgba(255,255,255,.5);
+    }
+    &.error {
+      background-color: lighten(#f56a66, 25%);
+      border-color: lighten(#f56a66, 20%);
+    }
+    &.success {
+      background-color: lighten(#62c462, 30%);
+      border-color: lighten(#62c462, 25%);
+    }
+    &.info {
+      background-color: lighten(#6bd0ee, 25%);
+      border-color: lighten(#6bd0ee, 20%);
+    }
+  }
+}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 8b821825c7..df233f1280 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -19,24 +19,38 @@
 // Grid system and page structure
 @import "scaffolding.less";
 
-// Styled patterns and elements
+// Base CSS
 @import "type.less";
 @import "forms.less";
 @import "tables.less";
 
-// Temp catchall for what's missing thus far
-@import "patterns.less";
-
+// Components: common
 @import "sprites.less";
 @import "dropdowns.less";
+@import "wells.less";
+@import "component-animations.less";
+@import "close.less";
+
+// Components: Nav
+@import "navbar.less";
 @import "tabs-pills.less";
+@import "sidenav.less";
 @import "breadcrumbs.less";
 @import "pagination.less";
+
+// Components: Popovers
 @import "modals.less";
 @import "twipsy.less";
 @import "popovers.less";
-@import "sidenav.less";
+
+// Components: Buttons & Alerts
+@import "buttons.less";
+@import "button-groups.less";
+@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
+
+// Components: Misc
 @import "thumbnails.less";
+@import "labels.less";
 
 // Responsive
 @import "responsive.less";
\ No newline at end of file
diff --git a/lib/button-groups.less b/lib/button-groups.less
new file mode 100644
index 0000000000..3024ecd65a
--- /dev/null
+++ b/lib/button-groups.less
@@ -0,0 +1,65 @@
+// BUTTON GROUPS
+// -------------
+
+// Group multiple button groups together for a toolbar
+.btn-toolbar {
+  .clearfix();
+  .btn-group {
+    float: left;
+    margin-right: 10px;
+  }
+}
+
+// Clear the float
+.btn-group {
+  .clearfix();
+}
+// Float them, remove border radius, then re-add to first and last elements
+.btn-group .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
+  &: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;
+        -moz-border-radius-bottomleft: 4px;
+            border-bottom-left-radius: 4px;
+  }
+  &:last-child {
+       -webkit-border-top-right-radius: 4px;
+           -moz-border-radius-topright: 4px;
+               border-top-right-radius: 4px;
+    -webkit-border-bottom-right-radius: 4px;
+        -moz-border-radius-bottomright: 4px;
+            border-bottom-right-radius: 4px;
+  }
+  // Reset corners for large buttons
+  &.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;
+        -moz-border-radius-bottomleft: 6px;
+            border-bottom-left-radius: 6px;
+  }
+  &.large:last-child {
+       -webkit-border-top-right-radius: 6px;
+           -moz-border-radius-topright: 6px;
+               border-top-right-radius: 6px;
+    -webkit-border-bottom-right-radius: 6px;
+        -moz-border-radius-bottomright: 6px;
+            border-bottom-right-radius: 6px;
+  }
+}
+// On hover/focus/active, bring the proper btn to front
+.btn-group .btn:hover,
+.btn-group .btn:focus,
+.btn-group .btn:active {
+  z-index: 2;
+}
diff --git a/lib/buttons.less b/lib/buttons.less
new file mode 100644
index 0000000000..aeb70605b4
--- /dev/null
+++ b/lib/buttons.less
@@ -0,0 +1,119 @@
+// BUTTON STYLES
+// -------------
+
+// Shared colors for buttons and alerts
+.btn,
+.alert-message {
+  // Set text color
+  &.danger,
+  &.danger:hover,
+  &.error,
+  &.error:hover,
+  &.success,
+  &.success:hover,
+  &.info,
+  &.info:hover {
+    color: @white
+  }
+  // Danger and error appear as red
+  &.danger,
+  &.error {
+    .gradientBar(#ee5f5b, #c43c35);
+  }
+  // Success appears as green
+  &.success {
+    .gradientBar(#62c462, #57a957);
+  }
+  // Info appears as a neutral blue
+  &.info {
+    .gradientBar(#5bc0de, #339bb9);
+  }
+}
+
+// Base .btn styles
+.btn {
+  // Button Base
+  display: inline-block;
+  padding: 5px 14px 6px;
+  font-size: @baseFontSize;
+  line-height: normal;
+  color: #333;
+  text-shadow: 0 1px 1px rgba(255,255,255,.75);
+  #gradient > .vertical-three-colors(#ffffff, #ffffff, 25%, darken(#ffffff, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
+  border: 1px solid #ccc;
+  border-bottom-color: #bbb;
+  .border-radius(4px);
+  @shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+  .box-shadow(@shadow);
+  cursor: pointer;
+
+  &:hover {
+    color: @grayDark;
+    text-decoration: none;
+    background-position: 0 -15px;
+  }
+
+  // Focus state for keyboard and accessibility
+  &:focus {
+    outline: 1px dotted #666;
+  }
+
+  // Primary Button Type
+  &.primary {
+    color: @white;
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+    .gradientBar(@blue, @blueDark)
+  }
+
+   // Transitions
+  .transition(.1s linear all);
+
+  // Active and Disabled states
+  &.active,
+  &:active {
+    @shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05);
+    .box-shadow(@shadow);
+  }
+  &.disabled {
+    cursor: default;
+    background-image: none;
+    .reset-filter();
+    .opacity(65);
+    .box-shadow(none);
+  }
+  &[disabled] {
+    // disabled pseudo can't be included with .disabled
+    // def because IE8 and below will drop it ;_;
+    cursor: default;
+    background-image: none;
+    .reset-filter();
+    .opacity(65);
+    .box-shadow(none);
+  }
+
+  // Button Sizes
+  &.large {
+    padding: 9px 14px 9px;
+    font-size: @baseFontSize + 2px;
+    line-height: normal;
+    .border-radius(6px);
+  }
+  &.small {
+    padding: 7px 9px 7px;
+    font-size: @baseFontSize - 2px;
+  }
+}
+// Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons
+:root .alert-message,
+:root .btn {
+  border-radius: 0 \0;
+}
+
+// Help Firefox not be a jerk about adding extra padding to buttons
+button.btn,
+input[type=submit].btn {
+  &::-moz-focus-inner {
+  	padding: 0;
+  	border: 0;
+  }
+}
\ No newline at end of file
diff --git a/lib/close.less b/lib/close.less
new file mode 100644
index 0000000000..25a0c3ef3e
--- /dev/null
+++ b/lib/close.less
@@ -0,0 +1,17 @@
+// CLOSE ICONS
+// -----------
+
+.close {
+  float: right;
+  font-size: 20px;
+  font-weight: bold;
+  line-height: @baseLineHeight * .75;
+  color: @black;
+  text-shadow: 0 1px 0 rgba(255,255,255,1);
+  .opacity(20);
+  &:hover {
+    color: @black;
+    text-decoration: none;
+    .opacity(40);
+  }
+}
diff --git a/lib/component-animations.less b/lib/component-animations.less
new file mode 100644
index 0000000000..4f2a4fd118
--- /dev/null
+++ b/lib/component-animations.less
@@ -0,0 +1,18 @@
+// COMPONENT ANIMATIONS
+// --------------------
+
+.fade {
+  .transition(opacity .15s linear);
+  opacity: 0;
+  &.in {
+    opacity: 1;
+  }
+}
+
+.collapse {
+  .transition(height .35s ease);
+  position:relative;
+  overflow:hidden;
+  height: 0;
+  &.in { height: auto; }
+}
diff --git a/lib/forms.less b/lib/forms.less
index ededc772ed..0c624fa884 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -391,7 +391,8 @@ textarea[readonly] {
     margin-left: 150px;
   }
   // Move the options list down to align with labels
-  .control-list {
+  .controls > .radio:first-child,
+  .controls > .checkbox:first-child {
     padding-top: 6px; // has to be padding because margin collaspes
   }
   // Move over buttons in .form-actions to align with .controls
diff --git a/lib/labels.less b/lib/labels.less
new file mode 100644
index 0000000000..114bc85b56
--- /dev/null
+++ b/lib/labels.less
@@ -0,0 +1,16 @@
+// LABELS
+// ------
+
+.label {
+  padding: 1px 3px 2px;
+  font-size: @baseFontSize * .75;
+  font-weight: bold;
+  color: @white;
+  text-transform: uppercase;
+  background-color: @grayLight;
+  .border-radius(3px);
+  &.important { background-color: #c43c35; }
+  &.warning   { background-color: @orange; }
+  &.success   { background-color: @green; }
+  &.notice    { background-color: lighten(@blue, 25%); }
+}
diff --git a/lib/navbar.less b/lib/navbar.less
new file mode 100644
index 0000000000..d57f316f59
--- /dev/null
+++ b/lib/navbar.less
@@ -0,0 +1,206 @@
+// NAVBAR (FIXED AND STATIC)
+// -------------------------
+
+// Navbar variables
+@navBarHeight: 40px;
+@navBarBgStart: #333;
+@navBarBgEnd: #222;
+
+// Common styles
+.navbar {
+  overflow: visible;
+}
+// gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
+.navbar-inner {
+  background-color: @navBarBgEnd;
+  #gradient > .vertical(@navBarBgStart, @navBarBgEnd);
+  @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
+  .box-shadow(@shadow);
+}
+// Text and links
+.navbar {
+  // Hover and active states
+  .brand a:hover,
+  ul .active > a {
+    color: @white;
+    text-decoration: none;
+    background-color: @navBarBgStart;
+    background-color: rgba(255,255,255,.05);
+  }
+  // Website or project name
+  .brand {
+    float: left;
+    display: block;
+    padding: 8px 20px 12px;
+    margin-left: -20px; // negative indent to left-align the text down the page
+    font-size: 20px;
+    font-weight: 200;
+    line-height: 1;
+    color: @white;
+  }
+  // Plain text in topbar
+  p {
+    margin: 0;
+    line-height: 40px;
+    a:hover {
+      color: @white;
+      background-color: transparent;
+    }
+  }
+  // Buttons in navbar
+  .btn {
+    margin-top: 5px; // make buttons vertically centered in navbar
+  }
+}
+
+// Navbar search
+.navbar-search {
+  position: relative;
+  float: left;
+  margin-top: 6px;
+  margin-bottom: 0;
+  .search-query {
+    padding: 4px 9px;
+    #font > .sans-serif(13px, normal, 1);
+    color: @white;
+    color: rgba(255,255,255,.75);
+    background-color: #444;
+    background-color: rgba(255,255,255,.3);
+    border: 1px solid #111;
+    @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
+    .box-shadow(@shadow);
+    .transition(none);
+
+    // Placeholder text gets special styles; can't be bundled together though for some reason
+    &:-moz-placeholder {
+      color: @grayLighter;
+    }
+    &::-webkit-input-placeholder {
+      color: @grayLighter;
+    }
+    // Hover states
+    &:hover {
+      color: @white;
+      background-color: @grayLight;
+      background-color: rgba(255,255,255,.5);
+    }
+    // Focus states (we use .focused since IE8 and down doesn't support :focus)
+    &:focus,
+    &.focused {
+      padding: 5px 10px;
+      color: @grayDark;
+      text-shadow: 0 1px 0 @white;
+      background-color: @white;
+      border: 0;
+      .box-shadow(0 0 3px rgba(0,0,0,.15));
+      outline: 0;
+    }
+  }
+}
+
+
+// Static navbar
+.navbar-static {
+  margin-bottom: @baseLineHeight;
+}
+.navbar-static .navbar-inner {
+  padding-left:  20px;
+  padding-right: 20px;
+  .border-radius(4px);
+}
+
+// Fixed navbar
+.navbar-fixed {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 10000;
+}
+
+
+
+// NAVIGATION
+// ----------
+
+// Nav for navbar and topbar
+// ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
+.nav {
+  position: relative;
+  left: 0;
+  display: block;
+  float: left;
+  margin: 0 10px 0 0;
+  > li {
+    display: block;
+    float: left;
+  }
+  a {
+    display: block;
+    float: none;
+    padding: 10px 10px 11px;
+    line-height: 19px;
+    color: @grayLight;
+    text-decoration: none;
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+    &:hover {
+      color: @white;
+      text-decoration: none;
+    }
+  }
+  .active > a {
+    background-color: #222;
+    background-color: rgba(0,0,0,.5);
+  }
+  // Dividers (basically a vertical hr)
+  .divider {
+    height: 40px;
+    width: 1px;
+    margin: 0 5px;
+    overflow: hidden;
+    background-color: #222;
+    border-right: 1px solid #444;
+  }
+
+  // Secondary (floated right) nav in topbar
+  &.secondary-nav {
+    float: right;
+    margin-left: 10px;
+    margin-right: 0;
+    .dropdown-menu {
+      right: 0;
+      border: 0;
+    }
+  }
+  // Dropdowns within the .nav
+  .dropdown-toggle:hover,
+  .dropdown.open .dropdown-toggle {
+    background: #444;
+    background: rgba(255,255,255,.05);
+  }
+  .dropdown-menu {
+    background-color: #333;
+    .dropdown-toggle {
+      color: @white;
+      &.open {
+        background: #444;
+        background: rgba(255,255,255,.05);
+      }
+    }
+    li a {
+      color: #999;
+      text-shadow: 0 1px 0 rgba(0,0,0,.5);
+      &:hover {
+        #gradient > .vertical(#292929,#191919);
+        color: @white;
+      }
+    }
+    .active a {
+      color: @white;
+    }
+    .divider {
+      background-color: #222;
+      border-color: #444;
+    }
+  }
+}
diff --git a/lib/patterns.less b/lib/patterns.less
index 7c9ee7e48f..72c3e8ec5f 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -3,220 +3,6 @@
 // ----------------------------------------------------------------------------
 
 
-// NAVBAR (FIXED AND STATIC)
-// -------------------------
-
-// Navbar variables
-@navBarHeight: 40px;
-@navBarBgStart: #333;
-@navBarBgEnd: #222;
-
-// Common styles
-.navbar {
-  overflow: visible;
-}
-// gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
-.navbar-inner {
-  background-color: @navBarBgEnd;
-  #gradient > .vertical(@navBarBgStart, @navBarBgEnd);
-  @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
-  .box-shadow(@shadow);
-}
-// Text and links
-.navbar {
-  // Hover and active states
-  .brand a:hover,
-  ul .active > a {
-    color: @white;
-    text-decoration: none;
-    background-color: @navBarBgStart;
-    background-color: rgba(255,255,255,.05);
-  }
-  // Website or project name
-  .brand {
-    float: left;
-    display: block;
-    padding: 8px 20px 12px;
-    margin-left: -20px; // negative indent to left-align the text down the page
-    font-size: 20px;
-    font-weight: 200;
-    line-height: 1;
-    color: @white;
-  }
-  // Plain text in topbar
-  p {
-    margin: 0;
-    line-height: 40px;
-    a:hover {
-      color: @white;
-      background-color: transparent;
-    }
-  }
-  // Buttons in navbar
-  .btn {
-    margin-top: 5px; // make buttons vertically centered in navbar
-  }
-}
-
-// Navbar search
-.navbar-search {
-  position: relative;
-  float: left;
-  margin-top: 6px;
-  margin-bottom: 0;
-  .search-query {
-    padding: 4px 9px;
-    #font > .sans-serif(13px, normal, 1);
-    color: @white;
-    color: rgba(255,255,255,.75);
-    background-color: #444;
-    background-color: rgba(255,255,255,.3);
-    border: 1px solid #111;
-    @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
-    .box-shadow(@shadow);
-    .transition(none);
-
-    // Placeholder text gets special styles; can't be bundled together though for some reason
-    &:-moz-placeholder {
-      color: @grayLighter;
-    }
-    &::-webkit-input-placeholder {
-      color: @grayLighter;
-    }
-    // Hover states
-    &:hover {
-      color: @white;
-      background-color: @grayLight;
-      background-color: rgba(255,255,255,.5);
-    }
-    // Focus states (we use .focused since IE8 and down doesn't support :focus)
-    &:focus,
-    &.focused {
-      padding: 5px 10px;
-      color: @grayDark;
-      text-shadow: 0 1px 0 @white;
-      background-color: @white;
-      border: 0;
-      .box-shadow(0 0 3px rgba(0,0,0,.15));
-      outline: 0;
-    }
-  }
-}
-
-
-// Static navbar
-.navbar-static {
-  margin-bottom: @baseLineHeight;
-}
-.navbar-static .navbar-inner {
-  padding-left:  20px;
-  padding-right: 20px;
-  .border-radius(4px);
-}
-
-// Fixed navbar
-.navbar-fixed {
-  position: fixed;
-  top: 0;
-  right: 0;
-  left: 0;
-  z-index: 10000;
-}
-
-
-
-// NAVIGATION
-// ----------
-
-// Nav for navbar and topbar
-// ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
-.nav {
-  position: relative;
-  left: 0;
-  display: block;
-  float: left;
-  margin: 0 10px 0 0;
-  > li {
-    display: block;
-    float: left;
-  }
-  a {
-    display: block;
-    float: none;
-    padding: 10px 10px 11px;
-    line-height: 19px;
-    color: @grayLight;
-    text-decoration: none;
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-    &:hover {
-      color: @white;
-      text-decoration: none;
-    }
-  }
-  .active > a {
-    background-color: #222;
-    background-color: rgba(0,0,0,.5);
-  }
-  // Dividers (basically a vertical hr)
-  .divider {
-    height: 40px;
-    width: 1px;
-    margin: 0 5px;
-    overflow: hidden;
-    background-color: #222;
-    border-right: 1px solid #444;
-  }
-
-  // Secondary (floated right) nav in topbar
-  &.secondary-nav {
-    float: right;
-    margin-left: 10px;
-    margin-right: 0;
-    .dropdown-menu {
-      right: 0;
-      border: 0;
-    }
-  }
-  // Dropdowns within the .nav
-  .dropdown-toggle:hover,
-  .dropdown.open .dropdown-toggle {
-    background: #444;
-    background: rgba(255,255,255,.05);
-  }
-  .dropdown-menu {
-    background-color: #333;
-    .dropdown-toggle {
-      color: @white;
-      &.open {
-        background: #444;
-        background: rgba(255,255,255,.05);
-      }
-    }
-    li a {
-      color: #999;
-      text-shadow: 0 1px 0 rgba(0,0,0,.5);
-      &:hover {
-        #gradient > .vertical(#292929,#191919);
-        color: @white;
-      }
-    }
-    .active a {
-      color: @white;
-    }
-    .divider {
-      background-color: #222;
-      border-color: #444;
-    }
-  }
-}
-
-.topbar ul .dropdown-menu li a {
-  padding: 4px 15px;
-}
-
-
-
-
 // PAGE HEADERS
 // ------------
 
@@ -255,354 +41,3 @@ footer {
     margin-bottom: @baseLineHeight * .75;
   }
 }
-
-
-// BUTTON STYLES
-// -------------
-
-// Shared colors for buttons and alerts
-.btn,
-.alert-message {
-  // Set text color
-  &.danger,
-  &.danger:hover,
-  &.error,
-  &.error:hover,
-  &.success,
-  &.success:hover,
-  &.info,
-  &.info:hover {
-    color: @white
-  }
-  // Danger and error appear as red
-  &.danger,
-  &.error {
-    .gradientBar(#ee5f5b, #c43c35);
-  }
-  // Success appears as green
-  &.success {
-    .gradientBar(#62c462, #57a957);
-  }
-  // Info appears as a neutral blue
-  &.info {
-    .gradientBar(#5bc0de, #339bb9);
-  }
-}
-
-// Base .btn styles
-.btn {
-  // Button Base
-  display: inline-block;
-  padding: 5px 14px 6px;
-  font-size: @baseFontSize;
-  line-height: normal;
-  color: #333;
-  text-shadow: 0 1px 1px rgba(255,255,255,.75);
-  #gradient > .vertical-three-colors(#ffffff, #ffffff, 25%, darken(#ffffff, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
-  border: 1px solid #ccc;
-  border-bottom-color: #bbb;
-  .border-radius(4px);
-  @shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
-  .box-shadow(@shadow);
-  cursor: pointer;
-
-  &:hover {
-    color: @grayDark;
-    text-decoration: none;
-    background-position: 0 -15px;
-  }
-
-  // Focus state for keyboard and accessibility
-  &:focus {
-    outline: 1px dotted #666;
-  }
-
-  // Primary Button Type
-  &.primary {
-    color: @white;
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-    .gradientBar(@blue, @blueDark)
-  }
-
-   // Transitions
-  .transition(.1s linear all);
-
-  // Active and Disabled states
-  &.active,
-  &:active {
-    @shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05);
-    .box-shadow(@shadow);
-  }
-  &.disabled {
-    cursor: default;
-    background-image: none;
-    .reset-filter();
-    .opacity(65);
-    .box-shadow(none);
-  }
-  &[disabled] {
-    // disabled pseudo can't be included with .disabled
-    // def because IE8 and below will drop it ;_;
-    cursor: default;
-    background-image: none;
-    .reset-filter();
-    .opacity(65);
-    .box-shadow(none);
-  }
-
-  // Button Sizes
-  &.large {
-    padding: 9px 14px 9px;
-    font-size: @baseFontSize + 2px;
-    line-height: normal;
-    .border-radius(6px);
-  }
-  &.small {
-    padding: 7px 9px 7px;
-    font-size: @baseFontSize - 2px;
-  }
-}
-// Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons
-:root .alert-message,
-:root .btn {
-  border-radius: 0 \0;
-}
-
-// Help Firefox not be a jerk about adding extra padding to buttons
-button.btn,
-input[type=submit].btn {
-  &::-moz-focus-inner {
-  	padding: 0;
-  	border: 0;
-  }
-}
-
-// Button groups
-// -------------
-
-// Group multiple button groups together for a toolbar
-.btn-toolbar {
-  .clearfix();
-  .btn-group {
-    float: left;
-    margin-right: 10px;
-  }
-}
-
-// Clear the float
-.btn-group {
-  .clearfix();
-}
-// Float them, remove border radius, then re-add to first and last elements
-.btn-group .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
-  &: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;
-        -moz-border-radius-bottomleft: 4px;
-            border-bottom-left-radius: 4px;
-  }
-  &:last-child {
-       -webkit-border-top-right-radius: 4px;
-           -moz-border-radius-topright: 4px;
-               border-top-right-radius: 4px;
-    -webkit-border-bottom-right-radius: 4px;
-        -moz-border-radius-bottomright: 4px;
-            border-bottom-right-radius: 4px;
-  }
-  // Reset corners for large buttons
-  &.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;
-        -moz-border-radius-bottomleft: 6px;
-            border-bottom-left-radius: 6px;
-  }
-  &.large:last-child {
-       -webkit-border-top-right-radius: 6px;
-           -moz-border-radius-topright: 6px;
-               border-top-right-radius: 6px;
-    -webkit-border-bottom-right-radius: 6px;
-        -moz-border-radius-bottomright: 6px;
-            border-bottom-right-radius: 6px;
-  }
-}
-// On hover/focus/active, bring the proper btn to front
-.btn-group .btn:hover,
-.btn-group .btn:focus,
-.btn-group .btn:active {
-  z-index: 2;
-}
-
-
-
-// CLOSE ICONS
-// -----------
-.close {
-  float: right;
-  font-size: 20px;
-  font-weight: bold;
-  line-height: @baseLineHeight * .75;
-  color: @black;
-  text-shadow: 0 1px 0 rgba(255,255,255,1);
-  .opacity(20);
-  &:hover {
-    color: @black;
-    text-decoration: none;
-    .opacity(40);
-  }
-}
-
-
-// ERROR STYLES
-// ------------
-
-// Base alert styles
-.alert-message {
-  position: relative;
-  padding: 7px 15px;
-  margin-bottom: @baseLineHeight;
-  color: @grayDark;
-  text-shadow: 0 1px 0 rgba(255,255,255,.5);
-  .gradientBar(#fceec1, #eedc94); // warning by default
-  border-width: 1px;
-  border-style: solid;
-  .border-radius(4px);
-  .box-shadow(inset 0 1px 0 rgba(255,255,255,.25));
-
-  // Adjust close icon
-  .close {
-    *margin-top: 3px; /* IE7 spacing */
-  }
-
-  // Remove extra margin from content
-  h5 {
-    line-height: @baseLineHeight;
-  }
-  p {
-    margin-bottom: 0;
-  }
-  div {
-    margin-top: 5px;
-    margin-bottom: 2px;
-    line-height: 28px;
-  }
-  .btn {
-    // Provide actions with buttons
-    .box-shadow(0 1px 0 rgba(255,255,255,.25));
-  }
-
-  &.error,
-  &.success,
-  &.info {
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-  }
-
-  &.block-message {
-    padding: 14px;
-    background-image: none;
-    background-color: lighten(#fceec1, 5%);
-    .reset-filter(); // undo gradient for IE9
-    border-color: #fceec1;
-    .box-shadow(none);
-    ul, p {
-      margin-right: 30px;
-    }
-    ul {
-      margin-bottom: 0;
-    }
-    li {
-      color: @grayDark;
-    }
-    .alert-actions {
-      margin-top: 5px;
-    }
-    &.error,
-    &.success,
-    &.info {
-      color: @grayDark;
-      text-shadow: 0 1px 0 rgba(255,255,255,.5);
-    }
-    &.error {
-      background-color: lighten(#f56a66, 25%);
-      border-color: lighten(#f56a66, 20%);
-    }
-    &.success {
-      background-color: lighten(#62c462, 30%);
-      border-color: lighten(#62c462, 25%);
-    }
-    &.info {
-      background-color: lighten(#6bd0ee, 25%);
-      border-color: lighten(#6bd0ee, 20%);
-    }
-  }
-}
-
-
-
-
-// WELLS
-// -----
-
-.well {
-  min-height: 20px;
-  padding: 19px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border: 1px solid #eee;
-  border: 1px solid rgba(0,0,0,.05);
-  .border-radius(4px);
-  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
-  blockquote {
-    border-color: #ddd;
-    border-color: rgba(0,0,0,.15);
-  }
-}
-
-
-// PATTERN ANIMATIONS
-// ------------------
-
-.fade {
-  .transition(opacity .15s linear);
-  opacity: 0;
-  &.in {
-    opacity: 1;
-  }
-}
-
-.collapse {
-  .transition(height .35s ease);
-  position:relative;
-  overflow:hidden;
-  height: 0;
-  &.in { height: auto; }
-}
-
-
-// LABELS
-// ------
-
-.label {
-  padding: 1px 3px 2px;
-  font-size: @baseFontSize * .75;
-  font-weight: bold;
-  color: @white;
-  text-transform: uppercase;
-  background-color: @grayLight;
-  .border-radius(3px);
-  &.important { background-color: #c43c35; }
-  &.warning   { background-color: @orange; }
-  &.success   { background-color: @green; }
-  &.notice    { background-color: lighten(@blue, 25%); }
-}
-
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 3e231aae5e..d75adba56b 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -12,7 +12,7 @@ body {
   font-family: @baseFontFamily;
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
-  color: @grayDark;
+  color: @gray;
   background-color: @white;
 }
 
diff --git a/lib/variables.less b/lib/variables.less
index caa9c0f602..03f1028f85 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -6,7 +6,7 @@
 // LINK COLORS
 // -----------
 
-@linkColor:         #0069d6;
+@linkColor:         #08c;
 @linkColorHover:    darken(@linkColor, 15);
 
 
@@ -14,10 +14,10 @@
 // -----
 
 @black:             #000;
-@grayDark:          lighten(@black, 25%);
-@gray:              lighten(@black, 50%);
-@grayLight:         lighten(@black, 75%);
-@grayLighter:       lighten(@black, 90%);
+@grayDark:          #333;
+@gray:              #555;
+@grayLight:         #999;
+@grayLighter:       #eee;
 @white:             #fff;
 
 
diff --git a/lib/wells.less b/lib/wells.less
new file mode 100644
index 0000000000..244b8ca102
--- /dev/null
+++ b/lib/wells.less
@@ -0,0 +1,17 @@
+// WELLS
+// -----
+
+.well {
+  min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
+  border: 1px solid #eee;
+  border: 1px solid rgba(0,0,0,.05);
+  .border-radius(4px);
+  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
+  blockquote {
+    border-color: #ddd;
+    border-color: rgba(0,0,0,.15);
+  }
+}
-- 
GitLab


From 23e5fc2133dd748ba4a7df52b598a24a2915811a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 14:11:41 -0800
Subject: [PATCH 183/576] Tweak the docs and address the new forms list of
 controls: radios and checkboxes are now hanging controls to wrap text
 properly

---
 bootstrap.css            | 15 +++++++++++----
 bootstrap.min.css        |  4 +++-
 docs/assets/css/docs.css |  6 +++++-
 docs/base-css.html       |  9 ++++++++-
 lib/forms.less           | 27 ++++++++++++++++++++++-----
 lib/patterns.less        | 13 -------------
 6 files changed, 49 insertions(+), 25 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 55706e2a3c..ea084d5f05 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 10:00:31 PST 2012
+ * Date: Thu Jan  5 14:10:04 PST 2012
  */
 html, body {
   margin: 0;
@@ -615,6 +615,16 @@ input[type=image] {
 textarea {
   height: auto;
 }
+.radio, .checkbox {
+  padding-left: 18px;
+}
+.radio input[type=radio], .checkbox input[type=checkbox] {
+  float: left;
+  margin-left: -18px;
+}
+.controls > .radio:first-child, .controls > .checkbox:first-child {
+  padding-top: 6px;
+}
 input, textarea {
   -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
   -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
@@ -986,9 +996,6 @@ textarea[readonly] {
 .horizontal-form .controls {
   margin-left: 150px;
 }
-.horizontal-form .controls > .radio:first-child, .horizontal-form .controls > .checkbox:first-child {
-  padding-top: 6px;
-}
 .horizontal-form .form-actions {
   padding-left: 150px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index d0ba4dc53e..a021bf774f 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -104,6 +104,9 @@ select{background-color:#ffffff;vertical-align:middle;}
 select[multiple],select[size]{height:inherit;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
+.radio,.checkbox{padding-left:18px;}
+.radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-18px;}
+.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
 input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
 input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
 input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
@@ -159,7 +162,6 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .control-group>label{font-weight:bold;}
 .horizontal-form .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
 .horizontal-form .controls{margin-left:150px;}
-.horizontal-form .controls>.radio:first-child,.horizontal-form .controls>.checkbox:first-child{padding-top:6px;}
 .horizontal-form .form-actions{padding-left:150px;}
 table{width:100%;margin-bottom:18px;}
 th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index a4573448f2..9501ec5dc4 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -36,7 +36,11 @@ body > .navbar-fixed .brand:hover {
 /* Space out sub-sections more
 -------------------------------------------------- */
 .page-header {
-  margin-top: 36px;
+  margin: 36px 0 18px;
+  border-bottom: 1px solid #eee;
+}
+.page-header h1 {
+  margin-bottom: 9px;
 }
 
 
diff --git a/docs/base-css.html b/docs/base-css.html
index 58d42c2b06..1ec808a394 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -795,9 +795,16 @@ Form states
   warning
   error
   success
-
 -->
 
+<div class="row">
+  <div class="span4">
+    <h3>Flexible markup and styles</h3>
+    <p>The best part about forms in Bootstrap is that all your inputs and controls look great no matter how you build them in your markup. No superfluous HTML is required, but we provide the patterns for those who require it.</p>
+  </div>
+</div>
+
+  
   <h2>Four types of forms</h2>
   <table class="bordered-table striped-table">
     <thead>
diff --git a/lib/forms.less b/lib/forms.less
index 0c624fa884..32acbdaba9 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -116,6 +116,28 @@ textarea {
 
 
 
+// CHECKBOXES & RADIOS
+// -------------------
+
+// Indent the labels to position radios/checkboxes as hanging
+.radio,
+.checkbox {
+  padding-left: 18px;
+}
+.radio input[type=radio],
+.checkbox input[type=checkbox] {
+  float: left;
+  margin-left: -18px;
+}
+
+// Move the options list down to align with labels
+.controls > .radio:first-child,
+.controls > .checkbox:first-child {
+  padding-top: 6px; // has to be padding because margin collaspes
+}
+
+
+
 // FOCUS STATE
 // -----------
 
@@ -390,11 +412,6 @@ textarea[readonly] {
   .controls {
     margin-left: 150px;
   }
-  // Move the options list down to align with labels
-  .controls > .radio:first-child,
-  .controls > .checkbox:first-child {
-    padding-top: 6px; // has to be padding because margin collaspes
-  }
   // Move over buttons in .form-actions to align with .controls
   .form-actions {
     padding-left: 150px;
diff --git a/lib/patterns.less b/lib/patterns.less
index 72c3e8ec5f..7a039ce265 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -28,16 +28,3 @@ footer {
   margin-top: @baseLineHeight - 1;
   border-top: 1px solid #eee;
 }
-
-
-// PAGE HEADERS
-// ------------
-
-.page-header {
-  margin-bottom: @baseLineHeight * 1.5;
-  border-bottom: 1px solid #eee;
-  .box-shadow(0 1px 0 rgba(255,255,255,.5));
-  h1 {
-    margin-bottom: @baseLineHeight * .75;
-  }
-}
-- 
GitLab


From 621dd13d87b6ba5fd351966056ea335c6a946f45 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 15:43:07 -0800
Subject: [PATCH 184/576] move mega link footer to scaffolding to try it out,
 fix broken button text shadow, change UL/OL margins back, make li color same
 as body

---
 bootstrap.css            |  7 +++--
 bootstrap.min.css        |  6 ++--
 docs/assets/css/docs.css | 22 ++++++++++++++
 docs/base-css.html       |  2 ++
 docs/scaffolding.html    | 64 ++++++++++++++++++++++++++++++++++++++++
 lib/buttons.less         |  1 +
 lib/type.less            |  4 +--
 7 files changed, 98 insertions(+), 8 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ea084d5f05..6b6fd9e52b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 14:10:04 PST 2012
+ * Date: Thu Jan  5 15:42:23 PST 2012
  */
 html, body {
   margin: 0;
@@ -401,7 +401,7 @@ h6 {
   text-transform: uppercase;
 }
 ul, ol {
-  margin: 13px 0 14px 25px;
+  margin: 0 0 9px 25px;
 }
 ul ul,
 ul ol,
@@ -417,7 +417,7 @@ ol {
 }
 li {
   line-height: 18px;
-  color: #333333;
+  color: #555555;
 }
 ul.unstyled {
   margin-left: 0;
@@ -2503,6 +2503,7 @@ i {
 .alert-message.info,
 .btn.info:hover,
 .alert-message.info:hover {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   color: #ffffff;
 }
 .btn.danger,
diff --git a/bootstrap.min.css b/bootstrap.min.css
index a021bf774f..d61bc58cd4 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -69,11 +69,11 @@ h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
 h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
 h5{font-size:14px;line-height:18px;}
 h6{font-size:13px;line-height:18px;color:#999999;text-transform:uppercase;}
-ul,ol{margin:13px 0 14px 25px;}
+ul,ol{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;color:#333333;}
+li{line-height:18px;color:#555555;}
 ul.unstyled{margin-left:0;list-style:none;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
@@ -390,7 +390,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
 .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;}
 .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;-webkit-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;}
-.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
+.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
 .btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 9501ec5dc4..5eafb962b7 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -202,6 +202,28 @@ body > .navbar-fixed .brand:hover {
   margin-bottom: 0;
   color: #555;
 }
+.footer dl {
+  margin-bottom: 0;
+}
+.footer dl dt {
+  font-size: 11px;
+  color: #999;
+  text-transform: uppercase;
+}
+.footer dl dd + dt {
+  margin-top: 18px;
+}
+.footer dl dd {
+  margin-left: 0;
+  font-size: 12px;
+}
+.footer dl a {
+  color: #999;
+}
+.footer dl a:hover {
+  color: #555;
+}
+
 
 
 /* Special grid styles
diff --git a/docs/base-css.html b/docs/base-css.html
index 1ec808a394..10be4c3d48 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -802,6 +802,8 @@ Form states
     <h3>Flexible markup and styles</h3>
     <p>The best part about forms in Bootstrap is that all your inputs and controls look great no matter how you build them in your markup. No superfluous HTML is required, but we provide the patterns for those who require it.</p>
   </div>
+  <div class="span4">
+  </div>
 </div>
 
   
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 0a46252ddb..87394006bf 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -361,6 +361,70 @@
       <!-- Footer
       ================================================== -->
       <footer class="footer">
+        <div class="row">
+          <dl class="span2">
+            <dt>Bootstrap</dt>
+            <dd><a href="./index.html">Overview</a></dd>
+            <dd><a href="./index.html#gettingstarted">Getting started</a></dd>
+            <dt>Elsewhere</dt>
+            <dd><a href="https://github.com/twitter/bootstrap/">GitHub</a></dd>
+            <dd><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></dd>
+            <dd><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></dd>
+            <dd><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></dd>
+          </dl>
+          <dl class="span2">
+            <dt>Scaffolding</dt>
+            <dd><a href="./scaffolding.html#grid">Grid system</a></dd>
+            <dd><a href="./scaffolding.html#layouts">Layouts</a></dd>
+            <dd><a href="./scaffolding.html#responsive">Responsive design</a></dd>
+          </dl>
+          <dl class="span2">
+            <dt>Base CSS</dt>
+            <dd><a href="./base-css.html#type">Type</a></dd>
+            <dd><a href="./base-css.html#tables">Tables</a></dd>
+            <dd><a href="./base-css.html#forms">Forms</a></dd>
+            <dd><a href="./base-css.html#buttons">Buttons</a></dd>
+            <dd><a href="./base-css.html#buttongroups">Button groups</a></dd>
+            <dd><a href="./base-css.html#icons">Icons</a></dd>
+          </dl>
+          <dl class="span2">
+            <dt>Components</dt>
+            <dd><a href="./components.html#thumbnails">Thumbnails</a></dd>
+            <dd><a href="./components.html#autocomplete">Autocomplete</a></dd>
+            <dd><a href="./components.html#carousel">Carousel</a></dd>
+            <dd><a href="./components.html#sidenav">Side nav</a></dd>
+            <dd><a href="./components.html#navbar">Navbar</a></dd>
+            <dd><a href="./components.html#tabspills">Tabs and pills</a></dd>
+            <dd><a href="./components.html#stepnav">Step nav</a></dd>
+            <dd><a href="./components.html#pagination">Pagination</a></dd>
+            <dd><a href="./components.html#alerts">Alerts and errors</a></dd>
+            <dd><a href="./components.html#modals">Modals</a></dd>
+            <dd><a href="./components.html#twipsy">Twipsy tooltips</a></dd>
+            <dd><a href="./components.html#popover">Popovers</a></dd>
+          </dl>
+          <dl class="span2">
+            <dt>Javascript plugins</dt>
+            <dd><a href="">Transitions</a></dd>
+            <dd><a href="./javasript.html#modals">Modals</a></dd>
+            <dd><a href="./javasript.html#dropdowns">Dropdowns</a></dd>
+            <dd><a href="./javasript.html#scrollspy">Scrollspy</a></dd>
+            <dd><a href="./javasript.html#tabs">Tabs</a></dd>
+            <dd><a href="./javasript.html#twipsy">Twipsy tooltips</a></dd>
+            <dd><a href="./javasript.html#popovers">Popovers</a></dd>
+            <dd><a href="./javasript.html#alerts">Alerts</a></dd>
+            <dd><a href="./javasript.html#buttons">Buttons</a></dd>
+            <dd><a href="./javasript.html#accordion">Accordion</a></dd>
+            <dd><a href="./javasript.html#carousel">Carousel</a></dd>
+          </dl>
+          <dl class="span2">
+            <dt>Using LESS</dt>
+            <dd><a href="./less.html#intro">Introduction to LESS</a></dd>
+            <dd><a href="./less.html#variables">Variables</a></dd>
+            <dd><a href="./less.html#mixins">Mixins</a></dd>
+            <dd><a href="./less.html#compiling">Compiling Bootstrap</a></dd>
+          </dl>
+        </div>
+        <hr>
         <p class="pull-right"><a href="#">Back to top</a></p>
         <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
diff --git a/lib/buttons.less b/lib/buttons.less
index aeb70605b4..bc2df0fb63 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -13,6 +13,7 @@
   &.success:hover,
   &.info,
   &.info:hover {
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
     color: @white
   }
   // Danger and error appear as red
diff --git a/lib/type.less b/lib/type.less
index cc446a69d5..59dae717fb 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -74,7 +74,7 @@ h6 {
 
 // Unordered and Ordered lists
 ul, ol {
-  margin: 13px 0 14px 25px;
+  margin: 0 0 @baseLineHeight / 2 25px;
 }
 ul ul,
 ul ol,
@@ -90,7 +90,7 @@ ol {
 }
 li {
   line-height: @baseLineHeight;
-  color: @grayDark;
+  color: @gray;
 }
 ul.unstyled {
   margin-left: 0;
-- 
GitLab


From 03d7c1a65e0321445842a4925d19331fda200c02 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 15:46:48 -0800
Subject: [PATCH 185/576] make dropdowns use unicode character for :after

---
 bootstrap.css      | 4 ++--
 bootstrap.min.css  | 2 +-
 lib/dropdowns.less | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6b6fd9e52b..0624b31049 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 15:42:23 PST 2012
+ * Date: Thu Jan  5 15:46:10 PST 2012
  */
 html, body {
   margin: 0;
@@ -1486,7 +1486,7 @@ i {
   filter: alpha(opacity=30);
   -moz-opacity: 0.3;
   opacity: 0.3;
-  content: "&darr;";
+  content: "\2193";
 }
 .dropdown:hover .dropdown-toggle:after {
   filter: alpha(opacity=100);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index d61bc58cd4..cda70c6d1a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -267,7 +267,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .minus{background-position:-432px -96px;}
 .asterisk{background-position:-456px -96px;}
 .dropdown{position:relative;}
-.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"&darr;";}
+.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
 .dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:6px 0;margin-left:0;margin-right:0;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;zoom:1;}.dropdown-menu li{float:none;display:block;background-color:none;}
 .dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 7436f6a2c5..18856cf05c 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -16,7 +16,7 @@
   border-right: 4px solid transparent;
   border-top: 4px solid @white;
   .opacity(30);
-  content: "&darr;";
+  content: "\2193";
 }
 .dropdown:hover .dropdown-toggle:after {
   .opacity(100);
-- 
GitLab


From aa5342888bf9b3041d2f703349d7ff94cf8b5f43 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 15:48:40 -0800
Subject: [PATCH 186/576] default cursor for disabled links in pagination

---
 bootstrap.css       | 3 ++-
 bootstrap.min.css   | 2 +-
 lib/pagination.less | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0624b31049..aa13815fde 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 15:46:10 PST 2012
+ * Date: Thu Jan  5 15:48:31 PST 2012
  */
 html, body {
   margin: 0;
@@ -2223,6 +2223,7 @@ i {
 .pagination .disabled a, .pagination .disabled a:hover {
   color: #999999;
   background-color: transparent;
+  cursor: default;
 }
 .pagination .next a {
   border: 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index cda70c6d1a..8d7c8bd4cf 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -354,7 +354,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;}
 .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
-.pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;}
+.pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
 .pagination .next a{border:0;}
 .pagination.centered{text-align:center;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
diff --git a/lib/pagination.less b/lib/pagination.less
index f630511689..e388057604 100644
--- a/lib/pagination.less
+++ b/lib/pagination.less
@@ -34,6 +34,7 @@
   .disabled a:hover {
     color: @grayLight;
     background-color: transparent;
+    cursor: default;
   }
   .next a {
     border: 0;
-- 
GitLab


From 90e3a706ba8c01462516efd3c60cd124620950b9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 16:03:05 -0800
Subject: [PATCH 187/576] add jank js back to docs application.js for
 responsive dropdown in topbar

---
 docs/assets/js/application.js | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index eae84b138f..63791bd37d 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -4,6 +4,7 @@ $(function(){
   // IT'S ALL JUST JUNK FOR OUR DOCS!
   // ++++++++++++++++++++++++++++++++++++++++++
 
+
   // Hide the Mobile Safari address bar once loaded
   // ==============================================
 
@@ -13,6 +14,16 @@ $(function(){
     window.scrollTo(0, 1);
   }, 0);
 
+
+  // Docs topbar nav
+  // ===============
+
+  $('.nav .active').on('click', function (e) {
+    e.preventDefault()
+    $(this).siblings().toggle()
+  });
+
+
   // table sort example
   // ==================
 
-- 
GitLab


From 314feb702f9a95ee473e529650e16654714cd9f4 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 5 Jan 2012 18:32:08 -0800
Subject: [PATCH 188/576] listen to window for dropdown clear

---
 docs/assets/js/application.js | 9 ---------
 js/bootstrap-dropdown.js      | 2 +-
 2 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 63791bd37d..6194b88db5 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -15,15 +15,6 @@ $(function(){
   }, 0);
 
 
-  // Docs topbar nav
-  // ===============
-
-  $('.nav .active').on('click', function (e) {
-    e.preventDefault()
-    $(this).siblings().toggle()
-  });
-
-
   // table sort example
   // ==================
 
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 15f4677b9d..d846f1af1b 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -74,7 +74,7 @@
    * =================================== */
 
   $(function () {
-    $('html').on('click.dropdown.data-api', clearMenus)
+    $(window).on('click.dropdown.data-api', clearMenus)
     $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
   })
 
-- 
GitLab


From c56e9d2d35299b4c9e4e3d1aabcf59cedc9143f2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 21:43:28 -0800
Subject: [PATCH 189/576] massive docs update, mostly to all our new forms, and
 to the buttons

---
 bootstrap.css                 |  52 +++--
 bootstrap.min.css             |  50 ++---
 docs/assets/css/docs.css      |  44 +++-
 docs/assets/js/application.js |   8 +-
 docs/base-css.html            | 381 ++++++++++++++++++++--------------
 lib/buttons.less              |   2 +-
 lib/forms.less                |  32 ++-
 lib/mixins.less               |   1 -
 8 files changed, 338 insertions(+), 232 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index aa13815fde..0014fcdcc2 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 15:48:31 PST 2012
+ * Date: Thu Jan  5 21:43:09 PST 2012
  */
 html, body {
   margin: 0;
@@ -261,7 +261,6 @@ a:hover {
   clear: both;
 }
 [class*="span"] {
-  display: inline;
   float: left;
   margin-left: 20px;
 }
@@ -555,10 +554,11 @@ input,
 textarea,
 select,
 .uneditable-input {
-  display: inline-block;
+  display: block;
   width: 210px;
   height: 18px;
   padding: 4px;
+  margin-bottom: 9px;
   font-size: 13px;
   line-height: 18px;
   color: #555555;
@@ -670,7 +670,6 @@ input.span1,
 textarea.span1,
 select.span1,
 .uneditable-input.span1 {
-  display: inline-block;
   float: none;
   width: 50px;
   margin-left: 0;
@@ -679,7 +678,6 @@ input.span2,
 textarea.span2,
 select.span2,
 .uneditable-input.span2 {
-  display: inline-block;
   float: none;
   width: 130px;
   margin-left: 0;
@@ -688,7 +686,6 @@ input.span3,
 textarea.span3,
 select.span3,
 .uneditable-input.span3 {
-  display: inline-block;
   float: none;
   width: 210px;
   margin-left: 0;
@@ -697,7 +694,6 @@ input.span4,
 textarea.span4,
 select.span4,
 .uneditable-input.span4 {
-  display: inline-block;
   float: none;
   width: 290px;
   margin-left: 0;
@@ -706,7 +702,6 @@ input.span5,
 textarea.span5,
 select.span5,
 .uneditable-input.span5 {
-  display: inline-block;
   float: none;
   width: 370px;
   margin-left: 0;
@@ -715,7 +710,6 @@ input.span6,
 textarea.span6,
 select.span6,
 .uneditable-input.span6 {
-  display: inline-block;
   float: none;
   width: 450px;
   margin-left: 0;
@@ -724,7 +718,6 @@ input.span7,
 textarea.span7,
 select.span7,
 .uneditable-input.span7 {
-  display: inline-block;
   float: none;
   width: 530px;
   margin-left: 0;
@@ -733,7 +726,6 @@ input.span8,
 textarea.span8,
 select.span8,
 .uneditable-input.span8 {
-  display: inline-block;
   float: none;
   width: 610px;
   margin-left: 0;
@@ -742,7 +734,6 @@ input.span9,
 textarea.span9,
 select.span9,
 .uneditable-input.span9 {
-  display: inline-block;
   float: none;
   width: 690px;
   margin-left: 0;
@@ -751,7 +742,6 @@ input.span10,
 textarea.span10,
 select.span10,
 .uneditable-input.span10 {
-  display: inline-block;
   float: none;
   width: 770px;
   margin-left: 0;
@@ -760,7 +750,6 @@ input.span11,
 textarea.span11,
 select.span11,
 .uneditable-input.span11 {
-  display: inline-block;
   float: none;
   width: 850px;
   margin-left: 0;
@@ -769,7 +758,6 @@ input.span12,
 textarea.span12,
 select.span12,
 .uneditable-input.span12 {
-  display: inline-block;
   float: none;
   width: 930px;
   margin-left: 0;
@@ -778,7 +766,6 @@ input.span13,
 textarea.span13,
 select.span13,
 .uneditable-input.span13 {
-  display: inline-block;
   float: none;
   width: 1010px;
   margin-left: 0;
@@ -787,7 +774,6 @@ input.span14,
 textarea.span14,
 select.span14,
 .uneditable-input.span14 {
-  display: inline-block;
   float: none;
   width: 1090px;
   margin-left: 0;
@@ -796,7 +782,6 @@ input.span15,
 textarea.span15,
 select.span15,
 .uneditable-input.span15 {
-  display: inline-block;
   float: none;
   width: 1170px;
   margin-left: 0;
@@ -805,7 +790,6 @@ input.span16,
 textarea.span16,
 select.span16,
 .uneditable-input.span16 {
-  display: inline-block;
   float: none;
   width: 1250px;
   margin-left: 0;
@@ -890,13 +874,13 @@ textarea[readonly] {
   box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
   cursor: not-allowed;
 }
-:-moz-placeholder {
+input:-moz-placeholder {
   color: #999999;
 }
-::-webkit-input-placeholder {
+input::-webkit-input-placeholder {
   color: #999999;
 }
-.help-text {
+.help-block {
   margin-top: 5px;
   margin-bottom: 0;
   color: #999999;
@@ -911,11 +895,8 @@ textarea[readonly] {
   display: inline;
   padding-left: 5px;
 }
-.help-block {
-  display: block;
-  max-width: 600px;
-}
 .input-prepend, .input-append {
+  margin-bottom: 5px;
   zoom: 1;
 }
 .input-prepend:before,
@@ -977,10 +958,27 @@ textarea[readonly] {
   border-radius: 0 3px 3px 0;
 }
 .search-form .search-query {
+  padding-left: 14px;
+  padding-right: 14px;
   -webkit-border-radius: 14px;
   -moz-border-radius: 14px;
   border-radius: 14px;
 }
+.search-form input,
+.inline-form input,
+.horizontal-form input,
+.search-form textarea,
+.inline-form textarea,
+.horizontal-form textarea,
+.search-form select,
+.inline-form select,
+.horizontal-form select,
+.search-form .uneditable-input,
+.inline-form .uneditable-input,
+.horizontal-form .uneditable-input {
+  display: inline-block;
+  margin-bottom: 0;
+}
 .control-group {
   margin-bottom: 18px;
 }
@@ -2554,7 +2552,7 @@ i {
 }
 .btn {
   display: inline-block;
-  padding: 5px 14px 6px;
+  padding: 5px 10px 6px;
   font-size: 13px;
   line-height: normal;
   color: #333;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 8d7c8bd4cf..86aa51cda9 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -37,7 +37,7 @@ a{font-weight:inherit;line-height:inherit;color:#0088cc;text-decoration:none;}a:
 .show{display:block;}
 .row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;*display:inline;content:"";zoom:1;}
 .row:after{clear:both;}
-[class*="span"]{display:inline;float:left;margin-left:20px;}
+[class*="span"]{float:left;margin-left:20px;}
 .span1{width:60px;}
 .span2{width:140px;}
 .span3{width:220px;}
@@ -95,7 +95,7 @@ form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+input,textarea,select,.uneditable-input{display:block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
@@ -116,22 +116,22 @@ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shado
 .input-large{width:210px;}
 .input-xlarge{width:270px;}
 .input-xxlarge{width:530px;}
-input.span1,textarea.span1,select.span1,.uneditable-input.span1{display:inline-block;float:none;width:50px;margin-left:0;}
-input.span2,textarea.span2,select.span2,.uneditable-input.span2{display:inline-block;float:none;width:130px;margin-left:0;}
-input.span3,textarea.span3,select.span3,.uneditable-input.span3{display:inline-block;float:none;width:210px;margin-left:0;}
-input.span4,textarea.span4,select.span4,.uneditable-input.span4{display:inline-block;float:none;width:290px;margin-left:0;}
-input.span5,textarea.span5,select.span5,.uneditable-input.span5{display:inline-block;float:none;width:370px;margin-left:0;}
-input.span6,textarea.span6,select.span6,.uneditable-input.span6{display:inline-block;float:none;width:450px;margin-left:0;}
-input.span7,textarea.span7,select.span7,.uneditable-input.span7{display:inline-block;float:none;width:530px;margin-left:0;}
-input.span8,textarea.span8,select.span8,.uneditable-input.span8{display:inline-block;float:none;width:610px;margin-left:0;}
-input.span9,textarea.span9,select.span9,.uneditable-input.span9{display:inline-block;float:none;width:690px;margin-left:0;}
-input.span10,textarea.span10,select.span10,.uneditable-input.span10{display:inline-block;float:none;width:770px;margin-left:0;}
-input.span11,textarea.span11,select.span11,.uneditable-input.span11{display:inline-block;float:none;width:850px;margin-left:0;}
-input.span12,textarea.span12,select.span12,.uneditable-input.span12{display:inline-block;float:none;width:930px;margin-left:0;}
-input.span13,textarea.span13,select.span13,.uneditable-input.span13{display:inline-block;float:none;width:1010px;margin-left:0;}
-input.span14,textarea.span14,select.span14,.uneditable-input.span14{display:inline-block;float:none;width:1090px;margin-left:0;}
-input.span15,textarea.span15,select.span15,.uneditable-input.span15{display:inline-block;float:none;width:1170px;margin-left:0;}
-input.span16,textarea.span16,select.span16,.uneditable-input.span16{display:inline-block;float:none;width:1250px;margin-left:0;}
+input.span1,textarea.span1,select.span1,.uneditable-input.span1{float:none;width:50px;margin-left:0;}
+input.span2,textarea.span2,select.span2,.uneditable-input.span2{float:none;width:130px;margin-left:0;}
+input.span3,textarea.span3,select.span3,.uneditable-input.span3{float:none;width:210px;margin-left:0;}
+input.span4,textarea.span4,select.span4,.uneditable-input.span4{float:none;width:290px;margin-left:0;}
+input.span5,textarea.span5,select.span5,.uneditable-input.span5{float:none;width:370px;margin-left:0;}
+input.span6,textarea.span6,select.span6,.uneditable-input.span6{float:none;width:450px;margin-left:0;}
+input.span7,textarea.span7,select.span7,.uneditable-input.span7{float:none;width:530px;margin-left:0;}
+input.span8,textarea.span8,select.span8,.uneditable-input.span8{float:none;width:610px;margin-left:0;}
+input.span9,textarea.span9,select.span9,.uneditable-input.span9{float:none;width:690px;margin-left:0;}
+input.span10,textarea.span10,select.span10,.uneditable-input.span10{float:none;width:770px;margin-left:0;}
+input.span11,textarea.span11,select.span11,.uneditable-input.span11{float:none;width:850px;margin-left:0;}
+input.span12,textarea.span12,select.span12,.uneditable-input.span12{float:none;width:930px;margin-left:0;}
+input.span13,textarea.span13,select.span13,.uneditable-input.span13{float:none;width:1010px;margin-left:0;}
+input.span14,textarea.span14,select.span14,.uneditable-input.span14{float:none;width:1090px;margin-left:0;}
+input.span15,textarea.span15,select.span15,.uneditable-input.span15{float:none;width:1170px;margin-left:0;}
+input.span16,textarea.span16,select.span16,.uneditable-input.span16{float:none;width:1250px;margin-left:0;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 .control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
 .control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#ee5f5b;}.control-group.error input:focus,.control-group.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
@@ -144,12 +144,11 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{display:block;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-placeholder{color:#999999;}
-::-webkit-input-placeholder{color:#999999;}
-.help-text{margin-top:5px;margin-bottom:0;color:#999999;}
+input:-moz-placeholder{color:#999999;}
+input::-webkit-input-placeholder{color:#999999;}
+.help-block{margin-top:5px;margin-bottom:0;color:#999999;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
-.help-block{display:block;max-width:600px;}
-.input-prepend,.input-append{zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;*display:inline;content:"";zoom:1;}
+.input-prepend,.input-append{margin-bottom:5px;zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;*display:inline;content:"";zoom:1;}
 .input-prepend:after,.input-append:after{clear:both;}
 .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
@@ -157,7 +156,8 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.search-form .search-query{-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
+.search-form .search-query{padding-left:14px;padding-right:14px;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
+.search-form input,.inline-form input,.horizontal-form input,.search-form textarea,.inline-form textarea,.horizontal-form textarea,.search-form select,.inline-form select,.horizontal-form select,.search-form .uneditable-input,.inline-form .uneditable-input,.horizontal-form .uneditable-input{display:inline-block;margin-bottom:0;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
 .horizontal-form .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
@@ -394,7 +394,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{display:inline-block;padding:5px 14px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
+.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
 .btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 5eafb962b7..41c7ae4b64 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -36,11 +36,13 @@ body > .navbar-fixed .brand:hover {
 /* Space out sub-sections more
 -------------------------------------------------- */
 .page-header {
-  margin: 36px 0 18px;
+  margin: 45px 0 18px;
   border-bottom: 1px solid #eee;
 }
 .page-header h1 {
-  margin-bottom: 9px;
+  margin-bottom: 17px;
+  font-size: 36px;
+  line-height: 1;
 }
 
 
@@ -327,10 +329,6 @@ pre.prettyprint {
   overflow: hidden;
 }
 
-.well form {
-  margin-bottom: 0;
-}
-
 .browser-support {
   max-width: 100%;
 }
@@ -356,6 +354,40 @@ h2 + table {
   position: relative;
 }
 
+/* Remove bottom margin on example forms in wells */
+form.well {
+  margin-bottom: 0;
+}
+
+/* Tighten up spacing */
+.well hr {
+  margin: 18px 0;
+}
+
+/* Form docs for horizontal forms */
+.form-docs {
+  padding-left: 10px;
+}
+.form-docs h3,
+.form-docs p,
+.form-docs li {
+  color: #777;
+}
+.form-docs hr {
+  margin: 18px 0;
+}
+
+/* Fake the :focus state to demo it */
+.focused {
+  border-color: rgba(82,168,236,.8);
+  -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
+     -moz-box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
+          box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
+  outline: 0;
+}
+
+
+
 /* Icons
 ------------------------- */
 .the-icons {
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 63791bd37d..5fe8b53ef4 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -9,10 +9,10 @@ $(function(){
   // ==============================================
 
   // Set a timeout...
-  setTimeout(function(){
-    // Hide the address bar!
-    window.scrollTo(0, 1);
-  }, 0);
+  // setTimeout(function(){
+  //   // Hide the address bar!
+  //   window.scrollTo(0, 1);
+  // }, 0);
 
 
   // Docs topbar nav
diff --git a/docs/base-css.html b/docs/base-css.html
index 10be4c3d48..225f10ae2d 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -593,6 +593,9 @@
 &lt;table&gt;
   ...
 &lt;/table&gt;</pre>
+
+  <br>
+
   <h3>2. Striped table</h3>
   <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.striped-table</code> class.</p>
   <table class="striped-table">
@@ -630,6 +633,9 @@
 &lt;table class="striped-table"&gt;
   ...
 &lt;/table&gt;</pre>
+
+  <br>
+
   <h3>3. Bordered table</h3>
   <p>Add borders around the entire table and between each row, plus a bit of rounded corners for aesthetic purposes.</p>
   <p><span class="label">Note</span> Bordered tables do not work well with <code>rowspan</code> due to somewhat hacky CSS applied to the tables. Sorry about that!</p>
@@ -671,6 +677,9 @@
 &lt;table class="bordered-table"&gt;
   ...
 &lt;/table&gt;</pre>
+
+  <br>
+
   <h3>4. Condensed table</h3>
   <p>Make your tables more compact by adding the <code>.condensed-table</code> class to cut table cell padding in half (from 10px to 5px).</p>
   <table class="condensed-table">
@@ -707,6 +716,9 @@
 &lt;table class="condensed-table"&gt;
   ...
 &lt;/table&gt;</pre>
+
+  <br>
+
   <h3>5. Striped table w/ TableSorter.js</h3>
   <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
   <table class="striped-table" id="sortTableExample">
@@ -760,54 +772,32 @@
   <div class="page-header">
     <h1>Forms</h1>
   </div>
-
-<!--
-
-Types of forms
-  default (stacked)
-  horizontal (change the class)
-  search
-  inline
-Form elements
-  form
-  fieldset
-  legend
-  label
-  input
-    text (password, email, etc)
-    radio
-    checkbox
-  textarea
-    rows
-  select
-    single
-    multiple
-    size
-Custom form elements
-  Input prepend and append (for @ and $)
-  checkbox and radio lists
-Explaining the default Bootstrap form structure
-  Bulletproofing our forms means adding a bit of extra structure and providing more classes for customization and event handling
-  Form vertical and horizontal forms, we require a wrapping element.
-    we suggest a fieldset
-    but could be anthing so long as it uses the proper class
-Form states
-  warning
-  error
-  success
--->
-
-<div class="row">
-  <div class="span4">
-    <h3>Flexible markup and styles</h3>
-    <p>The best part about forms in Bootstrap is that all your inputs and controls look great no matter how you build them in your markup. No superfluous HTML is required, but we provide the patterns for those who require it.</p>
-  </div>
-  <div class="span4">
+  <div class="row">
+    <div class="span4">
+      <h2>Flexible HTML and CSS</h2>
+      <p>The best part about forms in Bootstrap is that all your inputs and controls look great no matter how you build them in your markup. No superfluous HTML is required, but we provide the patterns for those who require it.</p>
+      <p>More complicated layouts come with succinct and scalable classes for easy styling and event binding, so you're covered at every step.</p>
+    </div>
+    <div class="span4">
+      <h2>Four layouts included</h2>
+      <p>Bootstrap comes with support for four types of form layouts:</p>
+      <ul>
+        <li>Vertical (default)</li>
+        <li>Search</li>
+        <li>Inline</li>
+        <li>Horizontal</li>
+      </ul>
+      <p>Different types of form layouts require some changes to markup, but the controls themselves remain and behave the same.</p>
+    </div>
+    <div class="span4">
+      <h2>Control states and more</h2>
+      <p>Bootstrap's forms include styles for all the base form controls like input, textarea, and select you'd expect. But it also comes with a number of custom components like appended and prepended inputs and support for lists of checkboxes.</p>
+      <p>States like error, warning, and success are included for each type of form control. Also included are styles for disabled controls.</p>
+    </div>
   </div>
-</div>
-
   
   <h2>Four types of forms</h2>
+  <p>Bootstrap provides simple markup and styles for four styles of common web forms.</p>
   <table class="bordered-table striped-table">
     <thead>
       <tr>
@@ -823,7 +813,7 @@ Form states
         <td>Stacked, left-aligned labels over controls</td>
       </tr>
       <tr>
-        <th>Horiztonal</th>
+        <th>Horizontal</th>
         <td><code>.horizontal-form</code></td>
         <td>Float left, right-aligned labels on same line as controls</td>
       </tr>
@@ -841,78 +831,60 @@ Form states
   </table>
 
 
+  <h2>Example forms <small>using just form controls, no extra markup</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>Why four types</h3>
-      <p>With Bootstrap 2, we completely recoded our forms to allow for simple base styles and improved namespacing on labels and controls. To address the many uses of forms, we've included some base styles to help get you started.</p>
+      <h3>Basic form</h3>
+      <p>With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.</p>
+      <form class="well">
+        <label>Label name</label>
+        <input type="text" class="span3" placeholder="Type something...">
+        <label class="checkbox">
+          <input type="checkbox"> Check me out
+        </label>
+        <button type="submit" class="btn">Submit</button>
+      </form>
     </div>
     <div class="span4">
-      <h3>Vertical or horizontal</h3>
-      <p>Our default form styles are now vertical, not horizontal. This makes it easier to customize bare-bones forms, as well as forms in tricker situations like sign-up, modals, etc. <strong>They share the same exact markup; just swap the class.</strong></p>
-    </div>
-  </div><!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <h2>Search form</h2>
-    </div>
-    <div class="span9">
-      <div class="well">
-        <form class="search-form">
-          <input type="text" class="search-query">
-          <button type="submit" class="btn">Search</button>
-        </form>
-      </div><!--/well-->
-    </div>
-  </div><!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <h2>Inline form</h2>
+      <h3>Search form</h3>
+      <p>Reflecting default WebKit styles, just add <code>.search-form</code> for extra rounded search fields.</p>
+      <form class="well search-form">
+        <input type="text" class="input-medium search-query">
+        <button type="submit" class="btn">Search</button>
+      </form>
     </div>
-    <div class="span9">
-      <div class="well">
-        <form class="inline-form">
-          <h4>Some directional text</h4>
-          <p>And maybe some kind of optional supporting text right here.</p>
-          <input type="text" class="input-medium">
-          <input type="text" class="input-medium">
-          <input type="text" class="input-medium">
-          <button type="submit" class="btn">Search</button>
-        </form>
-      </div><!--/well-->
+    <div class="span4">
+      <h3>Inline form</h3>
+      <p>Inputs are block level to start. For <code>.inline-form</code> and <code>.horizontal-form</code>, we use inline-block.</p>
+      <form class="well search-form">
+        <input type="text" class="input-small" placeholder="Email">
+        <input type="password" class="input-small" placeholder="Password">
+        <button type="submit" class="btn">Go</button>
+      </form>
     </div>
   </div><!-- /row -->
+
+  <br>
+
+  <h2>Horizontal forms</h2>
   <div class="row">
-    <div class="span3">
-      <h2>Horizontal form</h2>
-    </div>
-    <div class="span9">
+    <div class="span8">
       <form class="horizontal-form">
-        <legend>Example form section</legend>
+        <legend>Controls Bootstrap supports</legend>
         <fieldset class="control-group">
           <label class="control-label" for="input01">Text input</label>
           <div class="controls">
             <input type="text" class="xlarge" name="input01">
-            <p class="help-text">Help text here. Be sure to fill this out like so, or else!</p>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="prependedInput">Prepended text</label>
-          <div class="controls">
-            <div class="input-prepend">
-              <span class="add-on">@</span>
-              <input class="input-small" id="prependedInput" name="prependedInput" size="16" type="text">
-            </div>
-            <p class="help-block">Here's some help text</p>
+            <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="appendedInput">Appended text</label>
+          <label class="control-label" for="optionsCheckbox">Checkbox</label>
           <div class="controls">
-            <div class="input-append">
-              <input class="input-small" id="appendedInput" name="appendedInput" size="16" type="text">
-              <span class="add-on">.00</span>
-            </div>
-            <p class="help-block">Here's more help text</p>
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckbox" value="option1">
+              Option one is this and that&mdash;be sure to include why it’s great
+            </label>
           </div>
         </fieldset>
         <fieldset class="control-group">
@@ -939,23 +911,69 @@ Form states
             </select>
           </div>
         </fieldset>
-        <legend>Example form section</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="fileInput">File input</label>
+          <div class="controls">
+            <input class="input-file" id="fileInput" name="fileInput" type="file">
+          </div>
+        </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="textarea">Textarea</label>
           <div class="controls">
             <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
           </div>
         </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
+    </div>
+    <div class="span4">
+      <div class="form-docs">
+        <h3>What's included</h3>
+        <p>Shown on the left are all the default form controls we support. Here's the bulleted list:</p>
+        <ul>
+          <li>text inputs (text, password, email, etc)</li>
+          <li>checkbox</li>
+          <li>radio</li>
+          <li>select</li>
+          <li>multiple select</li>
+          <li>file input</li>
+          <li>textarea</li>
+        </ul>
+        <hr>
+        <h3>New defaults with v2.0</h3>
+        <p>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.</p>
+      </div>
+    </div>
+  </div>
+
+  <br>
+
+  <div class="row">
+    <div class="span8">
+      <form class="horizontal-form">
+        <legend>Form control states</legend>
         <fieldset class="control-group">
-          <label class="control-label" for="fileInput">Disabled input</label>
+          <label class="control-label" for="focusedInput">Focused input</label>
           <div class="controls">
-            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" size="30" type="text" placeholder="Disabled input here... carry on." disabled>
+            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused...">
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="fileInput">File input</label>
+          <label class="control-label" for="disabledInput">Disabled input</label>
           <div class="controls">
-            <input class="input-file" id="fileInput" name="fileInput" type="file">
+            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here..." disabled>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsCheckbox">Disabled checkbox</label>
+          <div class="controls">
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
+              This is a disabled checkbox
+            </label>
           </div>
         </fieldset>
         <fieldset class="control-group warning">
@@ -979,6 +997,54 @@ Form states
             <span class="help-inline">Woohoo!</span>
           </div>
         </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
+    </div>
+    <div class="span4">
+      <div class="form-docs">
+        <h3>Redesigned browser states</h3>
+        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in it's place for <code>:focus</code>.</p>
+        <hr>
+        <h3>Form validation</h3>
+        <p>It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.</p>
+<pre class="prettyprint">
+&lt;fieldset class="control-group error"&gt;
+  ...
+&lt;/fieldset&gt;
+</pre>
+      </div>
+    </div>
+  </div>
+
+  <br>
+
+  <div class="row">
+    <div class="span8">
+      <form class="horizontal-form">
+        <legend>Extending form controls</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="prependedInput">Prepended text</label>
+          <div class="controls">
+            <div class="input-prepend">
+              <span class="add-on">@</span>
+              <input class="input-small" id="prependedInput" name="prependedInput" size="16" type="text">
+            </div>
+            <p class="help-block">Here's some help text</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="appendedInput">Appended text</label>
+          <div class="controls">
+            <div class="input-append">
+              <input class="input-small" id="appendedInput" name="appendedInput" size="16" type="text">
+              <span class="add-on">.00</span>
+            </div>
+            <p class="help-block">Here's more help text</p>
+          </div>
+        </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
           <div class="controls">
@@ -994,10 +1060,6 @@ Form states
               <input type="checkbox" name="optionsCheckboxes" value="option3">
               Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
             </label>
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckboxes" value="option4">
-              Option four cannot be checked as it is disabled
-            </label>
             <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
           </div>
         </fieldset>
@@ -1010,9 +1072,8 @@ Form states
             </label>
             <label class="radio">
               <input type="radio" name="optionsRadios" value="option2">
-              Option two can is something else and selecting it will deselect options 1
+              Option two can is something else and selecting it will deselect option one
             </label>
-            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
           </div>
         </fieldset>
         <fieldset class="form-actions">
@@ -1021,52 +1082,24 @@ Form states
         </fieldset>
       </form>
     </div>
-  </div><!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <h2>Vertical form</h2>
-    </div>
-    <div class="span9">
-      <form class="vertical-form">
-        <legend>Example form</legend>
-        <fieldset class="control-group">
-          <label class="control-label" for="input01">Label</label>
-          <div class="controls">
-            <input type="text" class="xlarge" name="input01">
-            <p class="help-text">Be sure to fill this out like so, or else!</p>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="select01">Label</label>
-          <div class="controls">
-            <select name="select01"></select>
-          </div>
-        </fieldset>
-        <fieldset class="control-group">
-          <label class="control-label" for="input02">Label</label>
-          <div class="controls">
-            <label class="checkbox">
-              <input type="checkbox"> Something something something something something
-            </label>
-            <label class="checkbox">
-              <input type="checkbox"> Something something something something
-            </label>
-            <label class="checkbox">
-              <input type="checkbox"> Something something something
-            </label>
-          </div>
-        </fieldset>
-        <fieldset class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
-        </fieldset>
-      </form>
+    <div class="span4">
+      <div class="form-docs">
+        <h3>Prepend &amp; append inputs</h3>
+        <p>Input groups&mdash;with appended or prepended text&mdash;provide an easy way to give more context for your inputs. Great examples include the @ sign for Twitter usernames or $ for finances.</p>
+        <hr>
+        <h3>Checkboxes and radios</h3>
+        <p>Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the <code>&lt;label class="checkbox"&gt;</code> that wraps the <code>&lt;input type="checkbox"&gt;</code>.</p>
+      </div>
     </div>
   </div><!-- /row -->
+</section>
 
 
 
-  <h2>Buttons</h2>
+<section id="buttons">
+  <div class="page-header">
+    <h1>Buttons</h1>
+  </div>
   <table class="bordered-table striped-table">
     <thead>
       <tr>
@@ -1084,7 +1117,7 @@ Form states
       <tr>
         <td><a class="btn primary" href="#">Primary</a></td>
         <td><code>.primary</code></td>
-        <td>Makes button blue for more visual weight to indicate the primary action in a set of buttons</td>
+        <td>Provides extra visual weight and identifies the primary action in a set of buttons</td>
       </tr>
       <tr>
         <td><a class="btn info" href="#">Info</a></td>
@@ -1094,12 +1127,12 @@ Form states
       <tr>
         <td><a class="btn success" href="#">Success</a></td>
         <td><code>.success</code></td>
-        <td>Used to indicate a successful or positive action will be taken</td>
+        <td>Indicates a successful or positive action</td>
       </tr>
       <tr>
         <td><a class="btn danger" href="#">Danger</a></td>
         <td><code>.danger</code></td>
-        <td>Used to indicate a dangerous or potentially negative action will be taken</td>
+        <td>Indicates a dangerous or potentially negative action</td>
       </tr>
     </tbody>
   </table>
@@ -1296,6 +1329,9 @@ Form states
         <i class="asterisk"></i>
       </div>
     </div>
+    <div class="span2">
+      <p class="muted">Light red background color is only used to show the dimensions of the icons in the docs.</p>
+    </div>
   </div>
 
   <br>
@@ -1328,7 +1364,38 @@ Form states
   </div>
 
   <h3>Examples</h3>
-  <p><a class="btn" href="#"><i class="check"></i> Button</a></p>
+  <div class="row">
+    <div class="span4">
+      <p>Use them in buttons, or in button groups for a toolbar style presentation.</p>
+      <p>
+        <a class="btn" href="#"><i class="refresh"></i> Refresh</a>
+        <a class="btn" href="#"><i class="cog"></i> Settings</a>
+      </p>
+      <div class="btn-toolbar">
+        <div class="btn-group">
+          <a class="btn" href="#"><i class="font"></i></a>
+          <a class="btn" href="#"><i class="bold"></i></a>
+          <a class="btn" href="#"><i class="italic"></i></a>
+        </div>
+        <div class="btn-group">
+          <a class="btn" href="#"><i class="align-left"></i></a>
+          <a class="btn" href="#"><i class="align-center"></i></a>
+          <a class="btn" href="#"><i class="align-right"></i></a>
+          <a class="btn" href="#"><i class="align-justify"></i></a>
+        </div>
+      </div>
+    </div>
+    <div class="span3">
+      <p>Or, use them in navigation.</p>
+      <div class="well side-nav">
+        <ul class="nav-group">
+          <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
+          <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
+          <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
+        </ul>
+      </div>
+    </div>
+  </div>
 </section>
 
 
diff --git a/lib/buttons.less b/lib/buttons.less
index bc2df0fb63..3fab6e0390 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -35,7 +35,7 @@
 .btn {
   // Button Base
   display: inline-block;
-  padding: 5px 14px 6px;
+  padding: 5px 10px 6px;
   font-size: @baseFontSize;
   line-height: normal;
   color: #333;
diff --git a/lib/forms.less b/lib/forms.less
index 32acbdaba9..ddd735cc41 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -42,10 +42,11 @@ input,
 textarea,
 select,
 .uneditable-input {
-  display: inline-block;
+  display: block;
   width: 210px;
   height: @baseLineHeight;
   padding: 4px;
+  margin-bottom: 9px;
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
   color: @gray;
@@ -177,7 +178,6 @@ select:focus {
 // Grid style input sizes
 // This is a duplication of the main grid .columns() mixin, but subtracts 10px to account for input padding and border
 .formColumns(@columnSpan: 1) {
-  display: inline-block;
   float: none;
   width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 10;
   margin-left: 0;
@@ -224,6 +224,7 @@ textarea[readonly] {
 
 
 
+
 // FORM FIELD FEEDBACK STATES
 // --------------------------
 
@@ -289,10 +290,10 @@ textarea[readonly] {
 }
 
 // Placeholder text gets special styles; can't be bundled together though for some reason
-:-moz-placeholder {
+input:-moz-placeholder {
   color: @grayLight;
 }
-::-webkit-input-placeholder {
+input::-webkit-input-placeholder {
   color: @grayLight;
 }
 
@@ -301,7 +302,7 @@ textarea[readonly] {
 // HELP TEXT
 // ---------
 
-.help-text {
+.help-block {
   margin-top: 5px;
   margin-bottom: 0;
   color: @grayLight;
@@ -314,12 +315,6 @@ textarea[readonly] {
   padding-left: 5px;
 }
 
-// Big blocks of help text
-.help-block {
-  display: block;
-  max-width: 600px;
-}
-
 
 
 // INPUT GROUPS
@@ -328,6 +323,7 @@ textarea[readonly] {
 // Allow us to put symbols and text within the input field for a cleaner look
 .input-prepend,
 .input-append {
+  margin-bottom: 5px;
   .clearfix(); // Clear the float to prevent wrapping
   input {
     .border-radius(0 3px 3px 0);
@@ -377,6 +373,8 @@ textarea[readonly] {
 // -----------
 
 .search-form .search-query {
+  padding-left: 14px;
+  padding-right: 14px;
   .border-radius(14px);
 }
 
@@ -388,6 +386,18 @@ textarea[readonly] {
 // Common properties
 // -----------------
 
+.search-form,
+.inline-form,
+.horizontal-form {
+  input,
+  textarea,
+  select,
+  .uneditable-input {
+    display: inline-block;
+    margin-bottom: 0;
+  }
+}
+
 // Margin to space out fieldsets
 .control-group {
   margin-bottom: @baseLineHeight;
diff --git a/lib/mixins.less b/lib/mixins.less
index 32d3a83acc..49eabb8751 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -98,7 +98,6 @@
 
 // Necessary grid styles for every column to make them appear next to each other horizontally
 .gridColumn() {
-  display: inline;
   float: left;
   margin-left: @gridGutterWidth;
 }
-- 
GitLab


From 7582520808ad6c3610831652d0d4d33ea4ebf15b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 22:37:23 -0800
Subject: [PATCH 190/576] docs cleanup and navbar brand hover

---
 bootstrap.css      |  4 +--
 bootstrap.min.css  |  2 +-
 docs/base-css.html | 68 ++++++++++++++++++++++++++++------------------
 lib/navbar.less    |  2 +-
 4 files changed, 45 insertions(+), 31 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0014fcdcc2..e2ef40a6c5 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 21:43:09 PST 2012
+ * Date: Thu Jan  5 22:37:16 PST 2012
  */
 html, body {
   margin: 0;
@@ -1644,7 +1644,7 @@ i {
   -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 .brand a:hover, .navbar ul .active > a {
+.navbar .brand:hover, .navbar ul .active > a {
   color: #ffffff;
   text-decoration: none;
   background-color: #333333;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 86aa51cda9..3d5ec0d6c5 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -280,7 +280,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
-.navbar .brand a:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
+.navbar .brand:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
 .navbar .btn{margin-top:5px;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 225f10ae2d..a0c3c4cf14 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -638,7 +638,6 @@
 
   <h3>3. Bordered table</h3>
   <p>Add borders around the entire table and between each row, plus a bit of rounded corners for aesthetic purposes.</p>
-  <p><span class="label">Note</span> Bordered tables do not work well with <code>rowspan</code> due to somewhat hacky CSS applied to the tables. Sorry about that!</p>
   <table class="bordered-table">
     <thead>
       <tr>
@@ -1177,37 +1176,52 @@
     </div>
   </div>
 
-  <h2>Button groups</h2>
-  <div class="well">
-    <div class="btn-group">
-      <a class="btn" href="#">Left</a>
-      <a class="btn" href="#">Middle</a>
-      <a class="btn" href="#">Right</a>
+  <br>
+
+  <div class="row">
+    <div class="span4">
+      <h2>Button groups</h2>
+      <p>Use button groups to join multiple buttons together as one composite component. Button groups can be built with not only <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements, but also radios and checkboxes.</p>
+      <p>You can also combine sets of button groups into a toolbar for more complex projects.</p>
+      <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
+      <p class="muted">Heads up: CSS for button groups is in a separate file, button-groups.less.</p>
     </div>
-  </div>
-  <div class="well">
-    <div class="btn-toolbar">
-      <div class="btn-group">
-        <a class="btn" href="#">1</a>
-        <a class="btn" href="#">2</a>
-        <a class="btn" href="#">3</a>
-        <a class="btn" href="#">4</a>
-        <a class="btn" href="#">5</a>
-      </div>
-      <div class="btn-group">
-        <a class="btn" href="#">6</a>
-        <a class="btn" href="#">7</a>
-        <a class="btn" href="#">8</a>
-      </div>
-      <div class="btn-group">
-        <a class="btn" href="#">9</a>
+    <div class="span8">
+      <h3>Linked button group</h3>
+      <p>Using the standard <code>&lt;a class="btn" href="#"&gt;...&lt;/a&gt;</code> markup, simply add all the buttons you need.</p>
+      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+        <div class="btn-group">
+          <a class="btn" href="#">Left</a>
+          <a class="btn" href="#">Middle</a>
+          <a class="btn" href="#">Right</a>
+        </div>
       </div>
-      <div class="btn-group">
-        <a class="btn" href="#">10</a>
+      <p>Level up one more time by wrapping multiple instances of <code>&lt;div class="btn-group"&gt;</code> with <code>&lt;div class="btn-toolbar"&gt;</code>.</p>
+      <div class="well" style="padding: 10px;">
+        <div class="btn-toolbar">
+          <div class="btn-group">
+            <a class="btn" href="#">1</a>
+            <a class="btn" href="#">2</a>
+            <a class="btn" href="#">3</a>
+            <a class="btn" href="#">4</a>
+            <a class="btn" href="#">5</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">6</a>
+            <a class="btn" href="#">7</a>
+            <a class="btn" href="#">8</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">9</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">10</a>
+          </div>
+        </div>
       </div>
     </div>
   </div>
-
+    
 </section>
 
 
diff --git a/lib/navbar.less b/lib/navbar.less
index d57f316f59..7e0b17d435 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -20,7 +20,7 @@
 // Text and links
 .navbar {
   // Hover and active states
-  .brand a:hover,
+  .brand:hover,
   ul .active > a {
     color: @white;
     text-decoration: none;
-- 
GitLab


From 5cb76037ae70ca26a923750ca9441b04d2fbd6a7 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 5 Jan 2012 23:24:19 -0800
Subject: [PATCH 191/576] fixing conflict in dividers in navbar, fix navbar
 docs, fix search form in navbar

---
 bootstrap.css            |  8 +++++---
 bootstrap.min.css        |  6 +++---
 docs/assets/css/docs.css |  1 -
 docs/base-css.html       |  2 +-
 docs/components.html     | 11 +++++------
 lib/forms.less           |  3 ++-
 lib/navbar.less          |  3 ++-
 7 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index e2ef40a6c5..4d8edd4fbf 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 22:37:16 PST 2012
+ * Date: Thu Jan  5 23:24:01 PST 2012
  */
 html, body {
   margin: 0;
@@ -957,9 +957,10 @@ input::-webkit-input-placeholder {
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
-.search-form .search-query {
+.search-query {
   padding-left: 14px;
   padding-right: 14px;
+  margin-bottom: 0;
   -webkit-border-radius: 14px;
   -moz-border-radius: 14px;
   border-radius: 14px;
@@ -1764,7 +1765,7 @@ i {
   background-color: #222;
   background-color: rgba(0, 0, 0, 0.5);
 }
-.nav .divider {
+.nav .vertical-divider {
   height: 40px;
   width: 1px;
   margin: 0 5px;
@@ -1796,6 +1797,7 @@ i {
   background: rgba(255, 255, 255, 0.05);
 }
 .nav .dropdown-menu li a {
+  padding: 4px 15px;
   color: #999;
   text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 3d5ec0d6c5..c93f333ee6 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -156,7 +156,7 @@ input::-webkit-input-placeholder{color:#999999;}
 .input-prepend .add-on{*margin-top:1px;}
 .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.search-form .search-query{padding-left:14px;padding-right:14px;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
+.search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .search-form input,.inline-form input,.horizontal-form input,.search-form textarea,.inline-form textarea,.horizontal-form textarea,.search-form select,.inline-form select,.horizontal-form select,.search-form .uneditable-input,.inline-form .uneditable-input,.horizontal-form .uneditable-input{display:inline-block;margin-bottom:0;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
@@ -294,11 +294,11 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
-.nav .divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
+.nav .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
 .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
 .nav .dropdown-toggle:hover,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
 .nav .dropdown-menu{background-color:#333;}.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
-.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
+.nav .dropdown-menu li a{padding:4px 15px;color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
 .nav .dropdown-menu .active a{color:#ffffff;}
 .nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
 .tabs,.pills{padding:0;margin:0 0 20px;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 41c7ae4b64..6cffcbc207 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -41,7 +41,6 @@ body > .navbar-fixed .brand:hover {
 }
 .page-header h1 {
   margin-bottom: 17px;
-  font-size: 36px;
   line-height: 1;
 }
 
diff --git a/docs/base-css.html b/docs/base-css.html
index a0c3c4cf14..399a414637 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1181,7 +1181,7 @@
   <div class="row">
     <div class="span4">
       <h2>Button groups</h2>
-      <p>Use button groups to join multiple buttons together as one composite component. Button groups can be built with not only <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements, but also radios and checkboxes.</p>
+      <p>Use button groups to join multiple buttons together as one composite component. Just build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements. Button groups can also function as radios and checkboxes (see <a href="./javascript.html#buttons">the Javascript docs</a> for that).</p>
       <p>You can also combine sets of button groups into a toolbar for more complex projects.</p>
       <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
       <p class="muted">Heads up: CSS for button groups is in a separate file, button-groups.less.</p>
diff --git a/docs/components.html b/docs/components.html
index e57d1fd179..5c25a98a40 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -267,7 +267,6 @@
   <div class="page-header">
     <h1>Navbar</h1>
   </div>
-  <h2>Fixed navbar</h2>
   <div class="navbar navbar-static" >
     <div class="navbar-inner">
       <div class="container" style="width: auto;">
@@ -287,11 +286,11 @@
             </ul>
           </li>
         </ul>
-        <form class="form-search navbar-search pull-left" action="">
+        <form class="navbar-search pull-left" action="">
           <input type="text" class="search-query span2" placeholder="Search">
         </form>
         <ul class="nav secondary-nav">
-          <li class="divider"></li>
+          <li class="vertical-divider"></li>
           <li class="dropdown">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
             <ul class="dropdown-menu">
@@ -308,15 +307,15 @@
 
   <div class="row">
     <div class="span4">
-      <h4>What is it</h4>
+      <h3>What is it</h3>
       <p>Our navbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
     </div>
     <div class="span4">
-      <h4>Customizable</h4>
+      <h3>Customizable</h3>
       <p>All elements within, and the entire navbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
     </div>
     <div class="span4">
-      <h4>Dropdowns included</h4>
+      <h3>Dropdowns included</h3>
       <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>&lt;li&gt;</code> tags also support <code>.active</code> for showing current page selection.</p>
     </div>
   </div>
diff --git a/lib/forms.less b/lib/forms.less
index ddd735cc41..938983536e 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -372,9 +372,10 @@ input::-webkit-input-placeholder {
 // SEARCH FORM
 // -----------
 
-.search-form .search-query {
+.search-query {
   padding-left: 14px;
   padding-right: 14px;
+  margin-bottom: 0; // remove the default margin on all inputs
   .border-radius(14px);
 }
 
diff --git a/lib/navbar.less b/lib/navbar.less
index 7e0b17d435..a96aa941c1 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -153,7 +153,7 @@
     background-color: rgba(0,0,0,.5);
   }
   // Dividers (basically a vertical hr)
-  .divider {
+  .vertical-divider {
     height: 40px;
     width: 1px;
     margin: 0 5px;
@@ -188,6 +188,7 @@
       }
     }
     li a {
+      padding: 4px 15px;
       color: #999;
       text-shadow: 0 1px 0 rgba(0,0,0,.5);
       &:hover {
-- 
GitLab


From f07bcafd397dd39c5490e192ab7b52c49acd3d9b Mon Sep 17 00:00:00 2001
From: Nicklas Ansman Giertz <nicklas@ansman.se>
Date: Fri, 6 Jan 2012 11:16:29 +0100
Subject: [PATCH 192/576] Make twipsy respect custom classes when using a
 custom template

If you had a custom class to the root object twipsy would overwrite
that class ($tip[0].className = 'twipsy'), now this has been changed
so it removes only classes that twipsy adds.
---
 js/bootstrap-twipsy.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index a176f09088..1ce4ad85b6 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -155,7 +155,7 @@
   , setContent: function () {
       var $tip = this.tip()
       $tip.find('.twipsy-inner').html(this.getTitle())
-      $tip[0].className = 'twipsy'
+      $tip.removeClass('fade in top bottom left right')
     }
 
   , hide: function () {
-- 
GitLab


From 969fbe71504f6a8159688634cce774d7ffc7ac67 Mon Sep 17 00:00:00 2001
From: Nicklas Ansman Giertz <nicklas@ansman.se>
Date: Fri, 6 Jan 2012 11:32:11 +0100
Subject: [PATCH 193/576] Add a test case for issue #908 (twipsy doesn't
 respect custom classes)

The test case verifies that a custom class is respected.
---
 js/tests/unit/bootstrap-twipsy.js | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/js/tests/unit/bootstrap-twipsy.js b/js/tests/unit/bootstrap-twipsy.js
index 6623fc026e..08512ca979 100644
--- a/js/tests/unit/bootstrap-twipsy.js
+++ b/js/tests/unit/bootstrap-twipsy.js
@@ -48,4 +48,15 @@ $(function () {
         ok(!$(".twipsy").length, 'twipsy removed')
       })
 
+      test("should respect custom classes", function () {
+        var twipsy = $('<a href="#" rel="twipsy" title="Another twipsy"></a>')
+          .appendTo('#qunit-fixture')
+          .twipsy({ template: '<div class="twipsy some-class"><div class="twipsy-arrow"/><div class="twipsy-inner"/></div>'})
+          .twipsy('show')
+
+        ok($('.twipsy').hasClass('some-class'), 'custom class is present')
+        twipsy.twipsy('hide')
+        ok(!$(".twipsy").length, 'twipsy removed')
+      })
+
 })
\ No newline at end of file
-- 
GitLab


From dd99e2d0488c503d929909e431a544e472782178 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 6 Jan 2012 18:30:32 -0800
Subject: [PATCH 194/576] start of autocomplete plugin

---
 js/bootstrap-typeahead.js            | 190 +++++++++++++++++++++++++++
 js/tests/index.html                  |   2 +
 js/tests/unit/bootstrap-typeahead.js | 122 +++++++++++++++++
 3 files changed, 314 insertions(+)
 create mode 100644 js/bootstrap-typeahead.js
 create mode 100644 js/tests/unit/bootstrap-typeahead.js

diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
new file mode 100644
index 0000000000..52ced3fef8
--- /dev/null
+++ b/js/bootstrap-typeahead.js
@@ -0,0 +1,190 @@
+/* =============================================================
+ * bootstrap-typeahead.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#collapsible
+ * =============================================================
+ * Copyright 2011 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"
+
+  var Typeahead = function ( element, options ) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.typeahead.defaults, options)
+    this.$menu = $(this.options.menu).appendTo('body')
+    this.data = this.options.data
+    this.shown = false
+    this.listen()
+  }
+
+  Typeahead.prototype = {
+
+    constructor: Typeahead
+
+  , matcher: function(item, query) {
+      return ~item.indexOf(query)
+    }
+
+  , select: function(event) {
+      this.$element.val($(event.target).attr('data-value'))
+      this.hide()
+    }
+
+  , show: function () {
+      this.shown = true
+      this.$menu.show()
+      return this
+    }
+
+  , hide: function () {
+      this.shown = false
+      this.$menu.hide()
+      return this
+    }
+
+  , lookup: function (event) {
+      var query = this.$element.val()
+        , that = this
+
+      var items = this.data.filter(function (item) {
+        if (that.matcher(item, query)) {
+          return item
+        }
+      })
+
+      if (!items.length) {
+        return this.shown ? this.hide() : this
+      }
+
+      return this.render(items).show()
+    }
+
+  , render: function(items) {
+      var that = this
+
+      items = $(items).map(function (i, item) {
+        return $(that.options.item)
+          .text(item)
+          .attr('data-value', item)[0]
+      })
+
+      items.first().addClass('active')
+
+      this.$menu.append(items)
+
+      return this
+    }
+
+  , next: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , next = active.next() || $(this.$menu.find('li')[0])
+
+      next.addClass('active')
+    }
+
+  , prev: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , next = active.prev() || this.$menu.find('li').last()
+
+      next.addClass('active')
+    }
+
+  , keyup: function () {
+      event
+        .stopPropagation()
+        .preventDefault()
+
+      switch(event.keyCode) {
+        case 9: // tab
+        case 13: // enter
+          this.select()
+          break
+
+        case 27: // escape
+          this.hide()
+          break
+
+        default:
+          this.lookup()
+      }
+  }
+
+  , keypress: function (event) {
+      event.stopPropagation()
+      switch(event.keyCode) {
+        case 9: // tab
+        case 13: // enter
+        case 27: // escape
+          event.preventDefault()
+          break
+
+        case 38: // up arrow
+          this.prev()
+          event.preventDefault()
+          break
+
+        case 40: // down arrow
+          this.next()
+          event.preventDefault()
+          break
+      }
+  }
+
+  , listen: function () {
+      this.$element
+        .on('focus', this.show)
+        .on('blur', $.proxy(this.hide, this))
+        .on('keypress', $.proxy(this.keypress, this))
+        .on('keyup', this.keyup)
+        .on('change', $.proxy(this.lookup, this))
+
+      if ($.browser.webkit || $.browser.msie) {
+        this.$element.on('keydown', this.keypress)
+      }
+
+      this.$menu
+        .on('click', '* > *', $.proxy(this.select, this))
+        .on('mouseenter', function () {
+          /* remove selected class, add to mouseover */
+        })
+    }
+  }
+
+  /* TYPEAHEAD PLUGIN DEFINITION
+  * ============================== */
+
+  $.fn.typeahead = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('typeahead')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.typeahead.defaults = {
+    data: null
+  , items: 8
+  , empty: false
+  , noresults: false
+  , menu: '<ul class="dropdown-menu"></ul>'
+  , item: '<li></li>'
+  }
+
+  $.fn.typeahead.Constructor = Typeahead
+
+}( window.jQuery )
\ No newline at end of file
diff --git a/js/tests/index.html b/js/tests/index.html
index e8ed2c5feb..27c2b34125 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -22,6 +22,7 @@
   <script src="../../js/bootstrap-tab.js"></script>
   <script src="../../js/bootstrap-twipsy.js"></script>
   <script src="../../js/bootstrap-popover.js"></script>
+  <script src="../../js/bootstrap-typeahead.js"></script>
 
   <!-- unit tests -->
   <script src="unit/bootstrap-transition.js"></script>
@@ -34,6 +35,7 @@
   <script src="unit/bootstrap-tab.js"></script>
   <script src="unit/bootstrap-twipsy.js"></script>
   <script src="unit/bootstrap-popover.js"></script>
+  <script src="unit/bootstrap-typeahead.js"></script>
 
 <body>
   <div>
diff --git a/js/tests/unit/bootstrap-typeahead.js b/js/tests/unit/bootstrap-typeahead.js
new file mode 100644
index 0000000000..dc46a79909
--- /dev/null
+++ b/js/tests/unit/bootstrap-typeahead.js
@@ -0,0 +1,122 @@
+$(function () {
+
+    module("bootstrap-typeahead")
+
+      test("should be defined on jquery object", function () {
+        ok($(document.body).typeahead, 'alert method is defined')
+      })
+
+      test("should return element", function () {
+        ok($(document.body).typeahead()[0] == document.body, 'document.body returned')
+      })
+
+      test("should listen to an input", function () {
+        var $input = $('<input />')
+        $input.typeahead()
+        ok($input.data('events').focus, 'has a focus event')
+        ok($input.data('events').blur, 'has a blur event')
+        ok($input.data('events').keypress, 'has a keypress event')
+        ok($input.data('events').keyup, 'has a keyup event')
+        ok($input.data('events').change, 'has a change event')
+        if ($.browser.webkit || $.browser.msie) {
+          ok($input.data('events').keydown, 'has a keydown event')
+        } else {
+          ok($input.data('events').keydown, 'does not have a keydown event')
+        }
+      })
+
+      test("should create a menu", function () {
+        var $input = $('<input />')
+        ok($input.typeahead().data('typeahead').$menu, 'has a menu')
+      })
+
+      test("should listen to the menu", function () {
+        var $input = $('<input />')
+          , $menu = $input.typeahead().data('typeahead').$menu
+
+        ok($menu.data('events').mouseover, 'has a mouseover(pseudo: mouseenter)')
+        ok($menu.data('events').click, 'has a click')
+      })
+
+      test("should show menu when query entered", function () {
+        var $input = $('<input />').typeahead({
+              data: ['aa', 'ab', 'ac']
+            })
+          , typeahead = $input.data('typeahead')
+
+        $input.val('a').change()
+
+        ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
+        equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
+        equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
+
+        typeahead.$menu.remove()
+      })
+
+      test("should hide menu when query entered", function () {
+        var $input = $('<input />').typeahead({
+              data: ['aa', 'ab', 'ac']
+            })
+          , typeahead = $input.data('typeahead')
+
+        $input.val('a').change()
+
+        ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
+        equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
+        equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
+
+        $input.blur()
+
+        ok(!typeahead.$menu.is(":visible"), "typeahead is no longer visible")
+
+        typeahead.$menu.remove()
+      })
+
+      test("should set next item when down arrow is pressed", function () {
+        var $input = $('<input />').typeahead({
+              data: ['aa', 'ab', 'ac']
+            })
+          , typeahead = $input.data('typeahead')
+
+        $input.val('a').change()
+
+        ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
+        equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
+        equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
+        ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active")
+
+        $input.trigger({
+          type: 'keypress'
+        , keyCode: 40
+        })
+
+        ok(typeahead.$menu.find('li').first().next().hasClass('active'), "second item is active")
+
+
+        $input.trigger({
+          type: 'keypress'
+        , keyCode: 38
+        })
+
+        ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active")
+
+        typeahead.$menu.remove()
+      })
+
+
+      test("should set input value to selected item", function () {
+        var $input = $('<input />').typeahead({
+              data: ['aa', 'ab', 'ac']
+            })
+          , typeahead = $input.data('typeahead')
+
+        $input.val('a').change()
+
+        $(typeahead.$menu.find('li')[2]).trigger('click')
+
+        equals($input.val(), 'ac', 'input value was correctly set')
+        ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
+
+        typeahead.$menu.remove()
+      })
+})
\ No newline at end of file
-- 
GitLab


From cfc2353059df628c67d19a3c5c3ead2cc6051f53 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 6 Jan 2012 23:59:22 -0800
Subject: [PATCH 195/576] front page docs updated to include old getting
 started section, update code styles to look like github gists, and lots more
 docs updates

---
 bootstrap.css                                 |  50 +++--
 bootstrap.min.css                             |  19 +-
 docs/assets/css/docs.css                      |  73 +++++++-
 .../js/google-code-prettify/prettify.css      |  16 +-
 docs/base-css.html                            |  14 ++
 docs/components.html                          | 171 +++++++++++++-----
 docs/index.html                               |  40 +++-
 docs/less.html                                |   6 +-
 docs/scaffolding.html                         |   1 -
 docs/upgrading.html                           |   3 +
 lib/forms.less                                |  10 +
 lib/navbar.less                               |   5 +
 lib/sidenav.less                              |  11 +-
 lib/type.less                                 |  12 +-
 14 files changed, 340 insertions(+), 91 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4d8edd4fbf..85ed7961a3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan  5 23:24:01 PST 2012
+ * Date: Fri Jan  6 23:58:33 PST 2012
  */
 html, body {
   margin: 0;
@@ -382,20 +382,20 @@ h3 {
 h3 small {
   font-size: 14px;
 }
+h4, h5, h6 {
+  line-height: 18px;
+}
 h4 {
-  font-size: 16px;
-  line-height: 36px;
+  font-size: 14px;
 }
 h4 small {
   font-size: 12px;
 }
 h5 {
-  font-size: 14px;
-  line-height: 18px;
+  font-size: 12px;
 }
 h6 {
-  font-size: 13px;
-  line-height: 18px;
+  font-size: 11px;
   color: #999999;
   text-transform: uppercase;
 }
@@ -625,6 +625,12 @@ textarea {
 .controls > .radio:first-child, .controls > .checkbox:first-child {
   padding-top: 6px;
 }
+.radio.inline, .checkbox.inline {
+  display: inline-block;
+}
+.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {
+  margin-left: 10px;
+}
 input, textarea {
   -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
   -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
@@ -1672,6 +1678,9 @@ i {
 .navbar .btn {
   margin-top: 5px;
 }
+.navbar-form {
+  margin-bottom: 0;
+}
 .navbar-search {
   position: relative;
   float: left;
@@ -2111,19 +2120,22 @@ i {
 }
 .side-nav .nav-label, .side-nav .nav-item {
   display: block;
-  padding: 3px 16px;
+  padding: 3px 15px;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
 .side-nav .nav-label {
   font-size: 11px;
   line-height: 18px;
-  color: #333333;
+  color: #999999;
   text-transform: uppercase;
 }
 .side-nav .nav-group {
-  margin: 0 -1px;
+  margin: 0;
   list-style: none;
 }
+.side-nav .nav-group + .nav-label {
+  margin-top: 9px;
+}
 .side-nav .nav-item {
   font-weight: bold;
 }
@@ -2136,16 +2148,16 @@ i {
 .side-nav .active .nav-item {
   color: #fff;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
-  background-color: #aaaaaa;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));
-  background-image: -moz-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: -ms-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
-  background-image: -webkit-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: -o-linear-gradient(top, #cccccc, #aaaaaa);
-  background-image: linear-gradient(top, #cccccc, #aaaaaa);
+  background-color: #999999;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#999999));
+  background-image: -moz-linear-gradient(top, #cccccc, #999999);
+  background-image: -ms-linear-gradient(top, #cccccc, #999999);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #999999));
+  background-image: -webkit-linear-gradient(top, #cccccc, #999999);
+  background-image: -o-linear-gradient(top, #cccccc, #999999);
+  background-image: linear-gradient(top, #cccccc, #999999);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#999999', GradientType=0);
   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index c93f333ee6..16f9fb76bd 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -66,9 +66,10 @@ h1,h2,h3,h4,h5,h6{font-weight:bold;color:#333333;text-rendering:optimizelegibili
 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;}h3 small{font-size:14px;}
-h4{font-size:16px;line-height:36px;}h4 small{font-size:12px;}
-h5{font-size:14px;line-height:18px;}
-h6{font-size:13px;line-height:18px;color:#999999;text-transform:uppercase;}
+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;}
 ul,ol{margin:0 0 9px 25px;}
 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
 ul{list-style:disc;}
@@ -107,6 +108,8 @@ textarea{height:auto;}
 .radio,.checkbox{padding-left:18px;}
 .radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-18px;}
 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
+.radio.inline,.checkbox.inline{display:inline-block;}
+.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
 input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
 input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
 input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
@@ -284,6 +287,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
 .navbar .btn{margin-top:5px;}
+.navbar-form{margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#eeeeee;}
 .navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
@@ -340,13 +344,14 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .subnav li:last-child a{border-right:0;-webkit-border-radius:0 6px 6px 0;-moz-border-radius:0 6px 6px 0;border-radius:0 6px 6px 0;}
 .subnav ul .active>a{color:#333333;background-color:#eee;}
 .side-nav{padding:9px 0;}
-.side-nav .nav-label,.side-nav .nav-item{display:block;padding:3px 16px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
-.side-nav .nav-label{font-size:11px;line-height:18px;color:#333333;text-transform:uppercase;}
-.side-nav .nav-group{margin:0 -1px;list-style:none;}
+.side-nav .nav-label,.side-nav .nav-item{display:block;padding:3px 15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.side-nav .nav-label{font-size:11px;line-height:18px;color:#999999;text-transform:uppercase;}
+.side-nav .nav-group{margin:0;list-style:none;}
+.side-nav .nav-group+.nav-label{margin-top:9px;}
 .side-nav .nav-item{font-weight:bold;}
 .side-nav .nav-item i{vertical-align:-2px;}
 .side-nav .nav-item:hover{text-decoration:none;}
-.side-nav .active .nav-item{color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);background-color:#aaaaaa;background-image:-khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#aaaaaa));background-image:-moz-linear-gradient(top, #cccccc, #aaaaaa);background-image:-ms-linear-gradient(top, #cccccc, #aaaaaa);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));background-image:-webkit-linear-gradient(top, #cccccc, #aaaaaa);background-image:-o-linear-gradient(top, #cccccc, #aaaaaa);background-image:linear-gradient(top, #cccccc, #aaaaaa);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);}
+.side-nav .active .nav-item{color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);background-color:#999999;background-image:-khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#999999));background-image:-moz-linear-gradient(top, #cccccc, #999999);background-image:-ms-linear-gradient(top, #cccccc, #999999);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #999999));background-image:-webkit-linear-gradient(top, #cccccc, #999999);background-image:-o-linear-gradient(top, #cccccc, #999999);background-image:linear-gradient(top, #cccccc, #999999);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#999999', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#999999;}
 .breadcrumb .active a{color:#333333;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 6cffcbc207..579baad7d9 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -192,6 +192,75 @@ body > .navbar-fixed .brand:hover {
 }
 
 
+/* Quickstart section for getting le code
+-------------------------------------------------- */
+.getting-started {
+  background-color: #f5f5f5;
+  background-repeat: repeat-x;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f5f5f5));
+  background-image: -moz-linear-gradient(#f9f9f9, #f5f5f5);
+  background-image: -ms-linear-gradient(#f9f9f9, #f5f5f5);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #f5f5f5));
+  background-image: -webkit-linear-gradient(#f9f9f9, #f5f5f5);
+  background-image: -o-linear-gradient(#f9f9f9, #f5f5f5);
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#f5f5f5', GradientType=0)";
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#f5f5f5', GradientType=0);
+  background-image: linear-gradient(#f9f9f9, #f5f5f5);
+  -webkit-border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
+}
+.getting-started {
+  border-color: #eee;
+}
+.getting-started td {
+  width: 33%;
+  border-right: 1px solid #eee;
+}
+.getting-started td + td {
+  border-left: 1px solid #fff;
+}
+.getting-started td:last-child {
+  border-right: 0;
+}
+.quick-start {
+  padding: 17px 20px;
+}
+.quick-start h3,
+.quick-start p {
+  line-height: 18px;
+  text-align: center;
+  margin-bottom: 9px;
+}
+.quick-start p {
+  color: #777;
+}
+.quick-start .current-version,
+.quick-start .current-version a {
+  color: #999;
+}
+.quick-start form {
+  margin-bottom: 0;
+}
+.quick-start textarea {
+  display: block;
+  width: 100%;
+  height: auto;
+  margin-bottom: 0;
+  line-height: 21px;
+  white-space: nowrap;
+  overflow: hidden;
+  /* Makes inputs behave like true block-level elements */
+  -webkit-box-sizing: border-box; /* Older Webkit */
+     -moz-box-sizing: border-box; /* Older FF */
+      -ms-box-sizing: border-box; /* IE8 */
+          box-sizing: border-box; /* CSS3 spec*/
+  /* Hacks for IE7 to make this work just okay enough to function */
+  *width: 90%;
+  *height: 24px;
+}
+
+
 /* Footer
 -------------------------------------------------- */
 .footer {
@@ -341,8 +410,10 @@ h2 + table {
 .example-sites img {
   max-width: 290px;
 }
-.built-with {
+.marketing-byline {
   margin: -18px 0 27px;
+  font-size: 18px;
+  font-weight: 300;
   color: #999;
   text-align: center;
 }
diff --git a/docs/assets/js/google-code-prettify/prettify.css b/docs/assets/js/google-code-prettify/prettify.css
index 7ff618550a..e3bbf8b6cb 100644
--- a/docs/assets/js/google-code-prettify/prettify.css
+++ b/docs/assets/js/google-code-prettify/prettify.css
@@ -2,10 +2,10 @@
 .lit { color: #195f91; }
 .pun, .opn, .clo { color: #93a1a1; }
 .fun { color: #dc322f; }
-.str, .atv { color: #62C462; }
-.kwd, .linenums .tag { color: #049CD9; }
-.typ, .atn, .dec, .var { color: #EE5F5B; }
-.pln { color: #93a1a1; }
+.str, .atv { color: #D14; }
+.kwd, .linenums .tag { color: #1e347b; }
+.typ, .atn, .dec, .var { color: teal; }
+.pln { color: #48484c; }
 pre.prettyprint {
   background-color: #fefbf3;
   padding: 9px;
@@ -17,8 +17,14 @@ pre.prettyprint {
   background-color: #252525;
 }
 
+pre.prettyprint {
+  padding: 8px;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
+}
+
 /* Specify class=linenums on a pre to get line numbering */
 ol.linenums { margin: 0 0 0 40px; } /* IE indents via margin-left */
-ol.linenums li { color: #444; line-height: 18px; }
+ol.linenums li { color: #bebec5; line-height: 18px; text-shadow: 0 1px 0 #fff; }
 /* Alternate shading for lines */
 li.L1, li.L3, li.L5, li.L7, li.L9 {  }
\ No newline at end of file
diff --git a/docs/base-css.html b/docs/base-css.html
index 399a414637..cbdf5ea194 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1044,6 +1044,20 @@
             <p class="help-block">Here's more help text</p>
           </div>
         </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="inlineCheckboxes">Inline checkboxes</label>
+          <div class="controls">
+            <label class="checkbox inline">
+              <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
+            </label>
+            <label class="checkbox inline">
+              <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
+            </label>
+            <label class="checkbox inline">
+              <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
+            </label>
+          </div>
+        </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
           <div class="controls">
diff --git a/docs/components.html b/docs/components.html
index 5c25a98a40..5bafc5a60a 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -227,27 +227,27 @@
 ================================================== -->
 <section id="sidenav">
   <div class="page-header">
-    <h1>Side nav <small></small></h1>
+    <h1>Side nav <small>for lists of links</small></h1>
   </div>
 
   <div class="row">
     <div class="span3">
+      <h3>Examples</h3>
+      <p>Side navs can be just links, links with headings, and links with icons.</p>
       <div class="well side-nav">
-        <h6 class="nav-label">Your account</h6>
         <ul class="nav-group">
           <li class="active"><a class="nav-item" href="#">Home</a></li>
           <li><a class="nav-item" href="#">Library</a></li>
+          <li><a class="nav-item" href="#">Help</a></li>
+        </ul>
+        <h6 class="nav-label">Your account</h6>
+        <ul class="nav-group">
           <li><a class="nav-item" href="#">Profile</a></li>
           <li><a class="nav-item" href="#">Settings</a></li>
-          <li><a class="nav-item" href="#">Help</a></li>
         </ul>
-      </div>
-    </div>
-    <div class="span3">
-      <div class="well side-nav">
         <h6 class="nav-label">Your account</h6>
         <ul class="nav-group">
-          <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
+          <li><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
           <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
           <li><a class="nav-item" href="#"><i class="user"></i> Profile</a></li>
           <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
@@ -255,6 +255,34 @@
         </ul>
       </div>
     </div>
+    <div class="span3">
+      <h3>Why use it</h3>
+      <p></p>
+    </div>
+    <div class="span6">
+      <h3>Markup</h3>
+      <p>Marking up a side nav is at the core just writing an unordered list of links.</p>
+<pre class="prettyprint linenums">
+  &lt;ul class="nav-group"&gt;
+    &lt;li class="active"&gt;
+      &lt;a class="nav-item" href="#"&gt;Home&lt;/a&gt;
+    &lt;/li&gt;
+    &lt;li&gt;&lt;a class="nav-item" href="#"&gt;Library&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a class="nav-item" href="#"&gt;Help&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+</pre>
+      <p>Bootstrap also makes it easy to expand a regular list of links with multiple groups and headings.</p>
+<pre class="prettyprint linenums">
+  &lt;h6 class="nav-label"&gt;&lt;/h6&gt;
+  &lt;ul class="nav-group"&gt;
+    ...
+  &lt;/ul&gt;
+  &lt;h6 class="nav-label"&gt;&lt;/h6&gt;
+  &lt;ul class="nav-group"&gt;
+    ...
+  &lt;/ul&gt;
+</pre>
+    </div>
   </div>
   
 </section>
@@ -267,10 +295,12 @@
   <div class="page-header">
     <h1>Navbar</h1>
   </div>
-  <div class="navbar navbar-static" >
+  <h2>Static navbar example</h2>
+  <p>An example of a static (not fixed to the top) navbar with project name, navigation, and search form.</p>
+  <div class="navbar navbar-static">
     <div class="navbar-inner">
       <div class="container" style="width: auto;">
-        <a class="brand" href="#">Project Name</a>
+        <a class="brand" href="#">Project name</a>
         <ul class="nav">
           <li class="active"><a href="#">Home</a></li>
           <li><a href="#">Link</a></li>
@@ -306,20 +336,70 @@
   </div><!-- /navbar -->
 
   <div class="row">
-    <div class="span4">
-      <h3>What is it</h3>
-      <p>Our navbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
-    </div>
-    <div class="span4">
-      <h3>Customizable</h3>
-      <p>All elements within, and the entire navbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
+    <div class="span8">
+      <h3>Navbar scaffolding</h3>
+      <p>The navbar requires only a few divs to structure it well for static or fixed display.</p>
+<pre class="prettyprint linenums">
+&lt;div class="navbar navbar-static"&gt;
+  &lt;div class="navbar-inner"&gt;
+    &lt;div class="container" style="width: auto;"&gt;
+      ...
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+      <p>To make the navbar fixed, swamp the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+<pre class="prettyprint linenums">
+&lt;div class="navbar navbar-fixed"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+      <br>
+      <h3>Brand name</h3>
+      <p>A simple link to show your brand or project name only requires an anchor tag.</p>
+<pre class="prettyprint linenums">
+&lt;a class="brand" href="#"&gt;
+  Project name
+&lt;/a&gt;
+</pre>
+      <br>
+      <h3>Search form</h3>
+      <p>Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.</p>
+<pre class="prettyprint linenums">
+&lt;form class="navbar-search"&gt;
+  &lt;input type="text" class="search-query pull-left" placeholder="Search"&gt;
+&lt;/form&gt;
+</pre>
     </div>
     <div class="span4">
-      <h3>Dropdowns included</h3>
-      <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>&lt;li&gt;</code> tags also support <code>.active</code> for showing current page selection.</p>
+      <h3>Nav links</h3>
+      <p>Nav items are simple to add via unordered lists.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="nav"&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#">Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+      <p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdowns">our javascript plugin</a>.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="nav"&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a href="#"
+          class="dropdown-toggle"
+          data-toggle="dropdown">
+          Account
+    &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      ...
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
     </div>
   </div>
-  <p><strong>Note:</strong> When using the navbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
 
 </section>
 
@@ -507,34 +587,39 @@
   </div>
 
   <div class="row">
-    <div class="span3">
-      <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation.</p>
-    </div>
-    <div class="span9">
+    <div class="span6">
+      <h3>Why use them</h3>
+      <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation. Keep their use sparse and succinct to be most effective.</p>
+
+      <h3>Examples</h3>
+      <p>A single example shown as it might be displayed across multiple pages.</p>
       <ul class="breadcrumb">
         <li class="active">Home</li>
       </ul>
       <ul class="breadcrumb">
         <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li class="active">Middle page</li>
-      </ul>
-      <ul class="breadcrumb">
-        <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
-        <li class="active">Another one</li>
+        <li class="active">Library</li>
       </ul>
       <ul class="breadcrumb">
         <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
-        <li><a href="#">Another one</a> <span class="divider">/</span></li>
-        <li class="active">You are here</li>
+        <li><a href="#">Library</a> <span class="divider">/</span></li>
+        <li class="active">Data</li>
       </ul>
+    </div>
+    <div class="span6">
+      <h3>Markup</h3>
+      <p>HTML is your standard unordered list with links.</p>
 <pre class="prettyprint linenums">
 &lt;ul class="breadcrumb"&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Middle page&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Another one&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
-  &lt;li class="active"&gt;You are here&lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Library&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
+  &lt;/li&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#"&gt;Data&lt;/a&gt;
+  &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
     </div>
@@ -545,13 +630,14 @@
 
 
 <!-- Step nav
-================================================== -->
+==================================================
+
+COMMENTED OUT AND NOT SUPPORTED AT THIS TIME.
+
 <section id="stepNav">
   <div class="page-header">
     <h1>Step nav <small></small></h1>
   </div>
-
-  <!-- Step nav -->
   <div class="row">
     <div class="span3">
       <p>Placeholder for now!</p>
@@ -571,8 +657,8 @@
       <br>
     </div>
   </div>
-
 </section>
+-->
 
 
 
@@ -682,6 +768,9 @@
 </pre>
     </div>
   </div><!-- /row -->
+  
+  <br>
+
   <!-- Block messages -->
   <div class="row">
     <div class="span3">
diff --git a/docs/index.html b/docs/index.html
index 0d340fa1ab..231ed2066b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -106,8 +106,8 @@
 
 
         <div class="marketing">
-          <h1>Built with Bootstrap</h1>
-          <p class="built-with">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+          <h1>Built with Bootstrap.</h1>
+          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
           <ul class="thumbnails example-sites">
             <li class="span4">
               <a class="thumbnail" href="http://kippt.com/" target="_blank">
@@ -126,7 +126,7 @@
             </li>
           </ul>
 
-          <h1>Designed for everyone, everywhere</h1>
+          <h1>Designed for everyone, everywhere.</h1>
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
@@ -200,8 +200,40 @@
               <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
             </div>
           </div><!--/row-->
-        </div>
 
+
+          <!-- Quickstart options
+          ================================================== -->
+          <h1>Get started in no time.</h1>
+          <p class="marketing-byline">Built for any skill level, Bootstrap fits your workflow and development process.</p>
+          <table class="bordered-table getting-started">
+            <tbody>
+              <tr>
+                <td class="quick-start">
+                  <h3>Hotlink the CSS</h3>
+                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                  <form>
+                    <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+                  </form>
+                </td>
+                <td class="quick-start">
+                  <h3>Use it with LESS</h3>
+                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
+                  <form>
+                    <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+      &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+                  </form>
+                </td>
+                <td class="quick-start">
+                  <h3>Fork on GitHub</h3>
+                  <p>Download, fork, pull, file issues, and more with the official Bootstrap repo on Github.</p>
+                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+                  <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div><!-- /.marketing -->
       </div><!-- /#overview -->
 
 
diff --git a/docs/less.html b/docs/less.html
index 7d3efd296c..05398e9665 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -403,8 +403,8 @@
         <tr>
           <td>Node with makefile</td>
           <td>
-            <p>Install the less command line compiler with npm by running the following command:</p>
-            <pre>$ npm install lessc</pre>
+            <p>Install the LESS command line compiler with npm by running the following command:</p>
+            <pre>$ npm install less</pre>
             <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
             <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
           </td>
@@ -422,7 +422,7 @@
         <tr>
           <td>Command line</td>
           <td>
-            <p>If you already have the less command line tool installed, simply run the following command:</p>
+            <p>Install the LESS command line tool via Node and run the following command:</p>
               <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
             <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
           </td>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 87394006bf..bf42d44687 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -395,7 +395,6 @@
             <dd><a href="./components.html#sidenav">Side nav</a></dd>
             <dd><a href="./components.html#navbar">Navbar</a></dd>
             <dd><a href="./components.html#tabspills">Tabs and pills</a></dd>
-            <dd><a href="./components.html#stepnav">Step nav</a></dd>
             <dd><a href="./components.html#pagination">Pagination</a></dd>
             <dd><a href="./components.html#alerts">Alerts and errors</a></dd>
             <dd><a href="./components.html#modals">Modals</a></dd>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 7be1fd7089..c84cba1232 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -92,6 +92,9 @@
   <li>Typography
     <ul>
       <li>Right-aligned option for blockquotes if float: right;</li>
+      <li><code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px</li>
+      <li><code>h5</code> elements were dropped from 14px to 12px</li>
+      <li><code>h6</code> elements were dropped from 13px to 11px</li>
     </ul>
   </li>
   <li>Buttons
diff --git a/lib/forms.less b/lib/forms.less
index 938983536e..8b85d240af 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -137,6 +137,16 @@ textarea {
   padding-top: 6px; // has to be padding because margin collaspes
 }
 
+// Radios and checkboxes on same line
+.radio.inline,
+.checkbox.inline {
+  display: inline-block;
+}
+.radio.inline + .radio.inline,
+.checkbox.inline + .checkbox.inline {
+  margin-left: 10px;
+}
+
 
 
 // FOCUS STATE
diff --git a/lib/navbar.less b/lib/navbar.less
index a96aa941c1..edc19c641c 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -53,6 +53,11 @@
   }
 }
 
+// Navbar forms
+.navbar-form {
+  margin-bottom: 0; // remove default bottom margin
+}
+
 // Navbar search
 .navbar-search {
   position: relative;
diff --git a/lib/sidenav.less b/lib/sidenav.less
index afc5ea1ddf..51f97f44d2 100644
--- a/lib/sidenav.less
+++ b/lib/sidenav.less
@@ -8,19 +8,22 @@
 .side-nav .nav-label,
 .side-nav .nav-item {
   display: block;
-  padding: 3px 16px;
+  padding: 3px 15px;
   text-shadow: 0 1px 0 rgba(255,255,255,.5);
 }
 .side-nav .nav-label {
   font-size: 11px;
   line-height: @baseLineHeight;
-  color: @grayDark;
+  color: @grayLight;
   text-transform: uppercase;
 }
 .side-nav .nav-group {
-  margin: 0 -1px;
+  margin: 0; // clear default ul margins
   list-style: none;
 }
+.side-nav .nav-group + .nav-label {
+  margin-top: 9px;
+}
 
 .side-nav .nav-item {
   font-weight: bold;
@@ -34,7 +37,7 @@
 .side-nav .active .nav-item {
   color: #fff;
   text-shadow: 0 -1px 0 rgba(0,0,0,.3);
-  #gradient > .vertical(#ccc, #aaa);
+  #gradient > .vertical(#ccc, #999);
   @shadow: inset 0 1px 0 rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.05);
   .box-shadow(@shadow);
 }
\ No newline at end of file
diff --git a/lib/type.less b/lib/type.less
index 59dae717fb..4aa6423586 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -50,20 +50,20 @@ h3 {
     font-size: 14px;
   }
 }
+h4, h5, h6 {
+  line-height: @baseLineHeight;
+}
 h4 {
-  font-size: 16px;
-  line-height: @baseLineHeight * 2;
+  font-size: 14px;
   small {
     font-size: 12px;
   }
 }
 h5 {
-  font-size: 14px;
-  line-height: @baseLineHeight;
+  font-size: 12px;
 }
 h6 {
-  font-size: 13px;
-  line-height: @baseLineHeight;
+  font-size: 11px;
   color: @grayLight;
   text-transform: uppercase;
 }
-- 
GitLab


From 36e7660383a7639f5d538efb7dc0f349e285b42d Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 00:26:58 -0800
Subject: [PATCH 196/576] fix forms in navbars, fix examples' navbars

---
 bootstrap.css               |  7 ++++++-
 bootstrap.min.css           |  4 ++--
 docs/base-css.html          |  1 +
 examples/container-app.html |  2 +-
 examples/fluid-reverse.html | 18 +++++++++---------
 examples/fluid.html         | 10 +++++-----
 examples/hero.html          | 10 +++++-----
 lib/forms.less              |  3 ++-
 lib/navbar.less             |  5 +++++
 9 files changed, 36 insertions(+), 24 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 85ed7961a3..f10d872acc 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan  6 23:58:33 PST 2012
+ * Date: Sat Jan  7 00:24:46 PST 2012
  */
 html, body {
   margin: 0;
@@ -627,6 +627,7 @@ textarea {
 }
 .radio.inline, .checkbox.inline {
   display: inline-block;
+  margin-bottom: 0;
 }
 .radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {
   margin-left: 10px;
@@ -1681,6 +1682,10 @@ i {
 .navbar-form {
   margin-bottom: 0;
 }
+.navbar-form input, .navbar-form select {
+  display: inline-block;
+  margin-bottom: 0;
+}
 .navbar-search {
   position: relative;
   float: left;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 16f9fb76bd..17d3c4b397 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -108,7 +108,7 @@ textarea{height:auto;}
 .radio,.checkbox{padding-left:18px;}
 .radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-18px;}
 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
-.radio.inline,.checkbox.inline{display:inline-block;}
+.radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;}
 .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
 input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
 input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
@@ -287,7 +287,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
 .navbar .btn{margin-top:5px;}
-.navbar-form{margin-bottom:0;}
+.navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#eeeeee;}
 .navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
diff --git a/docs/base-css.html b/docs/base-css.html
index cbdf5ea194..cc92bc2217 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1102,6 +1102,7 @@
         <hr>
         <h3>Checkboxes and radios</h3>
         <p>Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the <code>&lt;label class="checkbox"&gt;</code> that wraps the <code>&lt;input type="checkbox"&gt;</code>.</p>
+        <p>Inline checkboxes and radios are also supported. Just add <code>.inline</code> to any <code>.checkbox</code> or <code>.radio</code> and you're done.</p>
       </div>
     </div>
   </div><!-- /row -->
diff --git a/examples/container-app.html b/examples/container-app.html
index 28807bb05e..778bceacf6 100644
--- a/examples/container-app.html
+++ b/examples/container-app.html
@@ -75,7 +75,7 @@
 
   <body>
 
-    <div class="navbar">
+    <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="#">Project name</a>
diff --git a/examples/fluid-reverse.html b/examples/fluid-reverse.html
index a32291d46c..8df7311816 100644
--- a/examples/fluid-reverse.html
+++ b/examples/fluid-reverse.html
@@ -28,7 +28,7 @@
 
   <body>
 
-    <div class="navbar">
+    <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="fluid-container">
           <a class="brand" href="#">Project name</a>
@@ -78,17 +78,17 @@
 
         <!-- Example row of columns -->
         <div class="row">
-          <div class="span6">
+          <div class="span4">
             <h2>Heading</h2>
-            <p>Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+           <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
           </div>
-          <div class="span5">
+          <div class="span4">
             <h2>Heading</h2>
              <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
          </div>
-          <div class="span5">
+          <div class="span4">
             <h2>Heading</h2>
             <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
@@ -99,17 +99,17 @@
 
         <!-- Example row of columns -->
         <div class="row">
-          <div class="span6">
+          <div class="span4">
             <h2>Heading</h2>
-            <p>Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+           <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
           </div>
-          <div class="span5">
+          <div class="span4">
             <h2>Heading</h2>
              <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
          </div>
-          <div class="span5">
+          <div class="span4">
             <h2>Heading</h2>
             <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
diff --git a/examples/fluid.html b/examples/fluid.html
index 3b8bb46a8d..66e07c82ed 100644
--- a/examples/fluid.html
+++ b/examples/fluid.html
@@ -28,7 +28,7 @@
 
   <body>
 
-    <div class="navbar">
+    <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="fluid-container">
           <a class="brand" href="#">Project name</a>
@@ -78,9 +78,9 @@
 
         <!-- Example row of columns -->
         <div class="row">
-          <div class="span6">
+          <div class="span4">
             <h2>Heading</h2>
-            <p>Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+           <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
           </div>
           <div class="span5">
@@ -99,9 +99,9 @@
 
         <!-- Example row of columns -->
         <div class="row">
-          <div class="span6">
+          <div class="span4">
             <h2>Heading</h2>
-            <p>Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+           <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
             <p><a class="btn" href="#">View details &raquo;</a></p>
           </div>
           <div class="span5">
diff --git a/examples/hero.html b/examples/hero.html
index d84eb88434..3a7a539839 100644
--- a/examples/hero.html
+++ b/examples/hero.html
@@ -28,7 +28,7 @@
 
   <body>
 
-    <div class="navbar">
+    <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="#">Project name</a>
@@ -52,17 +52,17 @@
 
       <!-- Example row of columns -->
       <div class="row">
-        <div class="span6">
+        <div class="span4">
           <h2>Heading</h2>
-          <p>Etiam porta sem malesuada magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
+           <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
           <p><a class="btn" href="#">View details &raquo;</a></p>
         </div>
-        <div class="span5">
+        <div class="span4">
           <h2>Heading</h2>
            <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
           <p><a class="btn" href="#">View details &raquo;</a></p>
        </div>
-        <div class="span5">
+        <div class="span4">
           <h2>Heading</h2>
           <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
           <p><a class="btn" href="#">View details &raquo;</a></p>
diff --git a/lib/forms.less b/lib/forms.less
index 8b85d240af..9e0b843628 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -141,10 +141,11 @@ textarea {
 .radio.inline,
 .checkbox.inline {
   display: inline-block;
+  margin-bottom: 0;
 }
 .radio.inline + .radio.inline,
 .checkbox.inline + .checkbox.inline {
-  margin-left: 10px;
+  margin-left: 10px; // space out consecutive inline controls
 }
 
 
diff --git a/lib/navbar.less b/lib/navbar.less
index edc19c641c..516890ba79 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -56,6 +56,11 @@
 // Navbar forms
 .navbar-form {
   margin-bottom: 0; // remove default bottom margin
+  input,
+  select {
+    display: inline-block;
+    margin-bottom: 0;
+  }
 }
 
 // Navbar search
-- 
GitLab


From 0cb2866409c674f834f8e0f4e204c3c3331abbcd Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 00:29:36 -0800
Subject: [PATCH 197/576] fix reponsive 1200+ media query to resolve mismatched
 gutters and negative margins on the row

---
 bootstrap.css       | 7 +++++--
 lib/responsive.less | 5 ++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index f10d872acc..eb338c0385 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 00:24:46 PST 2012
+ * Date: Sat Jan  7 00:29:11 PST 2012
  */
 html, body {
   margin: 0;
@@ -3160,6 +3160,9 @@ a.thumbnail:hover {
   .container {
     width: @siteWidth;
   }
+  .row {
+    margin-left: @gridGutterWidth * -1;
+  }
   [class*="span"] {
     margin-left: @gridGutterWidth;
   }
@@ -3193,4 +3196,4 @@ a.thumbnail:hover {
   .offset12  { .offset(12); }
 
 }
-*/
+*/
\ No newline at end of file
diff --git a/lib/responsive.less b/lib/responsive.less
index fe2b7cd49a..4cef89180f 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -205,6 +205,9 @@
   .container {
     width: @siteWidth;
   }
+  .row {
+    margin-left: @gridGutterWidth * -1;
+  }
   [class*="span"] {
     margin-left: @gridGutterWidth;
   }
@@ -238,4 +241,4 @@
   .offset12  { .offset(12); }
 
 }
-*/
+*/
\ No newline at end of file
-- 
GitLab


From bcf1136f2c8236cd3fa28eac7e57a9a3fc17d104 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 00:47:53 -0800
Subject: [PATCH 198/576] fix form field sizing for selects, document form
 field grid sizing

---
 bootstrap.css            | 155 ++++++++++++++-------------------------
 bootstrap.min.css        |  43 ++++++-----
 docs/assets/css/docs.css |   6 +-
 docs/base-css.html       |   9 +++
 lib/forms.less           |  63 ++++++++++------
 5 files changed, 136 insertions(+), 140 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index eb338c0385..4f086520a5 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 00:29:11 PST 2012
+ * Date: Sat Jan  7 00:47:37 PST 2012
  */
 html, body {
   margin: 0;
@@ -601,8 +601,10 @@ select, input[type=file] {
   line-height: 27px;
 }
 select {
-  background-color: #ffffff;
+  width: 220px;
+  padding: 0;
   vertical-align: middle;
+  background-color: #ffffff;
 }
 select[multiple], select[size] {
   height: inherit;
@@ -673,133 +675,84 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus {
 .input-xxlarge {
   width: 530px;
 }
-input.span1,
-textarea.span1,
-select.span1,
-.uneditable-input.span1 {
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input[class*="span"] {
   float: none;
-  width: 50px;
   margin-left: 0;
 }
-input.span2,
-textarea.span2,
-select.span2,
-.uneditable-input.span2 {
-  float: none;
+input.span1, textarea.span1, .uneditable-input.span1 {
+  width: 50px;
+}
+input.span2, textarea.span2, .uneditable-input.span2 {
   width: 130px;
-  margin-left: 0;
 }
-input.span3,
-textarea.span3,
-select.span3,
-.uneditable-input.span3 {
-  float: none;
+input.span3, textarea.span3, .uneditable-input.span3 {
   width: 210px;
-  margin-left: 0;
 }
-input.span4,
-textarea.span4,
-select.span4,
-.uneditable-input.span4 {
-  float: none;
+input.span4, textarea.span4, .uneditable-input.span4 {
   width: 290px;
-  margin-left: 0;
 }
-input.span5,
-textarea.span5,
-select.span5,
-.uneditable-input.span5 {
-  float: none;
+input.span5, textarea.span5, .uneditable-input.span5 {
   width: 370px;
-  margin-left: 0;
 }
-input.span6,
-textarea.span6,
-select.span6,
-.uneditable-input.span6 {
-  float: none;
+input.span6, textarea.span6, .uneditable-input.span6 {
   width: 450px;
-  margin-left: 0;
 }
-input.span7,
-textarea.span7,
-select.span7,
-.uneditable-input.span7 {
-  float: none;
+input.span7, textarea.span7, .uneditable-input.span7 {
   width: 530px;
-  margin-left: 0;
 }
-input.span8,
-textarea.span8,
-select.span8,
-.uneditable-input.span8 {
-  float: none;
+input.span8, textarea.span8, .uneditable-input.span8 {
   width: 610px;
-  margin-left: 0;
 }
-input.span9,
-textarea.span9,
-select.span9,
-.uneditable-input.span9 {
-  float: none;
+input.span9, textarea.span9, .uneditable-input.span9 {
   width: 690px;
-  margin-left: 0;
 }
-input.span10,
-textarea.span10,
-select.span10,
-.uneditable-input.span10 {
-  float: none;
+input.span10, textarea.span10, .uneditable-input.span10 {
   width: 770px;
-  margin-left: 0;
 }
-input.span11,
-textarea.span11,
-select.span11,
-.uneditable-input.span11 {
-  float: none;
+input.span11, textarea.span11, .uneditable-input.span11 {
   width: 850px;
-  margin-left: 0;
 }
-input.span12,
-textarea.span12,
-select.span12,
-.uneditable-input.span12 {
-  float: none;
+input.span12, textarea.span12, .uneditable-input.span12 {
   width: 930px;
-  margin-left: 0;
 }
-input.span13,
-textarea.span13,
-select.span13,
-.uneditable-input.span13 {
-  float: none;
-  width: 1010px;
-  margin-left: 0;
+select.span1 {
+  width: 70px;
 }
-input.span14,
-textarea.span14,
-select.span14,
-.uneditable-input.span14 {
-  float: none;
-  width: 1090px;
-  margin-left: 0;
+select.span2 {
+  width: 150px;
 }
-input.span15,
-textarea.span15,
-select.span15,
-.uneditable-input.span15 {
-  float: none;
-  width: 1170px;
-  margin-left: 0;
+select.span3 {
+  width: 230px;
 }
-input.span16,
-textarea.span16,
-select.span16,
-.uneditable-input.span16 {
-  float: none;
-  width: 1250px;
-  margin-left: 0;
+select.span4 {
+  width: 310px;
+}
+select.span5 {
+  width: 390px;
+}
+select.span6 {
+  width: 470px;
+}
+select.span7 {
+  width: 550px;
+}
+select.span8 {
+  width: 630px;
+}
+select.span9 {
+  width: 710px;
+}
+select.span10 {
+  width: 790px;
+}
+select.span11 {
+  width: 870px;
+}
+select.span12 {
+  width: 950px;
 }
 input[disabled],
 select[disabled],
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 17d3c4b397..156efff597 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -101,7 +101,7 @@ input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;*margin-top:4px;line-height:27px;}
-select{background-color:#ffffff;vertical-align:middle;}
+select{width:220px;padding:0;vertical-align:middle;background-color:#ffffff;}
 select[multiple],select[size]{height:inherit;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
@@ -119,22 +119,31 @@ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shado
 .input-large{width:210px;}
 .input-xlarge{width:270px;}
 .input-xxlarge{width:530px;}
-input.span1,textarea.span1,select.span1,.uneditable-input.span1{float:none;width:50px;margin-left:0;}
-input.span2,textarea.span2,select.span2,.uneditable-input.span2{float:none;width:130px;margin-left:0;}
-input.span3,textarea.span3,select.span3,.uneditable-input.span3{float:none;width:210px;margin-left:0;}
-input.span4,textarea.span4,select.span4,.uneditable-input.span4{float:none;width:290px;margin-left:0;}
-input.span5,textarea.span5,select.span5,.uneditable-input.span5{float:none;width:370px;margin-left:0;}
-input.span6,textarea.span6,select.span6,.uneditable-input.span6{float:none;width:450px;margin-left:0;}
-input.span7,textarea.span7,select.span7,.uneditable-input.span7{float:none;width:530px;margin-left:0;}
-input.span8,textarea.span8,select.span8,.uneditable-input.span8{float:none;width:610px;margin-left:0;}
-input.span9,textarea.span9,select.span9,.uneditable-input.span9{float:none;width:690px;margin-left:0;}
-input.span10,textarea.span10,select.span10,.uneditable-input.span10{float:none;width:770px;margin-left:0;}
-input.span11,textarea.span11,select.span11,.uneditable-input.span11{float:none;width:850px;margin-left:0;}
-input.span12,textarea.span12,select.span12,.uneditable-input.span12{float:none;width:930px;margin-left:0;}
-input.span13,textarea.span13,select.span13,.uneditable-input.span13{float:none;width:1010px;margin-left:0;}
-input.span14,textarea.span14,select.span14,.uneditable-input.span14{float:none;width:1090px;margin-left:0;}
-input.span15,textarea.span15,select.span15,.uneditable-input.span15{float:none;width:1170px;margin-left:0;}
-input.span16,textarea.span16,select.span16,.uneditable-input.span16{float:none;width:1250px;margin-left:0;}
+input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"]{float:none;margin-left:0;}
+input.span1,textarea.span1,.uneditable-input.span1{width:50px;}
+input.span2,textarea.span2,.uneditable-input.span2{width:130px;}
+input.span3,textarea.span3,.uneditable-input.span3{width:210px;}
+input.span4,textarea.span4,.uneditable-input.span4{width:290px;}
+input.span5,textarea.span5,.uneditable-input.span5{width:370px;}
+input.span6,textarea.span6,.uneditable-input.span6{width:450px;}
+input.span7,textarea.span7,.uneditable-input.span7{width:530px;}
+input.span8,textarea.span8,.uneditable-input.span8{width:610px;}
+input.span9,textarea.span9,.uneditable-input.span9{width:690px;}
+input.span10,textarea.span10,.uneditable-input.span10{width:770px;}
+input.span11,textarea.span11,.uneditable-input.span11{width:850px;}
+input.span12,textarea.span12,.uneditable-input.span12{width:930px;}
+select.span1{width:70px;}
+select.span2{width:150px;}
+select.span3{width:230px;}
+select.span4{width:310px;}
+select.span5{width:390px;}
+select.span6{width:470px;}
+select.span7{width:550px;}
+select.span8{width:630px;}
+select.span9{width:710px;}
+select.span10{width:790px;}
+select.span11{width:870px;}
+select.span12{width:950px;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 .control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
 .control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#ee5f5b;}.control-group.error input:focus,.control-group.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 579baad7d9..1180effd12 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -456,7 +456,11 @@ form.well {
   outline: 0;
 }
 
-
+/* For input sizes, make them display block */
+.docs-input-sizes input[type=text] {
+  display: block;
+  margin-bottom: 9px;
+}
 
 /* Icons
 ------------------------- */
diff --git a/docs/base-css.html b/docs/base-css.html
index cc92bc2217..b8a6a2f8de 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1024,6 +1024,15 @@
     <div class="span8">
       <form class="horizontal-form">
         <legend>Extending form controls</legend>
+        <fieldset class="control-group">
+          <label class="control-label">Form sizes</label>
+          <div class="controls docs-input-sizes">
+            <input class="span2" type="text" name="" placeholder=".span2">
+            <input class="span3" type="text" name="" placeholder=".span3">
+            <input class="span4" type="text" name="" placeholder=".span4">
+            <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
+          </div>
+        </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="prependedInput">Prepended text</label>
           <div class="controls">
diff --git a/lib/forms.less b/lib/forms.less
index 9e0b843628..433b1ff987 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -96,8 +96,10 @@ input[type=file] {
 
 // Chrome on Linux and Mobile Safari need background-color
 select {
-  background-color: @white;
+  width: 220px; // default input width + 10px of padding that doesn't get applied
+  padding: 0;
   vertical-align: middle;
+  background-color: @white;
 }
 
 // Make multiple select elements height not fixed
@@ -187,33 +189,52 @@ select:focus {
 .input-xxlarge    { width: 530px; }
 
 // Grid style input sizes
-// This is a duplication of the main grid .columns() mixin, but subtracts 10px to account for input padding and border
-.formColumns(@columnSpan: 1) {
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input[class*="span"] {
   float: none;
-  width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 10;
   margin-left: 0;
 }
+
+// This is a duplication of the main grid .columns() mixin, but subtracts 10px to account for input padding and border
+.inputColumns(@columnSpan: 1) {
+  width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 10;
+}
 input,
 textarea,
-select,
 .uneditable-input {
   // Default columns
-  &.span1     { .formColumns(1); }
-  &.span2     { .formColumns(2); }
-  &.span3     { .formColumns(3); }
-  &.span4     { .formColumns(4); }
-  &.span5     { .formColumns(5); }
-  &.span6     { .formColumns(6); }
-  &.span7     { .formColumns(7); }
-  &.span8     { .formColumns(8); }
-  &.span9     { .formColumns(9); }
-  &.span10    { .formColumns(10); }
-  &.span11    { .formColumns(11); }
-  &.span12    { .formColumns(12); }
-  &.span13    { .formColumns(13); }
-  &.span14    { .formColumns(14); }
-  &.span15    { .formColumns(15); }
-  &.span16    { .formColumns(16); }
+  &.span1     { .inputColumns(1); }
+  &.span2     { .inputColumns(2); }
+  &.span3     { .inputColumns(3); }
+  &.span4     { .inputColumns(4); }
+  &.span5     { .inputColumns(5); }
+  &.span6     { .inputColumns(6); }
+  &.span7     { .inputColumns(7); }
+  &.span8     { .inputColumns(8); }
+  &.span9     { .inputColumns(9); }
+  &.span10    { .inputColumns(10); }
+  &.span11    { .inputColumns(11); }
+  &.span12    { .inputColumns(12); }
+}
+
+.selectColumns(@columnSpan: 1) {
+  width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) + 10;
+}
+select {
+  &.span1     { .selectColumns(1); }
+  &.span2     { .selectColumns(2); }
+  &.span3     { .selectColumns(3); }
+  &.span4     { .selectColumns(4); }
+  &.span5     { .selectColumns(5); }
+  &.span6     { .selectColumns(6); }
+  &.span7     { .selectColumns(7); }
+  &.span8     { .selectColumns(8); }
+  &.span9     { .selectColumns(9); }
+  &.span10    { .selectColumns(10); }
+  &.span11    { .selectColumns(11); }
+  &.span12    { .selectColumns(12); }
 }
 
 
-- 
GitLab


From d6a1402f2af5111e11a87a6029b642dc0b814854 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 01:03:26 -0800
Subject: [PATCH 199/576] update form shadows and tweak prettyprint styles

---
 bootstrap.css                                  | 14 +++++++-------
 bootstrap.min.css                              |  4 ++--
 .../js/google-code-prettify/prettify.css       | 18 +++++++++++++++---
 docs/base-css.html                             |  5 +++--
 lib/forms.less                                 |  4 ++--
 5 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4f086520a5..a5bdf25940 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 00:47:37 PST 2012
+ * Date: Sat Jan  7 00:50:40 PST 2012
  */
 html, body {
   margin: 0;
@@ -635,9 +635,9 @@ textarea {
   margin-left: 10px;
 }
 input, textarea {
-  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
-  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
   -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;
@@ -646,9 +646,9 @@ input, textarea {
 }
 input:focus, textarea:focus {
   border-color: rgba(82, 168, 236, 0.8);
-  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
-  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
-  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
   outline: 0;
 }
 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 156efff597..c0b0bf1049 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -110,8 +110,8 @@ textarea{height:auto;}
 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
 .radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;}
 .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
-input,textarea{-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-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;}
-input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
+input,textarea{-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1);-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;}
+input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
 input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
 .input-mini{width:60px;}
 .input-small{width:90px;}
diff --git a/docs/assets/js/google-code-prettify/prettify.css b/docs/assets/js/google-code-prettify/prettify.css
index e3bbf8b6cb..c2031b5940 100644
--- a/docs/assets/js/google-code-prettify/prettify.css
+++ b/docs/assets/js/google-code-prettify/prettify.css
@@ -21,10 +21,22 @@ pre.prettyprint {
   padding: 8px;
   background-color: #f7f7f9;
   border: 1px solid #e1e1e8;
+  -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
+     -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
+          box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
 }
 
 /* Specify class=linenums on a pre to get line numbering */
-ol.linenums { margin: 0 0 0 40px; } /* IE indents via margin-left */
-ol.linenums li { color: #bebec5; line-height: 18px; text-shadow: 0 1px 0 #fff; }
+ol.linenums {
+  margin: 0 0 0 33px; /* IE indents via margin-left */
+} 
+ol.linenums li {
+  padding-left: 7px;
+  color: #bebec5;
+  line-height: 18px;
+  text-shadow: 0 1px 0 #fff;
+}
 /* Alternate shading for lines */
-li.L1, li.L3, li.L5, li.L7, li.L9 {  }
\ No newline at end of file
+li.L1, li.L3, li.L5, li.L7, li.L9 {
+  
+}
\ No newline at end of file
diff --git a/docs/base-css.html b/docs/base-css.html
index b8a6a2f8de..5ae1790f77 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1009,8 +1009,9 @@
         <hr>
         <h3>Form validation</h3>
         <p>It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.</p>
-<pre class="prettyprint">
-&lt;fieldset class="control-group error"&gt;
+<pre class="prettyprint linenums">
+&lt;fieldset
+  class="control-group error"&gt;
   ...
 &lt;/fieldset&gt;
 </pre>
diff --git a/lib/forms.less b/lib/forms.less
index 433b1ff987..5e02b7fdec 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -157,14 +157,14 @@ textarea {
 
 input,
 textarea {
-  .box-shadow(inset 0 1px 3px rgba(0,0,0,.1));
+  .box-shadow(inset 0 1px 1px rgba(0,0,0,.1));
   @transition: border linear .2s, box-shadow linear .2s;
   .transition(@transition);
 }
 input:focus,
 textarea:focus {
   border-color: rgba(82,168,236,.8);
-  @shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
+  @shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
   .box-shadow(@shadow);
   outline: 0;
 }
-- 
GitLab


From e23448ab1b2cc627a3cab54406ffce6c915297b6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 01:08:58 -0800
Subject: [PATCH 200/576] make fixed navbars have lower z-index

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/navbar.less   | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a5bdf25940..38ce72cba8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 00:50:40 PST 2012
+ * Date: Sat Jan  7 01:08:05 PST 2012
  */
 html, body {
   margin: 0;
@@ -1702,7 +1702,7 @@ i {
   top: 0;
   right: 0;
   left: 0;
-  z-index: 10000;
+  z-index: 999;
 }
 .nav {
   position: relative;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index c0b0bf1049..353a68ebfe 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -303,7 +303,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:10000;}
+.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:999;}
 .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
diff --git a/lib/navbar.less b/lib/navbar.less
index 516890ba79..9756ce2ca8 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -125,7 +125,7 @@
   top: 0;
   right: 0;
   left: 0;
-  z-index: 10000;
+  z-index: 999;
 }
 
 
-- 
GitLab


From 45d671d97f4d448780729bbb6357e9ec776f980c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 01:22:52 -0800
Subject: [PATCH 201/576] tweak spacing once more on prettify; add support for
 uneditable inputs to input-append and prepend

---
 bootstrap.css                                   | 17 +++++++++++++----
 bootstrap.min.css                               |  8 +++++---
 .../assets/js/google-code-prettify/prettify.css |  2 +-
 docs/base-css.html                              |  4 ++--
 lib/forms.less                                  | 14 +++++++++++---
 5 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 38ce72cba8..411bc9c438 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 01:08:05 PST 2012
+ * Date: Sat Jan  7 01:22:18 PST 2012
  */
 html, body {
   margin: 0;
@@ -678,7 +678,7 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus {
 input[class*="span"],
 select[class*="span"],
 textarea[class*="span"],
-.uneditable-input[class*="span"] {
+.uneditable-input {
   float: none;
   margin-left: 0;
 }
@@ -871,11 +871,17 @@ input::-webkit-input-placeholder {
 .input-prepend:after, .input-append:after {
   clear: both;
 }
-.input-prepend input, .input-append input {
+.input-prepend input,
+.input-append input,
+.input-prepend .uneditable-input,
+.input-append .uneditable-input {
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
+.input-prepend .uneditable-input, .input-append .uneditable-input {
+  border-left-color: #ccc;
+}
 .input-prepend .add-on, .input-append .add-on {
   float: left;
   display: block;
@@ -904,12 +910,15 @@ input::-webkit-input-placeholder {
   /* IE6-7 */
 
 }
-.input-append input {
+.input-append input, .input-append .uneditable-input {
   float: left;
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
 }
+.input-append .uneditable-input {
+  border-right-color: #ccc;
+}
 .input-append .add-on {
   margin-right: 0;
   margin-left: -1px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 353a68ebfe..fb036b6a08 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -119,7 +119,7 @@ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shado
 .input-large{width:210px;}
 .input-xlarge{width:270px;}
 .input-xxlarge{width:530px;}
-input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"]{float:none;margin-left:0;}
+input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0;}
 input.span1,textarea.span1,.uneditable-input.span1{width:50px;}
 input.span2,textarea.span2,.uneditable-input.span2{width:130px;}
 input.span3,textarea.span3,.uneditable-input.span3{width:210px;}
@@ -162,11 +162,13 @@ input::-webkit-input-placeholder{color:#999999;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .input-prepend,.input-append{margin-bottom:5px;zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;*display:inline;content:"";zoom:1;}
 .input-prepend:after,.input-append:after{clear:both;}
-.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;}
 .input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
-.input-append input{float:left;-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 .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-append .uneditable-input{border-right-color:#ccc;}
 .input-append .add-on{margin-right:0;margin-left:-1px;-webkit-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;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .search-form input,.inline-form input,.horizontal-form input,.search-form textarea,.inline-form textarea,.horizontal-form textarea,.search-form select,.inline-form select,.horizontal-form select,.search-form .uneditable-input,.inline-form .uneditable-input,.horizontal-form .uneditable-input{display:inline-block;margin-bottom:0;}
diff --git a/docs/assets/js/google-code-prettify/prettify.css b/docs/assets/js/google-code-prettify/prettify.css
index c2031b5940..f195124a9b 100644
--- a/docs/assets/js/google-code-prettify/prettify.css
+++ b/docs/assets/js/google-code-prettify/prettify.css
@@ -31,7 +31,7 @@ ol.linenums {
   margin: 0 0 0 33px; /* IE indents via margin-left */
 } 
 ol.linenums li {
-  padding-left: 7px;
+  padding-left: 12px;
   color: #bebec5;
   line-height: 18px;
   text-shadow: 0 1px 0 #fff;
diff --git a/docs/base-css.html b/docs/base-css.html
index 5ae1790f77..910ea10bb0 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1039,7 +1039,7 @@
           <div class="controls">
             <div class="input-prepend">
               <span class="add-on">@</span>
-              <input class="input-small" id="prependedInput" name="prependedInput" size="16" type="text">
+              <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
             </div>
             <p class="help-block">Here's some help text</p>
           </div>
@@ -1048,7 +1048,7 @@
           <label class="control-label" for="appendedInput">Appended text</label>
           <div class="controls">
             <div class="input-append">
-              <input class="input-small" id="appendedInput" name="appendedInput" size="16" type="text">
+              <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
               <span class="add-on">.00</span>
             </div>
             <p class="help-block">Here's more help text</p>
diff --git a/lib/forms.less b/lib/forms.less
index 5e02b7fdec..f0b7c2ea66 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -192,7 +192,7 @@ select:focus {
 input[class*="span"],
 select[class*="span"],
 textarea[class*="span"],
-.uneditable-input[class*="span"] {
+.uneditable-input {
   float: none;
   margin-left: 0;
 }
@@ -357,9 +357,13 @@ input::-webkit-input-placeholder {
 .input-append {
   margin-bottom: 5px;
   .clearfix(); // Clear the float to prevent wrapping
-  input {
+  input,
+  .uneditable-input {
     .border-radius(0 3px 3px 0);
   }
+  .uneditable-input {
+    border-left-color: #ccc;
+  }
   .add-on {
     float: left;
     display: block;
@@ -388,10 +392,14 @@ input::-webkit-input-placeholder {
   }
 }
 .input-append {
-  input {
+  input,
+  .uneditable-input {
     float: left;
     .border-radius(3px 0 0 3px);
   }
+  .uneditable-input {
+    border-right-color: #ccc;    
+  }
   .add-on {
     margin-right: 0;
     margin-left: -1px;
-- 
GitLab


From 5fb2c666acfd5e7d2f134d2cb5b65b828102c5a9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 01:59:53 -0800
Subject: [PATCH 202/576] update the fluid examples to use new classes and
 clear the floats properly from sidebar

---
 bootstrap.css               | 24 ++++++++++++--------
 bootstrap.min.css           | 11 +++++-----
 docs/upgrading.html         |  5 +++++
 examples/fluid-reverse.html |  6 +++--
 examples/fluid.html         | 44 +++++++++++++++++++------------------
 lib/scaffolding.less        | 22 ++++++++++---------
 6 files changed, 65 insertions(+), 47 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 411bc9c438..2f57e5f95c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 01:22:18 PST 2012
+ * Date: Sat Jan  7 01:58:07 PST 2012
  */
 html, body {
   margin: 0;
@@ -209,21 +209,27 @@ body {
 .fluid-container:after {
   clear: both;
 }
-.fluid-sidebar-left, .fluid-sidebar-right {
+.fluid-sidebar {
   width: 220px;
+  margin: 0 20px 18px;
 }
-.fluid-sidebar-left {
+.sidebar-left {
+  padding-left: 260px;
+}
+.sidebar-right {
+  padding-right: 260px;
+}
+.sidebar-left .fluid-sidebar {
   float: left;
+  margin-left: -240px;
 }
-.fluid-sidebar-right {
+.sidebar-right .fluid-sidebar {
   float: right;
+  margin-right: -240px;
 }
 .fluid-content {
-  margin-left: 240px;
-}
-.fluid-container.reverse .fluid-content {
-  margin-left: 0;
-  margin-right: 240px;
+  float: left;
+  width: 100%;
 }
 a {
   font-weight: inherit;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index fb036b6a08..9996dc3183 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -25,11 +25,12 @@ body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:
 .container:after{clear:both;}
 .fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;*display:inline;content:"";zoom:1;}
 .fluid-container:after{clear:both;}
-.fluid-sidebar-left,.fluid-sidebar-right{width:220px;}
-.fluid-sidebar-left{float:left;}
-.fluid-sidebar-right{float:right;}
-.fluid-content{margin-left:240px;}
-.fluid-container.reverse .fluid-content{margin-left:0;margin-right:240px;}
+.fluid-sidebar{width:220px;margin:0 20px 18px;}
+.sidebar-left{padding-left:260px;}
+.sidebar-right{padding-right:260px;}
+.sidebar-left .fluid-sidebar{float:left;margin-left:-240px;}
+.sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
+.fluid-content{float:left;width:100%;}
 a{font-weight:inherit;line-height:inherit;color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:underline;}
 .pull-right{float:right;}
 .pull-left{float:left;}
diff --git a/docs/upgrading.html b/docs/upgrading.html
index c84cba1232..d22fa8c27f 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -102,6 +102,11 @@
       <li>Added button bar options</li>
     </ul>
   </li>
+  <li>Examples
+    <ul>
+      <li>Fluid examples redone. <code>.fluid-container</code> now requires a <code>.sidebar-left</code> or <code>.sidebar-right</code> as well. Fluid sidebar element has a new class, <code>.fluid-sidebar</code>.</li>
+    </ul>
+  </li>
 </ul>
 <!--
   <li>
diff --git a/examples/fluid-reverse.html b/examples/fluid-reverse.html
index 8df7311816..61aa08de99 100644
--- a/examples/fluid-reverse.html
+++ b/examples/fluid-reverse.html
@@ -42,8 +42,8 @@
       </div>
     </div>
 
-    <div class="fluid-container reverse">
-      <div class="fluid-sidebar-right">
+    <div class="fluid-container sidebar-right">
+      <div class="fluid-sidebar">
         <div class="well">
           <h5>Sidebar</h5>
           <ul>
@@ -116,6 +116,8 @@
           </div>
         </div>
 
+        <hr>
+
         <footer>
           <p>&copy; Company 2011</p>
         </footer>
diff --git a/examples/fluid.html b/examples/fluid.html
index 66e07c82ed..bba78a329b 100644
--- a/examples/fluid.html
+++ b/examples/fluid.html
@@ -42,29 +42,29 @@
       </div>
     </div>
 
-    <div class="fluid-container">
-      <div class="fluid-sidebar-left">
-        <div class="well">
-          <h5>Sidebar</h5>
-          <ul>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
+    <div class="fluid-container sidebar-left">
+      <div class="fluid-sidebar">
+        <div class="well side-nav">
+          <h5 class="nav-label">Sidebar</h5>
+          <ul class="nav-group">
+            <li class="active"><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
           </ul>
-          <h5>Sidebar</h5>
-          <ul>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
+          <h5 class="nav-label">Sidebar</h5>
+          <ul class="nav-group">
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
           </ul>
-          <h5>Sidebar</h5>
-          <ul>
-            <li><a href="#">Link</a></li>
-            <li><a href="#">Link</a></li>
+          <h5 class="nav-label">Sidebar</h5>
+          <ul class="nav-group">
+            <li><a class="nav-item" href="#">Link</a></li>
+            <li><a class="nav-item" href="#">Link</a></li>
           </ul>
         </div>
       </div>
@@ -116,6 +116,8 @@
           </div>
         </div>
 
+        <hr>
+        
         <footer>
           <p>&copy; Company 2011</p>
         </footer>
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index d75adba56b..f454b2e91d 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -29,21 +29,23 @@ body {
   padding-right: 20px;
   .clearfix();
 }
+
 // Sidebars (left and right options)
-.fluid-sidebar-left,
-.fluid-sidebar-right {
+.fluid-sidebar {
   width: 220px;
+  margin: 0 20px 18px;
 }
-.fluid-sidebar-left   { float: left; }
-.fluid-sidebar-right  { float: right; }
+.sidebar-left   { padding-left: 260px; }
+.sidebar-right  { padding-right: 260px; }
+
+// Float the sidebars accordingly
+.sidebar-left .fluid-sidebar   { float: left; margin-left: -240px; }
+.sidebar-right .fluid-sidebar  { float: right; margin-right: -240px; }
+
 // The main content area
 .fluid-content {
-  margin-left: 240px;
-}
-// Reverse layout for sidebar on right
-.fluid-container.reverse .fluid-content {
-  margin-left: 0;
-  margin-right: 240px;
+  float: left;
+  width: 100%;
 }
 
 
-- 
GitLab


From 8ccc3bcf03fedbe8c3a19a96c08a5cad6ae456e8 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 03:45:24 -0800
Subject: [PATCH 203/576] overhauled dropdowns now require use of .caret for
 dropdown arrow, redid the button group docs section, added the split button
 dropdown docs section

---
 bootstrap.css            | 143 ++++++++++++++++++++++-----------------
 bootstrap.min.css        |  31 +++++----
 docs/assets/css/docs.css |   3 +-
 docs/base-css.html       | 142 +++++++++++++++++++++++++++++++++-----
 docs/javascript.html     |   6 +-
 docs/upgrading.html      |   6 ++
 lib/button-groups.less   | 139 +++++++++++++++++++++++++------------
 lib/dropdowns.less       |  58 ++++++++--------
 lib/type.less            |   2 +-
 9 files changed, 359 insertions(+), 171 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 2f57e5f95c..98aec3f27b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 01:58:07 PST 2012
+ * Date: Sat Jan  7 03:37:53 PST 2012
  */
 html, body {
   margin: 0;
@@ -441,7 +441,7 @@ dl dd {
   margin-left: 9px;
 }
 hr {
-  margin: 27px 0;
+  margin: 18px 0;
   border: 0;
   border-top: 1px solid #e5e5e5;
   border-bottom: 1px solid #fff;
@@ -1446,23 +1446,25 @@ i {
 .dropdown {
   position: relative;
 }
-.dropdown-toggle:after {
+.caret {
   display: inline-block;
   width: 0;
   height: 0;
-  margin-top: 8px;
-  margin-left: 6px;
   text-indent: -99999px;
   vertical-align: top;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
-  border-top: 4px solid #ffffff;
+  border-top: 4px solid #000;
   filter: alpha(opacity=30);
   -moz-opacity: 0.3;
   opacity: 0.3;
   content: "\2193";
 }
-.dropdown:hover .dropdown-toggle:after {
+.dropdown .caret {
+  margin-top: 8px;
+  margin-left: 2px;
+}
+.dropdown:hover .caret {
   filter: alpha(opacity=100);
   -moz-opacity: 1;
   opacity: 1;
@@ -1476,62 +1478,57 @@ i {
   min-width: 160px;
   max-width: 220px;
   _width: 160px;
-  padding: 6px 0;
-  margin-left: 0;
-  margin-right: 0;
+  padding: 5px 0;
+  margin: 0;
+  list-style: none;
   background-color: #ffffff;
   border-color: #999;
-  border-color: rgba(0, 0, 0, 0.2);
+  border-color: rgba(0, 0, 0, 0.1);
   border-style: solid;
-  border-width: 0 1px 1px;
-  -webkit-border-radius: 0 0 6px 6px;
-  -moz-border-radius: 0 0 6px 6px;
-  border-radius: 0 0 6px 6px;
-  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  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-box;
+  -moz-background-clip: padding;
   background-clip: padding-box;
   zoom: 1;
 }
-.dropdown-menu li {
-  float: none;
-  display: block;
-  background-color: none;
-}
 .dropdown-menu .divider {
   height: 1px;
-  margin: 5px 0;
+  margin: 5px 1px;
   overflow: hidden;
-  background-color: #eee;
+  background-color: #e5e5e5;
   border-bottom: 1px solid #ffffff;
 }
-.topbar .dropdown-menu a, .dropdown-menu a {
+.dropdown-menu a {
   display: block;
-  padding: 4px 15px;
+  padding: 2px 15px;
   clear: both;
   font-weight: normal;
   line-height: 18px;
   color: #555555;
-  text-shadow: 0 1px 0 #ffffff;
 }
-.topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
-  color: #333333;
+.dropdown-menu a:hover {
+  color: #fff;
   text-decoration: none;
-  background-color: #dddddd;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
-  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -ms-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));
-  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
-  background-image: linear-gradient(top, #eeeeee, #dddddd);
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #0064cd;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
+  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
+  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
+  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
+  background-image: linear-gradient(top, #049cdb, #0064cd);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
-  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
-  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
+  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
 }
 .dropdown.open .dropdown-toggle {
   color: #ffffff;
@@ -2638,23 +2635,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding: 0;
   border: 0;
 }
-.btn-toolbar {
-  zoom: 1;
-}
-.btn-toolbar:before, .btn-toolbar:after {
-  display: table;
-  *display: inline;
-  content: "";
-  zoom: 1;
-}
-.btn-toolbar:after {
-  clear: both;
-}
-.btn-toolbar .btn-group {
-  float: left;
-  margin-right: 10px;
-}
 .btn-group {
+  position: relative;
   zoom: 1;
 }
 .btn-group:before, .btn-group:after {
@@ -2666,6 +2648,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .btn-group:after {
   clear: both;
 }
+.btn-group + .btn-group {
+  margin-left: 5px;
+}
+.btn-toolbar .btn-group {
+  display: inline-block;
+}
 .btn-group .btn {
   position: relative;
   float: left;
@@ -2683,7 +2671,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius-bottomleft: 4px;
   border-bottom-left-radius: 4px;
 }
-.btn-group .btn:last-child {
+.btn-group .btn:last-child, .btn-group .dropdown-toggle {
   -webkit-border-top-right-radius: 4px;
   -moz-border-radius-topright: 4px;
   border-top-right-radius: 4px;
@@ -2700,7 +2688,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius-bottomleft: 6px;
   border-bottom-left-radius: 6px;
 }
-.btn-group .btn.large:last-child {
+.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle {
   -webkit-border-top-right-radius: 6px;
   -moz-border-radius-topright: 6px;
   border-top-right-radius: 6px;
@@ -2711,6 +2699,39 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .btn-group .btn:hover, .btn-group .btn:focus, .btn-group .btn:active {
   z-index: 2;
 }
+.btn-group .dropdown-toggle {
+  padding-left: 8px;
+  padding-right: 8px;
+  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.btn-group.open .dropdown-menu {
+  display: block;
+  top: 30px;
+  -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);
+}
+.btn .caret {
+  margin-top: 6px;
+  margin-left: 0;
+}
+.primary .caret,
+.danger .caret,
+.info .caret,
+.success .caret {
+  border-top-color: #fff;
+  filter: alpha(opacity=75);
+  -moz-opacity: 0.75;
+  opacity: 0.75;
+}
 .alert-message {
   position: relative;
   padding: 7px 15px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9996dc3183..57dd13d555 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -80,7 +80,7 @@ ul.unstyled{margin-left:0;list-style:none;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
 dl dd{margin-left:9px;}
-hr{margin:27px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff;}
+hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#999999;}
@@ -282,11 +282,11 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .minus{background-position:-432px -96px;}
 .asterisk{background-position:-456px -96px;}
 .dropdown{position:relative;}
-.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
-.dropdown:hover .dropdown-toggle:after{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:6px 0;margin-left:0;margin-right:0;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;zoom:1;}.dropdown-menu li{float:none;display:block;background-color:none;}
-.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
-.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover{color:#333333;text-decoration:none;background-color:#dddddd;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
+.caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
+.dropdown .caret{margin-top:8px;margin-left:2px;}
+.dropdown:hover .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
+.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
@@ -421,16 +421,21 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-.btn-toolbar{zoom:1;}.btn-toolbar:before,.btn-toolbar:after{display:table;*display:inline;content:"";zoom:1;}
-.btn-toolbar:after{clear:both;}
-.btn-toolbar .btn-group{float:left;margin-right:10px;}
-.btn-group{zoom:1;}.btn-group:before,.btn-group:after{display:table;*display:inline;content:"";zoom:1;}
+.btn-group{position:relative;zoom:1;}.btn-group:before,.btn-group:after{display:table;*display:inline;content:"";zoom:1;}
 .btn-group:after{clear:both;}
-.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
-.btn-group .btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
+.btn-group+.btn-group{margin-left:5px;}
+.btn-toolbar .btn-group{display:inline-block;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
+.btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
-.btn-group .btn.large:last-child{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
+.btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
+.btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);}
+.btn-group.open .dropdown-menu{display:block;top:30px;-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);}
+.btn .caret{margin-top:6px;margin-left:0;}
+.primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#fff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
 .alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#333333;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
 .alert-message h5{line-height:18px;}
 .alert-message p{margin-bottom:0;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 1180effd12..c359cf73ba 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -402,7 +402,8 @@ pre.prettyprint {
 }
 
 /* Make tables spaced out a bit more */
-h2 + table {
+h2 + table,
+h2 + .row {
   margin-top: 5px;
 }
 
diff --git a/docs/base-css.html b/docs/base-css.html
index 910ea10bb0..5a8b0b2679 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1203,17 +1203,12 @@
 
   <br>
 
+  <h2>Button groups <small>Join buttons for more toolbar-like functionality</small></h2>
   <div class="row">
     <div class="span4">
-      <h2>Button groups</h2>
-      <p>Use button groups to join multiple buttons together as one composite component. Just build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements. Button groups can also function as radios and checkboxes (see <a href="./javascript.html#buttons">the Javascript docs</a> for that).</p>
-      <p>You can also combine sets of button groups into a toolbar for more complex projects.</p>
-      <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
-      <p class="muted">Heads up: CSS for button groups is in a separate file, button-groups.less.</p>
-    </div>
-    <div class="span8">
-      <h3>Linked button group</h3>
-      <p>Using the standard <code>&lt;a class="btn" href="#"&gt;...&lt;/a&gt;</code> markup, simply add all the buttons you need.</p>
+      <h3>Button groups</h3>
+      <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
+      <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
       <div class="well" style="padding: 10px; margin-bottom: 9px;">
         <div class="btn-group">
           <a class="btn" href="#">Left</a>
@@ -1221,7 +1216,6 @@
           <a class="btn" href="#">Right</a>
         </div>
       </div>
-      <p>Level up one more time by wrapping multiple instances of <code>&lt;div class="btn-group"&gt;</code> with <code>&lt;div class="btn-toolbar"&gt;</code>.</p>
       <div class="well" style="padding: 10px;">
         <div class="btn-toolbar">
           <div class="btn-group">
@@ -1229,24 +1223,132 @@
             <a class="btn" href="#">2</a>
             <a class="btn" href="#">3</a>
             <a class="btn" href="#">4</a>
-            <a class="btn" href="#">5</a>
           </div>
           <div class="btn-group">
+            <a class="btn" href="#">5</a>
             <a class="btn" href="#">6</a>
             <a class="btn" href="#">7</a>
-            <a class="btn" href="#">8</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">9</a>
           </div>
           <div class="btn-group">
-            <a class="btn" href="#">10</a>
+            <a class="btn" href="#">8</a>
           </div>
         </div>
       </div>
+
+    </div>
+    <div class="span4">
+      <h3>Example markup</h3>
+      <p>Here's how the HTML looks for a standard button group built with anchor tag buttons:</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-group"&gt;
+  &lt;a class="btn" href="#"&gt;1&lt;/a&gt;
+  &lt;a class="btn" href="#"&gt;2&lt;/a&gt;
+  &lt;a class="btn" href="#"&gt;3&lt;/a&gt;
+&lt;/div&gt;
+</pre>
+      <p>And with a toolbar for multiple groups:</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-toolbar"&gt;
+  &lt;div class="btn-group"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Checkbox and radio flavors</h3>
+      <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
+      <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
+      <hr>
+      <h4 class="muted">Heads up</h4>
+      <p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
+    </div>
+  </div>
+  
+  <br>
+  <h2>Button dropdowns <small>Built on button groups to provide contextual menus</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Split button dropdowns</h3>
+      <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
+      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+        <div class="btn-toolbar" style="margin-bottom: 9px;">
+          <div class="btn-group">
+            <a class="btn" href="#">Action</a>
+            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->        
+          <div class="btn-group">
+            <a class="btn primary" href="#">Action</a>
+            <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->     
+          <div class="btn-group">
+            <a class="btn danger" href="#">Danger</a>
+            <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+        </div>
+        <div class="btn-toolbar">
+          <div class="btn-group">
+            <a class="btn success" href="#">Success</a>
+            <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+          <div class="btn-group">
+            <a class="btn info" href="#">Info</a>
+            <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+        </div>
+      </div> <!-- /well -->
+    </div>
+    <div class="span8">
+      <h3>Example markup</h3>
+      <p>Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-group"&gt;
+  &lt;a class="btn" href="#"&gt;Action&lt;/a&gt;
+  &lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&gt;
+    &lt;span class="caret"&gt;&lt;/span&gt;
+  &lt;/a&gt;
+  &lt;ul class="dropdown-menu"&gt;
+    &lt;!-- dropdown menu links --&gt;
+  &lt;/ul&gt;
+&lt;/div&gt;
+</pre>
     </div>
   </div>
-    
 </section>
 
 
@@ -1454,5 +1556,11 @@
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="assets/js/application.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script>
+      $(function () {
+        $('.dropdown-toggle').dropdown();
+      })
+    </script>
   </body>
 </html>
diff --git a/docs/javascript.html b/docs/javascript.html
index 1cba7766f9..4671dd6eb8 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -274,7 +274,7 @@ $('#myModal').on('hidden', function () {
 &lt;ul class="tabs"&gt;
   &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
   &lt;li id="secondary" class="dropdown"&gt;
-    &lt;a href="#secondary" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown&lt;/a&gt;
+    &lt;a href="#secondary" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown &lt;span class="caret"&gt;&lt;/span&gt;&lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
       &lt;li&gt;&lt;a href="#"&gt;Secondary link&lt;/a&gt;&lt;/li&gt;
       &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
@@ -302,7 +302,7 @@ $('#myModal').on('hidden', function () {
                 </form>
                 <ul class="nav secondary-nav">
                   <li id="fat-menu" class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1</a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1 <span class="caret"></span></a>
                     <ul class="dropdown-menu">
                       <li><a href="#">Secondary link</a></li>
                       <li><a href="#">Something else here</a></li>
@@ -311,7 +311,7 @@ $('#myModal').on('hidden', function () {
                     </ul>
                   </li>
                   <li id="mdo-menu" class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2</a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <span class="caret"></span></a>
                     <ul class="dropdown-menu">
                       <li><a href="#">Secondary link</a></li>
                       <li><a href="#">Something else here</a></li>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index d22fa8c27f..3e7e2c768b 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -107,6 +107,12 @@
       <li>Fluid examples redone. <code>.fluid-container</code> now requires a <code>.sidebar-left</code> or <code>.sidebar-right</code> as well. Fluid sidebar element has a new class, <code>.fluid-sidebar</code>.</li>
     </ul>
   </li>
+  <li>Dropdown menus
+    <ul>
+      <li>Updated the <code>.dropdown-menu</code> to tighten up spacing</li>
+      <li>Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow</li>
+    </ul>
+  </li>
 </ul>
 <!--
   <li>
diff --git a/lib/button-groups.less b/lib/button-groups.less
index 3024ecd65a..d2307018eb 100644
--- a/lib/button-groups.less
+++ b/lib/button-groups.less
@@ -1,65 +1,116 @@
 // BUTTON GROUPS
 // -------------
 
-// Group multiple button groups together for a toolbar
+
+// Make the div behave like a button
+.btn-group {
+  position: relative;
+  .clearfix(); // clears the floated buttons
+}
+
+// Space out series of button groups
+.btn-group + .btn-group {
+  margin-left: 5px;
+}
+
+// Optional: Group multiple button groups together for a toolbar
 .btn-toolbar {
-  .clearfix();
   .btn-group {
-    float: left;
-    margin-right: 10px;
+    display: inline-block;
   }
 }
 
-// Clear the float
-.btn-group {
-  .clearfix();
-}
 // Float them, remove border radius, then re-add to first and last elements
 .btn-group .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
-  &: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;
-        -moz-border-radius-bottomleft: 4px;
-            border-bottom-left-radius: 4px;
-  }
-  &:last-child {
-       -webkit-border-top-right-radius: 4px;
-           -moz-border-radius-topright: 4px;
-               border-top-right-radius: 4px;
-    -webkit-border-bottom-right-radius: 4px;
-        -moz-border-radius-bottomright: 4px;
-            border-bottom-right-radius: 4px;
-  }
-  // Reset corners for large buttons
-  &.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;
-        -moz-border-radius-bottomleft: 6px;
-            border-bottom-left-radius: 6px;
-  }
-  &.large:last-child {
-       -webkit-border-top-right-radius: 6px;
-           -moz-border-radius-topright: 6px;
-               border-top-right-radius: 6px;
-    -webkit-border-bottom-right-radius: 6px;
-        -moz-border-radius-bottomright: 6px;
-            border-bottom-right-radius: 6px;
-  }
 }
+// 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 {
+  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;
+      -moz-border-radius-bottomleft: 4px;
+          border-bottom-left-radius: 4px;
+}
+.btn-group .btn:last-child,
+.btn-group .dropdown-toggle {
+     -webkit-border-top-right-radius: 4px;
+         -moz-border-radius-topright: 4px;
+             border-top-right-radius: 4px;
+  -webkit-border-bottom-right-radius: 4px;
+      -moz-border-radius-bottomright: 4px;
+          border-bottom-right-radius: 4px;
+}
+// Reset corners for large buttons
+.btn-group .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;
+      -moz-border-radius-bottomleft: 6px;
+          border-bottom-left-radius: 6px;
+}
+.btn-group .btn.large:last-child,
+.btn-group .large.dropdown-toggle {
+     -webkit-border-top-right-radius: 6px;
+         -moz-border-radius-topright: 6px;
+             border-top-right-radius: 6px;
+  -webkit-border-bottom-right-radius: 6px;
+      -moz-border-radius-bottomright: 6px;
+          border-bottom-right-radius: 6px;
+}
+
 // On hover/focus/active, bring the proper btn to front
 .btn-group .btn:hover,
 .btn-group .btn:focus,
 .btn-group .btn:active {
   z-index: 2;
 }
+
+
+// Split button dropdowns
+// ----------------------
+
+// Give the line between buttons some depth
+.btn-group .dropdown-toggle {
+  padding-left: 8px;
+  padding-right: 8px;
+  @shadow: inset 1px 0 0 rgba(255,255,255,.125), 0 1px 2px rgba(0,0,0,.05);
+  .box-shadow(@shadow);
+}
+
+// Reposition menu on open and round all corners
+.btn-group.open .dropdown-menu {
+  display: block;
+  top: 30px;
+  .border-radius(5px);
+}
+.btn-group.open .dropdown-toggle {
+  background-image: none;
+  @shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+  .box-shadow(@shadow);
+}
+
+// Reposition the caret
+.btn .caret {
+  margin-top: 6px;
+  margin-left: 0;
+}
+
+// Account for other colors
+.primary,
+.danger,
+.info,
+.success {
+  .caret {
+    border-top-color: #fff;
+    .opacity(75);
+  }
+}
+
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 18856cf05c..e2bca04ac7 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -3,22 +3,24 @@
 .dropdown {
   position: relative;
 }
-// The link that is clicked to toggle the dropdown
-.dropdown-toggle:after {
+// Dropdown arrow/caret
+.caret {
   display: inline-block;
   width: 0;
   height: 0;
-  margin-top: 8px;
-  margin-left: 6px;
   text-indent: -99999px;
   vertical-align: top;
-  border-left: 4px solid transparent;
+  border-left:  4px solid transparent;
   border-right: 4px solid transparent;
-  border-top: 4px solid @white;
+  border-top:   4px solid #000;
   .opacity(30);
   content: "\2193";
 }
-.dropdown:hover .dropdown-toggle:after {
+.dropdown .caret {
+  margin-top: 8px;
+  margin-left: 2px;
+}
+.dropdown:hover .caret {
   .opacity(100);
 }
 // The dropdown menu (ul)
@@ -27,55 +29,49 @@
   top: 40px;
   z-index: 900;
   float: left;
-  display: none; // None by default, but block on "open" of the menu
+  display: none; // none by default, but block on "open" of the menu
   min-width: 160px;
   max-width: 220px;
   _width: 160px;
-  padding: 6px 0;
-  margin-left: 0; // override default ul styles
-  margin-right: 0;
+  padding: 5px 0;
+  margin: 0; // override default ul
+  list-style: none;
   background-color: @white;
   border-color: #999;
-  border-color: rgba(0,0,0,.2);
+  border-color: rgba(0,0,0,.1);
   border-style: solid;
-  border-width: 0 1px 1px;
-  .border-radius(0 0 6px 6px);
-  .box-shadow(0 2px 4px rgba(0,0,0,.2));
-  .background-clip(padding-box);
+  border-width: 1px;
+  .border-radius(0 0 5px 5px);
+  .box-shadow(0 5px 10px rgba(0,0,0,.2));
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding;
+          background-clip: padding-box;
   zoom: 1; // do we need this?
 
-  // Unfloat any li's to make them stack
-  li {
-    float: none;
-    display: block;
-    background-color: none;
-  }
   // Dividers (basically an hr) within the dropdown
   .divider {
     height: 1px;
-    margin: 5px 0;
+    margin: 5px 1px;
     overflow: hidden;
-    background-color: #eee;
+    background-color: #e5e5e5;
     border-bottom: 1px solid @white;
   }
-}
 
-.topbar .dropdown-menu, .dropdown-menu {
   // Links within the dropdown menu
   a {
     display: block;
-    padding: 4px 15px;
+    padding: 2px 15px;
     clear: both;
     font-weight: normal;
     line-height: 18px;
     color: @gray;
-    text-shadow: 0 1px 0 @white;
     // Hover state
     &:hover {
-      color: @grayDark;
+      color: #fff;
       text-decoration: none;
-      #gradient > .vertical(#eeeeee, #dddddd);
-      @shadow: inset 0 1px 0 rgba(0,0,0,.025), inset 0 -1px rgba(0,0,0,.025);
+      text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+      #gradient > .vertical(@blue, @blueDark);
+      @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
       .box-shadow(@shadow);
     }
   }
diff --git a/lib/type.less b/lib/type.less
index 4aa6423586..32cb094310 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -116,7 +116,7 @@ dl {
 
 // Horizontal rules
 hr {
-  margin: @baseLineHeight * 1.5 0;
+  margin: @baseLineHeight 0;
   border: 0;
   border-top: 1px solid #e5e5e5;
   border-bottom: 1px solid #fff;
-- 
GitLab


From 33dad13014ae2272d3fcf799f114bfcf8256d968 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 03:53:20 -0800
Subject: [PATCH 204/576] update fluid layout to use variable for sidebar width

---
 bootstrap.css        |  2 +-
 lib/scaffolding.less | 10 +++++-----
 lib/variables.less   |  3 +++
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 98aec3f27b..8d80b4adff 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 03:37:53 PST 2012
+ * Date: Sat Jan  7 03:52:42 PST 2012
  */
 html, body {
   margin: 0;
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index f454b2e91d..7432e849ba 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -32,15 +32,15 @@ body {
 
 // Sidebars (left and right options)
 .fluid-sidebar {
-  width: 220px;
+  width: @fluidSidebarWidth;
   margin: 0 20px 18px;
 }
-.sidebar-left   { padding-left: 260px; }
-.sidebar-right  { padding-right: 260px; }
+.sidebar-left   { padding-left: @fluidSidebarWidth + 40; }
+.sidebar-right  { padding-right: @fluidSidebarWidth + 40; }
 
 // Float the sidebars accordingly
-.sidebar-left .fluid-sidebar   { float: left; margin-left: -240px; }
-.sidebar-right .fluid-sidebar  { float: right; margin-right: -240px; }
+.sidebar-left .fluid-sidebar   { float: left; margin-left: (@fluidSidebarWidth + 20) * -1; }
+.sidebar-right .fluid-sidebar  { float: right; margin-right: (@fluidSidebarWidth + 20) * -1; }
 
 // The main content area
 .fluid-content {
diff --git a/lib/variables.less b/lib/variables.less
index 03f1028f85..dfd7733048 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -43,6 +43,9 @@
 @gridGutterWidth:   20px;
 @siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
 
+// Fluid width sidebar
+@fluidSidebarWidth:	220px;
+
 
 // THEME VARIABLES
 // ---------------
-- 
GitLab


From 2540caeddd59822cd8f7c805e777adc7504b87b3 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 03:58:48 -0800
Subject: [PATCH 205/576] quick stab at fixing modal placement on 480px and
 down

---
 bootstrap.css       | 5 ++++-
 bootstrap.min.css   | 2 +-
 lib/responsive.less | 1 +
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8d80b4adff..899e61a179 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 03:52:42 PST 2012
+ * Date: Sat Jan  7 03:57:28 PST 2012
  */
 html, body {
   margin: 0;
@@ -2962,6 +2962,9 @@ a.thumbnail:hover {
     width: auto;
     margin: 0;
   }
+  .modal.fade.in {
+    top: auto;
+  }
   .horizontal-form .control-group > label {
     float: none;
     width: auto;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 57dd13d555..b038f62461 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -473,4 +473,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.modal{width:auto;margin:0;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/responsive.less b/lib/responsive.less
index 4cef89180f..7856121be1 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -22,6 +22,7 @@
   .modal {
     width: auto;
     margin: 0;
+    &.fade.in { top: auto; }
   }
 
   // Remove the horizontal form styles
-- 
GitLab


From 8bdaf1f36451266064ec460b87a12f21a2caa65b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 04:01:09 -0800
Subject: [PATCH 206/576] better ranking of z-indexes for tipsies so they
 appear above dropdown menus but below fixed topbar

---
 bootstrap.css      | 8 ++++----
 bootstrap.min.css  | 6 +++---
 lib/dropdowns.less | 2 +-
 lib/popovers.less  | 2 +-
 lib/twipsy.less    | 2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 899e61a179..187c469181 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 03:57:28 PST 2012
+ * Date: Sat Jan  7 04:00:34 PST 2012
  */
 html, body {
   margin: 0;
@@ -1472,7 +1472,7 @@ i {
 .dropdown-menu {
   position: absolute;
   top: 40px;
-  z-index: 900;
+  z-index: 1000;
   float: left;
   display: none;
   min-width: 160px;
@@ -2304,7 +2304,7 @@ i {
 }
 .twipsy {
   position: absolute;
-  z-index: 1000;
+  z-index: 1005;
   display: block;
   visibility: visible;
   padding: 5px;
@@ -2382,7 +2382,7 @@ i {
   position: absolute;
   top: 0;
   left: 0;
-  z-index: 1000;
+  z-index: 1005;
   display: none;
   padding: 5px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b038f62461..89d77e783a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -285,7 +285,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;}
 .dropdown:hover .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:40px;z-index:900;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
+.dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
@@ -384,7 +384,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.twipsy{position:absolute;z-index:1005;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .twipsy.top{margin-top:-2px;}
 .twipsy.right{margin-left:2px;}
 .twipsy.bottom{margin-top:2px;}
@@ -395,7 +395,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
 .twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1000;display:none;padding:5px;}.popover.top{margin-top:-5px;}
+.popover{position:absolute;top:0;left:0;z-index:1005;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
 .popover.bottom{margin-top:5px;}
 .popover.left{margin-left:-5px;}
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index e2bca04ac7..a87641d64c 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -27,7 +27,7 @@
 .dropdown-menu {
   position: absolute;
   top: 40px;
-  z-index: 900;
+  z-index: 1000;
   float: left;
   display: none; // none by default, but block on "open" of the menu
   min-width: 160px;
diff --git a/lib/popovers.less b/lib/popovers.less
index 5ecde09233..ec91ab9238 100644
--- a/lib/popovers.less
+++ b/lib/popovers.less
@@ -5,7 +5,7 @@
   position: absolute;
   top: 0;
   left: 0;
-  z-index: 1000;
+  z-index: 1005;
   display: none;
   padding: 5px;
   &.top    { margin-top:  -5px; }
diff --git a/lib/twipsy.less b/lib/twipsy.less
index abd0599f4e..9e3cf2f149 100644
--- a/lib/twipsy.less
+++ b/lib/twipsy.less
@@ -3,7 +3,7 @@
 
 .twipsy {
   position: absolute;
-  z-index: 1000;
+  z-index: 1005;
   display: block;
   visibility: visible;
   padding: 5px;
-- 
GitLab


From 5ba7c14afe0fbe1eb9ba18e6a06cc298362ec159 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 04:07:53 -0800
Subject: [PATCH 207/576] another quick pass at ranking all zindexes and
 listing them in variables for quick overview and editing later

---
 bootstrap.css      | 10 +++++-----
 bootstrap.min.css  |  8 ++++----
 lib/dropdowns.less |  2 +-
 lib/modals.less    |  2 +-
 lib/navbar.less    |  2 +-
 lib/popovers.less  |  2 +-
 lib/twipsy.less    |  2 +-
 lib/variables.less | 11 ++++++++++-
 8 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 187c469181..273cbfa69e 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 04:00:34 PST 2012
+ * Date: Sat Jan  7 04:06:22 PST 2012
  */
 html, body {
   margin: 0;
@@ -1714,7 +1714,7 @@ i {
   top: 0;
   right: 0;
   left: 0;
-  z-index: 999;
+  z-index: 1010;
 }
 .nav {
   position: relative;
@@ -2219,7 +2219,7 @@ i {
   right: 0;
   bottom: 0;
   left: 0;
-  z-index: 10000;
+  z-index: 1020;
   background-color: #000000;
 }
 .modal-backdrop.fade {
@@ -2304,7 +2304,7 @@ i {
 }
 .twipsy {
   position: absolute;
-  z-index: 1005;
+  z-index: 1000;
   display: block;
   visibility: visible;
   padding: 5px;
@@ -2382,7 +2382,7 @@ i {
   position: absolute;
   top: 0;
   left: 0;
-  z-index: 1005;
+  z-index: 1020;
   display: none;
   padding: 5px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 89d77e783a..395f287d6b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -306,7 +306,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:999;}
+.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1010;}
 .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
 .nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.nav a:hover{color:#ffffff;text-decoration:none;}
 .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
@@ -374,7 +374,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
 .pagination .next a{border:0;}
 .pagination.centered{text-align:center;}
-.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
+.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1020;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .modal{position:fixed;top:50%;left:50%;z-index:11000;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
 .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%;}
@@ -384,7 +384,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{position:absolute;z-index:1005;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .twipsy.top{margin-top:-2px;}
 .twipsy.right{margin-left:2px;}
 .twipsy.bottom{margin-top:2px;}
@@ -395,7 +395,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
 .twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1005;display:none;padding:5px;}.popover.top{margin-top:-5px;}
+.popover{position:absolute;top:0;left:0;z-index:1020;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
 .popover.bottom{margin-top:5px;}
 .popover.left{margin-left:-5px;}
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index a87641d64c..fc333a4cd1 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -27,7 +27,7 @@
 .dropdown-menu {
   position: absolute;
   top: 40px;
-  z-index: 1000;
+  z-index: @zindexDropdowns;
   float: left;
   display: none; // none by default, but block on "open" of the menu
   min-width: 160px;
diff --git a/lib/modals.less b/lib/modals.less
index 96f9a488ec..8183194b74 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -7,7 +7,7 @@
   right: 0;
   bottom: 0;
   left: 0;
-  z-index: 10000;
+  z-index: @zindexPopover;
   background-color: @black;
   // Fade for backdrop
   &.fade { opacity: 0; }
diff --git a/lib/navbar.less b/lib/navbar.less
index 9756ce2ca8..90ff786767 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -125,7 +125,7 @@
   top: 0;
   right: 0;
   left: 0;
-  z-index: 999;
+  z-index: @zindexFixedNavbar;
 }
 
 
diff --git a/lib/popovers.less b/lib/popovers.less
index ec91ab9238..9ecdf5fd98 100644
--- a/lib/popovers.less
+++ b/lib/popovers.less
@@ -5,7 +5,7 @@
   position: absolute;
   top: 0;
   left: 0;
-  z-index: 1005;
+  z-index: @zindexPopover;
   display: none;
   padding: 5px;
   &.top    { margin-top:  -5px; }
diff --git a/lib/twipsy.less b/lib/twipsy.less
index 9e3cf2f149..7eaa7d5bfd 100644
--- a/lib/twipsy.less
+++ b/lib/twipsy.less
@@ -3,7 +3,7 @@
 
 .twipsy {
   position: absolute;
-  z-index: 1005;
+  z-index: @zindexTwipsy;
   display: block;
   visibility: visible;
   padding: 5px;
diff --git a/lib/variables.less b/lib/variables.less
index dfd7733048..3db5839b0e 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -44,7 +44,16 @@
 @siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
 
 // Fluid width sidebar
-@fluidSidebarWidth:	220px;
+@fluidSidebarWidth: 220px;
+
+
+// Z-INDEX
+// -------
+@zindexDropdowns:     1000;
+@zindexTwipsy:        1000;
+@zindexFixedNavbar:   1010;
+@zindexPopover:       1020;
+@zindexModal:         1030;
 
 
 // THEME VARIABLES
-- 
GitLab


From e594107f37ede1ea8bee05d8f4b22aeba89bf458 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 04:17:33 -0800
Subject: [PATCH 208/576] change up the z-indexing and add some popover/twipsy
 content to the test modal on the js docs to help avoid future bugs

---
 bootstrap.css        |  8 ++++----
 bootstrap.min.css    |  6 +++---
 docs/javascript.html | 10 +++++++++-
 lib/dropdowns.less   |  2 +-
 lib/modals.less      |  4 ++--
 lib/variables.less   | 11 ++++++-----
 6 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 273cbfa69e..0b6a411184 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 04:06:22 PST 2012
+ * Date: Sat Jan  7 04:15:19 PST 2012
  */
 html, body {
   margin: 0;
@@ -2234,7 +2234,7 @@ i {
   position: fixed;
   top: 50%;
   left: 50%;
-  z-index: 11000;
+  z-index: 1030;
   max-height: 500px;
   overflow: auto;
   width: 560px;
@@ -2304,7 +2304,7 @@ i {
 }
 .twipsy {
   position: absolute;
-  z-index: 1000;
+  z-index: 1050;
   display: block;
   visibility: visible;
   padding: 5px;
@@ -2382,7 +2382,7 @@ i {
   position: absolute;
   top: 0;
   left: 0;
-  z-index: 1020;
+  z-index: 1040;
   display: none;
   padding: 5px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 395f287d6b..eeec05c161 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -376,7 +376,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pagination.centered{text-align:center;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1020;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:11000;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
+.modal{position:fixed;top:50%;left:50%;z-index:1030;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
 .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%;}
 .modal.fade.in{top:50%;}
 .modal-header{padding:5px 15px;border-bottom:1px solid #eee;}
@@ -384,7 +384,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{position:absolute;z-index:1000;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.twipsy{position:absolute;z-index:1050;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .twipsy.top{margin-top:-2px;}
 .twipsy.right{margin-left:2px;}
 .twipsy.bottom{margin-top:2px;}
@@ -395,7 +395,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
 .twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1020;display:none;padding:5px;}.popover.top{margin-top:-5px;}
+.popover{position:absolute;top:0;left:0;z-index:1040;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
 .popover.bottom{margin-top:5px;}
 .popover.left{margin-left:-5px;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 4671dd6eb8..0aebf8609a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -235,7 +235,14 @@ $('#myModal').on('hidden', function () {
               <h3>Modal Heading</h3>
             </div>
             <div class="modal-body">
-              <p>One fine body…</p>
+              <h4>Text in a modal</h4>
+              <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
+
+              <h4>Popover in a modal</h4>
+              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+
+              <h4>Twipsy tooltips in a modal</h4>
+              <p><a href="#" class="twipsy-test" title="Tooltip">This link</a> and <a href="#" class="twipsy-test" title="Tooltip">that link</a> should have Twipsy tooltips on hover.</p>
             </div>
             <div class="modal-footer">
               <a href="#" class="btn primary">Save changes</a>
@@ -1144,6 +1151,7 @@ $('.myCarousel').carousel({
         $('.twipsy-demo.well').twipsy({
           selector: "a[rel=twipsy]"
         })
+        $('.twipsy-test').twipsy()
 
         // popover demo
         $("a[rel=popover]")
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index fc333a4cd1..00c686dc22 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -27,7 +27,7 @@
 .dropdown-menu {
   position: absolute;
   top: 40px;
-  z-index: @zindexDropdowns;
+  z-index: @zindexDropdown;
   float: left;
   display: none; // none by default, but block on "open" of the menu
   min-width: 160px;
diff --git a/lib/modals.less b/lib/modals.less
index 8183194b74..dbac5ff87d 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -7,7 +7,7 @@
   right: 0;
   bottom: 0;
   left: 0;
-  z-index: @zindexPopover;
+  z-index: @zindexModalBackdrop;
   background-color: @black;
   // Fade for backdrop
   &.fade { opacity: 0; }
@@ -22,7 +22,7 @@
   position: fixed;
   top: 50%;
   left: 50%;
-  z-index: 11000;
+  z-index: @zindexModal;
   max-height: 500px;
   overflow: auto;
   width: 560px;
diff --git a/lib/variables.less b/lib/variables.less
index 3db5839b0e..37f5adb71d 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -49,11 +49,12 @@
 
 // Z-INDEX
 // -------
-@zindexDropdowns:     1000;
-@zindexTwipsy:        1000;
-@zindexFixedNavbar:   1010;
-@zindexPopover:       1020;
-@zindexModal:         1030;
+@zindexDropdown:        1000;
+@zindexFixedNavbar:     1010;
+@zindexModalBackdrop:   1020;
+@zindexModal:           1030;
+@zindexPopover:         1040;
+@zindexTwipsy:          1050;
 
 
 // THEME VARIABLES
-- 
GitLab


From b6d50c892d6ae8ed42ff0bfbba4252c7dc47417e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 04:20:56 -0800
Subject: [PATCH 209/576] scope close icon in modal to modal-header to allow
 alerts in modals to use close icons

---
 bootstrap.css     | 8 ++++----
 bootstrap.min.css | 5 ++---
 lib/modals.less   | 3 ++-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0b6a411184..54c1b06514 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 04:15:19 PST 2012
+ * Date: Sat Jan  7 04:20:37 PST 2012
  */
 html, body {
   margin: 0;
@@ -2255,9 +2255,6 @@ i {
   -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
-.modal .close {
-  margin-top: 7px;
-}
 .modal.fade {
   -webkit-transition: opacity .3s linear, top .3s ease-out;
   -moz-transition: opacity .3s linear, top .3s ease-out;
@@ -2273,6 +2270,9 @@ i {
   padding: 5px 15px;
   border-bottom: 1px solid #eee;
 }
+.modal-header .close {
+  margin-top: 7px;
+}
 .modal-body {
   padding: 15px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index eeec05c161..2f0839b931 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -376,10 +376,9 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pagination.centered{text-align:center;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1020;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:1030;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
-.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%;}
+.modal{position:fixed;top:50%;left:50%;z-index:1030;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
 .modal.fade.in{top:50%;}
-.modal-header{padding:5px 15px;border-bottom:1px solid #eee;}
+.modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:7px;}
 .modal-body{padding:15px;}
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
diff --git a/lib/modals.less b/lib/modals.less
index dbac5ff87d..46fcd880b9 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -34,7 +34,6 @@
   .border-radius(6px);
   .box-shadow(0 3px 7px rgba(0,0,0,0.3));
   .background-clip(padding-box);
-  .close { margin-top: 7px; }
   &.fade {
     .transition(e('opacity .3s linear, top .3s ease-out'));
     top: -25%;
@@ -44,6 +43,8 @@
 .modal-header {
   padding: 5px 15px;
   border-bottom: 1px solid #eee;
+  // Close icon
+  .close { margin-top: 7px; }
 }
 .modal-body {
   padding: 15px;
-- 
GitLab


From 7728f7b8241dc43292c3f897fdfe08a13f58e40b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 04:28:30 -0800
Subject: [PATCH 210/576] add html5 invalid state for super fancy errors via
 browser

---
 bootstrap.css     | 12 +++++++++++-
 bootstrap.min.css |  1 +
 lib/forms.less    | 13 +++++++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 54c1b06514..8b943e2d3a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 04:20:37 PST 2012
+ * Date: Sat Jan  7 04:26:09 PST 2012
  */
 html, body {
   margin: 0;
@@ -824,6 +824,16 @@ textarea[readonly] {
   background-color: #bcddbc;
   border-color: #468847;
 }
+input:invalid, textarea:invalid, select:invalid {
+  color: #b94a48;
+  border-color: #ee5f5b;
+}
+input:invalid:focus, textarea:invalid:focus, select: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;
+}
 .form-actions {
   padding: 17px 20px 18px;
   margin-top: 18px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2f0839b931..4075d46deb 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -155,6 +155,7 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
 .control-group.success input,.control-group.success textarea{color:#468847;border-color:#57a957;}.control-group.success input:focus,.control-group.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
+input:invalid,textarea:invalid,select:invalid{color:#b94a48;border-color:#ee5f5b;}input:invalid:focus,textarea:invalid:focus,select: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;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{display:block;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;}
 input:-moz-placeholder{color:#999999;}
diff --git a/lib/forms.less b/lib/forms.less
index f0b7c2ea66..19e2aa8bc1 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -299,6 +299,19 @@ textarea[readonly] {
   .formFieldState(#468847, #57a957, lighten(#57a957, 30%));
 }
 
+// HTML5 invalid states
+// Shares styles with the .control-group.error above
+input:invalid,
+textarea:invalid,
+select:invalid {
+  color: #b94a48;
+  border-color: #ee5f5b;
+  &:focus {
+    border-color: darken(#ee5f5b, 10%);
+    .box-shadow(0 0 6px lighten(#ee5f5b, 20%));    
+  }
+}
+
 
 
 // FORM ACTIONS
-- 
GitLab


From 6dee40f46990b39bb33b4c42aa003df784cff8fc Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 04:34:30 -0800
Subject: [PATCH 211/576] adding back table grid sizing; will need support for
 responsive perhaps

---
 bootstrap.css     | 190 ++++++++++++++--------------------------------
 bootstrap.min.css |  12 +++
 lib/tables.less   | 121 ++---------------------------
 3 files changed, 77 insertions(+), 246 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8b943e2d3a..71637d42f0 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 04:26:09 PST 2012
+ * Date: Sat Jan  7 04:34:04 PST 2012
  */
 html, body {
   margin: 0;
@@ -1042,138 +1042,66 @@ td {
 .striped-table tbody tr:nth-child(odd) td, .striped-table tbody tr:nth-child(odd) th {
   background-color: #f9f9f9;
 }
-/*
-// ----------------
-
-// This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border
-.tableColumns(@columnSpan: 1) {
-  width: ((@gridColumnWidth - 20) * @columnSpan) + ((@gridColumnWidth - 20) * (@columnSpan - 1));
+table .span1 {
+  float: none;
+  width: 44px;
+  margin-left: 0;
 }
-table {
-  // Default columns
-  .span1     { .tableColumns(1); }
-  .span2     { .tableColumns(2); }
-  .span3     { .tableColumns(3); }
-  .span4     { .tableColumns(4); }
-  .span5     { .tableColumns(5); }
-  .span6     { .tableColumns(6); }
-  .span7     { .tableColumns(7); }
-  .span8     { .tableColumns(8); }
-  .span9     { .tableColumns(9); }
-  .span10    { .tableColumns(10); }
-  .span11    { .tableColumns(11); }
-  .span12    { .tableColumns(12); }
-  .span13    { .tableColumns(13); }
-  .span14    { .tableColumns(14); }
-  .span15    { .tableColumns(15); }
-  .span16    { .tableColumns(16); }
+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;
 }
-
-
-// TABLESORTER
-// -----------
-
-table {
-  // Tablesorting styles w/ jQuery plugin
-  .header {
-    cursor: pointer;
-    &:after {
-      float: right;
-      margin-top: 7px;
-      border-width: 0 4px 4px;
-      border-style: solid;
-      border-color: #000 transparent;
-      content: "";
-      visibility: hidden;
-    }
-  }
-  // Style the sorted column headers (THs)
-  .headerSortUp,
-  .headerSortDown {
-    text-shadow: 0 1px 1px rgba(255,255,255,.75);
-    background-color: rgba(141,192,219,.25);
-  }
-  // Style the ascending (reverse alphabetical) column header
-  .header:hover {
-    &:after {
-      visibility: visible;
-    }
-  }
-  // Style the descending (alphabetical) column header
-  .headerSortDown,
-  .headerSortDown:hover {
-    &:after {
-      visibility: visible;
-      .opacity(60);
-    }
-  }
-  // Style the ascending (reverse alphabetical) column header
-  .headerSortUp {
-    &:after {
-      border-bottom: none;
-      border-left: 4px solid transparent;
-      border-right: 4px solid transparent;
-      border-top: 4px solid #000;
-      visibility:visible;
-      .box-shadow(none); //can't add boxshadow to downward facing arrow :(
-      .opacity(60);
-    }
-  }
-  // Blue Table Headings
-  .blue {
-    color: @blue;
-    border-bottom-color: @blue;
-  }
-  .headerSortUp.blue,
-  .headerSortDown.blue {
-    background-color: lighten(@blue, 40%);
-  }
-  // Green Table Headings
-  .green {
-    color: @green;
-    border-bottom-color: @green;
-  }
-  .headerSortUp.green,
-  .headerSortDown.green {
-    background-color: lighten(@green, 40%);
-  }
-  // Red Table Headings
-  .red {
-    color: @red;
-    border-bottom-color: @red;
-  }
-  .headerSortUp.red,
-  .headerSortDown.red {
-    background-color: lighten(@red, 50%);
-  }
-  // Yellow Table Headings
-  .yellow {
-    color: @yellow;
-    border-bottom-color: @yellow;
-  }
-  .headerSortUp.yellow,
-  .headerSortDown.yellow {
-    background-color: lighten(@yellow, 40%);
-  }
-  // Orange Table Headings
-  .orange {
-    color: @orange;
-    border-bottom-color: @orange;
-  }
-  .headerSortUp.orange,
-  .headerSortDown.orange {
-    background-color: lighten(@orange, 40%);
-  }
-  // Purple Table Headings
-  .purple {
-    color: @purple;
-    border-bottom-color: @purple;
-  }
-  .headerSortUp.purple,
-  .headerSortDown.purple {
-    background-color: lighten(@purple, 40%);
-  }
-}*/
 i {
   background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4075d46deb..b0df320366 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -191,6 +191,18 @@ td{vertical-align:top;}
 .bordered-table thead:last-child tr:last-child th:first-child,.bordered-table 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;}
 .bordered-table thead:last-child tr:last-child th:last-child,.bordered-table 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;}
 .striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
+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;}
 i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
 .glass{background-position:0 0;}
 .music{background-position:-24px 0;}
diff --git a/lib/tables.less b/lib/tables.less
index e1c9ed53bc..d1a690a3fd 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -93,15 +93,16 @@ td {
 
 
 
-/*
-// ----------------
+// TABLE CELL SIZING
+// -----------------
 
-// This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border
+// Change the columns
 .tableColumns(@columnSpan: 1) {
-  width: ((@gridColumnWidth - 20) * @columnSpan) + ((@gridColumnWidth - 20) * (@columnSpan - 1));
+  float: none;
+  width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16;
+  margin-left: 0;
 }
 table {
-  // Default columns
   .span1     { .tableColumns(1); }
   .span2     { .tableColumns(2); }
   .span3     { .tableColumns(3); }
@@ -114,114 +115,4 @@ table {
   .span10    { .tableColumns(10); }
   .span11    { .tableColumns(11); }
   .span12    { .tableColumns(12); }
-  .span13    { .tableColumns(13); }
-  .span14    { .tableColumns(14); }
-  .span15    { .tableColumns(15); }
-  .span16    { .tableColumns(16); }
 }
-
-
-// TABLESORTER
-// -----------
-
-table {
-  // Tablesorting styles w/ jQuery plugin
-  .header {
-    cursor: pointer;
-    &:after {
-      float: right;
-      margin-top: 7px;
-      border-width: 0 4px 4px;
-      border-style: solid;
-      border-color: #000 transparent;
-      content: "";
-      visibility: hidden;
-    }
-  }
-  // Style the sorted column headers (THs)
-  .headerSortUp,
-  .headerSortDown {
-    text-shadow: 0 1px 1px rgba(255,255,255,.75);
-    background-color: rgba(141,192,219,.25);
-  }
-  // Style the ascending (reverse alphabetical) column header
-  .header:hover {
-    &:after {
-      visibility: visible;
-    }
-  }
-  // Style the descending (alphabetical) column header
-  .headerSortDown,
-  .headerSortDown:hover {
-    &:after {
-      visibility: visible;
-      .opacity(60);
-    }
-  }
-  // Style the ascending (reverse alphabetical) column header
-  .headerSortUp {
-    &:after {
-      border-bottom: none;
-      border-left: 4px solid transparent;
-      border-right: 4px solid transparent;
-      border-top: 4px solid #000;
-      visibility:visible;
-      .box-shadow(none); //can't add boxshadow to downward facing arrow :(
-      .opacity(60);
-    }
-  }
-  // Blue Table Headings
-  .blue {
-    color: @blue;
-    border-bottom-color: @blue;
-  }
-  .headerSortUp.blue,
-  .headerSortDown.blue {
-    background-color: lighten(@blue, 40%);
-  }
-  // Green Table Headings
-  .green {
-    color: @green;
-    border-bottom-color: @green;
-  }
-  .headerSortUp.green,
-  .headerSortDown.green {
-    background-color: lighten(@green, 40%);
-  }
-  // Red Table Headings
-  .red {
-    color: @red;
-    border-bottom-color: @red;
-  }
-  .headerSortUp.red,
-  .headerSortDown.red {
-    background-color: lighten(@red, 50%);
-  }
-  // Yellow Table Headings
-  .yellow {
-    color: @yellow;
-    border-bottom-color: @yellow;
-  }
-  .headerSortUp.yellow,
-  .headerSortDown.yellow {
-    background-color: lighten(@yellow, 40%);
-  }
-  // Orange Table Headings
-  .orange {
-    color: @orange;
-    border-bottom-color: @orange;
-  }
-  .headerSortUp.orange,
-  .headerSortDown.orange {
-    background-color: lighten(@orange, 40%);
-  }
-  // Purple Table Headings
-  .purple {
-    color: @purple;
-    border-bottom-color: @purple;
-  }
-  .headerSortUp.purple,
-  .headerSortDown.purple {
-    background-color: lighten(@purple, 40%);
-  }
-}*/
-- 
GitLab


From 3eb80591b2c8bb2850caf27da7d6b8c8b747063a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotrek=20Oko=C5=84ski?= <piotrek@okonski.org>
Date: Sat, 26 Nov 2011 19:41:17 +0100
Subject: [PATCH 212/576] Progress bars

---
 bootstrap.css          | 174 ++++++++++++++++++++++++++++++++++++++++-
 bootstrap.min.css      |  12 ++-
 docs/components.html   |  41 ++++++++++
 docs/javascript.html   |  43 ++++++++++
 lib/bootstrap.less     |   1 +
 lib/mixins.less        |  16 ++++
 lib/progress-bars.less | 100 +++++++++++++++++++++++
 7 files changed, 385 insertions(+), 2 deletions(-)
 create mode 100644 lib/progress-bars.less

diff --git a/bootstrap.css b/bootstrap.css
index 54c1b06514..224e1a5a66 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 04:20:37 PST 2012
+ * Date: Sat Jan  7 13:39:22 CET 2012
  */
 html, body {
   margin: 0;
@@ -1598,6 +1598,178 @@ i {
   -moz-opacity: 0.4;
   opacity: 0.4;
 }
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@-moz-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+.progress {
+  height: 25px;
+  margin-bottom: 18px;
+  overflow: hidden;
+  -webkit-box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);
+  -moz-box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);
+  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);
+  background-color: #f5f5f5;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
+  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
+  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+  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);
+  -webkit-border-radius: 10px;
+  -moz-border-radius: 10px;
+  border-radius: 10px;
+  border: 1px solid #ddd;
+  border-color: rgba(0, 0, 0, 0);
+}
+.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;
+}
+.progress.animated .bar {
+  -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;
+}
+.progress.danger .bar, .progress.error .bar {
+  background-color: #c43c35;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  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);
+}
+.progress.danger.striped .bar, .progress.error.striped .bar {
+  -webkit-background-size: 40px 40px;
+  -moz-background-size: 40px 40px;
+  -o-background-size: 40px 40px;
+  background-size: 40px 40px;
+  background-color: #ee5f5b;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+}
+.progress.success .bar {
+  background-color: #57a957;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  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);
+}
+.progress.success.striped .bar {
+  -webkit-background-size: 40px 40px;
+  -moz-background-size: 40px 40px;
+  -o-background-size: 40px 40px;
+  background-size: 40px 40px;
+  background-color: #62c462;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+}
+.progress.info .bar {
+  background-color: #339bb9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  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);
+}
+.progress.info.striped .bar {
+  -webkit-background-size: 40px 40px;
+  -moz-background-size: 40px 40px;
+  -o-background-size: 40px 40px;
+  background-size: 40px 40px;
+  background-color: #5bc0de;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+}
+.progress.striped .bar {
+  -webkit-background-size: 40px 40px;
+  -moz-background-size: 40px 40px;
+  -o-background-size: 40px 40px;
+  background-size: 40px 40px;
+  background-color: #62c462;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
+}
+.progress .bar {
+  width: 0%;
+  height: 100%;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  background-color: #57a957;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  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);
+  border-color: #57a957 #57a957 #3d773d;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset -1px -1px 0 rgba(0, 0, 0, 0.25), inset 1px 1px 0 rgba(0, 0, 0, 0.25);
+  -moz-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset -1px -1px 0 rgba(0, 0, 0, 0.25), inset 1px 1px 0 rgba(0, 0, 0, 0.25);
+  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset -1px -1px 0 rgba(0, 0, 0, 0.25), inset 1px 1px 0 rgba(0, 0, 0, 0.25);
+  -webkit-border-radius: 10px;
+  -moz-border-radius: 10px;
+  border-radius: 10px;
+}
 .navbar {
   overflow: visible;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2f0839b931..b278aa7c38 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -293,6 +293,16 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
 .close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress{height:25px;margin-bottom:18px;overflow:hidden;-webkit-box-shadow:inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);-moz-box-shadow:inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;border:1px solid #ddd;border-color:rgba(0, 0, 0, 0);}.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;}
+.progress.animated .bar{-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;}
+.progress.danger .bar,.progress.error .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
+.progress.danger.striped .bar,.progress.error.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
+.progress.success .bar{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
+.progress.success.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
+.progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
+.progress.info.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
+.progress.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
+.progress .bar{width:0%;height:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-webkit-box-shadow:inset 0 2px 0 rgba(255, 255, 255, 0.2),inset -1px -1px 0 rgba(0, 0, 0, 0.25),inset 1px 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 2px 0 rgba(255, 255, 255, 0.2),inset -1px -1px 0 rgba(0, 0, 0, 0.25),inset 1px 1px 0 rgba(0, 0, 0, 0.25);box-shadow:inset 0 2px 0 rgba(255, 255, 255, 0.2),inset -1px -1px 0 rgba(0, 0, 0, 0.25),inset 1px 1px 0 rgba(0, 0, 0, 0.25);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .navbar .brand:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
@@ -472,4 +482,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width:480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width:768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/components.html b/docs/components.html
index 5bafc5a60a..0974a233f9 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -925,6 +925,47 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="bottom">ipsum</a> verit
   </div><!-- /row -->
 </section>
 
+<!-- Progress bars
+================================================== -->
+      <section id="progresss">
+        <div class="page-header">
+          <h1>Progress bars <small>... for indicating progress</small></h1>
+        </div>
+        <div class="row">
+          <div class="span3">
+            <h2>Basic bars</h2>
+            <p>Default look of progress bars. Absolute minimum.</p>
+          </div>
+          <div class="span9">
+            <div class="progress">
+              <div class="bar" style="width: 50%;"></div>
+            </div>
+          </div>
+        </div>
+        <div class="row">
+          <div class="span3">
+            <h2>Striped bars</h2>
+            <p>Bars with stripes painted.</p>
+          </div>
+          <div class="span9">
+            <div class="progress info striped">
+              <div class="bar" style="width: 20%;"></div>
+            </div>
+          </div>
+        </div>
+        <div class="row">
+          <div class="span3">
+            <h2>Active state</h2>
+            <p>Animated stripes! <small>Not on Opera, though :(</small></p>
+          </div>
+          <div class="span3">
+            <div class="progress danger active striped">
+              <div class="bar" style="width: 45%"></div>
+            </div>
+          </div>
+        </div>
+      </section>
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/docs/javascript.html b/docs/javascript.html
index 0aebf8609a..7e10d63b9c 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -23,6 +23,49 @@
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
 
+    <!-- Le javascript -->
+    <!-- placed up here so that the inline demos can be next to their markup -->
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+
+    <script type="text/javascript">
+      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
+      $(document).ready(function() {
+        $('.nav .active').click(function(e) {
+          e.preventDefault();
+          $(this).siblings().toggle();
+        });
+      });
+    </script>
+
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script>$(function () { prettyPrint() })</script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script>
+      $(function () {
+        // twipsy demo
+        $("a[rel=twipsy]").twipsy({
+          live: true
+        })
+
+        //popover demo
+        $("a[rel=popover]")
+          .popover({
+            offset: 10
+          })
+          .click(function(e) {
+            e.preventDefault()
+          })
+      })
+    </script>
+
   </head>
 
   <body id="bootstrap-js">
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index df233f1280..0335f86517 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -30,6 +30,7 @@
 @import "wells.less";
 @import "component-animations.less";
 @import "close.less";
+@import "progress-bars.less";
 
 // Components: Nav
 @import "navbar.less";
diff --git a/lib/mixins.less b/lib/mixins.less
index 49eabb8751..ea8d685f03 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -270,6 +270,15 @@
     background-repeat: no-repeat;
     // Opera cannot do radial gradients yet
   }
+  .striped(@color,@angle: -45deg) {
+    background-color: @color;
+    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255, 255, 255, .2)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.75, rgba(255, 255, 255, .2)), color-stop(.75, transparent), to(transparent));
+    background-image: -webkit-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
+    background-image: -moz-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
+    background-image: -ms-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
+    background-image: -o-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
+    background-image: linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
+  }
 }
 
 // Reset filters for IE
@@ -320,3 +329,10 @@
     border-right: @arrowWidth solid @black;
   }
 }
+
+.background-size(@width, @height){
+  -webkit-background-size: @width @height;
+     -moz-background-size: @width @height;
+       -o-background-size: @width @height;
+          background-size: @width @height;
+}
diff --git a/lib/progress-bars.less b/lib/progress-bars.less
new file mode 100644
index 0000000000..cc524cc9f0
--- /dev/null
+++ b/lib/progress-bars.less
@@ -0,0 +1,100 @@
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+
+@-moz-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+
+.progress {
+  height: 25px;
+  margin-bottom: 18px;
+  overflow: hidden;
+  .box-shadow(inset 0 1px 1px 0 rgba(0,0,0,.3), 0 1px 0 0 #fff);
+  #gradient > .vertical(#fff, #f5f5f5);
+  .border-radius(10px);
+  border: 1px solid #ddd;
+  border-color: rgba(0,0,0,.0);
+  &.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;
+    }
+  }
+  &.animated {
+    .bar {
+      .transition(width .6s ease);
+    }
+  }
+  &.danger,
+  &.error {
+    .bar {
+      #gradient > .vertical(#ee5f5b, #c43c35);
+    }
+    &.striped {
+      .bar {
+        .background-size(40px, 40px);
+        #gradient > .striped(#ee5f5b);
+      }
+    }
+  }
+  &.success {
+    .bar {
+      #gradient > .vertical(#62c462, #57a957);
+    }
+    &.striped {
+      .bar {
+        .background-size(40px, 40px);
+        #gradient > .striped(#62c462);
+      }
+    }
+  }
+  &.info {
+    .bar {
+      #gradient > .vertical(#5bc0de, #339bb9);
+    }
+    &.striped {
+      .bar {
+        .background-size(40px, 40px);
+        #gradient > .striped(#5bc0de);
+      }
+    }
+  }
+  &.striped {
+    .bar {
+      .background-size(40px, 40px);
+      #gradient > .striped(#62c462);
+    }
+  }
+  .bar {
+    width: 0%;
+    height: 100%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+    .gradientBar(#62c462, #57a957);
+    @shadow: inset 0 2px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(0,0,0,.25),inset 1px 1px 0 rgba(0,0,0,.25);
+    .box-shadow(@shadow);
+    .border-radius(10px);
+  }
+}
\ No newline at end of file
-- 
GitLab


From 95c88a2953d6493050192f9c99c8e5597e591ac3 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 04:40:32 -0800
Subject: [PATCH 213/576] scratch that, tweaking dropdowns in tabs

---
 docs/components.html |  2 +-
 lib/tabs-pills.less  | 19 +++----------------
 2 files changed, 4 insertions(+), 17 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index 5bafc5a60a..baeccd6ed6 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -427,7 +427,7 @@
         <li><a href="#">Settings</a></li>
         <li><a href="#">Contact</a></li>
         <li class="dropdown">
-          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
           <ul class="dropdown-menu">
             <li><a href="#">Secondary link</a></li>
             <li><a href="#">Something else here</a></li>
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index 23ba9ccfac..8e8856a567 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -154,30 +154,17 @@
 
 // Dropdowns in tabs
 .tabs {
-  // first one for backwards compatibility
-  .menu-dropdown,
   .dropdown-menu {
-    top: 35px;
+    top: 36px;
     border-width: 1px;
-    .border-radius(0 6px 6px 6px);
   }
-  // first one for backwards compatibility
-  a.menu:after,
-  .dropdown-toggle:after {
-    border-top-color: #999;
+  .dropdown-toggle .caret {
     margin-top: 15px;
     margin-left: 5px;
   }
-  // first one for backwards compatibility
-  li.open.menu .menu,
-  .open.dropdown .dropdown-toggle {
+  .open .dropdown-toggle {
     border-color: #999;
   }
-  // first one for backwards compatibility
-  li.open a.menu:after,
-  .dropdown.open .dropdown-toggle:after {
-    border-top-color: #555;
-  }
 }
 
 // Pills
-- 
GitLab


From fbb42ccbbbfcab985a2c588532511f4af324ebc1 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 7 Jan 2012 10:56:00 -0800
Subject: [PATCH 214/576] update link to collapse plugin

---
 docs/javascript.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 1cba7766f9..c20098085d 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -869,7 +869,7 @@ $('#my-alert').bind('closed', function () {
       <div class="row">
         <div class="span3 columns">
           <p>The collapse plugin offers simple, flexible collapsible element support for making accordions and other collapsible ui components.</p>
-          <a href="../js/bootstrap-collapsible.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
           <h3>Using bootstrap-collapse.js</h3>
-- 
GitLab


From a339f0051b21f9e51d47c3eb1fd7d37f126e87a0 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 12:22:51 -0800
Subject: [PATCH 215/576] fixing tablesorter styles by adding the jquery plugin
 back to the lib, fixing the docs examples

---
 bootstrap.css                        | 59 ++++++++++++++++++++++------
 bootstrap.min.css                    | 13 ++++--
 docs/assets/js/jquery.tablesorter.js |  3 ++
 docs/base-css.html                   |  4 +-
 lib/tables.less                      | 54 +++++++++++++++++++++++++
 lib/tabs-pills.less                  |  6 ++-
 6 files changed, 122 insertions(+), 17 deletions(-)
 create mode 100644 docs/assets/js/jquery.tablesorter.js

diff --git a/bootstrap.css b/bootstrap.css
index 71637d42f0..4c56efca57 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 04:34:04 PST 2012
+ * Date: Sat Jan  7 12:21:05 PST 2012
  */
 html, body {
   margin: 0;
@@ -1102,6 +1102,44 @@ table .span12 {
   width: 924px;
   margin-left: 0;
 }
+table .header {
+  cursor: pointer;
+}
+table .header:after {
+  content: "";
+  float: right;
+  margin-top: 7px;
+  border-width: 0 4px 4px;
+  border-style: solid;
+  border-color: #000 transparent;
+  visibility: hidden;
+}
+table .headerSortUp, table .headerSortDown {
+  background-color: rgba(141, 192, 219, 0.25);
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+}
+table .header:hover:after {
+  visibility: visible;
+}
+table .headerSortDown:after, table .headerSortDown:hover:after {
+  visibility: visible;
+  filter: alpha(opacity=60);
+  -moz-opacity: 0.6;
+  opacity: 0.6;
+}
+table .headerSortUp:after {
+  border-bottom: none;
+  border-left: 4px solid transparent;
+  border-right: 4px solid transparent;
+  border-top: 4px solid #000;
+  visibility: visible;
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+  filter: alpha(opacity=60);
+  -moz-opacity: 0.6;
+  opacity: 0.6;
+}
 i {
   background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
@@ -1891,23 +1929,22 @@ i {
   border-color: #ddd;
   border-left-color: transparent;
 }
-.tabs .menu-dropdown, .tabs .dropdown-menu {
-  top: 35px;
+.tabs .dropdown-menu {
+  top: 37px;
   border-width: 1px;
-  -webkit-border-radius: 0 6px 6px 6px;
-  -moz-border-radius: 0 6px 6px 6px;
-  border-radius: 0 6px 6px 6px;
 }
-.tabs a.menu:after, .tabs .dropdown-toggle:after {
-  border-top-color: #999;
+.tabs .dropdown-toggle .caret {
   margin-top: 15px;
   margin-left: 5px;
 }
-.tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
+.tabs .open .dropdown-toggle {
   border-color: #999;
 }
-.tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
-  border-top-color: #555;
+.tabs .open .dropdown-toggle .caret {
+  border-top-color: #fff;
+  filter: alpha(opacity=100);
+  -moz-opacity: 1;
+  opacity: 1;
 }
 .pills > li > a {
   padding: 0 15px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b0df320366..bb491b7ac4 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -203,6 +203,11 @@ 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 .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
+table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
+table .header:hover:after{visibility:visible;}
+table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
+table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
 i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
 .glass{background-position:0 0;}
 .music{background-position:-24px 0;}
@@ -349,10 +354,10 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabbable.tabs-right .tab-content{margin-right:100px;}
 .tabbable.tabs-right .tabs{float:right;}.tabbable.tabs-right .tabs>li{margin-left:-1px;}.tabbable.tabs-right .tabs>li>a{margin-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.tabbable.tabs-right .tabs>li>a:hover{border-left-color:#ddd;}
 .tabbable.tabs-right .tabs .active>a,.tabbable.tabs-right .tabs .active>a:hover{border-color:#ddd;border-left-color:transparent;}
-.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
-.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
-.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
-.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
+.tabs .dropdown-menu{top:37px;border-width:1px;}
+.tabs .dropdown-toggle .caret{margin-top:15px;margin-left:5px;}
+.tabs .open .dropdown-toggle{border-color:#999;}
+.tabs .open .dropdown-toggle .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .pills>li>a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills>li>a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#005580;}
 .pills .active>a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0088cc;}
 .pills-vertical>li{float:none;}
diff --git a/docs/assets/js/jquery.tablesorter.js b/docs/assets/js/jquery.tablesorter.js
new file mode 100644
index 0000000000..8ca383e39d
--- /dev/null
+++ b/docs/assets/js/jquery.tablesorter.js
@@ -0,0 +1,3 @@
+(function($){$.extend({tablesorter:new
+function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,rows,-1,i);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==''&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log('Checking if value was empty on row:'+rowIndex);}}else{keepLooking=false;}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i];}}return parsers[0];}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex];}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node));}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue;}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]));}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent;}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML;}else{text=node.innerHTML;}}}else{if(typeof(config.textExtraction)=="function"){text=config.textExtraction(node);}else{text=$(node).text();}}return text;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName('THEAD')[0];var trs=thead.getElementsByTagName('TR');for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1
+var firstAvailCol;if(typeof(matrix[rowIndex])=="undefined"){matrix[rowIndex]=[];}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof(matrix[rowIndex][k])=="undefined"){firstAvailCol=k;break;}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof(matrix[k])=="undefined"){matrix[k]=[];}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x";}}}}return lookup;}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHeaderOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){return(v.toLowerCase()=="desc")?1:0;}else{return(v==1)?1:0;}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(table.config.parsers[c].type=="text")?((order==0)?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c)):((order==0)?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c));var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date());}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=='text'&&direction=='asc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));";}else if(type=='text'&&direction=='desc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));";}else if(type=='numeric'&&direction=='asc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));";}else if(type=='numeric'&&direction=='desc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));";}};function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me);},1);}).bind("updateCell",function(e,cell){var config=this.config;var pos=[(cell.parentNode.rowIndex-1),cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,'')));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLocaleLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=(row%2==0);$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);
\ No newline at end of file
diff --git a/docs/base-css.html b/docs/base-css.html
index 5a8b0b2679..47858fe102 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1486,7 +1486,7 @@
     <div class="span4">
       <h3>How to use</h3>
       <p>With v2.0.0, the <code>&lt;i&gt;</code> tag is essentially dedicated to iconography. To use the icons, you can place the follow code wherever you like one to appear:</p>
-<pre class="prettyprint">
+<pre class="prettyprint linenums">
 &lt;i class="chevron-left"&gt;&lt;/i&gt;
 </pre>
       <p>There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right class and you're set. You can find the full list in sprites.less or right here in this document.</p>
@@ -1554,11 +1554,13 @@
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <script src="assets/js/jquery.tablesorter.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="assets/js/application.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
     <script>
       $(function () {
+        $("#sortTableExample").tablesorter({ sortList: [[1,0]] });
         $('.dropdown-toggle').dropdown();
       })
     </script>
diff --git a/lib/tables.less b/lib/tables.less
index d1a690a3fd..92ac57c39c 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -116,3 +116,57 @@ table {
   .span11    { .tableColumns(11); }
   .span12    { .tableColumns(12); }
 }
+
+
+
+// TABLESORTER
+// -----------
+// Support for the tablesorter jQuerdy plugin
+
+table {
+  // Tablesorting styles w/ jQuery plugin
+  .header {
+    cursor: pointer;
+    &:after {
+      content: "";
+      float: right;
+      margin-top: 7px;
+      border-width: 0 4px 4px;
+      border-style: solid;
+      border-color: #000 transparent;
+      visibility: hidden;
+    }
+  }
+  // Style the sorted column headers (THs)
+  .headerSortUp,
+  .headerSortDown {
+    background-color: rgba(141,192,219,.25);
+    text-shadow: 0 1px 1px rgba(255,255,255,.75);
+  }
+  // Style the ascending (reverse alphabetical) column header
+  .header:hover {
+    &:after {
+      visibility:visible;
+    }
+  }
+  // Style the descending (alphabetical) column header
+  .headerSortDown,
+  .headerSortDown:hover {
+    &:after {
+      visibility:visible;
+      .opacity(60);
+    }
+  }
+  // Style the ascending (reverse alphabetical) column header
+  .headerSortUp {
+    &:after {
+      border-bottom: none;
+      border-left: 4px solid transparent;
+      border-right: 4px solid transparent;
+      border-top: 4px solid #000;
+      visibility:visible;
+      .box-shadow(none); //can't add boxshadow to downward facing arrow :(
+      .opacity(60);
+    }
+  }
+}
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
index 8e8856a567..4a94266a34 100644
--- a/lib/tabs-pills.less
+++ b/lib/tabs-pills.less
@@ -155,7 +155,7 @@
 // Dropdowns in tabs
 .tabs {
   .dropdown-menu {
-    top: 36px;
+    top: 37px;
     border-width: 1px;
   }
   .dropdown-toggle .caret {
@@ -165,6 +165,10 @@
   .open .dropdown-toggle {
     border-color: #999;
   }
+  .open .dropdown-toggle .caret {
+    border-top-color: #fff;
+    .opacity(100);
+  }
 }
 
 // Pills
-- 
GitLab


From 28420311d89fe2656320cee7306d01a361f1c3c7 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 13:40:05 -0800
Subject: [PATCH 216/576] more table docs cleanup

---
 docs/base-css.html | 414 ++++++++++++++++++++++++++-------------------
 1 file changed, 244 insertions(+), 170 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 47858fe102..c1cb3fd2dd 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -556,211 +556,285 @@
     </tbody>
   </table>
 
+
   <h2>Example tables</h2>
+
   <h3>1. Default table styles</h3>
-  <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
-  <table>
-    <thead>
-      <tr>
-        <th>#</th>
-        <th>First Name</th>
-        <th>Last Name</th>
-        <th>Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td>Some</td>
-        <td>One</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>Code</td>
-      </tr>
-    </tbody>
-  </table>
+  <div class="row">
+    <div class="span4">
+      <p>Tables are automatically styled with only the a few borders to ensure readability and maintain structure. No classes are required.</p>
 <pre class="prettyprint linenums">
 &lt;table&gt;
   ...
 &lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table>
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
 
-  <br>
 
   <h3>2. Striped table</h3>
-  <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.striped-table</code> class.</p>
-  <table class="striped-table">
-    <thead>
-      <tr>
-        <th>#</th>
-        <th>First Name</th>
-        <th>Last Name</th>
-        <th>Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td>Some</td>
-        <td>One</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>Code</td>
-      </tr>
-    </tbody>
-  </table>
-  <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
-<pre class="prettyprint linenums">
+  <div class="row">
+    <div class="span4">
+      <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.striped-table</code> class.</p>
+      <p class="muted"><strong>Note:</strong> Sprited tables use the <code>:nth-child</code> CSS selector and is not available in IE7-IE8.</p>
+<pre class="prettyprint linenums" style="margin-bottom: 18px;">
 &lt;table class="striped-table"&gt;
   ...
 &lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="striped-table">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
 
-  <br>
 
   <h3>3. Bordered table</h3>
-  <p>Add borders around the entire table and between each row, plus a bit of rounded corners for aesthetic purposes.</p>
-  <table class="bordered-table">
-    <thead>
-      <tr>
-        <th>#</th>
-        <th>First Name</th>
-        <th>Last Name</th>
-        <th>Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td colspan="2">Some One</td>
-        <td>HTML</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td rowspan="2">Javascript</td>
-      </tr>
-      </tr>
-        <td>3</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>CSS</td>
-      </tr>
-    </tbody>
-  </table>
+  <div class="row">
+    <div class="span4">
+      <p>Add borders around the entire table and rounded corners for aesthetic purposes.</p>
 <pre class="prettyprint linenums">
 &lt;table class="bordered-table"&gt;
   ...
 &lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="bordered-table">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td colspan="2">Mark Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td rowspan="2">Javascript</td>
+          </tr>
+          </tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Brosef</td>
+            <td>Stalin</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
 
-  <br>
 
   <h3>4. Condensed table</h3>
-  <p>Make your tables more compact by adding the <code>.condensed-table</code> class to cut table cell padding in half (from 10px to 5px).</p>
-  <table class="condensed-table">
-    <thead>
-      <tr>
-        <th>#</th>
-        <th>First Name</th>
-        <th>Last Name</th>
-        <th>Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td>Some</td>
-        <td>One</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>Code</td>
-      </tr>
-    </tbody>
-  </table>
-<pre class="prettyprint linenums">
+  <div class="row">
+    <div class="span4">
+      <p>Make your tables more compact by adding the <code>.condensed-table</code> class to cut table cell padding in half (from 10px to 5px).</p>
+<pre class="prettyprint linenums" style="margin-bottom: 18px;">
 &lt;table class="condensed-table"&gt;
   ...
 &lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="condensed-table">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+
 
-  <br>
 
   <h3>5. Striped table w/ TableSorter.js</h3>
-  <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
-  <table class="striped-table" id="sortTableExample">
-    <thead>
-      <tr>
-        <th>#</th>
-        <th class="yellow">First Name</th>
-        <th class="blue">Last Name</th>
-        <th class="green">Language</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>1</td>
-        <td>Your</td>
-        <td>One</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>2</td>
-        <td>Joe</td>
-        <td>Sixpack</td>
-        <td>English</td>
-      </tr>
-      <tr>
-        <td>3</td>
-        <td>Stu</td>
-        <td>Dent</td>
-        <td>Code</td>
-      </tr>
-    </tbody>
-  </table>
+  <div class="row">
+    <div class="span4">
+      <p>Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automaically get clear styles for sorted columns.</p>
 <pre class="prettyprint linenums">
-&lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
+&lt;script src="jquery.tablesorter.js"&gt;&lt;/script&gt;
 &lt;script &gt;
   $(function() {
-    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
+    $("table#sortTableExample")
+    .tablesorter({
+      sortList: [[1,0]]
+    });
   });
 &lt;/script&gt;
 &lt;table class="striped-table"&gt;
   ...
 &lt;/table&gt;</pre>
-
+    </div>
+    <div class="span8">
+      <table class="striped-table tablesorter-example">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th class="yellow">First Name</th>
+            <th class="blue">Last Name</th>
+            <th class="green">Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+          <tr>
+            <td>4</td>
+            <td>Brosef</td>
+            <td>Stalin</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+      <p>Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.</p>
+      <table class="striped-table bordered-table condensed-table tablesorter-example">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th class="yellow">First Name</th>
+            <th class="blue">Last Name</th>
+            <th class="green">Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+          <tr>
+            <td>4</td>
+            <td>Brosef</td>
+            <td>Stalin</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
 </section>
 
 
@@ -1560,7 +1634,7 @@
     <script src="../js/bootstrap-dropdown.js"></script>
     <script>
       $(function () {
-        $("#sortTableExample").tablesorter({ sortList: [[1,0]] });
+        $(".tablesorter-example").tablesorter({ sortList: [[1,0]] });
         $('.dropdown-toggle').dropdown();
       })
     </script>
-- 
GitLab


From 1438b14f74fc30c3b9bd63bd54d3bcfe5ce33c3c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 15:52:57 -0800
Subject: [PATCH 217/576] overhauled docs to include example markup, add
 language around browser support and classes

---
 bootstrap.css          | 332 +++++++++++++++++++----------------------
 bootstrap.min.css      |  21 +--
 docs/components.html   |  81 +++++++---
 lib/bootstrap.less     |   2 +-
 lib/mixins.less        |  19 ++-
 lib/progress-bars.less | 180 +++++++++++-----------
 6 files changed, 330 insertions(+), 305 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index cc58b2ab81..f6dd392266 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 13:52:27 PST 2012
+ * Date: Sat Jan  7 15:52:40 PST 2012
  */
 html, body {
   margin: 0;
@@ -1574,180 +1574,6 @@ i {
   -moz-opacity: 0.4;
   opacity: 0.4;
 }
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-/* COMMENTED OUT SO LESS COMPILES
-@-moz-keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-*/
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-.progress {
-  height: 25px;
-  margin-bottom: 18px;
-  overflow: hidden;
-  -webkit-box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);
-  -moz-box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);
-  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);
-  background-color: #f5f5f5;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
-  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);
-  -webkit-border-radius: 10px;
-  -moz-border-radius: 10px;
-  border-radius: 10px;
-  border: 1px solid #ddd;
-  border-color: rgba(0, 0, 0, 0);
-}
-.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;
-}
-.progress.animated .bar {
-  -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;
-}
-.progress.danger .bar, .progress.error .bar {
-  background-color: #c43c35;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
-  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);
-}
-.progress.danger.striped .bar, .progress.error.striped .bar {
-  -webkit-background-size: 40px 40px;
-  -moz-background-size: 40px 40px;
-  -o-background-size: 40px 40px;
-  background-size: 40px 40px;
-  background-color: #ee5f5b;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-}
-.progress.success .bar {
-  background-color: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  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);
-}
-.progress.success.striped .bar {
-  -webkit-background-size: 40px 40px;
-  -moz-background-size: 40px 40px;
-  -o-background-size: 40px 40px;
-  background-size: 40px 40px;
-  background-color: #62c462;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-}
-.progress.info .bar {
-  background-color: #339bb9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
-  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);
-}
-.progress.info.striped .bar {
-  -webkit-background-size: 40px 40px;
-  -moz-background-size: 40px 40px;
-  -o-background-size: 40px 40px;
-  background-size: 40px 40px;
-  background-color: #5bc0de;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-}
-.progress.striped .bar {
-  -webkit-background-size: 40px 40px;
-  -moz-background-size: 40px 40px;
-  -o-background-size: 40px 40px;
-  background-size: 40px 40px;
-  background-color: #62c462;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
-}
-.progress .bar {
-  width: 0%;
-  height: 100%;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-  background-color: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  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);
-  border-color: #57a957 #57a957 #3d773d;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset -1px -1px 0 rgba(0, 0, 0, 0.25), inset 1px 1px 0 rgba(0, 0, 0, 0.25);
-  -moz-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset -1px -1px 0 rgba(0, 0, 0, 0.25), inset 1px 1px 0 rgba(0, 0, 0, 0.25);
-  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset -1px -1px 0 rgba(0, 0, 0, 0.25), inset 1px 1px 0 rgba(0, 0, 0, 0.25);
-  -webkit-border-radius: 10px;
-  -moz-border-radius: 10px;
-  border-radius: 10px;
-}
 .navbar {
   overflow: visible;
 }
@@ -3102,6 +2928,162 @@ a.thumbnail:hover {
 .label.notice {
   background-color: #62cffc;
 }
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+.progress, .progress .bar {
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.progress {
+  height: 18px;
+  margin-bottom: 18px;
+  background-color: #f9f9f9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));
+  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+  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);
+  border: 1px solid #ddd;
+  -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%;
+  height: 20px;
+  margin: -1px;
+  background-color: #57a957;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  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);
+  background-color: #0480be;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
+  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat: repeat-x;
+  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);
+  -webkit-box-sizing: border-box;
+  -moz-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;
+}
+.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));
+  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: 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;
+}
+.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;
+}
+.progress.danger .bar {
+  background-color: #c43c35;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  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);
+}
+.progress.danger.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));
+  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: 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: #57a957;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  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);
+}
+.progress.success.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));
+  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: 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: #339bb9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  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);
+}
+.progress.info.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));
+  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: 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);
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index fd23c25cce..e08068a78e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -311,16 +311,6 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
 .close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress{height:25px;margin-bottom:18px;overflow:hidden;-webkit-box-shadow:inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);-moz-box-shadow:inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 1px 0 rgba(0, 0, 0, 0.3);background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;border:1px solid #ddd;border-color:rgba(0, 0, 0, 0);}.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;}
-.progress.animated .bar{-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;}
-.progress.danger .bar,.progress.error .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
-.progress.danger.striped .bar,.progress.error.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
-.progress.success .bar{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
-.progress.success.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
-.progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
-.progress.info.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
-.progress.striped .bar{-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);}
-.progress .bar{width:0%;height:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-webkit-box-shadow:inset 0 2px 0 rgba(255, 255, 255, 0.2),inset -1px -1px 0 rgba(0, 0, 0, 0.25),inset 1px 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 2px 0 rgba(255, 255, 255, 0.2),inset -1px -1px 0 rgba(0, 0, 0, 0.25),inset 1px 1px 0 rgba(0, 0, 0, 0.25);box-shadow:inset 0 2px 0 rgba(255, 255, 255, 0.2),inset -1px -1px 0 rgba(0, 0, 0, 0.25),inset 1px 1px 0 rgba(0, 0, 0, 0.25);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .navbar .brand:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
@@ -499,5 +489,16 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);border:1px solid #ddd;-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%;height:20px;margin:-1px;background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.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));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: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;}
+.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;}
+.progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
+.progress.danger.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));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: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:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
+.progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
+.progress.info.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));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: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);}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/components.html b/docs/components.html
index 8be1f824a1..ce16c80925 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -929,43 +929,82 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="bottom">ipsum</a> verit
 ================================================== -->
       <section id="progresss">
         <div class="page-header">
-          <h1>Progress bars <small>... for indicating progress</small></h1>
+          <h1>Progress bars <small>For loading, redirecting, or action status</small></h1>
         </div>
+
+        <h2>Examples and markup</h2>
         <div class="row">
-          <div class="span3">
-            <h2>Basic bars</h2>
-            <p>Default look of progress bars. Absolute minimum.</p>
-          </div>
-          <div class="span9">
+          <div class="span4">
+            <h3>Basic</h3>
+            <p>Default progress bar with a vertical gradient.</p>
             <div class="progress">
-              <div class="bar" style="width: 50%;"></div>
+              <div class="bar" style="width: 60%;"></div>
             </div>
+<pre class="prettyprint linenums">
+&lt;div class="progress"&gt;
+  &lt;div class="bar"
+       style="width: 60%;"&gt;&lt;/div&gt;
+&lt;/div&gt;
+</pre>
           </div>
-        </div>
-        <div class="row">
-          <div class="span3">
-            <h2>Striped bars</h2>
-            <p>Bars with stripes painted.</p>
-          </div>
-          <div class="span9">
+          <div class="span4">
+            <h3>Striped</h3>
+            <p>Uses a gradient to create a striped effect.</p>
             <div class="progress info striped">
               <div class="bar" style="width: 20%;"></div>
             </div>
+<pre class="prettyprint linenums">
+&lt;div class="progress info
+     striped"&gt;
+  &lt;div class="bar"
+       style="width: 20%;"&gt;&lt;/div&gt;
+&lt;/div&gt;
+</pre>
           </div>
-        </div>
-        <div class="row">
-          <div class="span3">
-            <h2>Active state</h2>
-            <p>Animated stripes! <small>Not on Opera, though :(</small></p>
-          </div>
-          <div class="span3">
+          <div class="span4">
+            <h3>Animated</h3>
+            <p>Takes the striped example and animates it.</p>
             <div class="progress danger active striped">
               <div class="bar" style="width: 45%"></div>
             </div>
+<pre class="prettyprint linenums">
+&lt;div class="progress danger
+     striped active"&gt;
+  &lt;div class="bar"
+       style="width: 40%;"&gt;&lt;/div&gt;
+&lt;/div&gt;
+</pre>
           </div>
         </div>
+
+        <h2>Options and browser support</h2>
+        <div class="row">
+          <div class="span4">
+            <h3>Additional colors</h3>
+            <p>Progress bars utilize some of the same classes as buttons and alert messages for quick styling.</p>
+            <ul>
+              <li><code>.info</code></li>
+              <li><code>.success</code></li>
+              <li><code>.danger</code></li>
+            </ul>
+            <p>Alternatively, you can customize the LESS files and roll your own colors and sizes.</p>
+          </div>
+          <div class="span4">
+            <h3>Behavior</h3>
+            <p>Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.</p>
+            <p>If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.</p>
+          </div>
+          <div class="span4">
+            <h3>Browser support</h3>
+            <p>Progress bars use CSS3 gradients, transitions, and animations to achieve all theire effects. These features are not supported in IE7-8 or older versions of Firefox.</p>
+            <p>Opera does not support animations at this time.</p>
+          </div>
+        </div>
+
       </section>
 
+
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 0335f86517..d82dffc652 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -30,7 +30,6 @@
 @import "wells.less";
 @import "component-animations.less";
 @import "close.less";
-@import "progress-bars.less";
 
 // Components: Nav
 @import "navbar.less";
@@ -52,6 +51,7 @@
 // Components: Misc
 @import "thumbnails.less";
 @import "labels.less";
+@import "progress-bars.less";
 
 // Responsive
 @import "responsive.less";
\ No newline at end of file
diff --git a/lib/mixins.less b/lib/mixins.less
index ea8d685f03..50986c68cd 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -179,6 +179,13 @@
           background-clip: @clip;
 }
 
+// Box sizing
+.box-sizing(@boxmodel) {
+  -webkit-box-sizing: @boxmodel;
+     -moz-box-sizing: @boxmodel;
+          box-sizing: @boxmodel;
+}
+
 // Resize anything
 .resizable(@direction: both) {
   resize: @direction; // Options: horizontal, vertical, both
@@ -272,12 +279,12 @@
   }
   .striped(@color,@angle: -45deg) {
     background-color: @color;
-    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255, 255, 255, .2)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.75, rgba(255, 255, 255, .2)), color-stop(.75, transparent), to(transparent));
-    background-image: -webkit-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
-    background-image: -moz-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
-    background-image: -ms-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
-    background-image: -o-linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
-    background-image: linear-gradient(@angle, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
+    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
+    background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+    background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+    background-image: -ms-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+    background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+    background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
   }
 }
 
diff --git a/lib/progress-bars.less b/lib/progress-bars.less
index 1a9afb275d..28c56d131c 100644
--- a/lib/progress-bars.less
+++ b/lib/progress-bars.less
@@ -1,102 +1,98 @@
+// PROGRESS BARS
+// -------------
+
+
+// ANIMATIONS
+// ----------
+
+// Webkit
 @-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
+  from  { background-position: 0 0; }
+  to    { background-position: 40px 0; }
 }
 
-/* COMMENTED OUT SO LESS COMPILES
-@-moz-keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-*/
+// Temporarily commented out since LESS won't compile with this
+// @-moz-keyframes progress-bar-stripes {
+//   from  { background-position: 0 0; }
+//   to    { background-position: 40px 0; }
+// }
 
+// Spec
 @keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
+  from  { background-position: 0 0; }
+  to    { background-position: 40px 0; }
+}
+
+
+
+// THE BARS
+// --------
+
+// Common styles
+.progress,
+.progress .bar {
+  .border-radius(4px);
 }
 
+// Outer container
 .progress {
-  height: 25px;
+  height: 18px;
   margin-bottom: 18px;
-  overflow: hidden;
-  .box-shadow(inset 0 1px 1px 0 rgba(0,0,0,.3), 0 1px 0 0 #fff);
-  #gradient > .vertical(#fff, #f5f5f5);
-  .border-radius(10px);
+  #gradient > .vertical(#f5f5f5, #f9f9f9);
   border: 1px solid #ddd;
-  border-color: rgba(0,0,0,.0);
-  &.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;
-    }
-  }
-  &.animated {
-    .bar {
-      .transition(width .6s ease);
-    }
-  }
-  &.danger,
-  &.error {
-    .bar {
-      #gradient > .vertical(#ee5f5b, #c43c35);
-    }
-    &.striped {
-      .bar {
-        .background-size(40px, 40px);
-        #gradient > .striped(#ee5f5b);
-      }
-    }
-  }
-  &.success {
-    .bar {
-      #gradient > .vertical(#62c462, #57a957);
-    }
-    &.striped {
-      .bar {
-        .background-size(40px, 40px);
-        #gradient > .striped(#62c462);
-      }
-    }
-  }
-  &.info {
-    .bar {
-      #gradient > .vertical(#5bc0de, #339bb9);
-    }
-    &.striped {
-      .bar {
-        .background-size(40px, 40px);
-        #gradient > .striped(#5bc0de);
-      }
-    }
-  }
-  &.striped {
-    .bar {
-      .background-size(40px, 40px);
-      #gradient > .striped(#62c462);
-    }
-  }
-  .bar {
-    width: 0%;
-    height: 100%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-    .gradientBar(#62c462, #57a957);
-    @shadow: inset 0 2px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(0,0,0,.25),inset 1px 1px 0 rgba(0,0,0,.25);
-    .box-shadow(@shadow);
-    .border-radius(10px);
-  }
-}
\ No newline at end of file
+  .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
+}
+
+// Bar of progress
+.progress .bar {
+  width: 0%;
+  height: 20px;
+  margin: -1px;
+  #gradient > .vertical(#62c462, #57a957);
+  #gradient > .vertical(#149bdf, #0480be);
+  .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
+  .box-sizing(border-box);
+  .transition(width .6s ease);
+}
+
+// Striped bars
+.progress.striped .bar {
+  #gradient > .striped(#62c462);
+  .background-size(40px, 40px);
+}
+
+// Call animation for the active one
+.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;
+}
+
+
+
+// COLORS
+// ------
+
+// Danger (red)
+.progress.danger .bar {
+  #gradient > .vertical(#ee5f5b, #c43c35);
+}
+.progress.danger.striped .bar {
+  #gradient > .striped(#ee5f5b);
+}
+
+// Success (green)
+.progress.success .bar {
+  #gradient > .vertical(#62c462, #57a957);
+}
+.progress.success.striped .bar {
+  #gradient > .striped(#62c462);
+}
+
+// Info (teal)
+.progress.info .bar {
+  #gradient > .vertical(#5bc0de, #339bb9);
+}
+.progress.info.striped .bar {
+  #gradient > .striped(#5bc0de);
+}
-- 
GitLab


From 4961aa8c2306b77dae2c0d5d54edc9d40b138217 Mon Sep 17 00:00:00 2001
From: Purwandi <free6300@gmail.com>
Date: Sun, 8 Jan 2012 08:17:54 +0700
Subject: [PATCH 218/576] Fix line number pretyprint in javascript docs

---
 docs/javascript.html | 1 -
 1 file changed, 1 deletion(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index d19343675b..ca9217674f 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -38,7 +38,6 @@
     </script>
 
     <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script>$(function () { prettyPrint() })</script>
     <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-alert.js"></script>
     <script src="../js/bootstrap-modal.js"></script>
-- 
GitLab


From 2948d1c3b247a5aff1fd1f15cf72540e3f492f57 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 20:40:28 -0800
Subject: [PATCH 219/576] overhaul the entire tabs component structure and
 docs; remove side nav and make it a nav list to build on new .nav base class

---
 bootstrap.css                                 | 302 ++++---
 bootstrap.min.css                             |  70 +-
 .../js/google-code-prettify/prettify.css      |  14 +-
 docs/components.html                          | 837 +++++++++---------
 docs/upgrading.html                           |   9 +
 lib/bootstrap.less                            |   3 +-
 lib/dropdowns.less                            |   5 +-
 lib/forms.less                                |   1 +
 lib/navbar.less                               |   7 +-
 lib/navs.less                                 | 327 +++++++
 lib/sidenav.less                              |  43 -
 lib/tabs-pills.less                           | 285 ------
 lib/type.less                                 |   2 +-
 13 files changed, 1005 insertions(+), 900 deletions(-)
 create mode 100644 lib/navs.less
 delete mode 100644 lib/sidenav.less
 delete mode 100644 lib/tabs-pills.less

diff --git a/bootstrap.css b/bootstrap.css
index f6dd392266..5c9d4aa97b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 15:52:40 PST 2012
+ * Date: Sat Jan  7 20:25:41 PST 2012
  */
 html, body {
   margin: 0;
@@ -516,9 +516,9 @@ pre {
   background-color: #f5f5f5;
   border: 1px solid #ccc;
   border: 1px solid rgba(0, 0, 0, 0.15);
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
   white-space: pre;
   white-space: pre-wrap;
   word-break: break-all;
@@ -541,6 +541,7 @@ legend {
   line-height: 36px;
   color: #333333;
   border-bottom: 1px solid #eee;
+  -webkit-margin-collapse: separate;
 }
 label,
 input,
@@ -1502,6 +1503,16 @@ i {
   background-image: linear-gradient(top, #049cdb, #0064cd);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+  background-color: #0077b3;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));
+  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
+  background-image: -ms-linear-gradient(top, #0088cc, #0077b3);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));
+  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
+  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
+  background-image: linear-gradient(top, #0088cc, #0077b3);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);
   -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
@@ -1692,19 +1703,51 @@ i {
   left: 0;
   z-index: 1010;
 }
-.nav {
+.navbar .nav {
   position: relative;
   left: 0;
   display: block;
   float: left;
   margin: 0 10px 0 0;
+  /*  // Dropdowns within the .nav
+  .dropdown-toggle:hover,
+  .dropdown.open .dropdown-toggle {
+    background: #444;
+    background: rgba(255,255,255,.05);
+  }
+  .dropdown-menu {
+    background-color: #333;
+    .dropdown-toggle {
+      color: @white;
+      &.open {
+        background: #444;
+        background: rgba(255,255,255,.05);
+      }
+    }
+    li a {
+      padding: 4px 15px;
+      color: #999;
+      text-shadow: 0 1px 0 rgba(0,0,0,.5);
+      &:hover {
+        #gradient > .vertical(#292929,#191919);
+        color: @white;
+      }
+    }
+    .active a {
+      color: @white;
+    }
+    .divider {
+      background-color: #222;
+      border-color: #444;
+    }
+  }*/
+
 }
-.nav > li {
+.navbar .nav > li {
   display: block;
   float: left;
 }
-.nav a {
-  display: block;
+.navbar .nav a {
   float: none;
   padding: 10px 10px 11px;
   line-height: 19px;
@@ -1712,15 +1755,15 @@ i {
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
-.nav a:hover {
+.navbar .nav a:hover {
   color: #ffffff;
   text-decoration: none;
 }
-.nav .active > a {
+.navbar .nav .active > a {
   background-color: #222;
   background-color: rgba(0, 0, 0, 0.5);
 }
-.nav .vertical-divider {
+.navbar .nav .vertical-divider {
   height: 40px;
   width: 1px;
   margin: 0 5px;
@@ -1728,58 +1771,55 @@ i {
   background-color: #222;
   border-right: 1px solid #444;
 }
-.nav.secondary-nav {
+.navbar .nav.secondary-nav {
   float: right;
   margin-left: 10px;
   margin-right: 0;
 }
-.nav.secondary-nav .dropdown-menu {
+.navbar .nav.secondary-nav .dropdown-menu {
   right: 0;
   border: 0;
 }
-.nav .dropdown-toggle:hover, .nav .dropdown.open .dropdown-toggle {
-  background: #444;
-  background: rgba(255, 255, 255, 0.05);
+.nav {
+  margin-left: 0;
+  margin-bottom: 18px;
+  list-style: none;
 }
-.nav .dropdown-menu {
-  background-color: #333;
+.nav > li > a {
+  display: block;
 }
-.nav .dropdown-menu .dropdown-toggle {
-  color: #ffffff;
+.nav > li > a:hover {
+  text-decoration: none;
+  background-color: #eee;
 }
-.nav .dropdown-menu .dropdown-toggle.open {
-  background: #444;
-  background: rgba(255, 255, 255, 0.05);
-}
-.nav .dropdown-menu li a {
-  padding: 4px 15px;
-  color: #999;
-  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
-}
-.nav .dropdown-menu li a:hover {
-  background-color: #191919;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));
-  background-image: -moz-linear-gradient(top, #292929, #191919);
-  background-image: -ms-linear-gradient(top, #292929, #191919);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));
-  background-image: -webkit-linear-gradient(top, #292929, #191919);
-  background-image: -o-linear-gradient(top, #292929, #191919);
-  background-image: linear-gradient(top, #292929, #191919);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);
-  color: #ffffff;
+.nav.list {
+  padding-left: 14px;
+  padding-right: 14px;
+  margin-bottom: 0;
 }
-.nav .dropdown-menu .active a {
-  color: #ffffff;
+.nav.list > li > a, .nav.list .nav-header {
+  display: block;
+  padding: 3px 15px;
+  margin-left: -15px;
+  margin-right: -15px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
-.nav .dropdown-menu .divider {
-  background-color: #222;
-  border-color: #444;
+.nav.list .nav-header {
+  font-size: 11px;
+  font-weight: bold;
+  line-height: 18px;
+  color: #999999;
+  text-transform: uppercase;
+}
+.nav.list > li + .nav-header {
+  margin-top: 9px;
+}
+.nav.list .active > a {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+  background-color: #0088cc;
 }
 .tabs, .pills {
-  padding: 0;
-  margin: 0 0 20px;
-  list-style: none;
   zoom: 1;
 }
 .tabs:before,
@@ -1798,29 +1838,26 @@ i {
   float: left;
 }
 .tabs > li > a, .pills > li > a {
-  display: block;
+  padding-right: 12px;
+  padding-left: 12px;
+  margin-right: 2px;
+  line-height: 14px;
 }
 .tabs {
-  border-color: #ddd;
-  border-style: solid;
-  border-width: 0 0 1px;
+  border-bottom: 1px solid #ddd;
 }
 .tabs > li {
-  position: relative;
   margin-bottom: -1px;
 }
 .tabs > li > a {
-  padding: 0 15px;
-  margin-right: 2px;
-  line-height: 36px;
+  padding-top: 9px;
+  padding-bottom: 9px;
   border: 1px solid transparent;
   -webkit-border-radius: 4px 4px 0 0;
   -moz-border-radius: 4px 4px 0 0;
   border-radius: 4px 4px 0 0;
 }
 .tabs > li > a:hover {
-  text-decoration: none;
-  background-color: #eee;
   border-color: #eee #eee #ddd;
 }
 .tabs .active > a, .tabs .active > a:hover {
@@ -1830,6 +1867,76 @@ i {
   border-bottom-color: transparent;
   cursor: default;
 }
+.pills > li > a {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  margin-top: 2px;
+  margin-bottom: 2px;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+}
+.pills .active > a, .pills .active > a:hover {
+  color: #ffffff;
+  background-color: #0088cc;
+}
+.nav.stacked > li {
+  float: none;
+}
+.nav.stacked > li > a {
+  margin-right: 0;
+}
+.tabs.stacked {
+  border-bottom: 0;
+}
+.tabs.stacked > li > a {
+  border: 1px solid #ddd;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.tabs.stacked > li:first-child > a {
+  -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
+  border-radius: 4px 4px 0 0;
+}
+.tabs.stacked > li:last-child > a {
+  -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
+  border-radius: 0 0 4px 4px;
+}
+.tabs.stacked > li > a:hover {
+  border-color: #ddd;
+  z-index: 2;
+}
+.pills.stacked > li > a {
+  margin-bottom: 3px;
+}
+.pills.stacked > li:last-child > a {
+  margin-bottom: 1px;
+}
+.tabs .dropdown-menu, .pills .dropdown-menu {
+  top: 33px;
+  border-width: 1px;
+}
+.pills .dropdown-menu {
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.tabs .dropdown-toggle .caret, .pills .dropdown-toggle .caret {
+  margin-top: 6px;
+}
+.tabs .open .dropdown-toggle, .pills .open .dropdown-toggle {
+  background-color: #999;
+  border-color: #999;
+}
+.tabs .open .caret, .pills .open .caret {
+  border-top-color: #fff;
+  filter: alpha(opacity=100);
+  -moz-opacity: 1;
+  opacity: 1;
+}
 .tabbable {
   margin-bottom: 18px;
 }
@@ -1929,46 +2036,6 @@ i {
   border-color: #ddd;
   border-left-color: transparent;
 }
-.tabs .dropdown-menu {
-  top: 37px;
-  border-width: 1px;
-}
-.tabs .dropdown-toggle .caret {
-  margin-top: 15px;
-  margin-left: 5px;
-}
-.tabs .open .dropdown-toggle {
-  border-color: #999;
-}
-.tabs .open .dropdown-toggle .caret {
-  border-top-color: #fff;
-  filter: alpha(opacity=100);
-  -moz-opacity: 1;
-  opacity: 1;
-}
-.pills > li > a {
-  padding: 0 15px;
-  margin: 5px 3px 5px 0;
-  line-height: 30px;
-  text-shadow: 0 1px 1px #ffffff;
-  -webkit-border-radius: 15px;
-  -moz-border-radius: 15px;
-  border-radius: 15px;
-}
-.pills > li > a:hover {
-  color: #ffffff;
-  text-decoration: none;
-  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-  background-color: #005580;
-}
-.pills .active > a {
-  color: #ffffff;
-  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-  background-color: #0088cc;
-}
-.pills-vertical > li {
-  float: none;
-}
 .tab-content > .tab-pane, .pill-content > .pill-pane {
   display: none;
 }
@@ -2060,27 +2127,29 @@ i {
   color: #333333;
   background-color: #eee;
 }
-.side-nav {
-  padding: 9px 0;
+/*.side-nav {
+  padding: @baseLineHeight / 2 0;
 }
-.side-nav .nav-label, .side-nav .nav-item {
+.side-nav .nav-label,
+.side-nav .nav-item {
   display: block;
   padding: 3px 15px;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  text-shadow: 0 1px 0 rgba(255,255,255,.5);
 }
 .side-nav .nav-label {
   font-size: 11px;
-  line-height: 18px;
-  color: #999999;
+  line-height: @baseLineHeight;
+  color: @grayLight;
   text-transform: uppercase;
 }
 .side-nav .nav-group {
-  margin: 0;
+  margin: 0; // clear default ul margins
   list-style: none;
 }
 .side-nav .nav-group + .nav-label {
   margin-top: 9px;
 }
+
 .side-nav .nav-item {
   font-weight: bold;
 }
@@ -2092,22 +2161,11 @@ i {
 }
 .side-nav .active .nav-item {
   color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
-  background-color: #999999;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#999999));
-  background-image: -moz-linear-gradient(top, #cccccc, #999999);
-  background-image: -ms-linear-gradient(top, #cccccc, #999999);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #999999));
-  background-image: -webkit-linear-gradient(top, #cccccc, #999999);
-  background-image: -o-linear-gradient(top, #cccccc, #999999);
-  background-image: linear-gradient(top, #cccccc, #999999);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#999999', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-.breadcrumb {
+  text-shadow: 0 -1px 0 rgba(0,0,0,.3);
+  #gradient > .vertical(#ccc, #999);
+  @shadow: inset 0 1px 0 rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.05);
+  .box-shadow(@shadow);
+}*/.breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
   background-color: #f5f5f5;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e08068a78e..5597bf1ef9 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -91,10 +91,10 @@ blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right
 address{display:block;margin-bottom:18px;line-height:18px;}
 code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
-pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
 form{margin-bottom:18px;}
-legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;}
+legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
 label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
 input,textarea,select,.uneditable-input{display:block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
@@ -304,7 +304,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown .caret{margin-top:8px;margin-left:2px;}
 .dropdown:hover .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
-.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
+.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
@@ -325,21 +325,43 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1010;}
-.nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.nav>li{display:block;float:left;}
-.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.nav a:hover{color:#ffffff;text-decoration:none;}
-.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
-.nav .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
-.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.nav.secondary-nav .dropdown-menu{right:0;border:0;}
-.nav .dropdown-toggle:hover,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
-.nav .dropdown-menu{background-color:#333;}.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
-.nav .dropdown-menu li a{padding:4px 15px;color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.nav .dropdown-menu li a:hover{background-color:#191919;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
-.nav .dropdown-menu .active a{color:#ffffff;}
-.nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
-.tabs,.pills{padding:0;margin:0 0 20px;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
+.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.navbar .nav>li{display:block;float:left;}
+.navbar .nav a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar .nav a:hover{color:#ffffff;text-decoration:none;}
+.navbar .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
+.navbar .nav .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
+.navbar .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.navbar .nav.secondary-nav .dropdown-menu{right:0;border:0;}
+.nav{margin-left:0;margin-bottom:18px;list-style:none;}
+.nav>li>a{display:block;}
+.nav>li>a:hover{text-decoration:none;background-color:#eee;}
+.nav.list{padding-left:14px;padding-right:14px;margin-bottom:0;}
+.nav.list>li>a,.nav.list .nav-header{display:block;padding:3px 15px;margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.nav.list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-transform:uppercase;}
+.nav.list>li+.nav-header{margin-top:9px;}
+.nav.list .active>a{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
+.tabs,.pills{zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
 .tabs:after,.pills:after{clear:both;}
-.tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
-.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:36px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
+.tabs>li,.pills>li{float:left;}
+.tabs>li>a,.pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
+.tabs{border-bottom:1px solid #ddd;}
+.tabs>li{margin-bottom:-1px;}
+.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eee #eee #ddd;}
 .tabs .active>a,.tabs .active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
+.pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.pills .active>a,.pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
+.nav.stacked>li{float:none;}
+.nav.stacked>li>a{margin-right:0;}
+.tabs.stacked{border-bottom:0;}
+.tabs.stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+.tabs.stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
+.tabs.stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
+.tabs.stacked>li>a:hover{border-color:#ddd;z-index:2;}
+.pills.stacked>li>a{margin-bottom:3px;}
+.pills.stacked>li:last-child>a{margin-bottom:1px;}
+.tabs .dropdown-menu,.pills .dropdown-menu{top:33px;border-width:1px;}
+.pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{margin-top:6px;}
+.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle{background-color:#999;border-color:#999;}
+.tabs .open .caret,.pills .open .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .tabbable{margin-bottom:18px;}.tabbable .tabs{margin-bottom:0;border-bottom:0;}
 .tabbable .tab-content{padding:19px;border:1px solid #ddd;}
 .tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
@@ -354,13 +376,6 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabbable.tabs-right .tab-content{margin-right:100px;}
 .tabbable.tabs-right .tabs{float:right;}.tabbable.tabs-right .tabs>li{margin-left:-1px;}.tabbable.tabs-right .tabs>li>a{margin-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.tabbable.tabs-right .tabs>li>a:hover{border-left-color:#ddd;}
 .tabbable.tabs-right .tabs .active>a,.tabbable.tabs-right .tabs .active>a:hover{border-color:#ddd;border-left-color:transparent;}
-.tabs .dropdown-menu{top:37px;border-width:1px;}
-.tabs .dropdown-toggle .caret{margin-top:15px;margin-left:5px;}
-.tabs .open .dropdown-toggle{border-color:#999;}
-.tabs .open .dropdown-toggle .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.pills>li>a{padding:0 15px;margin:5px 3px 5px 0;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills>li>a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#005580;}
-.pills .active>a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0088cc;}
-.pills-vertical>li{float:none;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
 .step-nav{position:relative;margin:0 0 18px;list-style:none;line-height:30px;text-align:center;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.step-nav li{display:inline;color:#999999;}
@@ -373,15 +388,6 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .subnav li:first-child a{border-left:0;-webkit-border-radius:6px 0 0 6px;-moz-border-radius:6px 0 0 6px;border-radius:6px 0 0 6px;}
 .subnav li:last-child a{border-right:0;-webkit-border-radius:0 6px 6px 0;-moz-border-radius:0 6px 6px 0;border-radius:0 6px 6px 0;}
 .subnav ul .active>a{color:#333333;background-color:#eee;}
-.side-nav{padding:9px 0;}
-.side-nav .nav-label,.side-nav .nav-item{display:block;padding:3px 15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
-.side-nav .nav-label{font-size:11px;line-height:18px;color:#999999;text-transform:uppercase;}
-.side-nav .nav-group{margin:0;list-style:none;}
-.side-nav .nav-group+.nav-label{margin-top:9px;}
-.side-nav .nav-item{font-weight:bold;}
-.side-nav .nav-item i{vertical-align:-2px;}
-.side-nav .nav-item:hover{text-decoration:none;}
-.side-nav .active .nav-item{color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);background-color:#999999;background-image:-khtml-gradient(linear, left top, left bottom, from(#cccccc), to(#999999));background-image:-moz-linear-gradient(top, #cccccc, #999999);background-image:-ms-linear-gradient(top, #cccccc, #999999);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #cccccc), color-stop(100%, #999999));background-image:-webkit-linear-gradient(top, #cccccc, #999999);background-image:-o-linear-gradient(top, #cccccc, #999999);background-image:linear-gradient(top, #cccccc, #999999);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#999999', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.05),inset 0 -1px 0 rgba(0, 0, 0, 0.05);}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#999999;}
 .breadcrumb .active a{color:#333333;}
diff --git a/docs/assets/js/google-code-prettify/prettify.css b/docs/assets/js/google-code-prettify/prettify.css
index f195124a9b..0d54905fbc 100644
--- a/docs/assets/js/google-code-prettify/prettify.css
+++ b/docs/assets/js/google-code-prettify/prettify.css
@@ -6,21 +6,13 @@
 .kwd, .linenums .tag { color: #1e347b; }
 .typ, .atn, .dec, .var { color: teal; }
 .pln { color: #48484c; }
-pre.prettyprint {
-  background-color: #fefbf3;
-  padding: 9px;
-  margin-bottom: 9px;
-}
-
-pre.prettyprint {
-  color: #ccc;
-  background-color: #252525;
-}
 
-pre.prettyprint {
+.prettyprint {
   padding: 8px;
   background-color: #f7f7f9;
   border: 1px solid #e1e1e8;
+}
+.prettyprint.linenums {
   -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
      -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
           box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
diff --git a/docs/components.html b/docs/components.html
index ce16c80925..eb9932473d 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -54,397 +54,218 @@
       </header>
 
 
-<!-- Media
+
+<!-- Nav, Tabs, & Pills
 ================================================== -->
-<section id="media">
+<section id="tabsAndPills">
   <div class="page-header">
-    <h1>Thumbnails <small>Grids of images, videos, text, and more</small></h1>
+    <h1>Nav, tabs, and pills <small>Highly customizable list-style navigation</small></h1>
   </div>
 
+  <h2>Lightweight defaults <small>Same markup, different classes</small></h2>
   <div class="row">
-    <div class="span6">
-      <h2>Default thumbnails</h2>
-      <p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p>
-      <ul class="thumbnails">
-        <li class="span3">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li class="span3">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li class="span3">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
-        <li class="span3">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/210x150" alt="">
-          </a>
-        </li>
+    <div class="span4">
+      <h3>Powerful base class</h3>
+      <p>All nav components here&mdash;tabs, pills, and lists&mdash;<strong>share the same base markup and styles</strong> through the <code>.nav</code> class.</p>
+      <h3>Why tabs and pills</h3>
+      <p>Tabs and pills in Bootstrap are built on a <code>&lt;ul&gt;</code> with the same core HTML, a list of links. Swap between tabs or pills with only a class.</p>
+      <p>Both options are great for sub-sections of content or navigating between pages of related content.</p>
+    </div>
+    <div class="span4">
+      <h3>Basic tabs</h3>
+      <p>Take a regular <code>&lt;ul&gt;</code> of links and add <code>.tabs</code>:</p>
+      <ul class="nav tabs">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
       </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav tabs"&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
     </div>
-    <div class="span6">
-      <h2>Highly customizable</h2>
-      <p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p>
-      <ul class="thumbnails">
-        <li class="span3">
-          <div class="thumbnail">
-            <img src="http://placehold.it/210x150" alt="">
-            <div class="caption">
-              <h5>Thumbnail label</h5>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
-            </div>
-          </div>
-        </li>
-        <li class="span3">
-          <div class="thumbnail">
-            <img src="http://placehold.it/210x150" alt="">
-            <div class="caption">
-              <h5>Thumbnail label</h5>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
-            </div>
-          </div>
-        </li>
+    <div class="span4">
+      <h3>Basic pills</h3>
+      <p>Take that same HTML, but use <code>.pills</code> instead:</p>
+      <ul class="nav pills">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
       </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav pills"&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
     </div>
   </div>
 
+  <h2>Stackable <small>Make tabs or pills vertical</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>Why use thumbnails</h3>
-      <p>Thumbnails (previously <code>.media-grid</code> up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.</p>
+      <h3>How to stack 'em</h3>
+      <p>As tabs and pills are horizontal by default, just add a second class, <code>.stacked</code>, to make them appear vertically stacked.</p>
     </div>
     <div class="span4">
-      <h3>Simple, flexible markup</h3>
-      <p>Thumbnail markup is simple&mdash;a <code>ul</code> with any number of <code>li</code> elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.</p>
-    </div>
-    <div class="span4">
-      <h3>Uses grid column sizes</h3>
-      <p>Lastly, the thumbnails component uses existing grid system classes&mdash;like <code>.span2</code> or <code>.span3</code>&mdash;for control of thumbnail dimensions.</p>
-    </div>
-  </div>
-
-  <div class="row">
-    <div class="span6">
-      <h2>The markup</h2>
-      <p>As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup <strong>for linked images</strong>:</p>
+      <h3>Stacked tabs</h3>
+      <ul class="nav tabs stacked">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+      </ul>
 <pre class="prettyprint linenums">
-&lt;ul class="thumbnails"&gt;
-  &lt;li class="span3"&gt;
-    &lt;a href="#" class="thumbnail"&gt;
-      &lt;img src="http://placehold.it/210x150" alt=""&gt;
-    &lt;/a&gt;
-  &lt;/li&gt;
+&lt;ul class="nav tabs stacked"&gt;
   ...
 &lt;/ul&gt;
 </pre>
-      <p>For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <code>&lt;a&gt;</code> for a <code>&lt;div&gt;</code> like so:</p>
+    </div>
+    <div class="span4">
+      <h3>Stacked pills</h3>
+      <ul class="nav pills stacked">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+      </ul>
 <pre class="prettyprint linenums">
-&lt;ul class="thumbnails"&gt;
-  &lt;li class="span3"&gt;
-    &lt;div class="thumbnail"&gt;
-      &lt;img src="http://placehold.it/210x150" alt=""&gt;
-      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
-      &lt;p&gt;Thumbnail caption right here...&lt;/p&gt;
-    &lt;/div&gt;
-  &lt;/li&gt;
+&lt;ul class="nav pills stacked"&gt;
   ...
 &lt;/ul&gt;
 </pre>
     </div>
-    <div class="span6">
-      <h2>More examples</h2>
-      <p>Explore all your options with the various grid classes available to you. You can also mix and match different sizes.</p>
-      <ul class="thumbnails">
-        <li class="span4">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/290x230" alt="">
-          </a>
-        </li>
-        <li class="span2">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/130x100" alt="">
-          </a>
-        </li>
-        <li class="span2">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/130x100" alt="">
-          </a>
-        </li>
-        <li class="span2">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/130x100" alt="">
-          </a>
-        </li>
-        <li class="span2">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/130x100" alt="">
-          </a>
-        </li>
-        <li class="span2">
-          <a href="#" class="thumbnail">
-            <img src="http://placehold.it/130x100" alt="">
-          </a>
-        </li>
-      </ul>
-    </div>
-  </div>
-
-</section>
-
-
-
-<!-- Autocomplete
-================================================== -->
-<section id="autocomplete">
-  <div class="page-header">
-    <h1>Autocomplete <small></small></h1>
-  </div>
-
-</section>
-
-
-
-<!-- Carousel
-================================================== -->
-<section id="carousel">
-  <div class="page-header">
-    <h1>Carousel <small></small></h1>
-  </div>
-
-</section>
-
-
-
-<!-- Side nav
-================================================== -->
-<section id="sidenav">
-  <div class="page-header">
-    <h1>Side nav <small>for lists of links</small></h1>
   </div>
 
+  <h2>Dropdowns <small>For advanced nav components</small></h2>
   <div class="row">
-    <div class="span3">
-      <h3>Examples</h3>
-      <p>Side navs can be just links, links with headings, and links with icons.</p>
-      <div class="well side-nav">
-        <ul class="nav-group">
-          <li class="active"><a class="nav-item" href="#">Home</a></li>
-          <li><a class="nav-item" href="#">Library</a></li>
-          <li><a class="nav-item" href="#">Help</a></li>
-        </ul>
-        <h6 class="nav-label">Your account</h6>
-        <ul class="nav-group">
-          <li><a class="nav-item" href="#">Profile</a></li>
-          <li><a class="nav-item" href="#">Settings</a></li>
-        </ul>
-        <h6 class="nav-label">Your account</h6>
-        <ul class="nav-group">
-          <li><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
-          <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
-          <li><a class="nav-item" href="#"><i class="user"></i> Profile</a></li>
-          <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
-          <li><a class="nav-item" href="#"><i class="time"></i> Help</a></li>
-        </ul>
-      </div>
-    </div>
-    <div class="span3">
-      <h3>Why use it</h3>
-      <p></p>
+    <div class="span4">
+      <h3>Rich menus made easy</h3>
+      <p>Dropdown menus in Bootstrap tabs and pills are super easy and require only a little extra HTML and a lightweight jQuery plugin.</p>
+      <p>Head over to the Javascript page to read the docs on <a href="./javascript.html#tabs">initializing dropdowns</a> in Bootstrap.</p>
     </div>
-    <div class="span6">
-      <h3>Markup</h3>
-      <p>Marking up a side nav is at the core just writing an unordered list of links.</p>
+    <div class="span4">
+      <h3>Tabs with dropdowns</h3>
+      <ul class="nav tabs">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+      </ul>
 <pre class="prettyprint linenums">
-  &lt;ul class="nav-group"&gt;
-    &lt;li class="active"&gt;
-      &lt;a class="nav-item" href="#"&gt;Home&lt;/a&gt;
-    &lt;/li&gt;
-    &lt;li&gt;&lt;a class="nav-item" href="#"&gt;Library&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a class="nav-item" href="#"&gt;Help&lt;/a&gt;&lt;/li&gt;
-  &lt;/ul&gt;
+&lt;ul class="nav tabs"&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a class="dropdown-toggle" 
+       data-toggle="dropdown"
+       href="#"&gt;
+        Dropdown
+        &lt;b class="caret"&gt;&lt;/b&gt;
+      &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      &lt;!-- links --&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
 </pre>
-      <p>Bootstrap also makes it easy to expand a regular list of links with multiple groups and headings.</p>
+    </div>
+    <div class="span4">
+      <h3>Pills with dropdowns</h3>
+      <ul class="nav pills">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+      </ul>
 <pre class="prettyprint linenums">
-  &lt;h6 class="nav-label"&gt;&lt;/h6&gt;
-  &lt;ul class="nav-group"&gt;
-    ...
-  &lt;/ul&gt;
-  &lt;h6 class="nav-label"&gt;&lt;/h6&gt;
-  &lt;ul class="nav-group"&gt;
-    ...
-  &lt;/ul&gt;
+&lt;ul class="nav pills"&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a class="dropdown-toggle" 
+       data-toggle="dropdown"
+       href="#"&gt;
+        Dropdown
+        &lt;b class="caret"&gt;&lt;/b&gt;
+      &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      &lt;!-- links --&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
 </pre>
     </div>
   </div>
-  
-</section>
 
-
-
-<!-- Navbar
-================================================== -->
-<section id="navbar">
-  <div class="page-header">
-    <h1>Navbar</h1>
-  </div>
-  <h2>Static navbar example</h2>
-  <p>An example of a static (not fixed to the top) navbar with project name, navigation, and search form.</p>
-  <div class="navbar navbar-static">
-    <div class="navbar-inner">
-      <div class="container" style="width: auto;">
-        <a class="brand" href="#">Project name</a>
-        <ul class="nav">
+  <h2>Nav lists <small>Build simple stacked navs, great for sidebars</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Application-style navigation</h3>
+      <p>Nav lists provide a simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.</p>
+      <p>Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.</p>
+    </div>
+    <div class="span4">
+      <h3>Example sidebar navigation</h3>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="nav-header">List header</li>
           <li class="active"><a href="#">Home</a></li>
-          <li><a href="#">Link</a></li>
-          <li><a href="#">Link</a></li>
-          <li><a href="#">Link</a></li>
-          <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Secondary link</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Another link</a></li>
-            </ul>
-          </li>
-        </ul>
-        <form class="navbar-search pull-left" action="">
-          <input type="text" class="search-query span2" placeholder="Search">
-        </form>
-        <ul class="nav secondary-nav">
-          <li class="vertical-divider"></li>
-          <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Secondary link</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Another link</a></li>
-            </ul>
-          </li>
+          <li><a href="#">Library</a></li>
+          <li><a href="#">Applications</a></li>
+          <li class="nav-header">Another list header</li>
+          <li><a href="#">Profile</a></li>
+          <li><a href="#">Settings</a></li>
+          <li><a href="#">Help</a></li>
         </ul>
-      </div>
-    </div><!-- /navbar-inner -->
-  </div><!-- /navbar -->
-
-  <div class="row">
-    <div class="span8">
-      <h3>Navbar scaffolding</h3>
-      <p>The navbar requires only a few divs to structure it well for static or fixed display.</p>
-<pre class="prettyprint linenums">
-&lt;div class="navbar navbar-static"&gt;
-  &lt;div class="navbar-inner"&gt;
-    &lt;div class="container" style="width: auto;"&gt;
-      ...
-    &lt;/div&gt;
-  &lt;/div&gt;
-&lt;/div&gt;
-</pre>
-      <p>To make the navbar fixed, swamp the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
-<pre class="prettyprint linenums">
-&lt;div class="navbar navbar-fixed"&gt;
-  ...
-&lt;/div&gt;
-</pre>
-      <br>
-      <h3>Brand name</h3>
-      <p>A simple link to show your brand or project name only requires an anchor tag.</p>
-<pre class="prettyprint linenums">
-&lt;a class="brand" href="#"&gt;
-  Project name
-&lt;/a&gt;
-</pre>
-      <br>
-      <h3>Search form</h3>
-      <p>Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.</p>
-<pre class="prettyprint linenums">
-&lt;form class="navbar-search"&gt;
-  &lt;input type="text" class="search-query pull-left" placeholder="Search"&gt;
-&lt;/form&gt;
-</pre>
+      </div> <!-- /well -->
     </div>
     <div class="span4">
-      <h3>Nav links</h3>
-      <p>Nav items are simple to add via unordered lists.</p>
+      <h3>Simple markup</h3>
 <pre class="prettyprint linenums">
-&lt;ul class="nav"&gt;
+&lt;ul class="nav list"&gt;
+  &lt;li class="nav-header"&gt;
+    List header
+  &lt;/li&gt;
   &lt;li class="active"&gt;
-    &lt;a href="#">Home&lt;/a&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt;
   &lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-</pre>
-      <p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdowns">our javascript plugin</a>.</p>
-<pre class="prettyprint linenums">
-&lt;ul class="nav"&gt;
-  &lt;li class="dropdown"&gt;
-    &lt;a href="#"
-          class="dropdown-toggle"
-          data-toggle="dropdown">
-          Account
-    &lt;/a&gt;
-    &lt;ul class="dropdown-menu"&gt;
-      ...
-    &lt;/ul&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Library&lt;/a&gt;
   &lt;/li&gt;
+  ...
 &lt;/ul&gt;
 </pre>
     </div>
   </div>
 
-</section>
 
 
 
-<!-- Tabs & Pills
-================================================== -->
-<section id="tabsAndPills">
-  <div class="page-header">
-    <h1>Tabs and pills <small></small></h1>
-  </div>
 
-  <div class="row">
-    <div class="span3">
-      <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
-      <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
-    </div>
-    <div class="span9">
-      <h3>Basic tabs example</h3>
-      <p>Tabs can be used as regular navigation (loading external pages in the same tab) or as tabbable content areas for swapping out panes of content. We have a <a href="./javascript.html#tabs">tabs plugin</a> that can be used to integrate the latter.</p>
-      <ul class="tabs">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
-        <li><a href="#">Settings</a></li>
-        <li><a href="#">Contact</a></li>
-        <li class="dropdown">
-          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
-          <ul class="dropdown-menu">
-            <li><a href="#">Secondary link</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Another link</a></li>
-          </ul>
-        </li>
-      </ul>
-<pre class="prettyprint linenums">
-&lt;ul class="tabs"&gt;
-  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-</pre>
+
+
+
+
+
       <h3>Tabbable tabs</h3>
       <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>
 
@@ -543,37 +364,119 @@
         </ul>
       </div>
 
-
-      <p>In addition to tabs, we have pills! Though a bit more limited in functionality, they share much of the same markup.</p>
-      <hr>
-      <h3>Basic pills example</h3>
-      <ul class="pills">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
-        <li><a href="#">Settings</a></li>
-        <li><a href="#">Contact</a></li>
-      </ul>
+</section>
+
+
+
+<!-- Navbar
+================================================== -->
+<section id="navbar">
+  <div class="page-header">
+    <h1>Navbar</h1>
+  </div>
+  <h2>Static navbar example</h2>
+  <p>An example of a static (not fixed to the top) navbar with project name, navigation, and search form.</p>
+  <div class="navbar navbar-static">
+    <div class="navbar-inner">
+      <div class="container" style="width: auto;">
+        <a class="brand" href="#">Project name</a>
+        <ul class="nav">
+          <li class="active"><a href="#">Home</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Another link</a></li>
+            </ul>
+          </li>
+        </ul>
+        <form class="navbar-search pull-left" action="">
+          <input type="text" class="search-query span2" placeholder="Search">
+        </form>
+        <ul class="nav secondary-nav">
+          <li class="vertical-divider"></li>
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Another link</a></li>
+            </ul>
+          </li>
+        </ul>
+      </div>
+    </div><!-- /navbar-inner -->
+  </div><!-- /navbar -->
+
+  <div class="row">
+    <div class="span8">
+      <h3>Navbar scaffolding</h3>
+      <p>The navbar requires only a few divs to structure it well for static or fixed display.</p>
+<pre class="prettyprint linenums">
+&lt;div class="navbar navbar-static"&gt;
+  &lt;div class="navbar-inner"&gt;
+    &lt;div class="container" style="width: auto;"&gt;
+      ...
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+      <p>To make the navbar fixed, swamp the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+<pre class="prettyprint linenums">
+&lt;div class="navbar navbar-fixed"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+      <h3>Brand name</h3>
+      <p>A simple link to show your brand or project name only requires an anchor tag.</p>
+<pre class="prettyprint linenums">
+&lt;a class="brand" href="#"&gt;
+  Project name
+&lt;/a&gt;
+</pre>
+      <h3>Search form</h3>
+      <p>Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.</p>
+<pre class="prettyprint linenums">
+&lt;form class="navbar-search"&gt;
+  &lt;input type="text" class="search-query pull-left" placeholder="Search"&gt;
+&lt;/form&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Nav links</h3>
+      <p>Nav items are simple to add via unordered lists.</p>
 <pre class="prettyprint linenums">
-&lt;ul class="pills"&gt;
-  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
+&lt;ul class="nav"&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#">Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+      <p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdowns">our javascript plugin</a>.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="nav"&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a href="#"
+          class="dropdown-toggle"
+          data-toggle="dropdown">
+          Account
+    &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      ...
+    &lt;/ul&gt;
+  &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
-      <h3>Vertical pill nav</h3>
-      <p>With a pill-style nav, you can also stack the list items to have a simple sidebar. We don't offer left or right aligned versions here because that's easy enough to customize based on your own needs</p>
-      <ul class="pills pills-vertical span4">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
-        <li><a href="#">Settings</a></li>
-        <li><a href="#">Contact</a></li>
-      </ul>
     </div>
-  </div><!-- /row -->
+  </div>
 
 </section>
 
@@ -629,39 +532,6 @@
 
 
 
-<!-- Step nav
-==================================================
-
-COMMENTED OUT AND NOT SUPPORTED AT THIS TIME.
-
-<section id="stepNav">
-  <div class="page-header">
-    <h1>Step nav <small></small></h1>
-  </div>
-  <div class="row">
-    <div class="span3">
-      <p>Placeholder for now!</p>
-    </div>
-    <div class="span9">
-      <br>
-      <ul class="step-nav">
-        <li class="prev"><a href="#">&laquo; Overview</a></li>
-        <li class="active"><a class="dot" href="#">1</a></li>
-        <li><a class="dot" href="#">2</a></li>
-        <li><a class="dot" href="#">3</a></li>
-        <li><a class="dot" href="#">4</a></li>
-        <li><a class="dot" href="#">5</a></li>
-        <li class="next"><a href="#">Base CSS &raquo;</a></li>
-      </ul>
-      <br>
-      <br>
-    </div>
-  </div>
-</section>
--->
-
-
-
 <!-- Pagination
 ================================================== -->
 <section id="carousel">
@@ -727,6 +597,175 @@ COMMENTED OUT AND NOT SUPPORTED AT THIS TIME.
 
 
 
+<!-- Media
+================================================== -->
+<section id="media">
+  <div class="page-header">
+    <h1>Thumbnails <small>Grids of images, videos, text, and more</small></h1>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h2>Default thumbnails</h2>
+      <p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p>
+      <ul class="thumbnails">
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+      </ul>
+    </div>
+    <div class="span6">
+      <h2>Highly customizable</h2>
+      <p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p>
+      <ul class="thumbnails">
+        <li class="span3">
+          <div class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+            <div class="caption">
+              <h5>Thumbnail label</h5>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+            </div>
+          </div>
+        </li>
+        <li class="span3">
+          <div class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+            <div class="caption">
+              <h5>Thumbnail label</h5>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+            </div>
+          </div>
+        </li>
+      </ul>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Why use thumbnails</h3>
+      <p>Thumbnails (previously <code>.media-grid</code> up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.</p>
+    </div>
+    <div class="span4">
+      <h3>Simple, flexible markup</h3>
+      <p>Thumbnail markup is simple&mdash;a <code>ul</code> with any number of <code>li</code> elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.</p>
+    </div>
+    <div class="span4">
+      <h3>Uses grid column sizes</h3>
+      <p>Lastly, the thumbnails component uses existing grid system classes&mdash;like <code>.span2</code> or <code>.span3</code>&mdash;for control of thumbnail dimensions.</p>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h2>The markup</h2>
+      <p>As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup <strong>for linked images</strong>:</p>
+<pre class="prettyprint linenums">
+&lt;ul class="thumbnails"&gt;
+  &lt;li class="span3"&gt;
+    &lt;a href="#" class="thumbnail"&gt;
+      &lt;img src="http://placehold.it/210x150" alt=""&gt;
+    &lt;/a&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+      <p>For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <code>&lt;a&gt;</code> for a <code>&lt;div&gt;</code> like so:</p>
+<pre class="prettyprint linenums">
+&lt;ul class="thumbnails"&gt;
+  &lt;li class="span3"&gt;
+    &lt;div class="thumbnail"&gt;
+      &lt;img src="http://placehold.it/210x150" alt=""&gt;
+      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
+      &lt;p&gt;Thumbnail caption right here...&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span6">
+      <h2>More examples</h2>
+      <p>Explore all your options with the various grid classes available to you. You can also mix and match different sizes.</p>
+      <ul class="thumbnails">
+        <li class="span4">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/290x230" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+      </ul>
+    </div>
+  </div>
+
+</section>
+
+
+
+<!-- Autocomplete
+================================================== -->
+<section id="autocomplete">
+  <div class="page-header">
+    <h1>Autocomplete <small></small></h1>
+  </div>
+
+</section>
+
+
+
+<!-- Carousel
+================================================== -->
+<section id="carousel">
+  <div class="page-header">
+    <h1>Carousel <small></small></h1>
+  </div>
+
+</section>
+
+
+
 <!-- Alerts & Messages
 ================================================== -->
 <section id="alerts">
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 3e7e2c768b..f6070f8468 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -113,6 +113,15 @@
       <li>Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow</li>
     </ul>
   </li>
+  <li>Navigation
+    <ul>
+      <li>Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code></li>
+      <li>New nav list component added that uses the same base class, <code>.nav</code></li>
+      <li>Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code></li>
+      <li>Pills were restyled to be less rounded by default</li>
+      <li>Pills now have dropdown menu support (they share the same markup and styles as tabs)</li>
+    </ul>
+  </li>
 </ul>
 <!--
   <li>
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index d82dffc652..2bec3dd016 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -33,8 +33,7 @@
 
 // Components: Nav
 @import "navbar.less";
-@import "tabs-pills.less";
-@import "sidenav.less";
+@import "navs.less";
 @import "breadcrumbs.less";
 @import "pagination.less";
 
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 00c686dc22..a1b9e37bc2 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -1,4 +1,6 @@
-// Dropdown Menus
+// DROPDOWN MENUS
+// --------------
+
 // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
 .dropdown {
   position: relative;
@@ -71,6 +73,7 @@
       text-decoration: none;
       text-shadow: 0 -1px 0 rgba(0,0,0,.25);
       #gradient > .vertical(@blue, @blueDark);
+      #gradient > .vertical(@linkColor, darken(@linkColor, 5%));
       @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
       .box-shadow(@shadow);
     }
diff --git a/lib/forms.less b/lib/forms.less
index 19e2aa8bc1..5053310448 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -20,6 +20,7 @@ legend {
   line-height: @baseLineHeight * 2;
   color: @grayDark;
   border-bottom: 1px solid #eee;
+  -webkit-margin-collapse: separate;
 }
 
 // Set font for forms
diff --git a/lib/navbar.less b/lib/navbar.less
index 90ff786767..00afe3d8fe 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -135,7 +135,7 @@
 
 // Nav for navbar and topbar
 // ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
-.nav {
+.navbar .nav {
   position: relative;
   left: 0;
   display: block;
@@ -146,7 +146,6 @@
     float: left;
   }
   a {
-    display: block;
     float: none;
     padding: 10px 10px 11px;
     line-height: 19px;
@@ -182,7 +181,7 @@
       border: 0;
     }
   }
-  // Dropdowns within the .nav
+/*  // Dropdowns within the .nav
   .dropdown-toggle:hover,
   .dropdown.open .dropdown-toggle {
     background: #444;
@@ -213,5 +212,5 @@
       background-color: #222;
       border-color: #444;
     }
-  }
+  }*/
 }
diff --git a/lib/navs.less b/lib/navs.less
new file mode 100644
index 0000000000..8616ea0471
--- /dev/null
+++ b/lib/navs.less
@@ -0,0 +1,327 @@
+// NAVIGATIONS
+// -----------
+
+
+
+// BASE CLASS
+// ----------
+
+.nav {
+  margin-left: 0;
+  margin-bottom: @baseLineHeight;
+  list-style: none;
+}
+
+// Make links block level
+.nav > li > a {
+  display: block;
+}
+.nav > li > a:hover {
+  text-decoration: none;
+  background-color: #eee;
+}
+
+
+
+// NAV LIST
+// --------
+
+.nav.list {
+  padding-left: 14px;
+  padding-right: 14px;
+  margin-bottom: 0;
+}
+.nav.list > li > a,
+.nav.list .nav-header {
+  display: block;
+  padding: 3px 15px;
+  margin-left:  -15px;
+  margin-right: -15px;
+  text-shadow: 0 1px 0 rgba(255,255,255,.5);
+}
+.nav.list .nav-header {
+  font-size: 11px;
+  font-weight: bold;
+  line-height: @baseLineHeight;
+  color: @grayLight;
+  text-transform: uppercase;
+}
+.nav.list > li + .nav-header {
+  margin-top: 9px;
+}
+.nav.list .active > a {
+  color: @white;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
+  background-color: @linkColor;
+}
+
+
+
+// TABS AND PILLS
+// -------------
+
+// Common styles
+.tabs,
+.pills {
+  .clearfix();
+}
+.tabs > li,
+.pills > li {
+  float: left;
+}
+.tabs > li > a,
+.pills > li > a {
+  padding-right: 12px;
+  padding-left: 12px;
+  margin-right: 2px;
+  line-height: 14px; // keeps the overall height an even number
+}
+
+// TABS
+// ----
+
+// Give the tabs something to sit on
+.tabs {
+  border-bottom: 1px solid #ddd;
+}
+
+// Make the list-items overlay the bottom border
+.tabs > li {
+  margin-bottom: -1px;
+}
+
+// Actual tabs (as links)
+.tabs > li > a {
+  padding-top: 9px;
+  padding-bottom: 9px;
+  border: 1px solid transparent;
+  .border-radius(4px 4px 0 0);
+  &:hover {
+    border-color: #eee #eee #ddd;
+  }
+}
+// Active state, and it's :hover to override normal :hover
+.tabs .active > a,
+.tabs .active > a:hover {
+  color: @gray;
+  background-color: @white;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+  cursor: default;
+}
+
+// PILLS
+// -----
+
+// Links rendered as pills
+.pills > li > a {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  margin-top: 2px;
+  margin-bottom: 2px;
+  .border-radius(5px);
+}
+
+// Active state
+.pills .active > a,
+.pills .active > a:hover {
+  color: @white;
+  background-color: @linkColor;
+}
+
+
+
+// STACKED NAV
+// -----------
+
+// Stacked tabs and pills
+.nav.stacked > li {
+  float: none;
+}
+.nav.stacked > li > a {
+  margin-right: 0; // no need for the gap between nav items
+}
+
+// Tabs
+.tabs.stacked {
+  border-bottom: 0;
+}
+.tabs.stacked > li > a {
+  border: 1px solid #ddd;
+  .border-radius(0);
+}
+.tabs.stacked > li:first-child > a {
+  .border-radius(4px 4px 0 0);
+}
+.tabs.stacked > li:last-child > a {
+  .border-radius(0 0 4px 4px);
+}
+.tabs.stacked > li > a:hover {
+  border-color: #ddd;
+  z-index: 2;
+}
+
+// Pills
+.pills.stacked > li > a {
+  margin-bottom: 3px;
+}
+.pills.stacked > li:last-child > a {
+  margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
+}
+
+
+
+// DROPDOWNS
+// ---------
+
+// Position the menu
+.tabs .dropdown-menu,
+.pills .dropdown-menu {
+  top: 33px;
+  border-width: 1px;
+}
+.pills .dropdown-menu {
+  .border-radius(4px);
+}
+.tabs .dropdown-toggle .caret,
+.pills .dropdown-toggle .caret {
+  margin-top: 6px;
+}
+.tabs .open .dropdown-toggle,
+.pills .open .dropdown-toggle {
+  background-color: #999;
+  border-color: #999;
+}
+.tabs .open .caret,
+.pills .open .caret {
+  border-top-color: #fff;
+  .opacity(100);
+}
+
+
+
+// TABBABLE
+// --------
+
+.tabbable {
+  margin-bottom: @baseLineHeight;
+
+  // Tabs on top
+  .tabs {
+    margin-bottom: 0;
+    border-bottom: 0;
+  }
+  .tab-content {
+    padding: 19px;
+    border: 1px solid #ddd;
+  }
+
+  // Tabs on bottom
+  &.tabs-bottom .tabs > li {
+    margin-top: -1px;
+    margin-bottom: 0;
+  }
+  &.tabs-bottom .tabs > li > a {
+    .border-radius(0 0 4px 4px);
+    &:hover {
+      border-bottom-color: transparent;
+      border-top-color: #ddd;
+    }
+  }
+  &.tabs-bottom .tabs > .active > a,
+  &.tabs-bottom .tabs > .active > a:hover {
+    border-color: transparent #ddd #ddd #ddd;
+  }
+
+  // Tabs on left and right
+  &.tabs-left,
+  &.tabs-right {
+    .clearfix();
+    .tabs {
+      // Give a fixed width to avoid floating .tab-con
+      width: 100px;
+      // Unfloat them so they stack
+      > li {
+        float: none;
+        margin-bottom: -1px;
+        > a {
+          margin-bottom: 2px;
+          &:hover {
+            border-color: transparent;
+          }
+        }
+      }
+    }
+  }
+
+  // Tabs on left
+  &.tabs-left {
+    .tab-content {
+      margin-left: 100px;
+    }
+    .tabs {
+      float: left;
+      > li {
+        margin-right: -1px;
+        > a {
+          margin-right: 0;
+          .border-radius(4px 0 0 4px);
+
+          &:hover {
+            border-right-color: #ddd;
+          }
+        }
+      }
+      // Active state
+      .active > a,
+      .active > a:hover {
+        border-color: #ddd;
+        border-right-color: transparent;
+      }
+    }
+  }
+
+  // Tabs on right
+  &.tabs-right {
+    .tab-content {
+      margin-right: 100px;
+    }
+    .tabs {
+      float: right;
+      > li {
+        margin-left: -1px;
+        > a {
+          margin-left: 0;
+          .border-radius(0 4px 4px 0);
+
+          &:hover {
+            border-left-color: #ddd;
+          }
+        }
+      }
+      // Active state
+      .active > a,
+      .active > a:hover {
+        border-color: #ddd;
+        border-left-color: transparent;
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+// Tabbable areas
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+  display: none;
+}
+.tab-content > .active,
+.pill-content > .active {
+  display: block;
+}
+
diff --git a/lib/sidenav.less b/lib/sidenav.less
deleted file mode 100644
index 51f97f44d2..0000000000
--- a/lib/sidenav.less
+++ /dev/null
@@ -1,43 +0,0 @@
-// SIDE NAV
-// --------
-
-
-.side-nav {
-  padding: @baseLineHeight / 2 0;
-}
-.side-nav .nav-label,
-.side-nav .nav-item {
-  display: block;
-  padding: 3px 15px;
-  text-shadow: 0 1px 0 rgba(255,255,255,.5);
-}
-.side-nav .nav-label {
-  font-size: 11px;
-  line-height: @baseLineHeight;
-  color: @grayLight;
-  text-transform: uppercase;
-}
-.side-nav .nav-group {
-  margin: 0; // clear default ul margins
-  list-style: none;
-}
-.side-nav .nav-group + .nav-label {
-  margin-top: 9px;
-}
-
-.side-nav .nav-item {
-  font-weight: bold;
-}
-.side-nav .nav-item i {
-  vertical-align: -2px;
-}
-.side-nav .nav-item:hover {
-  text-decoration: none;
-}
-.side-nav .active .nav-item {
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0,0,0,.3);
-  #gradient > .vertical(#ccc, #999);
-  @shadow: inset 0 1px 0 rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.05);
-  .box-shadow(@shadow);
-}
\ No newline at end of file
diff --git a/lib/tabs-pills.less b/lib/tabs-pills.less
deleted file mode 100644
index 4a94266a34..0000000000
--- a/lib/tabs-pills.less
+++ /dev/null
@@ -1,285 +0,0 @@
-// Tabs and Pills
-.tabs,
-.pills {
-  padding: 0;
-  margin: 0 0 20px;
-  list-style: none;
-  .clearfix();
-  > li {
-    float: left;
-    > a {
-      display: block;
-    }
-  }
-}
-
-// Tabs
-.tabs {
-  border-color: #ddd;
-  border-style: solid;
-  border-width: 0 0 1px;
-  > li {
-    position: relative; // For the dropdowns mostly
-    margin-bottom: -1px;
-    > a {
-      padding: 0 15px;
-      margin-right: 2px;
-      line-height: @baseLineHeight * 2;
-      border: 1px solid transparent;
-      .border-radius(4px 4px 0 0);
-      &:hover {
-        text-decoration: none;
-        background-color: #eee;
-        border-color: #eee #eee #ddd;
-      }
-    }
-  }
-  // Active state, and it's :hover to override normal :hover
-  .active > a,
-  .active > a:hover {
-    color: @gray;
-    background-color: @white;
-    border: 1px solid #ddd;
-    border-bottom-color: transparent;
-    cursor: default;
-  }
-}
-
-.tabbable {
-  margin-bottom: @baseLineHeight;
-
-  // Tabs on top
-  .tabs {
-    margin-bottom: 0;
-    border-bottom: 0;
-  }
-  .tab-content {
-    padding: 19px;
-    border: 1px solid #ddd;
-  }
-
-  // Tabs on bottom
-  &.tabs-bottom .tabs > li {
-    margin-top: -1px;
-    margin-bottom: 0;
-  }
-  &.tabs-bottom .tabs > li > a {
-    .border-radius(0 0 4px 4px);
-    &:hover {
-      border-bottom-color: transparent;
-      border-top-color: #ddd;
-    }
-  }
-  &.tabs-bottom .tabs > .active > a,
-  &.tabs-bottom .tabs > .active > a:hover {
-    border-color: transparent #ddd #ddd #ddd;
-  }
-
-  // Tabs on left and right
-  &.tabs-left,
-  &.tabs-right {
-    .clearfix();
-    .tabs {
-      // Give a fixed width to avoid floating .tab-con
-      width: 100px;
-      // Unfloat them so they stack
-      > li {
-        float: none;
-        margin-bottom: -1px;
-        > a {
-          margin-bottom: 2px;
-          &:hover {
-            border-color: transparent;
-          }
-        }
-      }
-    }
-  }
-
-  // Tabs on left
-  &.tabs-left {
-    .tab-content {
-      margin-left: 100px;
-    }
-    .tabs {
-      float: left;
-      > li {
-        margin-right: -1px;
-        > a {
-          margin-right: 0;
-          .border-radius(4px 0 0 4px);
-
-          &:hover {
-            border-right-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-right-color: transparent;
-      }
-    }
-  }
-
-  // Tabs on right
-  &.tabs-right {
-    .tab-content {
-      margin-right: 100px;
-    }
-    .tabs {
-      float: right;
-      > li {
-        margin-left: -1px;
-        > a {
-          margin-left: 0;
-          .border-radius(0 4px 4px 0);
-
-          &:hover {
-            border-left-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-left-color: transparent;
-      }
-    }
-  }
-}
-
-
-// Dropdowns in tabs
-.tabs {
-  .dropdown-menu {
-    top: 37px;
-    border-width: 1px;
-  }
-  .dropdown-toggle .caret {
-    margin-top: 15px;
-    margin-left: 5px;
-  }
-  .open .dropdown-toggle {
-    border-color: #999;
-  }
-  .open .dropdown-toggle .caret {
-    border-top-color: #fff;
-    .opacity(100);
-  }
-}
-
-// Pills
-.pills {
-  > li > a {
-    padding: 0 15px;
-    margin: 5px 3px 5px 0;
-    line-height: 30px;
-    text-shadow: 0 1px 1px @white;
-    .border-radius(15px);
-    &:hover {
-      color: @white;
-      text-decoration: none;
-      text-shadow: 0 1px 1px rgba(0,0,0,.25);
-      background-color: @linkColorHover;
-    }
-  }
-  .active > a {
-    color: @white;
-    text-shadow: 0 1px 1px rgba(0,0,0,.25);
-    background-color: @linkColor;
-  }
-}
-
-// Stacked pills
-.pills-vertical > li {
-  float: none;
-}
-
-// Tabbable areas
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
-  display: none;
-}
-.tab-content > .active,
-.pill-content > .active {
-  display: block;
-}
-
-
-// Step nav
-.step-nav {
-  position: relative; // for prev/next links
-  margin: 0 0 @baseLineHeight;
-  list-style: none;
-  line-height: 30px;
-  text-align: center;
-  background-color: #f5f5f5;
-  .border-radius(15px);
-  li {
-    display: inline;
-    color: @grayLight;
-  }
-  // prev/next links
-  .prev,
-  .next {
-    position: absolute;
-    top: 6px;
-  }
-  .prev {
-    left: 15px;
-  }
-  .next {
-    right: 15px;
-  }
-  // indicators for each step/page/item/etc
-  .dot {
-    display: inline-block;
-    width: 10px;
-    height: 10px;
-    margin: 0 3px;
-    text-indent: -999em;
-    background-color: @grayLight;
-    .border-radius(5px);
-    .box-shadow(inset 0 1px 1px rgba(0,0,0,.25));
-  }
-  .dot:hover,
-  .active .dot {
-    background-color: @grayDark;
-  }
-}
-
-
-// Subnav
-// STILL A WIP
-.subnav {
-  #gradient > .vertical(#f5f5f5, #eeeeee);
-  @shadow: inset 0 1px 0 #fff, 0 0 5px rgba(0,0,0,.5);
-  .box-shadow(@shadow);
-  a {
-    padding: 8px 10px;
-    font-size: 12px;
-    color: @linkColor;
-    text-shadow: 0 1px 0 #fff;
-    border-left: 1px solid #f9f9f9;
-    border-right: 1px solid #e5e5e5;
-    &:hover {
-      color: @linkColorHover;
-      background-color: #eee;
-    }
-  }
-  li:first-child a {
-    border-left: 0;
-    .border-radius(6px 0 0 6px);
-  }
-  li:last-child a {
-    border-right: 0;
-    .border-radius(0 6px 6px 0);
-  }
-  ul .active > a {
-    color: @grayDark;
-    background-color: #eee;
-  }
-}
\ No newline at end of file
diff --git a/lib/type.less b/lib/type.less
index 32cb094310..7e2c4a7a86 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -201,7 +201,7 @@ pre {
   background-color: #f5f5f5;
   border: 1px solid #ccc;
   border: 1px solid rgba(0,0,0,.15);
-  .border-radius(3px);
+  .border-radius(4px);
   white-space: pre;
   white-space: pre-wrap;
   word-break: break-all;
-- 
GitLab


From 95f47026cf55dc029d266e80bb4fab00b85af0e8 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 21:09:02 -0800
Subject: [PATCH 220/576] fix up dropdowns and navbar docs for the new dropdown
 styles

---
 bootstrap.css        | 251 +++++++++++++++----------------------------
 bootstrap.min.css    |  29 +++--
 docs/components.html |  22 ++--
 docs/javascript.html |  20 ++--
 lib/dropdowns.less   |   3 +-
 lib/navbar.less      | 137 ++++++++++++++++-------
 6 files changed, 220 insertions(+), 242 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 5c9d4aa97b..f16ce9e3d3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 20:25:41 PST 2012
+ * Date: Sat Jan  7 20:56:31 PST 2012
  */
 html, body {
   margin: 0;
@@ -1441,7 +1441,7 @@ i {
   margin-top: 8px;
   margin-left: 2px;
 }
-.dropdown:hover .caret {
+.dropdown:hover .caret, .open.dropdown .caret {
   filter: alpha(opacity=100);
   -moz-opacity: 1;
   opacity: 1;
@@ -1709,45 +1709,15 @@ i {
   display: block;
   float: left;
   margin: 0 10px 0 0;
-  /*  // Dropdowns within the .nav
-  .dropdown-toggle:hover,
-  .dropdown.open .dropdown-toggle {
-    background: #444;
-    background: rgba(255,255,255,.05);
-  }
-  .dropdown-menu {
-    background-color: #333;
-    .dropdown-toggle {
-      color: @white;
-      &.open {
-        background: #444;
-        background: rgba(255,255,255,.05);
-      }
-    }
-    li a {
-      padding: 4px 15px;
-      color: #999;
-      text-shadow: 0 1px 0 rgba(0,0,0,.5);
-      &:hover {
-        #gradient > .vertical(#292929,#191919);
-        color: @white;
-      }
-    }
-    .active a {
-      color: @white;
-    }
-    .divider {
-      background-color: #222;
-      border-color: #444;
-    }
-  }*/
-
+}
+.navbar .nav.pull-right {
+  float: right;
 }
 .navbar .nav > li {
   display: block;
   float: left;
 }
-.navbar .nav a {
+.navbar .nav > li > a {
   float: none;
   padding: 10px 10px 11px;
   line-height: 19px;
@@ -1755,7 +1725,8 @@ i {
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
-.navbar .nav a:hover {
+.navbar .nav > li > a:hover {
+  background-color: transparent;
   color: #ffffff;
   text-decoration: none;
 }
@@ -1763,7 +1734,7 @@ i {
   background-color: #222;
   background-color: rgba(0, 0, 0, 0.5);
 }
-.navbar .nav .vertical-divider {
+.navbar .vertical-divider {
   height: 40px;
   width: 1px;
   margin: 0 5px;
@@ -1771,15 +1742,86 @@ i {
   background-color: #222;
   border-right: 1px solid #444;
 }
-.navbar .nav.secondary-nav {
-  float: right;
+.navbar .nav.pull-right {
   margin-left: 10px;
   margin-right: 0;
 }
-.navbar .nav.secondary-nav .dropdown-menu {
+.navbar .dropdown-menu {
+  top: 42px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.navbar .dropdown-menu:before {
+  content: '';
+  display: inline-block;
+  border-left: 7px solid transparent;
+  border-right: 7px solid transparent;
+  border-bottom: 7px solid #ccc;
+  border-bottom-color: rgba(0, 0, 0, 0.1);
+  position: absolute;
+  top: -7px;
+  left: 12px;
+}
+.navbar .dropdown-menu:after {
+  content: '';
+  display: inline-block;
+  border-left: 6px solid transparent;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid #fff;
+  position: absolute;
+  top: -6px;
+  left: 13px;
+}
+.navbar .dropdown-toggle .caret, .navbar .open.dropdown .caret {
+  border-top-color: #fff;
+}
+.navbar .open .dropdown-toggle {
+  background-color: transparent;
+}
+.navbar .nav.pull-right .dropdown-menu {
   right: 0;
-  border: 0;
 }
+.navbar .nav.pull-right .dropdown-menu:before {
+  left: auto;
+  right: 12px;
+}
+.navbar .nav.pull-right .dropdown-menu:after {
+  left: auto;
+  right: 13px;
+}
+/*  // Dropdowns within the .nav
+  .dropdown-toggle:hover,
+  .dropdown.open .dropdown-toggle {
+    background: #444;
+    background: rgba(255,255,255,.05);
+  }
+  .dropdown-menu {
+    background-color: #333;
+    .dropdown-toggle {
+      color: @white;
+      &.open {
+        background: #444;
+        background: rgba(255,255,255,.05);
+      }
+    }
+    li a {
+      padding: 4px 15px;
+      color: #999;
+      text-shadow: 0 1px 0 rgba(0,0,0,.5);
+      &:hover {
+        #gradient > .vertical(#292929,#191919);
+        color: @white;
+      }
+    }
+    .active a {
+      color: @white;
+    }
+    .divider {
+      background-color: #222;
+      border-color: #444;
+    }
+  }*/
 .nav {
   margin-left: 0;
   margin-bottom: 18px;
@@ -2042,130 +2084,7 @@ i {
 .tab-content > .active, .pill-content > .active {
   display: block;
 }
-.step-nav {
-  position: relative;
-  margin: 0 0 18px;
-  list-style: none;
-  line-height: 30px;
-  text-align: center;
-  background-color: #f5f5f5;
-  -webkit-border-radius: 15px;
-  -moz-border-radius: 15px;
-  border-radius: 15px;
-}
-.step-nav li {
-  display: inline;
-  color: #999999;
-}
-.step-nav .prev, .step-nav .next {
-  position: absolute;
-  top: 6px;
-}
-.step-nav .prev {
-  left: 15px;
-}
-.step-nav .next {
-  right: 15px;
-}
-.step-nav .dot {
-  display: inline-block;
-  width: 10px;
-  height: 10px;
-  margin: 0 3px;
-  text-indent: -999em;
-  background-color: #999999;
-  -webkit-border-radius: 5px;
-  -moz-border-radius: 5px;
-  border-radius: 5px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.25);
-}
-.step-nav .dot:hover, .step-nav .active .dot {
-  background-color: #333333;
-}
-.subnav {
-  background-color: #eeeeee;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));
-  background-image: -moz-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: -ms-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: -o-linear-gradient(top, #f5f5f5, #eeeeee);
-  background-image: linear-gradient(top, #f5f5f5, #eeeeee);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
-  -moz-box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
-  box-shadow: inset 0 1px 0 #ffffff, 0 0 5px rgba(0, 0, 0, 0.5);
-}
-.subnav a {
-  padding: 8px 10px;
-  font-size: 12px;
-  color: #0088cc;
-  text-shadow: 0 1px 0 #fff;
-  border-left: 1px solid #f9f9f9;
-  border-right: 1px solid #e5e5e5;
-}
-.subnav a:hover {
-  color: #005580;
-  background-color: #eee;
-}
-.subnav li:first-child a {
-  border-left: 0;
-  -webkit-border-radius: 6px 0 0 6px;
-  -moz-border-radius: 6px 0 0 6px;
-  border-radius: 6px 0 0 6px;
-}
-.subnav li:last-child a {
-  border-right: 0;
-  -webkit-border-radius: 0 6px 6px 0;
-  -moz-border-radius: 0 6px 6px 0;
-  border-radius: 0 6px 6px 0;
-}
-.subnav ul .active > a {
-  color: #333333;
-  background-color: #eee;
-}
-/*.side-nav {
-  padding: @baseLineHeight / 2 0;
-}
-.side-nav .nav-label,
-.side-nav .nav-item {
-  display: block;
-  padding: 3px 15px;
-  text-shadow: 0 1px 0 rgba(255,255,255,.5);
-}
-.side-nav .nav-label {
-  font-size: 11px;
-  line-height: @baseLineHeight;
-  color: @grayLight;
-  text-transform: uppercase;
-}
-.side-nav .nav-group {
-  margin: 0; // clear default ul margins
-  list-style: none;
-}
-.side-nav .nav-group + .nav-label {
-  margin-top: 9px;
-}
-
-.side-nav .nav-item {
-  font-weight: bold;
-}
-.side-nav .nav-item i {
-  vertical-align: -2px;
-}
-.side-nav .nav-item:hover {
-  text-decoration: none;
-}
-.side-nav .active .nav-item {
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0,0,0,.3);
-  #gradient > .vertical(#ccc, #999);
-  @shadow: inset 0 1px 0 rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.05);
-  .box-shadow(@shadow);
-}*/.breadcrumb {
+.breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
   background-color: #f5f5f5;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 5597bf1ef9..9974092057 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -302,7 +302,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown{position:relative;}
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;}
-.dropdown:hover .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
@@ -325,11 +325,20 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1010;}
-.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}.navbar .nav>li{display:block;float:left;}
-.navbar .nav a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar .nav a:hover{color:#ffffff;text-decoration:none;}
+.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
+.navbar .nav.pull-right{float:right;}
+.navbar .nav>li{display:block;float:left;}
+.navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
+.navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
 .navbar .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
-.navbar .nav .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
-.navbar .nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.navbar .nav.secondary-nav .dropdown-menu{right:0;border:0;}
+.navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
+.navbar .nav.pull-right{margin-left:10px;margin-right:0;}
+.navbar .dropdown-menu{top:42px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.1);position:absolute;top:-7px;left:12px;}
+.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:13px;}
+.navbar .dropdown-toggle .caret,.navbar .open.dropdown .caret{border-top-color:#fff;}
+.navbar .open .dropdown-toggle{background-color:transparent;}
+.navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
+.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
 .nav{margin-left:0;margin-bottom:18px;list-style:none;}
 .nav>li>a{display:block;}
 .nav>li>a:hover{text-decoration:none;background-color:#eee;}
@@ -378,16 +387,6 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabbable.tabs-right .tabs .active>a,.tabbable.tabs-right .tabs .active>a:hover{border-color:#ddd;border-left-color:transparent;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
-.step-nav{position:relative;margin:0 0 18px;list-style:none;line-height:30px;text-align:center;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.step-nav li{display:inline;color:#999999;}
-.step-nav .prev,.step-nav .next{position:absolute;top:6px;}
-.step-nav .prev{left:15px;}
-.step-nav .next{right:15px;}
-.step-nav .dot{display:inline-block;width:10px;height:10px;margin:0 3px;text-indent:-999em;background-color:#999999;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.25);}
-.step-nav .dot:hover,.step-nav .active .dot{background-color:#333333;}
-.subnav{background-color:#eeeeee;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eeeeee));background-image:-moz-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-ms-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee));background-image:-webkit-linear-gradient(top, #f5f5f5, #eeeeee);background-image:-o-linear-gradient(top, #f5f5f5, #eeeeee);background-image:linear-gradient(top, #f5f5f5, #eeeeee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);-webkit-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);-moz-box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);box-shadow:inset 0 1px 0 #ffffff,0 0 5px rgba(0, 0, 0, 0.5);}.subnav a{padding:8px 10px;font-size:12px;color:#0088cc;text-shadow:0 1px 0 #fff;border-left:1px solid #f9f9f9;border-right:1px solid #e5e5e5;}.subnav a:hover{color:#005580;background-color:#eee;}
-.subnav li:first-child a{border-left:0;-webkit-border-radius:6px 0 0 6px;-moz-border-radius:6px 0 0 6px;border-radius:6px 0 0 6px;}
-.subnav li:last-child a{border-right:0;-webkit-border-radius:0 6px 6px 0;-moz-border-radius:0 6px 6px 0;border-radius:0 6px 6px 0;}
-.subnav ul .active>a{color:#333333;background-color:#eee;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#999999;}
 .breadcrumb .active a{color:#333333;}
diff --git a/docs/components.html b/docs/components.html
index eb9932473d..934a90fbcc 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -386,27 +386,30 @@
           <li><a href="#">Link</a></li>
           <li><a href="#">Link</a></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
             <ul class="dropdown-menu">
-              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
               <li><a href="#">Something else here</a></li>
               <li class="divider"></li>
-              <li><a href="#">Another link</a></li>
+              <li><a href="#">Separated link</a></li>
             </ul>
           </li>
         </ul>
         <form class="navbar-search pull-left" action="">
           <input type="text" class="search-query span2" placeholder="Search">
         </form>
-        <ul class="nav secondary-nav">
+        <ul class="nav pull-right">
+          <li><a href="#">Link</a></li>
           <li class="vertical-divider"></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
             <ul class="dropdown-menu">
-              <li><a href="#">Secondary link</a></li>
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
               <li><a href="#">Something else here</a></li>
               <li class="divider"></li>
-              <li><a href="#">Another link</a></li>
+              <li><a href="#">Separated link</a></li>
             </ul>
           </li>
         </ul>
@@ -460,7 +463,8 @@
   &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 </pre>
-      <p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdowns">our javascript plugin</a>.</p>
+      <h3>Adding dropdowns</h3>
+      <p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdown">our javascript plugin</a>.</p>
 <pre class="prettyprint linenums">
 &lt;ul class="nav"&gt;
   &lt;li class="dropdown"&gt;
@@ -468,6 +472,7 @@
           class="dropdown-toggle"
           data-toggle="dropdown">
           Account
+          &lt;b class="caret"&gt;&lt;/b&gt;
     &lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
       ...
@@ -475,6 +480,7 @@
   &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
+    <p><a class="btn" href="./javascript.html/#dropdown">Get the javascript &rarr;</a></p>
     </div>
   </div>
 
diff --git a/docs/javascript.html b/docs/javascript.html
index ca9217674f..dbf8d922a2 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -323,7 +323,7 @@ $('#myModal').on('hidden', function () {
 &lt;ul class="tabs"&gt;
   &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
   &lt;li id="secondary" class="dropdown"&gt;
-    &lt;a href="#secondary" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown &lt;span class="caret"&gt;&lt;/span&gt;&lt;/a&gt;
+    &lt;a href="#secondary" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown &lt;b class="caret"&gt;&lt;/b&gt;&lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
       &lt;li&gt;&lt;a href="#"&gt;Secondary link&lt;/a&gt;&lt;/li&gt;
       &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
@@ -349,23 +349,15 @@ $('#myModal').on('hidden', function () {
                 <form class="form-search navbar-search pull-left" action="">
                   <input type="text" class="search-query span2" placeholder="Search">
                 </form>
-                <ul class="nav secondary-nav">
+                <ul class="nav pull-right">
                   <li id="fat-menu" class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1 <span class="caret"></span></a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1 <b class="caret"></b></a>
                     <ul class="dropdown-menu">
-                      <li><a href="#">Secondary link</a></li>
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
                       <li><a href="#">Something else here</a></li>
                       <li class="divider"></li>
-                      <li><a href="#">Another link</a></li>
-                    </ul>
-                  </li>
-                  <li id="mdo-menu" class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <span class="caret"></span></a>
-                    <ul class="dropdown-menu">
-                      <li><a href="#">Secondary link</a></li>
-                      <li><a href="#">Something else here</a></li>
-                      <li class="divider"></li>
-                      <li><a href="#">Another link</a></li>
+                      <li><a href="#">Separated link</a></li>
                     </ul>
                   </li>
                 </ul>
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index a1b9e37bc2..f59ab3728b 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -22,7 +22,8 @@
   margin-top: 8px;
   margin-left: 2px;
 }
-.dropdown:hover .caret {
+.dropdown:hover .caret,
+.open.dropdown .caret {
   .opacity(100);
 }
 // The dropdown menu (ul)
diff --git a/lib/navbar.less b/lib/navbar.less
index 00afe3d8fe..b7f2231417 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -133,54 +133,116 @@
 // NAVIGATION
 // ----------
 
-// Nav for navbar and topbar
-// ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
 .navbar .nav {
   position: relative;
   left: 0;
   display: block;
   float: left;
   margin: 0 10px 0 0;
-  > li {
-    display: block;
-    float: left;
+}
+.navbar .nav.pull-right {
+  float: right; // redeclare due to specificity
+}
+.navbar .nav > li {
+  display: block;
+  float: left;
+}
+
+// Links
+.navbar .nav > li > a {
+  float: none;
+  padding: 10px 10px 11px;
+  line-height: 19px;
+  color: @grayLight;
+  text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+}
+// Hover
+.navbar .nav > li > a:hover {
+  background-color: transparent;
+  color: @white;
+  text-decoration: none;
+}
+
+// Active nav items
+.navbar .nav .active > a {
+  background-color: #222;
+  background-color: rgba(0,0,0,.5);
+}
+
+// Dividers (basically a vertical hr)
+.navbar .vertical-divider {
+  height: 40px;
+  width: 1px;
+  margin: 0 5px;
+  overflow: hidden;
+  background-color: #222;
+  border-right: 1px solid #444;
+}
+
+// Secondary (floated right) nav in topbar
+.navbar .nav.pull-right {
+  margin-left: 10px;
+  margin-right: 0;
+}
+
+
+
+// Dropdown menus
+// --------------
+
+// Menu position and menu carets
+.navbar .dropdown-menu {
+  top: 42px;
+  .border-radius(4px);
+  &:before {
+    content: '';
+    display: inline-block;
+    border-left:   7px solid transparent;
+    border-right:  7px solid transparent;
+    border-bottom: 7px solid #ccc;
+    border-bottom-color: rgba(0,0,0,.1);
+    position: absolute;
+    top: -7px;
+    left: 12px;
   }
-  a {
-    float: none;
-    padding: 10px 10px 11px;
-    line-height: 19px;
-    color: @grayLight;
-    text-decoration: none;
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-    &:hover {
-      color: @white;
-      text-decoration: none;
-    }
+  &:after {
+    content: '';
+    display: inline-block;
+    border-left:   6px solid transparent;
+    border-right:  6px solid transparent;
+    border-bottom: 6px solid #fff;
+    position: absolute;
+    top: -6px;
+    left: 13px;
   }
-  .active > a {
-    background-color: #222;
-    background-color: rgba(0,0,0,.5);
+}
+
+// Dropdown toggle caret
+.navbar .dropdown-toggle .caret,
+.navbar .open.dropdown .caret {
+  border-top-color: #fff;
+}
+
+// Remove background color from open dropdown
+.navbar .open .dropdown-toggle {
+  background-color: transparent;
+}
+
+// Right aligned menus need alt position
+.navbar .nav.pull-right .dropdown-menu {
+  right: 0;
+  &:before {
+    left: auto;
+    right: 12px;
   }
-  // Dividers (basically a vertical hr)
-  .vertical-divider {
-    height: 40px;
-    width: 1px;
-    margin: 0 5px;
-    overflow: hidden;
-    background-color: #222;
-    border-right: 1px solid #444;
+  &:after {
+    left: auto;
+    right: 13px;
   }
+}
+
 
-  // Secondary (floated right) nav in topbar
-  &.secondary-nav {
-    float: right;
-    margin-left: 10px;
-    margin-right: 0;
-    .dropdown-menu {
-      right: 0;
-      border: 0;
-    }
-  }
 /*  // Dropdowns within the .nav
   .dropdown-toggle:hover,
   .dropdown.open .dropdown-toggle {
@@ -213,4 +275,3 @@
       border-color: #444;
     }
   }*/
-}
-- 
GitLab


From ecffa038903412419163c7aed9299a7289ad14ad Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 21:10:17 -0800
Subject: [PATCH 221/576] nuke unused code, add to upgrading page

---
 bootstrap.css       | 34 +---------------------------------
 docs/upgrading.html |  1 +
 lib/navbar.less     | 34 ----------------------------------
 3 files changed, 2 insertions(+), 67 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index f16ce9e3d3..6d9d78ebb1 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 20:56:31 PST 2012
+ * Date: Sat Jan  7 21:10:08 PST 2012
  */
 html, body {
   margin: 0;
@@ -1790,38 +1790,6 @@ i {
   left: auto;
   right: 13px;
 }
-/*  // Dropdowns within the .nav
-  .dropdown-toggle:hover,
-  .dropdown.open .dropdown-toggle {
-    background: #444;
-    background: rgba(255,255,255,.05);
-  }
-  .dropdown-menu {
-    background-color: #333;
-    .dropdown-toggle {
-      color: @white;
-      &.open {
-        background: #444;
-        background: rgba(255,255,255,.05);
-      }
-    }
-    li a {
-      padding: 4px 15px;
-      color: #999;
-      text-shadow: 0 1px 0 rgba(0,0,0,.5);
-      &:hover {
-        #gradient > .vertical(#292929,#191919);
-        color: @white;
-      }
-    }
-    .active a {
-      color: @white;
-    }
-    .divider {
-      background-color: #222;
-      border-color: #444;
-    }
-  }*/
 .nav {
   margin-left: 0;
   margin-bottom: 18px;
diff --git a/docs/upgrading.html b/docs/upgrading.html
index f6070f8468..916240794f 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -111,6 +111,7 @@
     <ul>
       <li>Updated the <code>.dropdown-menu</code> to tighten up spacing</li>
       <li>Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow</li>
+      <li>The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.</li>
     </ul>
   </li>
   <li>Navigation
diff --git a/lib/navbar.less b/lib/navbar.less
index b7f2231417..8ee203307f 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -241,37 +241,3 @@
     right: 13px;
   }
 }
-
-
-/*  // Dropdowns within the .nav
-  .dropdown-toggle:hover,
-  .dropdown.open .dropdown-toggle {
-    background: #444;
-    background: rgba(255,255,255,.05);
-  }
-  .dropdown-menu {
-    background-color: #333;
-    .dropdown-toggle {
-      color: @white;
-      &.open {
-        background: #444;
-        background: rgba(255,255,255,.05);
-      }
-    }
-    li a {
-      padding: 4px 15px;
-      color: #999;
-      text-shadow: 0 1px 0 rgba(0,0,0,.5);
-      &:hover {
-        #gradient > .vertical(#292929,#191919);
-        color: @white;
-      }
-    }
-    .active a {
-      color: @white;
-    }
-    .divider {
-      background-color: #222;
-      border-color: #444;
-    }
-  }*/
-- 
GitLab


From d0eecc85f89fd258a2e58d7be06a8b6068da90e4 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 21:18:14 -0800
Subject: [PATCH 222/576] remove tabbable stuff to try new approach

---
 docs/components.html | 19 ++++++++++++++++++-
 lib/navs.less        |  3 ++-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index 934a90fbcc..e0ce812976 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -258,7 +258,24 @@
   </div>
 
 
-
+  <h2>Tabbable tabs</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>What's included</h3>
+      <p>Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles:</p>
+      <ul>
+        <li>top (default)</li>
+        <li>right</li>
+        <li>bottom</li>
+        <li>left</li>
+      </ul>
+      <p>Changing between them is easy and only requires changing very little markup.</p>
+    </div>
+    <div class="span4">
+    </div>
+    <div class="span4">
+    </div>
+  </div>
 
 
 
diff --git a/lib/navs.less b/lib/navs.less
index 8616ea0471..0d31cf3bcf 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -203,6 +203,7 @@
 // TABBABLE
 // --------
 
+/*
 .tabbable {
   margin-bottom: @baseLineHeight;
 
@@ -308,7 +309,7 @@
     }
   }
 }
-
+*/
 
 
 
-- 
GitLab


From 22e0c5f7c8c092531b111b6042a7d7ee87d406b6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 22:06:44 -0800
Subject: [PATCH 223/576] redoing the tabs on bottom, left, and right

---
 bootstrap.css        | 180 ++++++++++++++++++++++++++---------------
 bootstrap.min.css    |  31 ++++----
 docs/components.html | 186 +++++++++++++++++++++++--------------------
 lib/navs.less        | 113 ++++++++++++++++++++------
 4 files changed, 321 insertions(+), 189 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6d9d78ebb1..ebb3cbe294 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 21:10:08 PST 2012
+ * Date: Sat Jan  7 22:06:30 PST 2012
  */
 html, body {
   margin: 0;
@@ -1948,104 +1948,160 @@ i {
   opacity: 1;
 }
 .tabbable {
-  margin-bottom: 18px;
+  zoom: 1;
 }
-.tabbable .tabs {
-  margin-bottom: 0;
+.tabbable:before, .tabbable:after {
+  display: table;
+  *display: inline;
+  content: "";
+  zoom: 1;
+}
+.tabbable:after {
+  clear: both;
+}
+.tabs-below .tabs, .tabs-right .tabs, .tabs-left .tabs {
   border-bottom: 0;
 }
-.tabbable .tab-content {
-  padding: 19px;
-  border: 1px solid #ddd;
+.tabs-below .tabs {
+  border-top: 1px solid #ddd;
 }
-.tabbable.tabs-bottom .tabs > li {
+.tabs-below .tabs > li {
   margin-top: -1px;
   margin-bottom: 0;
 }
-.tabbable.tabs-bottom .tabs > li > a {
+.tabs-below .tabs > li > a {
   -webkit-border-radius: 0 0 4px 4px;
   -moz-border-radius: 0 0 4px 4px;
   border-radius: 0 0 4px 4px;
 }
-.tabbable.tabs-bottom .tabs > li > a:hover {
+.tabs-below .tabs > li > a:hover {
   border-bottom-color: transparent;
   border-top-color: #ddd;
 }
-.tabbable.tabs-bottom .tabs > .active > a, .tabbable.tabs-bottom .tabs > .active > a:hover {
+.tabs-below .tabs .active > a, .tabs-below .tabs .active > a:hover {
   border-color: transparent #ddd #ddd #ddd;
 }
-.tabbable.tabs-left, .tabbable.tabs-right {
-  zoom: 1;
-}
-.tabbable.tabs-left:before,
-.tabbable.tabs-right:before,
-.tabbable.tabs-left:after,
-.tabbable.tabs-right:after {
-  display: table;
-  *display: inline;
-  content: "";
-  zoom: 1;
-}
-.tabbable.tabs-left:after, .tabbable.tabs-right:after {
-  clear: both;
-}
-.tabbable.tabs-left .tabs, .tabbable.tabs-right .tabs {
-  width: 100px;
-}
-.tabbable.tabs-left .tabs > li, .tabbable.tabs-right .tabs > li {
+.tabs-left .tabs > li, .tabs-right .tabs > li {
   float: none;
-  margin-bottom: -1px;
-}
-.tabbable.tabs-left .tabs > li > a, .tabbable.tabs-right .tabs > li > a {
-  margin-bottom: 2px;
-}
-.tabbable.tabs-left .tabs > li > a:hover, .tabbable.tabs-right .tabs > li > a:hover {
-  border-color: transparent;
 }
-.tabbable.tabs-left .tab-content {
-  margin-left: 100px;
+.tabs-left .tabs > li > a, .tabs-right .tabs > li > a {
+  min-width: 74px;
+  margin-right: 0;
+  margin-bottom: 3px;
 }
-.tabbable.tabs-left .tabs {
+.tabs-left .tabs {
   float: left;
+  margin-right: 19px;
+  border-right: 1px solid #ddd;
 }
-.tabbable.tabs-left .tabs > li {
+.tabs-left .tabs > li > a {
   margin-right: -1px;
-}
-.tabbable.tabs-left .tabs > li > a {
-  margin-right: 0;
   -webkit-border-radius: 4px 0 0 4px;
   -moz-border-radius: 4px 0 0 4px;
   border-radius: 4px 0 0 4px;
 }
-.tabbable.tabs-left .tabs > li > a:hover {
-  border-right-color: #ddd;
-}
-.tabbable.tabs-left .tabs .active > a, .tabbable.tabs-left .tabs .active > a:hover {
-  border-color: #ddd;
-  border-right-color: transparent;
+.tabs-left .tabs > li > a:hover {
+  border-color: #eee #ddd #eee #eee;
 }
-.tabbable.tabs-right .tab-content {
-  margin-right: 100px;
+.tabs-left .tabs .active > a, .tabs-left .tabs .active > a:hover {
+  border-color: #ddd transparent #ddd #ddd;
 }
-.tabbable.tabs-right .tabs {
+.tabs-right .tabs {
   float: right;
+  margin-left: 19px;
+  border-left: 1px solid #ddd;
 }
-.tabbable.tabs-right .tabs > li {
+.tabs-right .tabs > li > a {
   margin-left: -1px;
-}
-.tabbable.tabs-right .tabs > li > a {
-  margin-left: 0;
   -webkit-border-radius: 0 4px 4px 0;
   -moz-border-radius: 0 4px 4px 0;
   border-radius: 0 4px 4px 0;
 }
-.tabbable.tabs-right .tabs > li > a:hover {
-  border-left-color: #ddd;
+.tabs-right .tabs > li > a:hover {
+  border-color: #eee #eee #eee #ddd;
 }
-.tabbable.tabs-right .tabs .active > a, .tabbable.tabs-right .tabs .active > a:hover {
-  border-color: #ddd;
-  border-left-color: transparent;
+.tabs-right .tabs .active > a, .tabs-right .tabs .active > a:hover {
+  border-color: #ddd #ddd #ddd transparent;
+}
+/*
+.tabbable {
+
+  // Tabs on left and right
+  &.tabs-left,
+  &.tabs-right {
+    .clearfix();
+    .tabs {
+      // Give a fixed width to avoid floating .tab-con
+      width: 100px;
+      // Unfloat them so they stack
+      > li {
+        float: none;
+        margin-bottom: -1px;
+        > a {
+          margin-bottom: 2px;
+          &:hover {
+            border-color: transparent;
+          }
+        }
+      }
+    }
+  }
+
+  // Tabs on left
+  &.tabs-left {
+    .tab-content {
+      margin-left: 100px;
+    }
+    .tabs {
+      float: left;
+      > li {
+        margin-right: -1px;
+        > a {
+          margin-right: 0;
+          .border-radius(4px 0 0 4px);
+
+          &:hover {
+            border-right-color: #ddd;
+          }
+        }
+      }
+      // Active state
+      .active > a,
+      .active > a:hover {
+        border-color: #ddd;
+        border-right-color: transparent;
+      }
+    }
+  }
+
+  // Tabs on right
+  &.tabs-right {
+    .tab-content {
+      margin-right: 100px;
+    }
+    .tabs {
+      float: right;
+      > li {
+        margin-left: -1px;
+        > a {
+          margin-left: 0;
+          .border-radius(0 4px 4px 0);
+
+          &:hover {
+            border-left-color: #ddd;
+          }
+        }
+      }
+      // Active state
+      .active > a,
+      .active > a:hover {
+        border-color: #ddd;
+        border-left-color: transparent;
+      }
+    }
+  }
 }
+*/
 .tab-content > .tab-pane, .pill-content > .pill-pane {
   display: none;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9974092057..868cfcb659 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -371,20 +371,23 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{margin-top:6px;}
 .tabs .open .dropdown-toggle,.pills .open .dropdown-toggle{background-color:#999;border-color:#999;}
 .tabs .open .caret,.pills .open .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.tabbable{margin-bottom:18px;}.tabbable .tabs{margin-bottom:0;border-bottom:0;}
-.tabbable .tab-content{padding:19px;border:1px solid #ddd;}
-.tabbable.tabs-bottom .tabs>li{margin-top:-1px;margin-bottom:0;}
-.tabbable.tabs-bottom .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabbable.tabs-bottom .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
-.tabbable.tabs-bottom .tabs>.active>a,.tabbable.tabs-bottom .tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
-.tabbable.tabs-left,.tabbable.tabs-right{zoom:1;}.tabbable.tabs-left:before,.tabbable.tabs-right:before,.tabbable.tabs-left:after,.tabbable.tabs-right:after{display:table;*display:inline;content:"";zoom:1;}
-.tabbable.tabs-left:after,.tabbable.tabs-right:after{clear:both;}
-.tabbable.tabs-left .tabs,.tabbable.tabs-right .tabs{width:100px;}.tabbable.tabs-left .tabs>li,.tabbable.tabs-right .tabs>li{float:none;margin-bottom:-1px;}.tabbable.tabs-left .tabs>li>a,.tabbable.tabs-right .tabs>li>a{margin-bottom:2px;}.tabbable.tabs-left .tabs>li>a:hover,.tabbable.tabs-right .tabs>li>a:hover{border-color:transparent;}
-.tabbable.tabs-left .tab-content{margin-left:100px;}
-.tabbable.tabs-left .tabs{float:left;}.tabbable.tabs-left .tabs>li{margin-right:-1px;}.tabbable.tabs-left .tabs>li>a{margin-right:0;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.tabbable.tabs-left .tabs>li>a:hover{border-right-color:#ddd;}
-.tabbable.tabs-left .tabs .active>a,.tabbable.tabs-left .tabs .active>a:hover{border-color:#ddd;border-right-color:transparent;}
-.tabbable.tabs-right .tab-content{margin-right:100px;}
-.tabbable.tabs-right .tabs{float:right;}.tabbable.tabs-right .tabs>li{margin-left:-1px;}.tabbable.tabs-right .tabs>li>a{margin-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.tabbable.tabs-right .tabs>li>a:hover{border-left-color:#ddd;}
-.tabbable.tabs-right .tabs .active>a,.tabbable.tabs-right .tabs .active>a:hover{border-color:#ddd;border-left-color:transparent;}
+.tabbable{zoom:1;}.tabbable:before,.tabbable:after{display:table;*display:inline;content:"";zoom:1;}
+.tabbable:after{clear:both;}
+.tabs-below .tabs,.tabs-right .tabs,.tabs-left .tabs{border-bottom:0;}
+.tabs-below .tabs{border-top:1px solid #ddd;}
+.tabs-below .tabs>li{margin-top:-1px;margin-bottom:0;}
+.tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
+.tabs-below .tabs .active>a,.tabs-below .tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;}
+.tabs-left .tabs>li,.tabs-right .tabs>li{float:none;}
+.tabs-left .tabs>li>a,.tabs-right .tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
+.tabs-left .tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
+.tabs-left .tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
+.tabs-left .tabs>li>a:hover{border-color:#eee #ddd #eee #eee;}
+.tabs-left .tabs .active>a,.tabs-left .tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;}
+.tabs-right .tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
+.tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
+.tabs-right .tabs>li>a:hover{border-color:#eee #eee #eee #ddd;}
+.tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
 .tab-content>.active,.pill-content>.active{display:block;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
diff --git a/docs/components.html b/docs/components.html
index e0ce812976..6fca1268f7 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -258,7 +258,7 @@
   </div>
 
 
-  <h2>Tabbable tabs</h2>
+  <h2>Tabbable nav <small>Bring tabs to life via javascript</small></h2>
   <div class="row">
     <div class="span4">
       <h3>What's included</h3>
@@ -270,116 +270,128 @@
         <li>left</li>
       </ul>
       <p>Changing between them is easy and only requires changing very little markup.</p>
+      <hr>
+      <h3>Custom jQuery plugin</h3>
+      <p>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.</p>
+      <p><a class="btn" href="./javascript.html/#tabs">Get the javascript &rarr;</a></p>
     </div>
-    <div class="span4">
-    </div>
-    <div class="span4">
-    </div>
-  </div>
-
-
-
-
-
-
-
-      <h3>Tabbable tabs</h3>
-      <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>
-
+    <div class="span8">
+      <h3>Tabbable example</h3>
+      <p>To make tabs tabbable, wrap the <code>.tabs</code> in another div with class <code>.tabbable</code>.</p>
       <div class="tabbable">
-        <ul class="tabs">
+        <ul class="nav tabs">
           <li class="active"><a href="#1" data-toggle="tab">Section 1</a></li>
           <li><a href="#2" data-toggle="tab">Section 2</a></li>
           <li><a href="#3" data-toggle="tab">Section 3</a></li>
-          <li><a href="#4" data-toggle="tab">Section 4</a></li>
         </ul>
         <div class="tab-content">
           <div class="tab-pane active" id="1">
-            <p>Oh hai #1!</p>
+            <p>I'm in Section 1.</p>
           </div>
           <div class="tab-pane" id="2">
-            <p>Oh hai #2!</p>
+            <p>Howdy, I'm in Section 2.</p>
           </div>
           <div class="tab-pane" id="3">
-            <p>Oh hai #3!</p>
-          </div>
-          <div class="tab-pane" id="4">
-            <p>Oh hai #4!</p>
+            <p>What up girl, this is Section 3.</p>
           </div>
         </div>
-      </div>
+      </div> <!-- /tabbable -->
+      <hr>
+      <h3>Straightforward markup</h3>
+      <p>Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.</p>
+<pre class="prettyprint linenums">
+&lt;div class="tabbable"&gt;
+  &lt;ul class="nav tabs"&gt;
+    &lt;li class="active"&gt;&lt;a href="#1" data-toggle="tab"&gt;Section 1&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#2" data-toggle="tab"&gt;Section 2&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    &lt;div class="tab-pane active" id="1"&gt;
+      &lt;p&gt;I'm in Section 1.&lt;/p&gt;
+    &lt;/div&gt;
+    &lt;div class="tab-pane" id="2"&gt;
+      &lt;p&gt;Howdy, I'm in Section 2.&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div>
 
-       <div class="row">
-        <div class="span4">
-          <div class="tabbable tabs-left">
-            <ul class="tabs">
-              <li class="active"><a href="#5" data-toggle="tab">Section 1</a></li>
-              <li><a href="#6" data-toggle="tab">Section 2</a></li>
-              <li><a href="#7" data-toggle="tab">Section 3</a></li>
-            </ul>
-            <div class="tab-content" id="myTabContent2">
-              <div class="tab-pane active" id="5">
-                <h4>Section 1</h4>
-                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
-              </div>
-              <div class="tab-pane" id="6">
-                <h4>Section 2</h4>
-                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
-              </div>
-              <div class="tab-pane" id="7">
-                <h4>Section 3</h4>
-                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
-              </div>
-            </div>
+  <h3>Tabbable in any direction</h3>
+  <div class="row">
+<!--
+    <div class="span4">
+      <p>Swap the order of your HTML&mdash;placing <code>.tabs</code> after <code>.tab-content</code>&mdash;for tabs on the bottom.</p>
+    </div>
+-->   
+    <div class="span4">
+      <h4>Tabs on the bottom</h4>
+      <p>Flip the order of the HTML and add a class to put tabs on the bottom.</p>
+      <div class="tabbable tabs-below">
+        <div class="tab-content">
+          <div class="tab-pane active" id="A">
+            <p>I'm in Section A.</p>
           </div>
-        </div>
-        <div class="span4 offset1">
-          <div class="tabbable tabs-right">
-            <ul class="tabs">
-              <li class="active"><a href="#8" data-toggle="tab">Section 1</a></li>
-              <li><a href="#9" data-toggle="tab">Section 2</a></li>
-              <li><a href="#10" data-toggle="tab">Section 3</a></li>
-            </ul>
-            <div class="tab-content" id="myTabContent3">
-              <div class="tab-pane active" id="8">
-                <h4>Section 1</h4>
-                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
-              </div>
-              <div class="tab-pane" id="9">
-                <h4>Section 2</h4>
-                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
-              </div>
-              <div class="tab-pane" id="10">
-                <h4>Section 3</h4>
-                <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.</p>
-              </div>
-            </div>
+          <div class="tab-pane" id="B">
+            <p>Howdy, I'm in Section B.</p>
+          </div>
+          <div class="tab-pane" id="C">
+            <p>What up girl, this is Section C.</p>
           </div>
         </div>
-      </div>
-
-      <div class="tabbable tabs-bottom">
+        <ul class="nav tabs">
+          <li class="active"><a href="#A" data-toggle="tab">Section 1</a></li>
+          <li><a href="#B" data-toggle="tab">Section 2</a></li>
+          <li><a href="#C" data-toggle="tab">Section 3</a></li>
+        </ul>
+      </div> <!-- /tabbable -->
+    </div>
+    <div class="span4">
+      <h4>Tabs on the left</h4>
+      <p>Swap the class to put tabs on the left.</p>
+      <div class="tabbable tabs-left">
+        <ul class="nav tabs">
+          <li class="active"><a href="#lA" data-toggle="tab">Section 1</a></li>
+          <li><a href="#lB" data-toggle="tab">Section 2</a></li>
+          <li><a href="#lC" data-toggle="tab">Section 3</a></li>
+        </ul>
         <div class="tab-content">
-          <div class="tab-pane active" id="11">
-            <p>Oh hai #1!</p>
-          </div>
-          <div class="tab-pane" id="12">
-            <p>Oh hai #2!</p>
+          <div class="tab-pane active" id="lA">
+            <p>I'm in Section A.</p>
           </div>
-          <div class="tab-pane" id="13">
-            <p>Oh hai #3!</p>
+          <div class="tab-pane" id="lB">
+            <p>Howdy, I'm in Section B.</p>
           </div>
-          <div class="tab-pane" id="14">
-            <p>Oh hai #4!</p>
+          <div class="tab-pane" id="lC">
+            <p>What up girl, this is Section C.</p>
           </div>
         </div>
-        <ul class="tabs">
-          <li class="active"><a href="#11" data-toggle="tab">Section 1</a></li>
-          <li><a href="#12" data-toggle="tab">Section 2</a></li>
-          <li><a href="#13" data-toggle="tab">Section 3</a></li>
-          <li><a href="#14" data-toggle="tab">Section 4</a></li>
+      </div> <!-- /tabbable -->
+    </div>
+    <div class="span4">
+      <h4>Tabs on the right</h4>
+      <p>Swap the class to put tabs on the right.</p>
+      <div class="tabbable tabs-right">
+        <ul class="nav tabs">
+          <li class="active"><a href="#rA" data-toggle="tab">Section 1</a></li>
+          <li><a href="#rB" data-toggle="tab">Section 2</a></li>
+          <li><a href="#rC" data-toggle="tab">Section 3</a></li>
         </ul>
-      </div>
+        <div class="tab-content">
+          <div class="tab-pane active" id="rA">
+            <p>I'm in Section A.</p>
+          </div>
+          <div class="tab-pane" id="rB">
+            <p>Howdy, I'm in Section B.</p>
+          </div>
+          <div class="tab-pane" id="rC">
+            <p>What up girl, this is Section C.</p>
+          </div>
+        </div>
+      </div> <!-- /tabbable -->
+    </div>
+  </div>
 
 </section>
 
diff --git a/lib/navs.less b/lib/navs.less
index 0d31cf3bcf..f76f1acad0 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -203,36 +203,97 @@
 // TABBABLE
 // --------
 
-/*
+
+// COMMON STYLES
+// ------------- 
+
+// Clear any floats
 .tabbable {
-  margin-bottom: @baseLineHeight;
+  .clearfix();
+}
+// Remove border on bottom, left, right
+.tabs-below .tabs,
+.tabs-right .tabs,
+.tabs-left .tabs {
+  border-bottom: 0;
+}
 
-  // Tabs on top
-  .tabs {
-    margin-bottom: 0;
-    border-bottom: 0;
-  }
-  .tab-content {
-    padding: 19px;
-    border: 1px solid #ddd;
-  }
+// BOTTOM
+// ------
 
-  // Tabs on bottom
-  &.tabs-bottom .tabs > li {
-    margin-top: -1px;
-    margin-bottom: 0;
-  }
-  &.tabs-bottom .tabs > li > a {
-    .border-radius(0 0 4px 4px);
-    &:hover {
-      border-bottom-color: transparent;
-      border-top-color: #ddd;
-    }
-  }
-  &.tabs-bottom .tabs > .active > a,
-  &.tabs-bottom .tabs > .active > a:hover {
-    border-color: transparent #ddd #ddd #ddd;
+.tabs-below .tabs {
+  border-top: 1px solid #ddd;
+}
+.tabs-below .tabs > li {
+  margin-top: -1px;
+  margin-bottom: 0;
+}
+.tabs-below .tabs > li > a {
+  .border-radius(0 0 4px 4px);
+  &:hover {
+    border-bottom-color: transparent;
+    border-top-color: #ddd;
   }
+}
+.tabs-below .tabs .active > a,
+.tabs-below .tabs .active > a:hover {
+  border-color: transparent #ddd #ddd #ddd;
+}
+
+// LEFT & RIGHT
+// ------------
+
+// Common styles
+.tabs-left .tabs > li,
+.tabs-right .tabs > li {
+  float: none;
+}
+.tabs-left .tabs > li > a,
+.tabs-right .tabs > li > a {
+  min-width: 74px;
+  margin-right: 0;
+  margin-bottom: 3px;
+}
+
+// Tabs on the left
+.tabs-left .tabs {
+  float: left;
+  margin-right: 19px;
+  border-right: 1px solid #ddd;
+}
+.tabs-left .tabs > li > a {
+  margin-right: -1px;
+  .border-radius(4px 0 0 4px);
+}
+.tabs-left .tabs > li > a:hover {
+  border-color: #eee #ddd #eee #eee;
+}
+.tabs-left .tabs .active > a,
+.tabs-left .tabs .active > a:hover {
+  border-color: #ddd transparent #ddd #ddd;
+}
+
+// Tabs on the right
+.tabs-right .tabs {
+  float: right;
+  margin-left: 19px;
+  border-left: 1px solid #ddd;
+}
+.tabs-right .tabs > li > a {
+  margin-left: -1px;
+  .border-radius(0 4px 4px 0);
+}
+.tabs-right .tabs > li > a:hover {
+  border-color: #eee #eee #eee #ddd;
+}
+.tabs-right .tabs .active > a,
+.tabs-right .tabs .active > a:hover {
+  border-color: #ddd #ddd #ddd transparent;
+}
+
+
+/*
+.tabbable {
 
   // Tabs on left and right
   &.tabs-left,
-- 
GitLab


From 961c479422f10cb566ade1f3a08d1b807d590b7a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 22:07:18 -0800
Subject: [PATCH 224/576] remove unused css and reorder the toggle classes

---
 lib/navs.less | 109 ++++++--------------------------------------------
 1 file changed, 12 insertions(+), 97 deletions(-)

diff --git a/lib/navs.less b/lib/navs.less
index f76f1acad0..743d772f37 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -211,6 +211,7 @@
 .tabbable {
   .clearfix();
 }
+
 // Remove border on bottom, left, right
 .tabs-below .tabs,
 .tabs-right .tabs,
@@ -218,6 +219,17 @@
   border-bottom: 0;
 }
 
+// Show/hide tabbable areas
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+  display: none;
+}
+.tab-content > .active,
+.pill-content > .active {
+  display: block;
+}
+
+
 // BOTTOM
 // ------
 
@@ -290,100 +302,3 @@
 .tabs-right .tabs .active > a:hover {
   border-color: #ddd #ddd #ddd transparent;
 }
-
-
-/*
-.tabbable {
-
-  // Tabs on left and right
-  &.tabs-left,
-  &.tabs-right {
-    .clearfix();
-    .tabs {
-      // Give a fixed width to avoid floating .tab-con
-      width: 100px;
-      // Unfloat them so they stack
-      > li {
-        float: none;
-        margin-bottom: -1px;
-        > a {
-          margin-bottom: 2px;
-          &:hover {
-            border-color: transparent;
-          }
-        }
-      }
-    }
-  }
-
-  // Tabs on left
-  &.tabs-left {
-    .tab-content {
-      margin-left: 100px;
-    }
-    .tabs {
-      float: left;
-      > li {
-        margin-right: -1px;
-        > a {
-          margin-right: 0;
-          .border-radius(4px 0 0 4px);
-
-          &:hover {
-            border-right-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-right-color: transparent;
-      }
-    }
-  }
-
-  // Tabs on right
-  &.tabs-right {
-    .tab-content {
-      margin-right: 100px;
-    }
-    .tabs {
-      float: right;
-      > li {
-        margin-left: -1px;
-        > a {
-          margin-left: 0;
-          .border-radius(0 4px 4px 0);
-
-          &:hover {
-            border-left-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-left-color: transparent;
-      }
-    }
-  }
-}
-*/
-
-
-
-
-
-
-// Tabbable areas
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
-  display: none;
-}
-.tab-content > .active,
-.pill-content > .active {
-  display: block;
-}
-
-- 
GitLab


From d170224457581b6ab7305b29b4e2a15cb50ab853 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 23:21:40 -0800
Subject: [PATCH 225/576] fix progress bars by removing border and negative
 margins

---
 bootstrap.css          | 108 ++++-------------------------------------
 bootstrap.min.css      |   8 +--
 docs/components.html   |  30 ++++++++++++
 lib/progress-bars.less |   6 +--
 4 files changed, 45 insertions(+), 107 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ebb3cbe294..6417871fbc 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 22:06:30 PST 2012
+ * Date: Sat Jan  7 23:21:05 PST 2012
  */
 html, body {
   margin: 0;
@@ -1962,6 +1962,12 @@ i {
 .tabs-below .tabs, .tabs-right .tabs, .tabs-left .tabs {
   border-bottom: 0;
 }
+.tab-content > .tab-pane, .pill-content > .pill-pane {
+  display: none;
+}
+.tab-content > .active, .pill-content > .active {
+  display: block;
+}
 .tabs-below .tabs {
   border-top: 1px solid #ddd;
 }
@@ -2023,91 +2029,6 @@ i {
 .tabs-right .tabs .active > a, .tabs-right .tabs .active > a:hover {
   border-color: #ddd #ddd #ddd transparent;
 }
-/*
-.tabbable {
-
-  // Tabs on left and right
-  &.tabs-left,
-  &.tabs-right {
-    .clearfix();
-    .tabs {
-      // Give a fixed width to avoid floating .tab-con
-      width: 100px;
-      // Unfloat them so they stack
-      > li {
-        float: none;
-        margin-bottom: -1px;
-        > a {
-          margin-bottom: 2px;
-          &:hover {
-            border-color: transparent;
-          }
-        }
-      }
-    }
-  }
-
-  // Tabs on left
-  &.tabs-left {
-    .tab-content {
-      margin-left: 100px;
-    }
-    .tabs {
-      float: left;
-      > li {
-        margin-right: -1px;
-        > a {
-          margin-right: 0;
-          .border-radius(4px 0 0 4px);
-
-          &:hover {
-            border-right-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-right-color: transparent;
-      }
-    }
-  }
-
-  // Tabs on right
-  &.tabs-right {
-    .tab-content {
-      margin-right: 100px;
-    }
-    .tabs {
-      float: right;
-      > li {
-        margin-left: -1px;
-        > a {
-          margin-left: 0;
-          .border-radius(0 4px 4px 0);
-
-          &:hover {
-            border-left-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-left-color: transparent;
-      }
-    }
-  }
-}
-*/
-.tab-content > .tab-pane, .pill-content > .pill-pane {
-  display: none;
-}
-.tab-content > .active, .pill-content > .active {
-  display: block;
-}
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
@@ -2963,25 +2884,14 @@ a.thumbnail:hover {
   background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
   background-repeat: repeat-x;
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
-  border: 1px solid #ddd;
   -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%;
-  height: 20px;
-  margin: -1px;
-  background-color: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  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);
+  height: 18px;
+  margin: ;
   background-color: #0480be;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
   background-image: -moz-linear-gradient(top, #149bdf, #0480be);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 868cfcb659..db1393fb43 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -374,6 +374,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabbable{zoom:1;}.tabbable:before,.tabbable:after{display:table;*display:inline;content:"";zoom:1;}
 .tabbable:after{clear:both;}
 .tabs-below .tabs,.tabs-right .tabs,.tabs-left .tabs{border-bottom:0;}
+.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
+.tab-content>.active,.pill-content>.active{display:block;}
 .tabs-below .tabs{border-top:1px solid #ddd;}
 .tabs-below .tabs>li{margin-top:-1px;margin-bottom:0;}
 .tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
@@ -388,8 +390,6 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
 .tabs-right .tabs>li>a:hover{border-color:#eee #eee #eee #ddd;}
 .tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
-.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
-.tab-content>.active,.pill-content>.active{display:block;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#999999;}
 .breadcrumb .active a{color:#333333;}
@@ -498,8 +498,8 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
 @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);border:1px solid #ddd;-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%;height:20px;margin:-1px;background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
+.progress .bar{width:0%;height:18px;margin:;background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
 .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));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: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;}
 .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;}
 .progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
diff --git a/docs/components.html b/docs/components.html
index 6fca1268f7..bd8753401a 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -346,6 +346,16 @@
           <li><a href="#C" data-toggle="tab">Section 3</a></li>
         </ul>
       </div> <!-- /tabbable -->
+<pre class="prettyprint linenums" style="margin-top: 11px;">
+&lt;div class="tabbable tabs-bottom"&gt;
+  &lt;ul class="nav tabs"&gt;
+    ...
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
     </div>
     <div class="span4">
       <h4>Tabs on the left</h4>
@@ -368,6 +378,16 @@
           </div>
         </div>
       </div> <!-- /tabbable -->
+<pre class="prettyprint linenums">
+&lt;div class="tabbable tabs-left"&gt;
+  &lt;ul class="nav tabs"&gt;
+    ...
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
     </div>
     <div class="span4">
       <h4>Tabs on the right</h4>
@@ -390,6 +410,16 @@
           </div>
         </div>
       </div> <!-- /tabbable -->
+<pre class="prettyprint linenums">
+&lt;div class="tabbable tabs-right"&gt;
+  &lt;ul class="nav tabs"&gt;
+    ...
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
     </div>
   </div>
 
diff --git a/lib/progress-bars.less b/lib/progress-bars.less
index 28c56d131c..f5a8398340 100644
--- a/lib/progress-bars.less
+++ b/lib/progress-bars.less
@@ -39,16 +39,14 @@
   height: 18px;
   margin-bottom: 18px;
   #gradient > .vertical(#f5f5f5, #f9f9f9);
-  border: 1px solid #ddd;
   .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
 }
 
 // Bar of progress
 .progress .bar {
   width: 0%;
-  height: 20px;
-  margin: -1px;
-  #gradient > .vertical(#62c462, #57a957);
+  height: 18px;
+  margin: ;
   #gradient > .vertical(#149bdf, #0480be);
   .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
   .box-sizing(border-box);
-- 
GitLab


From 3c2f82f469be4792e85eb73fd1e3b882dcadd48d Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 7 Jan 2012 23:31:00 -0800
Subject: [PATCH 226/576] recomment out the moz stuff for progress bars since
 less can't compile it right now

---
 bootstrap.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6417871fbc..2881afefde 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 23:21:05 PST 2012
+ * Date: Sat Jan  7 23:30:30 PST 2012
  */
 html, body {
   margin: 0;
-- 
GitLab


From 4478df768168fe41599508688046612bf5f1e526 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 00:49:38 -0800
Subject: [PATCH 227/576] first pass at ultra basic autocomplete

---
 bootstrap.css                        | 243 +--------------------------
 bootstrap.min.css                    |  20 +--
 docs/javascript.html                 |  95 ++++++-----
 js/bootstrap-typeahead.js            | 147 ++++++++++------
 js/tests/unit/bootstrap-typeahead.js |  22 ++-
 lib/dropdowns.less                   |  21 +--
 6 files changed, 189 insertions(+), 359 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ebb3cbe294..7d6263c6bd 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan  7 22:06:30 PST 2012
+ * Date: Sat Jan  7 23:50:13 PST 2012
  */
 html, body {
   margin: 0;
@@ -1489,7 +1489,7 @@ i {
   line-height: 18px;
   color: #555555;
 }
-.dropdown-menu a:hover {
+.dropdown-menu.typeahead .active a, .dropdown-menu a:hover {
   color: #fff;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
@@ -1962,6 +1962,12 @@ i {
 .tabs-below .tabs, .tabs-right .tabs, .tabs-left .tabs {
   border-bottom: 0;
 }
+.tab-content > .tab-pane, .pill-content > .pill-pane {
+  display: none;
+}
+.tab-content > .active, .pill-content > .active {
+  display: block;
+}
 .tabs-below .tabs {
   border-top: 1px solid #ddd;
 }
@@ -2023,91 +2029,6 @@ i {
 .tabs-right .tabs .active > a, .tabs-right .tabs .active > a:hover {
   border-color: #ddd #ddd #ddd transparent;
 }
-/*
-.tabbable {
-
-  // Tabs on left and right
-  &.tabs-left,
-  &.tabs-right {
-    .clearfix();
-    .tabs {
-      // Give a fixed width to avoid floating .tab-con
-      width: 100px;
-      // Unfloat them so they stack
-      > li {
-        float: none;
-        margin-bottom: -1px;
-        > a {
-          margin-bottom: 2px;
-          &:hover {
-            border-color: transparent;
-          }
-        }
-      }
-    }
-  }
-
-  // Tabs on left
-  &.tabs-left {
-    .tab-content {
-      margin-left: 100px;
-    }
-    .tabs {
-      float: left;
-      > li {
-        margin-right: -1px;
-        > a {
-          margin-right: 0;
-          .border-radius(4px 0 0 4px);
-
-          &:hover {
-            border-right-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-right-color: transparent;
-      }
-    }
-  }
-
-  // Tabs on right
-  &.tabs-right {
-    .tab-content {
-      margin-right: 100px;
-    }
-    .tabs {
-      float: right;
-      > li {
-        margin-left: -1px;
-        > a {
-          margin-left: 0;
-          .border-radius(0 4px 4px 0);
-
-          &:hover {
-            border-left-color: #ddd;
-          }
-        }
-      }
-      // Active state
-      .active > a,
-      .active > a:hover {
-        border-color: #ddd;
-        border-left-color: transparent;
-      }
-    }
-  }
-}
-*/
-.tab-content > .tab-pane, .pill-content > .pill-pane {
-  display: none;
-}
-.tab-content > .active, .pill-content > .active {
-  display: block;
-}
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
@@ -2937,154 +2858,6 @@ a.thumbnail:hover {
     background-position: 40px 0;
   }
 }
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-.progress, .progress .bar {
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
-.progress {
-  height: 18px;
-  margin-bottom: 18px;
-  background-color: #f9f9f9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));
-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
-  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);
-  border: 1px solid #ddd;
-  -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%;
-  height: 20px;
-  margin: -1px;
-  background-color: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  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);
-  background-color: #0480be;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat: repeat-x;
-  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);
-  -webkit-box-sizing: border-box;
-  -moz-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;
-}
-.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));
-  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: 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;
-}
-.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;
-}
-.progress.danger .bar {
-  background-color: #c43c35;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
-  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);
-}
-.progress.danger.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));
-  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: 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: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  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);
-}
-.progress.success.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));
-  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: 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: #339bb9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
-  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);
-}
-.progress.info.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));
-  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: 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);
-}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 868cfcb659..6ad22faca0 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -304,7 +304,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown .caret{margin-top:8px;margin-left:2px;}
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
-.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
+.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}
+.dropdown-menu.typeahead .active a,.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
@@ -374,6 +375,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabbable{zoom:1;}.tabbable:before,.tabbable:after{display:table;*display:inline;content:"";zoom:1;}
 .tabbable:after{clear:both;}
 .tabs-below .tabs,.tabs-right .tabs,.tabs-left .tabs{border-bottom:0;}
+.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
+.tab-content>.active,.pill-content>.active{display:block;}
 .tabs-below .tabs{border-top:1px solid #ddd;}
 .tabs-below .tabs>li{margin-top:-1px;margin-bottom:0;}
 .tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
@@ -388,8 +391,6 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
 .tabs-right .tabs>li>a:hover{border-color:#eee #eee #eee #ddd;}
 .tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
-.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
-.tab-content>.active,.pill-content>.active{display:block;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#999999;}
 .breadcrumb .active a{color:#333333;}
@@ -497,16 +498,5 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);border:1px solid #ddd;-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%;height:20px;margin:-1px;background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
-.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));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: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;}
-.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;}
-.progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
-.progress.danger.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));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: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:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
-.progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
-.progress.info.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));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: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);}
-.hidden{display:none;visibility:hidden;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/javascript.html b/docs/javascript.html
index dbf8d922a2..1ea618a689 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -23,48 +23,6 @@
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
 
-    <!-- Le javascript -->
-    <!-- placed up here so that the inline demos can be next to their markup -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-
-    <script type="text/javascript">
-      // NOT FINAL BY ANY MEANS, JUST MAH JANK CODE BRO
-      $(document).ready(function() {
-        $('.nav .active').click(function(e) {
-          e.preventDefault();
-          $(this).siblings().toggle();
-        });
-      });
-    </script>
-
-    <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script src="../js/bootstrap-transition.js"></script>
-    <script src="../js/bootstrap-alert.js"></script>
-    <script src="../js/bootstrap-modal.js"></script>
-    <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="../js/bootstrap-tab.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
-    <script src="../js/bootstrap-popover.js"></script>
-    <script src="../js/bootstrap-button.js"></script>
-    <script>
-      $(function () {
-        // twipsy demo
-        $("a[rel=twipsy]").twipsy({
-          live: true
-        })
-
-        //popover demo
-        $("a[rel=popover]")
-          .popover({
-            offset: 10
-          })
-          .click(function(e) {
-            e.preventDefault()
-          })
-      })
-    </script>
-
   </head>
 
   <body id="bootstrap-js">
@@ -163,6 +121,10 @@
               <td><a href="./javascript.html#carousel">bootstrap-carousel.js</a></td>
               <td>A plugin for rotating through elements. A merry-go-round.</td>
             </tr>
+            <tr>
+              <td><a href="./javascript.html#typeahead">bootstrap-typeahead.js</a></td>
+              <td>A basic, easily extended plugin for quickly creating elegant typeaheads.</td>
+            </tr>
          </tbody>
        </table>
        <h3>Is javascript necessary?</h3>
@@ -1151,6 +1113,54 @@ $('.myCarousel').carousel({
       </div>
     </section>
 
+ <!-- Typeahead
+    ================================================== -->
+
+    <section id="typeahead">
+      <div class="page-header">
+        <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <p>A basic, easily extended plugin for quickly creating elegant typeaheads.</p>
+          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn primary">Download</a>
+        </div>
+        <div class="span9 columns">
+          <h3>Using bootstrap-typeahead.js</h3>
+          <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
+
+          <h3>Options</h3>
+          <table class="bordered-table striped-table">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>items</td>
+               <td>number</td>
+               <td>8</td>
+               <td>The max number of items to display in the dropdown.</td>
+             </tr>
+            </tbody>
+          </table>
+
+          <h3>Markup</h3>
+          <p>Add data attributes to register an element with typeahead functionality.</p>
+<pre class="prettyprint linenums">
+&lt;input type="text" data-provide="typeahead" /&gt;
+</pre>
+          <h3>Demo</h3>
+          <input type="text" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+        </div>
+      </div>
+    </section>
+
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1178,6 +1188,7 @@ $('.myCarousel').carousel({
     <script src="../js/bootstrap-button.js"></script>
     <script src="../js/bootstrap-collapse.js"></script>
     <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
     <script src="assets/js/application.js"></script>
     <script>
       $(function () {
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index 52ced3fef8..4933f96057 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -34,80 +34,102 @@
 
     constructor: Typeahead
 
-  , matcher: function(item, query) {
+  , matcher: function (item, query) {
       return ~item.indexOf(query)
     }
 
-  , select: function(event) {
-      this.$element.val($(event.target).attr('data-value'))
-      this.hide()
+  , select: function () {
+      var val = this.$menu.find('.active').attr('data-value')
+      this.$element.val(val)
+      return this.hide()
     }
 
   , show: function () {
-      this.shown = true
+      var pos = $.extend({}, this.$element.offset(), {
+        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.shown = false
       this.$menu.hide()
+      this.shown = false
       return this
     }
 
   , lookup: function (event) {
       var query = this.$element.val()
         , that = this
+        , items
+
+      if (!query) {
+        return this.shown ? this.hide() : this
+      }
 
-      var items = this.data.filter(function (item) {
-        if (that.matcher(item, query)) {
-          return item
-        }
+      items = this.data.filter(function (item) {
+        if (that.matcher(item, query)) return item
       })
 
       if (!items.length) {
         return this.shown ? this.hide() : this
       }
 
-      return this.render(items).show()
+      return this.render(items.slice(0, this.options.items)).show()
     }
 
-  , render: function(items) {
+  , render: function (items) {
       var that = this
 
       items = $(items).map(function (i, item) {
-        return $(that.options.item)
-          .text(item)
-          .attr('data-value', item)[0]
+        i = $(that.options.item).attr('data-value', item)
+        i.find('a').text(item)
+        return i[0]
       })
 
       items.first().addClass('active')
-
-      this.$menu.append(items)
-
+      this.$menu.html(items)
       return this
     }
 
   , next: function (event) {
       var active = this.$menu.find('.active').removeClass('active')
-        , next = active.next() || $(this.$menu.find('li')[0])
+        , 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')
-        , next = active.prev() || this.$menu.find('li').last()
+        , prev = active.prev()
 
-      next.addClass('active')
+      if (!prev.length) {
+        prev = this.$menu.find('li').last()
+      }
+
+      prev.addClass('active')
     }
 
-  , keyup: function () {
-      event
-        .stopPropagation()
-        .preventDefault()
+  , keyup: function (e) {
+      e.stopPropagation()
+      e.preventDefault()
+
+      switch(e.keyCode) {
+        case 40: // down arrow
+        case 38: // up arrow
+          break
 
-      switch(event.keyCode) {
         case 9: // tab
         case 13: // enter
           this.select()
@@ -120,51 +142,68 @@
         default:
           this.lookup()
       }
+
   }
 
-  , keypress: function (event) {
-      event.stopPropagation()
-      switch(event.keyCode) {
+  , keypress: function (e) {
+      e.stopPropagation()
+
+      switch(e.keyCode) {
         case 9: // tab
         case 13: // enter
         case 27: // escape
-          event.preventDefault()
+          e.preventDefault()
           break
 
         case 38: // up arrow
+          e.preventDefault()
           this.prev()
-          event.preventDefault()
           break
 
         case 40: // down arrow
+          e.preventDefault()
           this.next()
-          event.preventDefault()
           break
       }
-  }
+    }
+
+  , blur: function (e) {
+      var that = this
+      e.stopPropagation()
+      e.preventDefault()
+      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')
+    }
 
   , listen: function () {
       this.$element
-        .on('focus', this.show)
-        .on('blur', $.proxy(this.hide, this))
+        .on('blur',     $.proxy(this.blur, this))
         .on('keypress', $.proxy(this.keypress, this))
-        .on('keyup', this.keyup)
-        .on('change', $.proxy(this.lookup, this))
+        .on('keyup',    $.proxy(this.keyup, this))
 
       if ($.browser.webkit || $.browser.msie) {
-        this.$element.on('keydown', this.keypress)
+        this.$element.on('keydown', $.proxy(this.keypress, this))
       }
 
       this.$menu
-        .on('click', '* > *', $.proxy(this.select, this))
-        .on('mouseenter', function () {
-          /* remove selected class, add to mouseover */
-        })
+        .on('click', $.proxy(this.click, this))
+        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
     }
   }
 
+
   /* TYPEAHEAD PLUGIN DEFINITION
-  * ============================== */
+   * =========================== */
 
   $.fn.typeahead = function ( option ) {
     return this.each(function () {
@@ -177,14 +216,24 @@
   }
 
   $.fn.typeahead.defaults = {
-    data: null
-  , items: 8
-  , empty: false
-  , noresults: false
-  , menu: '<ul class="dropdown-menu"></ul>'
-  , item: '<li></li>'
+    items: 8
+  , menu: '<ul class="typeahead dropdown-menu"></ul>'
+  , item: '<li><a href="#"></a></li>'
   }
 
   $.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/js/tests/unit/bootstrap-typeahead.js b/js/tests/unit/bootstrap-typeahead.js
index dc46a79909..10b2a3f174 100644
--- a/js/tests/unit/bootstrap-typeahead.js
+++ b/js/tests/unit/bootstrap-typeahead.js
@@ -13,11 +13,9 @@ $(function () {
       test("should listen to an input", function () {
         var $input = $('<input />')
         $input.typeahead()
-        ok($input.data('events').focus, 'has a focus event')
         ok($input.data('events').blur, 'has a blur event')
         ok($input.data('events').keypress, 'has a keypress event')
         ok($input.data('events').keyup, 'has a keyup event')
-        ok($input.data('events').change, 'has a change event')
         if ($.browser.webkit || $.browser.msie) {
           ok($input.data('events').keydown, 'has a keydown event')
         } else {
@@ -44,7 +42,8 @@ $(function () {
             })
           , typeahead = $input.data('typeahead')
 
-        $input.val('a').change()
+        $input.val('a')
+        typeahead.lookup()
 
         ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
         equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
@@ -54,12 +53,14 @@ $(function () {
       })
 
       test("should hide menu when query entered", function () {
+        stop()
         var $input = $('<input />').typeahead({
               data: ['aa', 'ab', 'ac']
             })
           , typeahead = $input.data('typeahead')
 
-        $input.val('a').change()
+        $input.val('a')
+        typeahead.lookup()
 
         ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
         equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
@@ -67,7 +68,10 @@ $(function () {
 
         $input.blur()
 
-        ok(!typeahead.$menu.is(":visible"), "typeahead is no longer visible")
+        setTimeout(function () {
+          ok(!typeahead.$menu.is(":visible"), "typeahead is no longer visible")
+          start()
+        }, 200)
 
         typeahead.$menu.remove()
       })
@@ -78,7 +82,8 @@ $(function () {
             })
           , typeahead = $input.data('typeahead')
 
-        $input.val('a').change()
+        $input.val('a')
+        typeahead.lookup()
 
         ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
         equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
@@ -110,9 +115,10 @@ $(function () {
             })
           , typeahead = $input.data('typeahead')
 
-        $input.val('a').change()
+        $input.val('a')
+        typeahead.lookup()
 
-        $(typeahead.$menu.find('li')[2]).trigger('click')
+        $(typeahead.$menu.find('li')[2]).mouseover().click()
 
         equals($input.val(), 'ac', 'input value was correctly set')
         ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index f59ab3728b..5dea8d6781 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -68,16 +68,17 @@
     font-weight: normal;
     line-height: 18px;
     color: @gray;
-    // Hover state
-    &:hover {
-      color: #fff;
-      text-decoration: none;
-      text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-      #gradient > .vertical(@blue, @blueDark);
-      #gradient > .vertical(@linkColor, darken(@linkColor, 5%));
-      @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
-      .box-shadow(@shadow);
-    }
+  }
+
+  // Hover state
+  &.typeahead .active a, a:hover {
+    color: #fff;
+    text-decoration: none;
+    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+    #gradient > .vertical(@blue, @blueDark);
+    #gradient > .vertical(@linkColor, darken(@linkColor, 5%));
+    @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
+    .box-shadow(@shadow);
   }
 }
 
-- 
GitLab


From 19986b3dd8e921e9f0b4e238af6b4af83ef5bebe Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 01:45:49 -0800
Subject: [PATCH 228/576] remove / on js, fix link to typeahead, remove old
 gradient on dropdown hover

---
 bootstrap.css        | 149 +++++++++++++++++++++++++++++++++++++++----
 bootstrap.min.css    |  15 ++++-
 docs/javascript.html |   4 +-
 lib/dropdowns.less   |   1 -
 4 files changed, 153 insertions(+), 16 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a46f6ca85a..1439ad4bb2 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 00:50:20 PST 2012
+ * Date: Sun Jan  8 01:45:29 PST 2012
  */
 html, body {
   margin: 0;
@@ -1493,16 +1493,6 @@ i {
   color: #fff;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0064cd;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
-  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
-  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
-  background-image: linear-gradient(top, #049cdb, #0064cd);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
   background-color: #0077b3;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));
   background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
@@ -2858,6 +2848,143 @@ a.thumbnail:hover {
     background-position: 40px 0;
   }
 }
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+.progress, .progress .bar {
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.progress {
+  height: 18px;
+  margin-bottom: 18px;
+  background-color: #f9f9f9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));
+  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+  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);
+}
+.progress .bar {
+  width: 0%;
+  height: 18px;
+  margin: ;
+  background-color: #0480be;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
+  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat: repeat-x;
+  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);
+  -webkit-box-sizing: border-box;
+  -moz-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;
+}
+.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));
+  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: 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;
+}
+.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;
+}
+.progress.danger .bar {
+  background-color: #c43c35;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  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);
+}
+.progress.danger.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));
+  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: 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: #57a957;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  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);
+}
+.progress.success.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));
+  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: 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: #339bb9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  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);
+}
+.progress.info.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));
+  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: 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);
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6ad22faca0..b7b2291d51 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -305,7 +305,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}
-.dropdown-menu.typeahead .active a,.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
+.dropdown-menu.typeahead .active a,.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
@@ -498,5 +498,16 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.hidden{display:none;visibility:hidden;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
+.progress .bar{width:0%;height:18px;margin:;background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.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));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: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;}
+.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;}
+.progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
+.progress.danger.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));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: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:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
+.progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
+.progress.info.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));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: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);}
+.hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/javascript.html b/docs/javascript.html
index 1ea618a689..8056d7fc5c 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1123,7 +1123,7 @@ $('.myCarousel').carousel({
       <div class="row">
         <div class="span3 columns">
           <p>A basic, easily extended plugin for quickly creating elegant typeaheads.</p>
-          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
           <h3>Using bootstrap-typeahead.js</h3>
@@ -1152,7 +1152,7 @@ $('.myCarousel').carousel({
           <h3>Markup</h3>
           <p>Add data attributes to register an element with typeahead functionality.</p>
 <pre class="prettyprint linenums">
-&lt;input type="text" data-provide="typeahead" /&gt;
+&lt;input type="text" data-provide="typeahead"&gt;
 </pre>
           <h3>Demo</h3>
           <input type="text" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 5dea8d6781..34d83af2a1 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -75,7 +75,6 @@
     color: #fff;
     text-decoration: none;
     text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-    #gradient > .vertical(@blue, @blueDark);
     #gradient > .vertical(@linkColor, darken(@linkColor, 5%));
     @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
     .box-shadow(@shadow);
-- 
GitLab


From b780034a65faf99acffb2c5cea27a98883ddf819 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 01:50:12 -0800
Subject: [PATCH 229/576] clean up some spacing on the dropdown for typeahead

---
 bootstrap.css      | 10 ++++++++--
 bootstrap.min.css  |  3 ++-
 lib/dropdowns.less | 25 ++++++++++++++++---------
 3 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 1439ad4bb2..5eb8a4a7ce 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 01:45:29 PST 2012
+ * Date: Sun Jan  8 01:50:02 PST 2012
  */
 html, body {
   margin: 0;
@@ -1489,7 +1489,7 @@ i {
   line-height: 18px;
   color: #555555;
 }
-.dropdown-menu.typeahead .active a, .dropdown-menu a:hover {
+.dropdown-menu a:hover, .dropdown-menu .active > a {
   color: #fff;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
@@ -1515,6 +1515,12 @@ i {
 .dropdown.open .dropdown-menu {
   display: block;
 }
+.typeahead {
+  margin-top: 2px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
 .well {
   min-height: 20px;
   padding: 19px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index b7b2291d51..33e4f7f809 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -305,9 +305,10 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}
-.dropdown-menu.typeahead .active a,.dropdown-menu a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
+.dropdown-menu a:hover,.dropdown-menu .active>a{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
+.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 34d83af2a1..484cbbcd70 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -69,16 +69,17 @@
     line-height: 18px;
     color: @gray;
   }
+}
 
-  // Hover state
-  &.typeahead .active a, a:hover {
-    color: #fff;
-    text-decoration: none;
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-    #gradient > .vertical(@linkColor, darken(@linkColor, 5%));
-    @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
-    .box-shadow(@shadow);
-  }
+// Hover & Active states
+.dropdown-menu a:hover,
+.dropdown-menu .active > a {
+  color: #fff;
+  text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+  #gradient > .vertical(@linkColor, darken(@linkColor, 5%));
+  @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
+  .box-shadow(@shadow);
 }
 
 // Open state for the dropdown
@@ -92,3 +93,9 @@
     display: block;
   }
 }
+
+// Typeahead
+.typeahead {
+  margin-top: 2px; // give it some space to breathe
+  .border-radius(4px);
+}
-- 
GitLab


From 9daf1661c5c9cce161e1981b484b7d7f04eac2e6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 01:54:59 -0800
Subject: [PATCH 230/576] fix docs for fluid layout, update topbar to fix
 active text color for links

---
 bootstrap.css         | 4 ++--
 bootstrap.min.css     | 2 +-
 docs/scaffolding.html | 6 +++---
 lib/navbar.less       | 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 5eb8a4a7ce..e55d6d5440 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 01:50:02 PST 2012
+ * Date: Sun Jan  8 01:54:42 PST 2012
  */
 html, body {
   margin: 0;
@@ -1600,7 +1600,7 @@ i {
   -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 .brand:hover, .navbar ul .active > a {
+.navbar .brand:hover, .navbar .nav .active > a {
   color: #ffffff;
   text-decoration: none;
   background-color: #333333;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 33e4f7f809..20c8f65397 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -315,7 +315,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
-.navbar .brand:hover,.navbar ul .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
+.navbar .brand:hover,.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
 .navbar .btn{margin-top:5px;}
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index bf42d44687..10e5a43be0 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -243,11 +243,11 @@
       </div>
 <pre class="prettyprint linenums">
 &lt;body&gt;
-  &lt;div class="fluid-container"&gt;
-    &lt;div class="sidebar"&gt;
+  &lt;div class="fluid-container sidebar-left"&gt;
+    &lt;div class="fluid-sidebar"&gt;
       ...
     &lt;/div&gt;
-    &lt;div class="content"&gt;
+    &lt;div class="fluid-content"&gt;
       ...
     &lt;/div&gt;
   &lt;/div&gt;
diff --git a/lib/navbar.less b/lib/navbar.less
index 8ee203307f..70be434ba6 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -21,7 +21,7 @@
 .navbar {
   // Hover and active states
   .brand:hover,
-  ul .active > a {
+  .nav .active > a {
     color: @white;
     text-decoration: none;
     background-color: @navBarBgStart;
-- 
GitLab


From 916761d56854ca4fcc8ea4afa68511fb26a93e4c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 01:57:05 -0800
Subject: [PATCH 231/576] fix styles on right aligned blockquote to flip
 padding and border appropriately

---
 bootstrap.css     | 6 +++++-
 bootstrap.min.css | 2 +-
 lib/type.less     | 4 ++++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index e55d6d5440..550f7fdcec 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 01:54:42 PST 2012
+ * Date: Sun Jan  8 01:56:47 PST 2012
  */
 html, body {
   margin: 0;
@@ -485,6 +485,10 @@ blockquote small:before {
 }
 blockquote.pull-right {
   float: right;
+  padding-left: 0;
+  padding-right: 15px;
+  border-left: 0;
+  border-right: 5px solid #eee;
 }
 blockquote.pull-right p, blockquote.pull-right small {
   text-align: right;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 20c8f65397..af321d3142 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -87,7 +87,7 @@ em{font-style:italic;font-weight:inherit;line-height:inherit;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
 blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:300;font-weight:16px;line-height:22.5px;}
 blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
-blockquote.pull-right{float:right;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
+blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;margin-bottom:18px;line-height:18px;}
 code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
diff --git a/lib/type.less b/lib/type.less
index 7e2c4a7a86..84130f3fa1 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -165,6 +165,10 @@ blockquote {
   // Float right with text-align: right
   &.pull-right {
     float: right;
+    padding-left: 0;
+    padding-right: 15px;
+    border-left: 0;
+    border-right: 5px solid #eee;
     p,
     small {
       text-align: right;
-- 
GitLab


From 0bbb64be4dc7a168534e5a18f3a493002ed31293 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 02:04:23 -0800
Subject: [PATCH 232/576] add nav class to tabs in javascript demo

---
 docs/javascript.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 8056d7fc5c..ff2f8c0b91 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -479,7 +479,8 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
   e.relatedTarget // previous tab
 })</pre>
           <h3>Demo</h3>
-          <ul id="tab" class="tabs">
+
+          <ul id="tab" class="nav tabs">
             <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
             <li><a href="#profile" data-toggle="tab">Profile</a></li>
             <li><a href="#messages" data-toggle="tab">Messages</a></li>
-- 
GitLab


From cf05dc86774ea05aa0f40aff771538e6e2f405d2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 02:15:47 -0800
Subject: [PATCH 233/576] adjust navs for fine details on dropdowns in stacked
 nav and improved open state there

---
 bootstrap.css     | 17 ++++++++++++-----
 bootstrap.min.css | 10 ++++++----
 lib/navs.less     | 22 ++++++++++++++--------
 3 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 550f7fdcec..e60baa663b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 01:56:47 PST 2012
+ * Date: Sun Jan  8 02:15:22 PST 2012
  */
 html, body {
   margin: 0;
@@ -1925,7 +1925,7 @@ i {
 .pills.stacked > li:last-child > a {
   margin-bottom: 1px;
 }
-.tabs .dropdown-menu, .pills .dropdown-menu {
+.nav .dropdown-menu {
   top: 33px;
   border-width: 1px;
 }
@@ -1934,19 +1934,26 @@ i {
   -moz-border-radius: 4px;
   border-radius: 4px;
 }
-.tabs .dropdown-toggle .caret, .pills .dropdown-toggle .caret {
+.nav .dropdown-toggle .caret {
+  border-top-color: #0088cc;
   margin-top: 6px;
 }
-.tabs .open .dropdown-toggle, .pills .open .dropdown-toggle {
+.nav .dropdown-toggle:hover .caret {
+  border-top-color: #005580;
+}
+.nav .open .dropdown-toggle {
   background-color: #999;
   border-color: #999;
 }
-.tabs .open .caret, .pills .open .caret {
+.nav .open .caret, .nav .open a:hover .caret {
   border-top-color: #fff;
   filter: alpha(opacity=100);
   -moz-opacity: 1;
   opacity: 1;
 }
+.tabs.stacked .open > a:hover {
+  border-color: #999;
+}
 .tabbable {
   zoom: 1;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index af321d3142..a4352cf92a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -368,11 +368,13 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs.stacked>li>a:hover{border-color:#ddd;z-index:2;}
 .pills.stacked>li>a{margin-bottom:3px;}
 .pills.stacked>li:last-child>a{margin-bottom:1px;}
-.tabs .dropdown-menu,.pills .dropdown-menu{top:33px;border-width:1px;}
+.nav .dropdown-menu{top:33px;border-width:1px;}
 .pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{margin-top:6px;}
-.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle{background-color:#999;border-color:#999;}
-.tabs .open .caret,.pills .open .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.nav .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
+.nav .dropdown-toggle:hover .caret{border-top-color:#005580;}
+.nav .open .dropdown-toggle{background-color:#999;border-color:#999;}
+.nav .open .caret,.nav .open a:hover .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.tabs.stacked .open>a:hover{border-color:#999;}
 .tabbable{zoom:1;}.tabbable:before,.tabbable:after{display:table;*display:inline;content:"";zoom:1;}
 .tabbable:after{clear:both;}
 .tabs-below .tabs,.tabs-right .tabs,.tabs-left .tabs{border-bottom:0;}
diff --git a/lib/navs.less b/lib/navs.less
index 743d772f37..dee482aea2 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -175,29 +175,35 @@
 // ---------
 
 // Position the menu
-.tabs .dropdown-menu,
-.pills .dropdown-menu {
+.nav .dropdown-menu {
   top: 33px;
   border-width: 1px;
 }
 .pills .dropdown-menu {
   .border-radius(4px);
 }
-.tabs .dropdown-toggle .caret,
-.pills .dropdown-toggle .caret {
+.nav .dropdown-toggle .caret {
+  border-top-color: @linkColor;
   margin-top: 6px;
 }
-.tabs .open .dropdown-toggle,
-.pills .open .dropdown-toggle {
+.nav .dropdown-toggle:hover .caret {
+  border-top-color: @linkColorHover;
+}
+.nav .open .dropdown-toggle {
   background-color: #999;
   border-color: #999;
 }
-.tabs .open .caret,
-.pills .open .caret {
+.nav .open .caret,
+.nav .open a:hover .caret {
   border-top-color: #fff;
   .opacity(100);
 }
 
+// Dropdowns in stacked tabs
+.tabs.stacked .open > a:hover {
+  border-color: #999;
+}
+
 
 
 // TABBABLE
-- 
GitLab


From 9e7acc637057292205906edc99fb23a49c937afa Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 02:30:18 -0800
Subject: [PATCH 234/576] fix responsive navbar nav treatment by using hover
 instead of click

---
 bootstrap.css       |  26 +++++++-----
 bootstrap.min.css   |   2 +-
 lib/navbar.less     |   2 +-
 lib/responsive.less | 100 ++++++++++++++++++++++++--------------------
 4 files changed, 73 insertions(+), 57 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index e60baa663b..57acf87757 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 02:15:22 PST 2012
+ * Date: Sun Jan  8 02:30:05 PST 2012
  */
 html, body {
   margin: 0;
@@ -3054,7 +3054,7 @@ a.thumbnail:hover {
     width: auto;
     margin: 0;
   }
-  .nav {
+  .navbar .nav {
     position: absolute;
     top: 0;
     left: 0;
@@ -3062,29 +3062,32 @@ a.thumbnail:hover {
     padding-top: 40px;
     list-style: none;
   }
-  .nav, .nav > li:last-child a {
+  .navbar .nav, .navbar .nav > li:last-child a {
     -webkit-border-radius: 0 0 4px 0;
     -moz-border-radius: 0 0 4px 0;
     border-radius: 0 0 4px 0;
   }
-  .nav > li {
+  .navbar .nav > li {
     float: none;
     display: none;
   }
-  .nav > li > a {
+  .navbar .nav > li > a {
     float: none;
     background-color: #222;
   }
-  .nav > .active {
+  .navbar .nav > .active {
     display: block;
     position: absolute;
     top: 0;
     left: 0;
   }
-  .navbar ul .active > a {
+  .navbar .nav > .active > a {
     background-color: transparent;
   }
-  .nav > .active a:after {
+  .navbar .nav > .active > a:hover {
+    background-color: #333;
+  }
+  .navbar .nav > .active > a:after {
     display: inline-block;
     width: 0;
     height: 0;
@@ -3100,8 +3103,11 @@ a.thumbnail:hover {
     opacity: 1;
     content: "&darr;";
   }
-  .nav > .active a:hover {
-    background-color: rgba(255, 255, 255, 0.05);
+  .navbar .nav:hover > li {
+    display: block;
+  }
+  .navbar .nav:hover > li > a:hover {
+    background-color: #333;
   }
 }
 @media (min-width: 768px) and (max-width: 940px) {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index a4352cf92a..916a6b27b5 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -513,4 +513,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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);}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .nav,.nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .nav>li{float:none;display:none;} .nav>li>a{float:none;background-color:#222;} .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar ul .active>a{background-color:transparent;} .nav>.active a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .nav>.active a:hover{background-color:rgba(255, 255, 255, 0.05);}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/navbar.less b/lib/navbar.less
index 70be434ba6..dbad9dcd86 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -10,7 +10,7 @@
 .navbar {
   overflow: visible;
 }
-// gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
+// gradient is applied to it's own element because overflow visible is not honored by IE when filter is present
 .navbar-inner {
   background-color: @navBarBgEnd;
   #gradient > .vertical(@navBarBgStart, @navBarBgEnd);
diff --git a/lib/responsive.less b/lib/responsive.less
index 7856121be1..9f8f9ec6ca 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -81,52 +81,62 @@
   }
 
   // Make the nav work for small devices
-  .nav {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 180px;
-    padding-top: 40px;
-    list-style: none;
-  }
-  .nav,
-  .nav > li:last-child a {
-    .border-radius(0 0 4px 0);
-  }
-  .nav > li {
-    float: none;
-    display: none;
-  }
-  .nav > li > a {
-    float: none;
-    background-color: #222;
-  }
-  .nav > .active {
-    display: block;
-    position: absolute;
-    top: 0;
-    left: 0;
-  }
-  .navbar ul .active > a {
-    background-color: transparent;
-  }
-  .nav > .active a:after {
-    display: inline-block;
-    width: 0;
-    height: 0;
-    margin-top: 8px;
-    margin-left: 6px;
-    text-indent: -99999px;
-    vertical-align: top;
-    border-left: 4px solid transparent;
-    border-right: 4px solid transparent;
-    border-top: 4px solid @white;
-    .opacity(100);
-    content: "&darr;";
-  }
-  .nav > .active a:hover {
-    background-color: rgba(255,255,255,.05);
+  .navbar {
+    .nav {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 180px;
+      padding-top: 40px;
+      list-style: none;
+    }
+    .nav,
+    .nav > li:last-child a {
+      .border-radius(0 0 4px 0);
+    }
+    .nav > li {
+      float: none;
+      display: none;
+    }
+    .nav > li > a {
+      float: none;
+      background-color: #222;
+    }
+    .nav > .active {
+      display: block;
+      position: absolute;
+      top: 0;
+      left: 0;
+    }
+    .nav > .active > a {
+      background-color: transparent;
+    }
+    .nav > .active > a:hover {
+      background-color: #333;
+    }
+    .nav > .active > a:after {
+      display: inline-block;
+      width: 0;
+      height: 0;
+      margin-top: 8px;
+      margin-left: 6px;
+      text-indent: -99999px;
+      vertical-align: top;
+      border-left: 4px solid transparent;
+      border-right: 4px solid transparent;
+      border-top: 4px solid @white;
+      .opacity(100);
+      content: "&darr;";
+    }
+
+    .nav:hover > li {
+      display: block;
+    }
+    .nav:hover > li > a:hover {
+      background-color: #333;
+    }
   }
+
 }
 
 
-- 
GitLab


From b14426c176689c314a339eaaec389c015e3d33ec Mon Sep 17 00:00:00 2001
From: Purwandi <free6300@gmail.com>
Date: Sun, 8 Jan 2012 17:44:19 +0700
Subject: [PATCH 235/576] Added example sidebar navigation with icon in docs

---
 docs/base-css.html   | 11 ++++++-----
 docs/components.html | 30 +++++++++++++++++++++++++++++-
 2 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index c1cb3fd2dd..d764268b46 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1602,11 +1602,12 @@
     </div>
     <div class="span3">
       <p>Or, use them in navigation.</p>
-      <div class="well side-nav">
-        <ul class="nav-group">
-          <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
-          <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
-          <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="nav-header">List header</li>
+          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
+          <li><a href="#"><i class="download"></i> Downloads</a></li>
+          <li><a href="#"><i class="film"></i> Movies</a></li>
         </ul>
       </div>
     </div>
diff --git a/docs/components.html b/docs/components.html
index bd8753401a..560d5b566b 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -256,7 +256,35 @@
 </pre>
     </div>
   </div>
-
+  <div class="row">
+    <div class="span4">
+      <h3>Sidebar navigation with icon</h3>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="nav-header">List header</li>
+          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
+          <li><a href="#"><i class="download"></i> Downloads</a></li>
+          <li><a href="#"><i class="film"></i> Movies</a></li>
+          <li><a href="#"><i class="picture"></i> Picture</a></li>
+          <li class="nav-header">Another list header</li>
+          <li><a href="#"><i class="user"></i> Profile</a></li>
+          <li><a href="#"><i class="asterisk"></i> Settings</a></li>
+        </ul>
+      </div> <!-- /well -->
+    </div>
+    <div class="span8">
+      <h3>Simple markup</h3>
+<pre class="prettyprint linenums">
+&lt;ul class="nav list"&gt;
+  &lt;li class="nav-header"&gt;List header&lt;/li&gt;
+  &lt;li class="active"&gt;&lt;a href="#"&gt;&lt;i class="home"&gt;&lt;/i&gt; Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;&lt;i class="download"&gt;&lt;/i&gt; Downloads&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;&lt;i class="film"&gt;&lt;/i&gt; Movies&lt;/a&gt;&lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div>
 
   <h2>Tabbable nav <small>Bring tabs to life via javascript</small></h2>
   <div class="row">
-- 
GitLab


From b7acbd8476060bc1f2da9837693b0b86b68423c5 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 03:00:06 -0800
Subject: [PATCH 236/576] move collapsing navbar nav to 480 and below, unfloat
 nav for 768 and below to wrap links with position absolute

---
 bootstrap.css       | 102 +++++++++++++++++++-----------------
 bootstrap.min.css   |   2 +-
 lib/responsive.less | 124 ++++++++++++++++++++++++--------------------
 3 files changed, 122 insertions(+), 106 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 57acf87757..a9a104ccce 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 02:30:05 PST 2012
+ * Date: Sun Jan  8 02:58:37 PST 2012
  */
 html, body {
   margin: 0;
@@ -3007,53 +3007,6 @@ a.thumbnail:hover {
   visibility: hidden;
 }
 @media (max-width: 480px) {
-  .modal {
-    width: auto;
-    margin: 0;
-  }
-  .modal.fade.in {
-    top: auto;
-  }
-  .horizontal-form .control-group > label {
-    float: none;
-    width: auto;
-    padding-top: 0;
-    text-align: left;
-  }
-  .horizontal-form .controls {
-    margin-left: 0;
-  }
-  .horizontal-form .control-list {
-    padding-top: 0;
-  }
-  .horizontal-form .form-actions {
-    padding-left: 0;
-  }
-  .modal {
-    position: fixed;
-    top: 20px;
-    left: 20px;
-    right: 20px;
-    width: auto;
-  }
-  .modal .close {
-    padding: 10px;
-  }
-}
-@media (max-width: 768px) {
-  .container {
-    width: auto;
-    padding: 0 20px;
-  }
-  .row {
-    margin-left: 0;
-  }
-  .row > [class*="span"] {
-    float: none;
-    display: block;
-    width: auto;
-    margin: 0;
-  }
   .navbar .nav {
     position: absolute;
     top: 0;
@@ -3109,6 +3062,59 @@ a.thumbnail:hover {
   .navbar .nav:hover > li > a:hover {
     background-color: #333;
   }
+  .modal {
+    width: auto;
+    margin: 0;
+  }
+  .modal.fade.in {
+    top: auto;
+  }
+  .horizontal-form .control-group > label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  .horizontal-form .controls {
+    margin-left: 0;
+  }
+  .horizontal-form .control-list {
+    padding-top: 0;
+  }
+  .horizontal-form .form-actions {
+    padding-left: 0;
+  }
+  .modal {
+    position: fixed;
+    top: 20px;
+    left: 20px;
+    right: 20px;
+    width: auto;
+  }
+  .modal .close {
+    padding: 10px;
+  }
+}
+@media (max-width: 768px) {
+  .navbar-fixed {
+    position: absolute;
+  }
+  .navbar-fixed .nav {
+    float: none;
+  }
+  .container {
+    width: auto;
+    padding: 0 20px;
+  }
+  .row {
+    margin-left: 0;
+  }
+  .row > [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+    margin: 0;
+  }
 }
 @media (min-width: 768px) and (max-width: 940px) {
   .container {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 916a6b27b5..0159780a6c 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -513,4 +513,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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);}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;} .navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/responsive.less b/lib/responsive.less
index 9f8f9ec6ca..e87b8495f4 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -18,6 +18,64 @@
 // ---------------------
 
 @media (max-width: 480px) {
+
+  // Make the nav work for small devices
+  .navbar {
+    .nav {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 180px;
+      padding-top: 40px;
+      list-style: none;
+    }
+    .nav,
+    .nav > li:last-child a {
+      .border-radius(0 0 4px 0);
+    }
+    .nav > li {
+      float: none;
+      display: none;
+    }
+    .nav > li > a {
+      float: none;
+      background-color: #222;
+    }
+    .nav > .active {
+      display: block;
+      position: absolute;
+      top: 0;
+      left: 0;
+    }
+    .nav > .active > a {
+      background-color: transparent;
+    }
+    .nav > .active > a:hover {
+      background-color: #333;
+    }
+    .nav > .active > a:after {
+      display: inline-block;
+      width: 0;
+      height: 0;
+      margin-top: 8px;
+      margin-left: 6px;
+      text-indent: -99999px;
+      vertical-align: top;
+      border-left: 4px solid transparent;
+      border-right: 4px solid transparent;
+      border-top: 4px solid @white;
+      .opacity(100);
+      content: "&darr;";
+    }
+
+    .nav:hover > li {
+      display: block;
+    }
+    .nav:hover > li > a:hover {
+      background-color: #333;
+    }
+  }
+
   // Resize modals
   .modal {
     width: auto;
@@ -63,6 +121,15 @@
 // --------------------------------------------------
 
 @media (max-width: 768px) {
+  
+  // Unfix the navbar
+  .navbar-fixed {
+    position: absolute;
+  }
+  .navbar-fixed .nav {
+    float: none;
+  }
+
   // Remove width from containers
   .container {
     width: auto;
@@ -80,63 +147,6 @@
     margin: 0;
   }
 
-  // Make the nav work for small devices
-  .navbar {
-    .nav {
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 180px;
-      padding-top: 40px;
-      list-style: none;
-    }
-    .nav,
-    .nav > li:last-child a {
-      .border-radius(0 0 4px 0);
-    }
-    .nav > li {
-      float: none;
-      display: none;
-    }
-    .nav > li > a {
-      float: none;
-      background-color: #222;
-    }
-    .nav > .active {
-      display: block;
-      position: absolute;
-      top: 0;
-      left: 0;
-    }
-    .nav > .active > a {
-      background-color: transparent;
-    }
-    .nav > .active > a:hover {
-      background-color: #333;
-    }
-    .nav > .active > a:after {
-      display: inline-block;
-      width: 0;
-      height: 0;
-      margin-top: 8px;
-      margin-left: 6px;
-      text-indent: -99999px;
-      vertical-align: top;
-      border-left: 4px solid transparent;
-      border-right: 4px solid transparent;
-      border-top: 4px solid @white;
-      .opacity(100);
-      content: "&darr;";
-    }
-
-    .nav:hover > li {
-      display: block;
-    }
-    .nav:hover > li > a:hover {
-      background-color: #333;
-    }
-  }
-
 }
 
 
-- 
GitLab


From 2376da40fb020289bcec4d2fe49ca2dc6f4eae97 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 03:11:51 -0800
Subject: [PATCH 237/576] cleanup organization of tabbable nav section

---
 docs/components.html | 53 +++++++++++---------------------------------
 1 file changed, 13 insertions(+), 40 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index bd8753401a..3208e2390e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -262,23 +262,13 @@
   <div class="row">
     <div class="span4">
       <h3>What's included</h3>
-      <p>Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles:</p>
-      <ul>
-        <li>top (default)</li>
-        <li>right</li>
-        <li>bottom</li>
-        <li>left</li>
-      </ul>
+      <p>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.</p>
       <p>Changing between them is easy and only requires changing very little markup.</p>
-      <hr>
-      <h3>Custom jQuery plugin</h3>
-      <p>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.</p>
-      <p><a class="btn" href="./javascript.html/#tabs">Get the javascript &rarr;</a></p>
     </div>
-    <div class="span8">
+    <div class="span4">
       <h3>Tabbable example</h3>
       <p>To make tabs tabbable, wrap the <code>.tabs</code> in another div with class <code>.tabbable</code>.</p>
-      <div class="tabbable">
+      <div class="tabbable" style="margin-bottom: 9px;">
         <ul class="nav tabs">
           <li class="active"><a href="#1" data-toggle="tab">Section 1</a></li>
           <li><a href="#2" data-toggle="tab">Section 2</a></li>
@@ -296,9 +286,16 @@
           </div>
         </div>
       </div> <!-- /tabbable -->
-      <hr>
-      <h3>Straightforward markup</h3>
-      <p>Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.</p>
+    </div>
+    <div class="span4">
+      <h3>Custom jQuery plugin</h3>
+      <p>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.</p>
+      <p><a class="btn" href="./javascript.html/#tabs">Get the javascript &rarr;</a></p>
+    </div>
+  </div>
+    
+  <h3>Straightforward markup</h3>
+  <p>Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.</p>
 <pre class="prettyprint linenums">
 &lt;div class="tabbable"&gt;
   &lt;ul class="nav tabs"&gt;
@@ -315,8 +312,6 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-    </div>
-  </div>
 
   <h3>Tabbable in any direction</h3>
   <div class="row">
@@ -809,28 +804,6 @@
 
 
 
-<!-- Autocomplete
-================================================== -->
-<section id="autocomplete">
-  <div class="page-header">
-    <h1>Autocomplete <small></small></h1>
-  </div>
-
-</section>
-
-
-
-<!-- Carousel
-================================================== -->
-<section id="carousel">
-  <div class="page-header">
-    <h1>Carousel <small></small></h1>
-  </div>
-
-</section>
-
-
-
 <!-- Alerts & Messages
 ================================================== -->
 <section id="alerts">
-- 
GitLab


From 21eb2dac8a650ba13dabb41fd2d221ff918cdd30 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 03:18:48 -0800
Subject: [PATCH 238/576] add icons in nav list example and markup

---
 docs/components.html | 36 ++++++++++++++++++++++++++++++++----
 1 file changed, 32 insertions(+), 4 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index 3208e2390e..2a9d158461 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -222,9 +222,12 @@
       <h3>Application-style navigation</h3>
       <p>Nav lists provide a simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.</p>
       <p>Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.</p>
+      <h4>With icons</h4>
+      <p>Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.</p>
     </div>
     <div class="span4">
-      <h3>Example sidebar navigation</h3>
+      <h3>Example nav list</h3>
+      <p>Take a list of links and add <code>class="nav list"</code>:</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
           <li class="nav-header">List header</li>
@@ -237,9 +240,6 @@
           <li><a href="#">Help</a></li>
         </ul>
       </div> <!-- /well -->
-    </div>
-    <div class="span4">
-      <h3>Simple markup</h3>
 <pre class="prettyprint linenums">
 &lt;ul class="nav list"&gt;
   &lt;li class="nav-header"&gt;
@@ -253,6 +253,34 @@
   &lt;/li&gt;
   ...
 &lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Example with icons</h3>
+      <p>Same example, but with <code>&lt;i&gt;</code> tags for icons.</p>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="nav-header">List header</li>
+          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
+          <li><a href="#"><i class="book"></i> Library</a></li>
+          <li><a href="#"><i class="pencil"></i> Applications</a></li>
+          <li class="nav-header">Another list header</li>
+          <li><a href="#"><i class="user"></i> Profile</a></li>
+          <li><a href="#"><i class="cog"></i> Settings</a></li>
+          <li><a href="#"><i class="flag"></i> Help</a></li>
+        </ul>
+      </div> <!-- /well -->
+<pre class="prettyprint linenums">
+&lt;ul class="nav list"&gt;
+  ...
+  &lt;li&gt;
+    &lt;a href="#"&gt;
+      &lt;i class="book"&gt;&lt;/i&gt;
+      Library
+    &lt;/a&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
 </pre>
     </div>
   </div>
-- 
GitLab


From f1cbd22b99c3fec54d18341c31cfb1c237db44f2 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 11:23:51 -0800
Subject: [PATCH 239/576] fix buttons for firefox

---
 js/bootstrap-button.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js
index 10a85835e6..cb0c45cdf1 100644
--- a/js/bootstrap-button.js
+++ b/js/bootstrap-button.js
@@ -91,7 +91,7 @@
 
   $(function () {
     $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
-      $(e.srcElement).button('toggle')
+      $(e.target).button('toggle')
     })
   })
 
-- 
GitLab


From d4ded76a8fbd35ac66663a6b54f7ab6f85bf0350 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 11:33:55 -0800
Subject: [PATCH 240/576] get carousel working in firefox

---
 bootstrap.css       | 142 ++------------------------------------------
 bootstrap.min.css   |  14 +----
 lib/thumbnails.less |   2 +
 3 files changed, 8 insertions(+), 150 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a9a104ccce..10612de2cf 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 02:58:37 PST 2012
+ * Date: Sun Jan  8 11:32:00 PST 2012
  */
 html, body {
   margin: 0;
@@ -2789,6 +2789,9 @@ a.thumbnail:hover {
 .carousel .active, .carousel .next, .carousel .prev {
   display: block;
 }
+.carousel .active {
+  left: 0;
+}
 .carousel .next, .carousel .prev {
   position: absolute;
   top: 0;
@@ -2865,143 +2868,6 @@ a.thumbnail:hover {
     background-position: 40px 0;
   }
 }
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-.progress, .progress .bar {
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
-.progress {
-  height: 18px;
-  margin-bottom: 18px;
-  background-color: #f9f9f9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));
-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
-  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);
-}
-.progress .bar {
-  width: 0%;
-  height: 18px;
-  margin: ;
-  background-color: #0480be;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat: repeat-x;
-  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);
-  -webkit-box-sizing: border-box;
-  -moz-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;
-}
-.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));
-  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: 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;
-}
-.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;
-}
-.progress.danger .bar {
-  background-color: #c43c35;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
-  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);
-}
-.progress.danger.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));
-  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: 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: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  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);
-}
-.progress.success.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));
-  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: 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: #339bb9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
-  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);
-}
-.progress.info.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));
-  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: 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);
-}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0159780a6c..5b740e782e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -489,6 +489,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel{position:relative;}.carousel .carousel-inner{overflow:hidden;width:100%;position:relative;}
 .carousel .item{display:none;position:relative;-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;}
 .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%;}
@@ -501,16 +502,5 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
-.progress .bar{width:0%;height:18px;margin:;background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
-.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));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: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;}
-.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;}
-.progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
-.progress.danger.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));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: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:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
-.progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
-.progress.info.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));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: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);}
-.hidden{display:none;visibility:hidden;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index 6ac3cb51f1..3d1d5bc246 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -51,6 +51,8 @@ a.thumbnail:hover {
 
   .active, .next, .prev { display: block; }
 
+  .active { left: 0 }
+
   .next, .prev {
     position: absolute;
     top: 0;
-- 
GitLab


From fbd686ad655e1a22450f517e9ec241eaafc167f7 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 12:08:00 -0800
Subject: [PATCH 241/576] get tabs working in ie9

---
 docs/javascript.html | 2 +-
 js/bootstrap-tab.js  | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index ff2f8c0b91..864e6784b9 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -486,7 +486,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
             <li><a href="#messages" data-toggle="tab">Messages</a></li>
             <li><a href="#settings" data-toggle="tab">Settings</a></li>
             <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
               <ul class="dropdown-menu">
                 <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
                 <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index c7632ded25..8492fe9558 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -77,6 +77,8 @@
         if (transition) {
           element[0].offsetWidth // reflow for transition
           element.addClass('in')
+        } else {
+          element.removeClass('fade')
         }
 
         if ( element.parent('.dropdown-menu') ) {
-- 
GitLab


From 1ef9cbc6e4b2a002eea4515f3779318f2ee60666 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 12:40:30 -0800
Subject: [PATCH 242/576] rejigger z-index ranks for popovers/topbar/etc

---
 bootstrap.css      | 149 +++++++++++++++++++++++++++++++++++++++++++--
 bootstrap.min.css  |  23 +++++--
 lib/variables.less |  11 ++--
 3 files changed, 166 insertions(+), 17 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 10612de2cf..f2ebd44c39 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 11:32:00 PST 2012
+ * Date: Sun Jan  8 12:40:18 PST 2012
  */
 html, body {
   margin: 0;
@@ -1701,7 +1701,7 @@ i {
   top: 0;
   right: 0;
   left: 0;
-  z-index: 1010;
+  z-index: 1030;
 }
 .navbar .nav {
   position: relative;
@@ -2123,7 +2123,7 @@ i {
   right: 0;
   bottom: 0;
   left: 0;
-  z-index: 1020;
+  z-index: 1040;
   background-color: #000000;
 }
 .modal-backdrop.fade {
@@ -2138,7 +2138,7 @@ i {
   position: fixed;
   top: 50%;
   left: 50%;
-  z-index: 1030;
+  z-index: 1050;
   max-height: 500px;
   overflow: auto;
   width: 560px;
@@ -2208,7 +2208,7 @@ i {
 }
 .twipsy {
   position: absolute;
-  z-index: 1050;
+  z-index: 1020;
   display: block;
   visibility: visible;
   padding: 5px;
@@ -2286,7 +2286,7 @@ i {
   position: absolute;
   top: 0;
   left: 0;
-  z-index: 1040;
+  z-index: 1010;
   display: none;
   padding: 5px;
 }
@@ -2868,6 +2868,143 @@ a.thumbnail:hover {
     background-position: 40px 0;
   }
 }
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+.progress, .progress .bar {
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.progress {
+  height: 18px;
+  margin-bottom: 18px;
+  background-color: #f9f9f9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));
+  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+  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);
+}
+.progress .bar {
+  width: 0%;
+  height: 18px;
+  margin: ;
+  background-color: #0480be;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
+  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat: repeat-x;
+  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);
+  -webkit-box-sizing: border-box;
+  -moz-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;
+}
+.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));
+  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: 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;
+}
+.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;
+}
+.progress.danger .bar {
+  background-color: #c43c35;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  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);
+}
+.progress.danger.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));
+  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: 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: #57a957;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  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);
+}
+.progress.success.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));
+  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: 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: #339bb9;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  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);
+}
+.progress.info.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));
+  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: 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);
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 5b740e782e..be19ce1540 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -326,7 +326,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
 .navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1010;}
+.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1030;}
 .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
 .navbar .nav.pull-right{float:right;}
 .navbar .nav>li{display:block;float:left;}
@@ -404,16 +404,16 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
 .pagination .next a{border:0;}
 .pagination.centered{text-align:center;}
-.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1020;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
+.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:1030;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
+.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
 .modal.fade.in{top:50%;}
 .modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:7px;}
 .modal-body{padding:15px;}
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{position:absolute;z-index:1050;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.twipsy{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .twipsy.top{margin-top:-2px;}
 .twipsy.right{margin-left:2px;}
 .twipsy.bottom{margin-top:2px;}
@@ -424,7 +424,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
 .twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .twipsy-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1040;display:none;padding:5px;}.popover.top{margin-top:-5px;}
+.popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
 .popover.bottom{margin-top:5px;}
 .popover.left{margin-left:-5px;}
@@ -502,5 +502,16 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.hidden{display:none;visibility:hidden;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
+.progress .bar{width:0%;height:18px;margin:;background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.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));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: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;}
+.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;}
+.progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
+.progress.danger.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));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: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:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
+.progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
+.progress.info.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));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: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);}
+.hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/variables.less b/lib/variables.less
index 37f5adb71d..97b6f9e3c8 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -49,12 +49,13 @@
 
 // Z-INDEX
 // -------
+
 @zindexDropdown:        1000;
-@zindexFixedNavbar:     1010;
-@zindexModalBackdrop:   1020;
-@zindexModal:           1030;
-@zindexPopover:         1040;
-@zindexTwipsy:          1050;
+@zindexPopover:         1010;
+@zindexTwipsy:          1020;
+@zindexFixedNavbar:     1030;
+@zindexModalBackdrop:   1040;
+@zindexModal:           1050;
 
 
 // THEME VARIABLES
-- 
GitLab


From cb9be7bd0cde19b3b401d2dcdfb6162dd00b5ab5 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 13:21:44 -0800
Subject: [PATCH 243/576] clean up dup css in responsive, fix navbar dropdown
 caret

---
 bootstrap.css            | 18 +++++++-----------
 bootstrap.min.css        |  6 +++---
 docs/assets/css/docs.css |  2 +-
 docs/index.html          |  5 +++--
 lib/navs.less            |  6 ++++--
 lib/responsive.less      | 16 +++++-----------
 lib/scaffolding.less     | 10 ++++++++--
 7 files changed, 31 insertions(+), 32 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index f2ebd44c39..baafd0dd94 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 12:40:18 PST 2012
+ * Date: Sun Jan  8 13:21:31 PST 2012
  */
 html, body {
   margin: 0;
@@ -1934,11 +1934,11 @@ i {
   -moz-border-radius: 4px;
   border-radius: 4px;
 }
-.nav .dropdown-toggle .caret {
+.tabs .dropdown-toggle .caret, .pills .dropdown-toggle .caret {
   border-top-color: #0088cc;
   margin-top: 6px;
 }
-.nav .dropdown-toggle:hover .caret {
+.tabs .dropdown-toggle:hover .caret, .pills .dropdown-toggle:hover .caret {
   border-top-color: #005580;
 }
 .nav .open .dropdown-toggle {
@@ -3065,13 +3065,6 @@ a.thumbnail:hover {
   .navbar .nav:hover > li > a:hover {
     background-color: #333;
   }
-  .modal {
-    width: auto;
-    margin: 0;
-  }
-  .modal.fade.in {
-    top: auto;
-  }
   .horizontal-form .control-group > label {
     float: none;
     width: auto;
@@ -3094,7 +3087,10 @@ a.thumbnail:hover {
     right: 20px;
     width: auto;
   }
-  .modal .close {
+  .modal.fade.in {
+    top: auto;
+  }
+  .modal-header .close {
     padding: 10px;
   }
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index be19ce1540..17a2c107b1 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -370,8 +370,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pills.stacked>li:last-child>a{margin-bottom:1px;}
 .nav .dropdown-menu{top:33px;border-width:1px;}
 .pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.nav .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
-.nav .dropdown-toggle:hover .caret{border-top-color:#005580;}
+.tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
+.tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
 .nav .open .dropdown-toggle{background-color:#999;border-color:#999;}
 .nav .open .caret,.nav .open a:hover .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .tabs.stacked .open>a:hover{border-color:#999;}
@@ -514,4 +514,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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);}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .modal{width:auto;margin:0;}.modal.fade.in{top:auto;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index c359cf73ba..f370672037 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -163,7 +163,7 @@ body > .navbar-fixed .brand:hover {
 /* Marketing section of Overview
 -------------------------------------------------- */
 .marketing .row {
-  margin-bottom: 18px;
+  margin-bottom: 9px;
 }
 .marketing h1 {
   margin: 36px 0 27px;
diff --git a/docs/index.html b/docs/index.html
index 231ed2066b..8f7963afd2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -127,6 +127,7 @@
           </ul>
 
           <h1>Designed for everyone, everywhere.</h1>
+          <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
@@ -153,7 +154,7 @@
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
               <h2>Responsive design</h2>
-              <p>With Bootstrap 2, we've gone fully responsive. Our components are flexible enough to scale according to whatever resolution or device you're using to provide a consistent experience, no matter what.</p>
+              <p>With Bootstrap 2, we've gone fully responsive. Our components are scale according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
@@ -205,7 +206,7 @@
           <!-- Quickstart options
           ================================================== -->
           <h1>Get started in no time.</h1>
-          <p class="marketing-byline">Built for any skill level, Bootstrap fits your workflow and development process.</p>
+          <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
           <table class="bordered-table getting-started">
             <tbody>
               <tr>
diff --git a/lib/navs.less b/lib/navs.less
index dee482aea2..65d459da93 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -182,11 +182,13 @@
 .pills .dropdown-menu {
   .border-radius(4px);
 }
-.nav .dropdown-toggle .caret {
+.tabs .dropdown-toggle .caret,
+.pills .dropdown-toggle .caret {
   border-top-color: @linkColor;
   margin-top: 6px;
 }
-.nav .dropdown-toggle:hover .caret {
+.tabs .dropdown-toggle:hover .caret,
+.pills .dropdown-toggle:hover .caret {
   border-top-color: @linkColorHover;
 }
 .nav .open .dropdown-toggle {
diff --git a/lib/responsive.less b/lib/responsive.less
index e87b8495f4..5131aa625b 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -67,7 +67,6 @@
       .opacity(100);
       content: "&darr;";
     }
-
     .nav:hover > li {
       display: block;
     }
@@ -76,13 +75,6 @@
     }
   }
 
-  // Resize modals
-  .modal {
-    width: auto;
-    margin: 0;
-    &.fade.in { top: auto; }
-  }
-
   // Remove the horizontal form styles
   .horizontal-form .control-group > label {
     float: none;
@@ -110,10 +102,12 @@
     left: 20px;
     right: 20px;
     width: auto;
-    .close {
-      padding: 10px;
-    }
+    &.fade.in { top: auto; }
   }
+  .modal-header .close {
+    padding: 10px;
+  }
+
 }
 
 
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 7432e849ba..a1f41ab66a 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -39,8 +39,14 @@ body {
 .sidebar-right  { padding-right: @fluidSidebarWidth + 40; }
 
 // Float the sidebars accordingly
-.sidebar-left .fluid-sidebar   { float: left; margin-left: (@fluidSidebarWidth + 20) * -1; }
-.sidebar-right .fluid-sidebar  { float: right; margin-right: (@fluidSidebarWidth + 20) * -1; }
+.sidebar-left .fluid-sidebar {
+  float: left;
+  margin-left: (@fluidSidebarWidth + 20) * -1;
+}
+.sidebar-right .fluid-sidebar {
+  float: right;
+  margin-right: (@fluidSidebarWidth + 20) * -1;
+}
 
 // The main content area
 .fluid-content {
-- 
GitLab


From 0d62778b28147f599015489d281e749893907087 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 13:22:20 -0800
Subject: [PATCH 244/576] correct navbar scaffolding code snippet

---
 docs/components.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/components.html b/docs/components.html
index 2a9d158461..0c70ef1680 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -506,7 +506,7 @@
 <pre class="prettyprint linenums">
 &lt;div class="navbar navbar-static"&gt;
   &lt;div class="navbar-inner"&gt;
-    &lt;div class="container" style="width: auto;"&gt;
+    &lt;div class="container"&gt;
       ...
     &lt;/div&gt;
   &lt;/div&gt;
-- 
GitLab


From 6226b14e3b97819119da0f026e9d3ae6dd0a31c0 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 13:30:23 -0800
Subject: [PATCH 245/576] fix placement of dropdowns in navbar after getting to
 general in those styles

---
 bootstrap.css     | 6 +++---
 bootstrap.min.css | 4 ++--
 lib/navs.less     | 6 ++++--
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index baafd0dd94..1fc88441ab 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 13:21:31 PST 2012
+ * Date: Sun Jan  8 13:30:08 PST 2012
  */
 html, body {
   margin: 0;
@@ -1925,7 +1925,7 @@ i {
 .pills.stacked > li:last-child > a {
   margin-bottom: 1px;
 }
-.nav .dropdown-menu {
+.pills .dropdown-menu, .tabs .dropdown-menu {
   top: 33px;
   border-width: 1px;
 }
@@ -1941,7 +1941,7 @@ i {
 .tabs .dropdown-toggle:hover .caret, .pills .dropdown-toggle:hover .caret {
   border-top-color: #005580;
 }
-.nav .open .dropdown-toggle {
+.tabs .open .dropdown-toggle, .pills .open .dropdown-toggle {
   background-color: #999;
   border-color: #999;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 17a2c107b1..a776da8886 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -368,11 +368,11 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs.stacked>li>a:hover{border-color:#ddd;z-index:2;}
 .pills.stacked>li>a{margin-bottom:3px;}
 .pills.stacked>li:last-child>a{margin-bottom:1px;}
-.nav .dropdown-menu{top:33px;border-width:1px;}
+.pills .dropdown-menu,.tabs .dropdown-menu{top:33px;border-width:1px;}
 .pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
 .tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
-.nav .open .dropdown-toggle{background-color:#999;border-color:#999;}
+.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle{background-color:#999;border-color:#999;}
 .nav .open .caret,.nav .open a:hover .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .tabs.stacked .open>a:hover{border-color:#999;}
 .tabbable{zoom:1;}.tabbable:before,.tabbable:after{display:table;*display:inline;content:"";zoom:1;}
diff --git a/lib/navs.less b/lib/navs.less
index 65d459da93..804a273bb4 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -175,7 +175,8 @@
 // ---------
 
 // Position the menu
-.nav .dropdown-menu {
+.pills .dropdown-menu,
+.tabs .dropdown-menu {
   top: 33px;
   border-width: 1px;
 }
@@ -191,7 +192,8 @@
 .pills .dropdown-toggle:hover .caret {
   border-top-color: @linkColorHover;
 }
-.nav .open .dropdown-toggle {
+.tabs .open .dropdown-toggle,
+.pills .open .dropdown-toggle {
   background-color: #999;
   border-color: #999;
 }
-- 
GitLab


From f83240a8f93349c93582a96c4f4a7541388d6a80 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 13:39:27 -0800
Subject: [PATCH 246/576] add slide and slid events + disable sliding during
 slide

---
 js/bootstrap-carousel.js | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index fa5247c97e..c49f89ad80 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -44,10 +44,12 @@
     }
 
   , next: function () {
+      if (this.sliding) return
       return this.slide('next')
     }
 
   , prev: function () {
+      if (this.sliding) return
       return this.slide('prev')
     }
 
@@ -59,21 +61,29 @@
         , fallback  = type == 'next' ? 'first' : 'last'
         , that = this
 
+      this.sliding = true
+
       isCycling && this.pause()
 
       $next = $next.length ? $next : this.$element.find('.item')[fallback]()
 
       if (!$.support.transition && this.$element.hasClass('slide')) {
+        this.$element.trigger('slide')
         $active.removeClass('active')
         $next.addClass('active')
+        this.$element.trigger('slid')
+        this.sliding = false
       } else {
         $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.$element.trigger('slid')
+          that.sliding = false
         })
       }
 
-- 
GitLab


From 561fc8cf2a955c28906216301d2fdb3c39b8e981 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 13:54:00 -0800
Subject: [PATCH 247/576] document slide and slid methods

---
 docs/javascript.html | 53 +++++++++++++++++++++++++++++++-------------
 1 file changed, 37 insertions(+), 16 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 864e6784b9..f9877dc028 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -362,7 +362,7 @@ $('#myModal').on('hidden', function () {
                   <li><a href="#fat">@fat</a></li>
                   <li><a href="#mdo">@mdo</a></li>
                   <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
                     <ul class="dropdown-menu">
                       <li><a href="#one">one</a></li>
                       <li><a href="#two">two</a></li>
@@ -1058,21 +1058,42 @@ $('#myCollapsible').on('hidden', function () {
 
 &lt;/div&gt;
 </pre>
-<h3>Methods</h3>
-<h4>.carousel(options)</h4>
-<p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
-<pre class="prettyprint linenums">
-$('.myCarousel').carousel({
-  interval: 2000
-})</pre>
-<h4>.carousel('cycle')</h4>
-<p>Cycles through the carousel items from left to right.</p>
-<h4>.carousel('pause')</h4>
-<p>Stops the carousel from cycling through items.</p>
-<h4>.carousel('prev')</h4>
-<p>Cycles to the previous item.</p>
-<h4>.carousel('next')</h4>
-<p>Cycles to the next item.</p>
+          <h3>Methods</h3>
+          <h4>.carousel(options)</h4>
+          <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
+          <pre class="prettyprint linenums">
+          $('.myCarousel').carousel({
+            interval: 2000
+          })</pre>
+          <h4>.carousel('cycle')</h4>
+          <p>Cycles through the carousel items from left to right.</p>
+          <h4>.carousel('pause')</h4>
+          <p>Stops the carousel from cycling through items.</p>
+          <h4>.carousel('prev')</h4>
+          <p>Cycles to the previous item.</p>
+          <h4>.carousel('next')</h4>
+          <p>Cycles to the next item.</p>
+          <h3>Events</h3>
+          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <table class="bordered-table striped-table">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>slide</td>
+               <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
+             </tr>
+             <tr>
+               <td>slid</td>
+               <td>This event is fired when the carousel has completed it's slide transition.</td>
+             </tr>
+             </tr>
+            </tbody>
+          </table>
           <h3>Demo</h3>
 
           <!-- carousel -->
-- 
GitLab


From 5a33c1b96e13a4650a127b0e81a91eb235561170 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 14:19:53 -0800
Subject: [PATCH 248/576] make dropdowns toggle when clicked (for mobile)

---
 js/bootstrap-dropdown.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index d846f1af1b..3cb2619929 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -38,12 +38,14 @@
       var $this = $(this)
         , selector = $this.attr('data-target') || $this.attr('href')
         , $parent = $(selector)
+        , isActive
 
       $parent.length || ($parent = $this.parent())
+      isActive = $parent.hasClass('open')
 
       clearMenus()
 
-      !$parent.hasClass('open') && $parent.toggleClass('open')
+      !isActive && $parent.toggleClass('open')
 
       return false
     }
-- 
GitLab


From cb38d08ed4f8d11ddfd0ebb1093c7a3857a7863c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 14:33:03 -0800
Subject: [PATCH 249/576] updated js docs page to use grid of plugins instead
 of table

---
 docs/javascript.html | 148 ++++++++++++++++++++-----------------------
 1 file changed, 68 insertions(+), 80 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 864e6784b9..256c366662 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -50,89 +50,77 @@
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
         <h1>Javascript for Bootstrap</h1>
-        <p class="lead">Bring Bootstrap's components to life &mdash; now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
+        <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
       </header>
 
 
-<!-- Using Javascript w/ Bootstrap
- ================================================== -->
-
- <section id="javascript">
-   <div class="page-header">
-     <h1>Using javascript with Bootstrap <small>An index of plugins to get you started</small></h1>
-   </div>
-   <div class="row">
-     <div class="span3">
-       <h2>Getting started</h2>
-       <p>Integrating javascript with the Bootstrap library is super easy. Here we go over the basics and provide you with some awesome plugins to get you started!</p>
-     </div>
-     <div class="span9">
-      <h3>What's included</h3>
-       <p>Bring some of Bootstrap's primary components to life with custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins. We encourage you to extend and modify them to fit your specific development needs.</p>
-       <table class="bordered-table striped-table">
-         <thead>
-           <tr>
-             <th style="width: 150px;">File</th>
-             <th>Description</th>
-           </tr>
-         </thead>
-         <tbody>
-           <tr>
-             <td><a href="./javascript.html#transition">bootstrap-transition.js</a></td>
-             <td>The transition plugin is required for adding animation to other bootstrap plugins. Include this plugin (only once) when sliding in modals or fading out alerts.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#modal">bootstrap-modal.js</a></td>
-             <td>Our Modal plugin is a super slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require here at twitter.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#dropdown">bootstrap-dropdown.js</a></td>
-             <td>This plugin is for adding generic dropdown interactions to things like navigation top bars and tabs.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#scrollspy">bootstrap-scrollspy.js</a></td>
-             <td>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#tab">bootstrap-tab.js</a></td>
-             <td>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</td>
-           <tr>
-             <td><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></td>
-             <td>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, data-attributes for local title storage, and now jquery 1.7's new event api!</td>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
-             <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">bootstrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
-           </tr>
-           </tr>
-           <tr>
-             <td><a href="./javascript.html#alert">bootstrap-alert.js</a></td>
-             <td>The alert plugin is a tiny class for adding close functionality to alerts.</td>
-           </tr>
-           <tr>
-              <td><a href="./javascript.html#button">bootstrap-button.js</a></td>
-              <td>This plugin offers additional functionality for managing button state in single buttons and button sets.</td>
-            </tr>
-            <tr>
-              <td><a href="./javascript.html#collapse">bootstrap-collapse.js</a></td>
-              <td>The collapse plugin offers simple, generic collapsible element support for making accordions and other collapsible ui components.</td>
-            </tr>
-            <tr>
-              <td><a href="./javascript.html#carousel">bootstrap-carousel.js</a></td>
-              <td>A plugin for rotating through elements. A merry-go-round.</td>
-            </tr>
-            <tr>
-              <td><a href="./javascript.html#typeahead">bootstrap-typeahead.js</a></td>
-              <td>A basic, easily extended plugin for quickly creating elegant typeaheads.</td>
-            </tr>
-         </tbody>
-       </table>
-       <h3>Is javascript necessary?</h3>
-       <p><strong>Nope!</strong> Bootstrap is designed first and foremost to be a CSS library. This javascript provides a basic interactive layer on top of the included styles.</p>
-       <p>However, for those who do need javascript, we've provided the plugins above to help you understand how to integrate Bootstrap with javascript and to give you a quick, lightweight option for the basic functionality right away.</p>
-     </div>
-   </div>
-</section>
+
+      <!-- Using Javascript w/ Bootstrap
+      ================================================== -->
+
+      <section id="javascript">
+        <div class="page-header">
+          <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
+        </div>
+      <div class="row">
+        <div class="span3">
+          <h3><a href="#transition">Transitions</a> <small class="muted">*</small></h3>
+          <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alert messages.</p>
+          <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#modal">Modals</a></h3>
+          <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#dropdown">Dropdowns</a></h3>
+          <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#scrollspy">Scrollspy</a></h3>
+          <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span3">
+          <h3><a href="#tab">Togglable tabs</a></h3>
+          <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#twipsy">Twipsy tooltips</a></h3>
+          <p>A new take on the jQuery Tipsy plugin, Twipsy uses CSS3 animations, data attributes for titles, and the new event API in jQuery 1.7.</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#popover">Popovers</a> <small class="muted">*</small></h3>
+          <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+          <p class="muted"><strong>*</strong> Requires <a href="#twipsy">Twipsy</a> to be included</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#alert">Alert messages</a></h3>
+          <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span3">
+          <h3><a href="#button">Buttons</a></h3>
+          <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#button">Collapse</a></h3>
+          <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#button">Carousel</a></h3>
+          <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+        </div>
+        <div class="span3">
+          <h3><a href="#button">Typeahead</a></h3>
+          <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+        </div>
+      </div> <!-- /row -->
+      <hr>
+      <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
+    </section>
 
 
     <!-- Modal
-- 
GitLab


From 2c790304393cce3ba7db3b3d5bc9385b1986b838 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 14:33:14 -0800
Subject: [PATCH 250/576] fix navbar styles for .brand

---
 bootstrap.css        |  8 ++++----
 bootstrap.min.css    |  4 ++--
 docs/javascript.html | 24 ++++++++++++------------
 lib/navbar.less      |  7 +++----
 4 files changed, 21 insertions(+), 22 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 1fc88441ab..d040f329b8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 13:30:08 PST 2012
+ * Date: Sun Jan  8 14:33:06 PST 2012
  */
 html, body {
   margin: 0;
@@ -1604,11 +1604,9 @@ i {
   -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 .brand:hover, .navbar .nav .active > a {
+.navbar .brand:hover {
   color: #ffffff;
   text-decoration: none;
-  background-color: #333333;
-  background-color: rgba(255, 255, 255, 0.05);
 }
 .navbar .brand {
   float: left;
@@ -1731,6 +1729,8 @@ i {
   text-decoration: none;
 }
 .navbar .nav .active > a {
+  color: #ffffff;
+  text-decoration: none;
   background-color: #222;
   background-color: rgba(0, 0, 0, 0.5);
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index a776da8886..89e61a0b64 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -315,7 +315,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
-.navbar .brand:hover,.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#333333;background-color:rgba(255, 255, 255, 0.05);}
+.navbar .brand:hover{color:#ffffff;text-decoration:none;}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
 .navbar .btn{margin-top:5px;}
@@ -332,7 +332,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .nav>li{display:block;float:left;}
 .navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
 .navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
-.navbar .nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
+.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
 .navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
 .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
 .navbar .dropdown-menu{top:42px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.1);position:absolute;top:-7px;left:12px;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 256c366662..a63350c3d9 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -64,57 +64,57 @@
         </div>
       <div class="row">
         <div class="span3">
-          <h3><a href="#transition">Transitions</a> <small class="muted">*</small></h3>
+          <h3><a href="./javascript.html#transition">Transitions</a> <small class="muted">*</small></h3>
           <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alert messages.</p>
           <p class="muted"><strong>*</strong> Required for animation in plugins</p>
         </div>
         <div class="span3">
-          <h3><a href="#modal">Modals</a></h3>
+          <h3><a href="./javascript.html#modal">Modals</a></h3>
           <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
         </div>
         <div class="span3">
-          <h3><a href="#dropdown">Dropdowns</a></h3>
+          <h3><a href="./javascript.html#dropdown">Dropdowns</a></h3>
           <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
         </div>
         <div class="span3">
-          <h3><a href="#scrollspy">Scrollspy</a></h3>
+          <h3><a href="./javascript.html#scrollspy">Scrollspy</a></h3>
           <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
         </div>
       </div> <!-- /row -->
       <div class="row">
         <div class="span3">
-          <h3><a href="#tab">Togglable tabs</a></h3>
+          <h3><a href="./javascript.html#tab">Togglable tabs</a></h3>
           <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
         </div>
         <div class="span3">
-          <h3><a href="#twipsy">Twipsy tooltips</a></h3>
+          <h3><a href="./javascript.html#twipsy">Twipsy tooltips</a></h3>
           <p>A new take on the jQuery Tipsy plugin, Twipsy uses CSS3 animations, data attributes for titles, and the new event API in jQuery 1.7.</p>
         </div>
         <div class="span3">
-          <h3><a href="#popover">Popovers</a> <small class="muted">*</small></h3>
+          <h3><a href="./javascript.html#popover">Popovers</a> <small class="muted">*</small></h3>
           <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
           <p class="muted"><strong>*</strong> Requires <a href="#twipsy">Twipsy</a> to be included</p>
         </div>
         <div class="span3">
-          <h3><a href="#alert">Alert messages</a></h3>
+          <h3><a href="./javascript.html#alert">Alert messages</a></h3>
           <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
         </div>
       </div> <!-- /row -->
       <div class="row">
         <div class="span3">
-          <h3><a href="#button">Buttons</a></h3>
+          <h3><a href="./javascript.html#button">Buttons</a></h3>
           <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
         </div>
         <div class="span3">
-          <h3><a href="#button">Collapse</a></h3>
+          <h3><a href="./javascript.html#collapse">Collapse</a></h3>
           <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
         </div>
         <div class="span3">
-          <h3><a href="#button">Carousel</a></h3>
+          <h3><a href="./javascript.html#carousel">Carousel</a></h3>
           <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
         </div>
         <div class="span3">
-          <h3><a href="#button">Typeahead</a></h3>
+          <h3><a href="./javascript.html#typeahead">Typeahead</a></h3>
           <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
         </div>
       </div> <!-- /row -->
diff --git a/lib/navbar.less b/lib/navbar.less
index dbad9dcd86..82f9f7d2e4 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -20,12 +20,9 @@
 // Text and links
 .navbar {
   // Hover and active states
-  .brand:hover,
-  .nav .active > a {
+  .brand:hover {
     color: @white;
     text-decoration: none;
-    background-color: @navBarBgStart;
-    background-color: rgba(255,255,255,.05);
   }
   // Website or project name
   .brand {
@@ -166,6 +163,8 @@
 
 // Active nav items
 .navbar .nav .active > a {
+  color: @white;
+  text-decoration: none;
   background-color: #222;
   background-color: rgba(0,0,0,.5);
 }
-- 
GitLab


From 76cadd1d2a493d4cbcfe8acd984bd4f908b25abf Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 14:36:41 -0800
Subject: [PATCH 251/576] only append modal to dom if not already present

---
 js/bootstrap-modal.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 98a62865b3..670d55c4ec 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -51,8 +51,9 @@
         backdrop.call(this, function () {
           var transition = $.support.transition && that.$element.hasClass('fade')
 
+          !that.$element.parent() && that.$element.appendTo(document.body) //don't move modals dom position
+
           that.$element
-            .appendTo(document.body)
             .show()
 
           if (transition) {
-- 
GitLab


From aa0c4acd80562645ae85ef9a76f6b45e778d7acd Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 14:38:21 -0800
Subject: [PATCH 252/576] fix modal insertion boolean

---
 js/bootstrap-modal.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 670d55c4ec..df4f3c7643 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -51,7 +51,7 @@
         backdrop.call(this, function () {
           var transition = $.support.transition && that.$element.hasClass('fade')
 
-          !that.$element.parent() && that.$element.appendTo(document.body) //don't move modals dom position
+          !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
 
           that.$element
             .show()
-- 
GitLab


From 6e8a3bba32312cb13cf70acca0575ff14651437e Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 14:54:36 -0800
Subject: [PATCH 253/576] add note about firefox persisting disabled state on
 buttons

---
 docs/javascript.html | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/javascript.html b/docs/javascript.html
index f9877dc028..76b5edb87e 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -811,6 +811,9 @@ $('#my-alert').bind('closed', function () {
           <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
           </p>
            <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+          <p>
+            <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
+          </p>
            <h4>$().button('reset')</h4>
            <p>Resets button state - swaps text to original text.</p>
            <h4>$().button(string)</h4>
-- 
GitLab


From 91d393fd4705faff072a33f9697e0bf194fe40db Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 15:01:23 -0800
Subject: [PATCH 254/576] change prepend to append

---
 js/bootstrap-twipsy.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 1ce4ad85b6..756775f43e 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -123,7 +123,7 @@
         $tip
           .remove()
           .css({ top: 0, left: 0, display: 'block' })
-          .prependTo(inside ? this.$element : document.body)
+          .appendTo(inside ? this.$element : document.body)
 
         pos = this.getPosition(inside)
 
-- 
GitLab


From dbe5e666af51a4d85923c1a7754da1c929dfc249 Mon Sep 17 00:00:00 2001
From: Maik Schreiber <blizzy@blizzy.de>
Date: Mon, 9 Jan 2012 00:02:13 +0100
Subject: [PATCH 255/576] fix typo

---
 docs/components.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/components.html b/docs/components.html
index 0c70ef1680..104bedf54f 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -512,7 +512,7 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      <p>To make the navbar fixed, swamp the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+      <p>To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
 <pre class="prettyprint linenums">
 &lt;div class="navbar navbar-fixed"&gt;
   ...
-- 
GitLab


From 7aca72322effb717804af8348d3b58cfa2cbe000 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 8 Jan 2012 15:12:34 -0800
Subject: [PATCH 256/576] move hover state out of timeout duh

---
 docs/javascript.html   | 2 +-
 js/bootstrap-twipsy.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 76b5edb87e..f7980d86b5 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -517,7 +517,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
       </div>
     </section>
 
-    <!-- Tips
+    <!-- Twipsy
     ================================================== -->
 
     <section id="twipsy">
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 756775f43e..b7b802926d 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -88,8 +88,8 @@
       if (!self.options.delay || !self.options.delay.hide) {
         self.hide()
       } else {
+        self.hoverState = 'out'
         setTimeout(function() {
-          self.hoverState = 'out'
           if (self.hoverState == 'out') {
             self.hide()
           }
-- 
GitLab


From 4b79443bba6ad83d9da62e00765ef45121fb39ff Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 15:33:44 -0800
Subject: [PATCH 257/576] fix dropdowns for active state in dropdown menus

---
 bootstrap.css      | 23 ++++++++++++++++++-----
 bootstrap.min.css  | 11 +++++++----
 lib/dropdowns.less | 13 ++++++++++---
 lib/navs.less      | 30 +++++++++++++++++++++++++++---
 4 files changed, 62 insertions(+), 15 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index d040f329b8..f4a604e014 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 14:33:06 PST 2012
+ * Date: Sun Jan  8 15:33:29 PST 2012
  */
 html, body {
   margin: 0;
@@ -1493,7 +1493,7 @@ i {
   line-height: 18px;
   color: #555555;
 }
-.dropdown-menu a:hover, .dropdown-menu .active > a {
+.dropdown-menu li > a:hover {
   color: #fff;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
@@ -1511,6 +1511,11 @@ i {
   -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
   box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
 }
+.dropdown-menu .active > a, .dropdown-menu .active > a:hover {
+  color: #fff;
+  background-color: #999;
+  background-image: none;
+}
 .dropdown.open .dropdown-toggle {
   color: #ffffff;
   background: #ccc;
@@ -1870,7 +1875,7 @@ i {
 .tabs > li > a:hover {
   border-color: #eee #eee #ddd;
 }
-.tabs .active > a, .tabs .active > a:hover {
+.tabs > .active > a, .tabs > .active > a:hover {
   color: #555555;
   background-color: #ffffff;
   border: 1px solid #ddd;
@@ -1941,11 +1946,19 @@ i {
 .tabs .dropdown-toggle:hover .caret, .pills .dropdown-toggle:hover .caret {
   border-top-color: #005580;
 }
-.tabs .open .dropdown-toggle, .pills .open .dropdown-toggle {
+.tabs .active .dropdown-toggle .caret, .pills .active .dropdown-toggle .caret {
+  border-top-color: #333;
+}
+.nav > .dropdown.active > a:hover {
+  color: #000;
+  cursor: pointer;
+}
+.tabs .open .dropdown-toggle, .pills .open .dropdown-toggle, .nav > .open.active > a:hover {
+  color: #fff;
   background-color: #999;
   border-color: #999;
 }
-.nav .open .caret, .nav .open a:hover .caret {
+.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {
   border-top-color: #fff;
   filter: alpha(opacity=100);
   -moz-opacity: 1;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 89e61a0b64..2af6114680 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -305,7 +305,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}
-.dropdown-menu a:hover,.dropdown-menu .active>a{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
+.dropdown-menu li>a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
+.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;background-color:#999;background-image:none;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
@@ -356,7 +357,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs{border-bottom:1px solid #ddd;}
 .tabs>li{margin-bottom:-1px;}
 .tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eee #eee #ddd;}
-.tabs .active>a,.tabs .active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
+.tabs>.active>a,.tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
 .pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .pills .active>a,.pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
 .nav.stacked>li{float:none;}
@@ -372,8 +373,10 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
 .tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
-.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle{background-color:#999;border-color:#999;}
-.nav .open .caret,.nav .open a:hover .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.tabs .active .dropdown-toggle .caret,.pills .active .dropdown-toggle .caret{border-top-color:#333;}
+.nav>.dropdown.active>a:hover{color:#000;cursor:pointer;}
+.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#fff;background-color:#999;border-color:#999;}
+.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .tabs.stacked .open>a:hover{border-color:#999;}
 .tabbable{zoom:1;}.tabbable:before,.tabbable:after{display:table;*display:inline;content:"";zoom:1;}
 .tabbable:after{clear:both;}
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 484cbbcd70..85f74b6322 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -71,9 +71,8 @@
   }
 }
 
-// Hover & Active states
-.dropdown-menu a:hover,
-.dropdown-menu .active > a {
+// Hover state
+.dropdown-menu li > a:hover {
   color: #fff;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
@@ -82,6 +81,14 @@
   .box-shadow(@shadow);
 }
 
+// Active state
+.dropdown-menu .active > a,
+.dropdown-menu .active > a:hover {
+  color: #fff;
+  background-color: #999;
+  background-image: none; // remove the gradient
+}
+
 // Open state for the dropdown
 .dropdown.open {
   .dropdown-toggle {
diff --git a/lib/navs.less b/lib/navs.less
index 804a273bb4..432ab3cbd1 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -101,8 +101,8 @@
   }
 }
 // Active state, and it's :hover to override normal :hover
-.tabs .active > a,
-.tabs .active > a:hover {
+.tabs > .active > a,
+.tabs > .active > a:hover {
   color: @gray;
   background-color: @white;
   border: 1px solid #ddd;
@@ -183,6 +183,10 @@
 .pills .dropdown-menu {
   .border-radius(4px);
 }
+
+// Default dropdown links
+// -------------------------
+// Make carets use linkColor to start
 .tabs .dropdown-toggle .caret,
 .pills .dropdown-toggle .caret {
   border-top-color: @linkColor;
@@ -192,12 +196,32 @@
 .pills .dropdown-toggle:hover .caret {
   border-top-color: @linkColorHover;
 }
+
+// Active dropdown links
+// -------------------------
+.tabs .active .dropdown-toggle .caret,
+.pills .active .dropdown-toggle .caret {
+  border-top-color: #333;
+}
+
+// Active:hover dropdown links
+// -------------------------
+.nav > .dropdown.active > a:hover {
+  color: #000;
+  cursor: pointer;
+}
+
+// Open dropdowns
+// -------------------------
 .tabs .open .dropdown-toggle,
-.pills .open .dropdown-toggle {
+.pills .open .dropdown-toggle,
+.nav > .open.active > a:hover {
+  color: #fff;
   background-color: #999;
   border-color: #999;
 }
 .nav .open .caret,
+.nav .open.active .caret,
 .nav .open a:hover .caret {
   border-top-color: #fff;
   .opacity(100);
-- 
GitLab


From eaa8220d70f84a710c9dfa1bd49a7c35bcab1a3b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 15:38:57 -0800
Subject: [PATCH 258/576] add utilities.less file for generic classes

---
 bootstrap.css        | 29 ++++++++++++++++-------------
 bootstrap.min.css    |  9 +++++----
 lib/bootstrap.less   |  3 +++
 lib/scaffolding.less | 16 ----------------
 lib/utilities.less   | 23 +++++++++++++++++++++++
 5 files changed, 47 insertions(+), 33 deletions(-)
 create mode 100644 lib/utilities.less

diff --git a/bootstrap.css b/bootstrap.css
index f4a604e014..5fa1067a05 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 15:33:29 PST 2012
+ * Date: Sun Jan  8 15:38:44 PST 2012
  */
 html, body {
   margin: 0;
@@ -241,18 +241,6 @@ a:hover {
   color: #005580;
   text-decoration: underline;
 }
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
-.hide {
-  display: none;
-}
-.show {
-  display: block;
-}
 .row {
   margin-left: -20px;
   zoom: 1;
@@ -3018,6 +3006,21 @@ 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);
 }
+.pull-right {
+  float: right;
+}
+.pull-left {
+  float: left;
+}
+.hide {
+  display: none;
+}
+.show {
+  display: block;
+}
+.invisible {
+  visibility: hidden;
+}
 .hidden {
   display: none;
   visibility: hidden;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2af6114680..648efecb7e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -32,10 +32,6 @@ body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:
 .sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
 .fluid-content{float:left;width:100%;}
 a{font-weight:inherit;line-height:inherit;color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:underline;}
-.pull-right{float:right;}
-.pull-left{float:left;}
-.hide{display:none;}
-.show{display:block;}
 .row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;*display:inline;content:"";zoom:1;}
 .row:after{clear:both;}
 [class*="span"]{float:left;margin-left:20px;}
@@ -516,5 +512,10 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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);}
+.pull-right{float:right;}
+.pull-left{float:left;}
+.hide{display:none;}
+.show{display:block;}
+.invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
 @media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 2bec3dd016..57ada98a98 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -52,5 +52,8 @@
 @import "labels.less";
 @import "progress-bars.less";
 
+// Utility classes
+@import "utilities.less"; // Has to be last to override when necessary
+
 // Responsive
 @import "responsive.less";
\ No newline at end of file
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index a1f41ab66a..a0d54a8865 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -70,22 +70,6 @@ a {
   }
 }
 
-// Quick floats
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
-
-// Toggling content
-.hide {
-  display: none;
-}
-.show {
-  display: block;
-}
-
 
 // GRID SYSTEM
 // -----------
diff --git a/lib/utilities.less b/lib/utilities.less
new file mode 100644
index 0000000000..d60d220311
--- /dev/null
+++ b/lib/utilities.less
@@ -0,0 +1,23 @@
+// UTILITY CLASSES
+// ---------------
+
+// Quick floats
+.pull-right {
+  float: right;
+}
+.pull-left {
+  float: left;
+}
+
+// Toggling content
+.hide {
+  display: none;
+}
+.show {
+  display: block;
+}
+
+// Visibility
+.invisible {
+  visibility: hidden;
+}
-- 
GitLab


From 83c0896999c91f4d85bb75434f4a4ecfaff07fe0 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 21:48:07 -0800
Subject: [PATCH 259/576] updated js pages to put examples first

---
 bootstrap.css         |   8 +-
 bootstrap.min.css     |   2 +-
 docs/base-css.html    | 146 ---------
 docs/components.html  | 164 ++++++++-
 docs/javascript.html  | 748 ++++++++++++++++++++++++------------------
 docs/scaffolding.html |  41 ++-
 lib/buttons.less      |   2 +-
 7 files changed, 619 insertions(+), 492 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 5fa1067a05..b859657ef0 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 15:38:44 PST 2012
+ * Date: Sun Jan  8 19:32:37 PST 2012
  */
 html, body {
   margin: 0;
@@ -2525,9 +2525,9 @@ i {
   padding: 9px 14px 9px;
   font-size: 15px;
   line-height: normal;
-  -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
 }
 .btn.small {
   padding: 7px 9px 7px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 648efecb7e..3dc0151638 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -445,7 +445,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
+.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
diff --git a/docs/base-css.html b/docs/base-css.html
index c1cb3fd2dd..29f5d1d197 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1277,152 +1277,6 @@
 
   <br>
 
-  <h2>Button groups <small>Join buttons for more toolbar-like functionality</small></h2>
-  <div class="row">
-    <div class="span4">
-      <h3>Button groups</h3>
-      <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
-      <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
-      <div class="well" style="padding: 10px; margin-bottom: 9px;">
-        <div class="btn-group">
-          <a class="btn" href="#">Left</a>
-          <a class="btn" href="#">Middle</a>
-          <a class="btn" href="#">Right</a>
-        </div>
-      </div>
-      <div class="well" style="padding: 10px;">
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn" href="#">1</a>
-            <a class="btn" href="#">2</a>
-            <a class="btn" href="#">3</a>
-            <a class="btn" href="#">4</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">5</a>
-            <a class="btn" href="#">6</a>
-            <a class="btn" href="#">7</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">8</a>
-          </div>
-        </div>
-      </div>
-
-    </div>
-    <div class="span4">
-      <h3>Example markup</h3>
-      <p>Here's how the HTML looks for a standard button group built with anchor tag buttons:</p>
-<pre class="prettyprint linenums">
-&lt;div class="btn-group"&gt;
-  &lt;a class="btn" href="#"&gt;1&lt;/a&gt;
-  &lt;a class="btn" href="#"&gt;2&lt;/a&gt;
-  &lt;a class="btn" href="#"&gt;3&lt;/a&gt;
-&lt;/div&gt;
-</pre>
-      <p>And with a toolbar for multiple groups:</p>
-<pre class="prettyprint linenums">
-&lt;div class="btn-toolbar"&gt;
-  &lt;div class="btn-group"&gt;
-    ...
-  &lt;/div&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-    <div class="span4">
-      <h3>Checkbox and radio flavors</h3>
-      <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
-      <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
-      <hr>
-      <h4 class="muted">Heads up</h4>
-      <p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
-    </div>
-  </div>
-  
-  <br>
-  <h2>Button dropdowns <small>Built on button groups to provide contextual menus</small></h2>
-  <div class="row">
-    <div class="span4">
-      <h3>Split button dropdowns</h3>
-      <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
-      <div class="well" style="padding: 10px; margin-bottom: 9px;">
-        <div class="btn-toolbar" style="margin-bottom: 9px;">
-          <div class="btn-group">
-            <a class="btn" href="#">Action</a>
-            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->        
-          <div class="btn-group">
-            <a class="btn primary" href="#">Action</a>
-            <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->     
-          <div class="btn-group">
-            <a class="btn danger" href="#">Danger</a>
-            <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-        </div>
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn success" href="#">Success</a>
-            <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-          <div class="btn-group">
-            <a class="btn info" href="#">Info</a>
-            <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-        </div>
-      </div> <!-- /well -->
-    </div>
-    <div class="span8">
-      <h3>Example markup</h3>
-      <p>Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.</p>
-<pre class="prettyprint linenums">
-&lt;div class="btn-group"&gt;
-  &lt;a class="btn" href="#"&gt;Action&lt;/a&gt;
-  &lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&gt;
-    &lt;span class="caret"&gt;&lt;/span&gt;
-  &lt;/a&gt;
-  &lt;ul class="dropdown-menu"&gt;
-    &lt;!-- dropdown menu links --&gt;
-  &lt;/ul&gt;
-&lt;/div&gt;
-</pre>
-    </div>
-  </div>
 </section>
 
 
diff --git a/docs/components.html b/docs/components.html
index 104bedf54f..f3e8d42a5e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -55,9 +55,171 @@
 
 
 
+  <!-- Button Groups
+  ================================================== -->
+  <section id="buttonGroups">
+    <div class="page-header">
+      <h1>Button groups <small>Join buttons for more toolbar-like functionality</small></h1>
+    </div>
+    <div class="row">
+      <div class="span4">
+        <h3>Button groups</h3>
+        <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
+        <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
+        <div class="well" style="padding: 10px; margin-bottom: 9px;">
+          <div class="btn-group">
+            <a class="btn" href="#">Left</a>
+            <a class="btn" href="#">Middle</a>
+            <a class="btn" href="#">Right</a>
+          </div>
+        </div>
+        <div class="well" style="padding: 10px;">
+          <div class="btn-toolbar">
+            <div class="btn-group">
+              <a class="btn" href="#">1</a>
+              <a class="btn" href="#">2</a>
+              <a class="btn" href="#">3</a>
+              <a class="btn" href="#">4</a>
+            </div>
+            <div class="btn-group">
+              <a class="btn" href="#">5</a>
+              <a class="btn" href="#">6</a>
+              <a class="btn" href="#">7</a>
+            </div>
+            <div class="btn-group">
+              <a class="btn" href="#">8</a>
+            </div>
+          </div>
+        </div>
+
+      </div>
+      <div class="span4">
+        <h3>Example markup</h3>
+        <p>Here's how the HTML looks for a standard button group built with anchor tag buttons:</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-group"&gt;
+  &lt;a class="btn" href="#"&gt;1&lt;/a&gt;
+  &lt;a class="btn" href="#"&gt;2&lt;/a&gt;
+  &lt;a class="btn" href="#"&gt;3&lt;/a&gt;
+&lt;/div&gt;
+</pre>
+      <p>And with a toolbar for multiple groups:</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-toolbar"&gt;
+  &lt;div class="btn-group"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+      </div>
+      <div class="span4">
+        <h3>Checkbox and radio flavors</h3>
+        <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
+        <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
+        <hr>
+        <h4 class="muted">Heads up</h4>
+        <p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
+      </div>
+    </div>
+  </section>
+
+
+
+  <!-- Split button dropdowns
+  ================================================== -->
+  <section id="buttonGroups">
+    <div class="page-header">
+      <h1>Split button dropdowns <small>Built on button groups to provide contextual menus</small></h1>
+    </div>
+    <div class="row">
+      <div class="span4">
+        <h3>Split button dropdowns</h3>
+        <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
+        <div class="well" style="padding: 10px; margin-bottom: 9px;">
+          <div class="btn-toolbar" style="margin-bottom: 9px;">
+            <div class="btn-group">
+              <a class="btn" href="#">Action</a>
+              <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->        
+            <div class="btn-group">
+              <a class="btn primary" href="#">Action</a>
+              <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->     
+            <div class="btn-group">
+              <a class="btn danger" href="#">Danger</a>
+              <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+          </div>
+          <div class="btn-toolbar">
+            <div class="btn-group">
+              <a class="btn success" href="#">Success</a>
+              <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+            <div class="btn-group">
+              <a class="btn info" href="#">Info</a>
+              <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+          </div>
+        </div> <!-- /well -->
+      </div>
+      <div class="span8">
+        <h3>Example markup</h3>
+        <p>Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-group"&gt;
+  &lt;a class="btn" href="#"&gt;Action&lt;/a&gt;
+  &lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&gt;
+    &lt;span class="caret"&gt;&lt;/span&gt;
+  &lt;/a&gt;
+  &lt;ul class="dropdown-menu"&gt;
+    &lt;!-- dropdown menu links --&gt;
+  &lt;/ul&gt;
+&lt;/div&gt;
+</pre>
+      </div>
+    </div>
+  </section>
+  
+
+
 <!-- Nav, Tabs, & Pills
 ================================================== -->
-<section id="tabsAndPills">
+<section id="navs">
   <div class="page-header">
     <h1>Nav, tabs, and pills <small>Highly customizable list-style navigation</small></h1>
   </div>
diff --git a/docs/javascript.html b/docs/javascript.html
index 63a51dc43b..c0469c0a76 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -57,54 +57,48 @@
 
       <!-- Using Javascript w/ Bootstrap
       ================================================== -->
-
       <section id="javascript">
         <div class="page-header">
           <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
         </div>
       <div class="row">
         <div class="span3">
-          <h3><a href="./javascript.html#transition">Transitions</a> <small class="muted">*</small></h3>
-          <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alert messages.</p>
-          <p class="muted"><strong>*</strong> Required for animation in plugins</p>
-        </div>
-        <div class="span3">
-          <h3><a href="./javascript.html#modal">Modals</a></h3>
+          <h3><a href="./javascript.html#modals">Modals</a></h3>
           <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#dropdown">Dropdowns</a></h3>
+          <h3><a href="./javascript.html#dropdowns">Dropdowns</a></h3>
           <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
         </div>
         <div class="span3">
           <h3><a href="./javascript.html#scrollspy">Scrollspy</a></h3>
           <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
         </div>
-      </div> <!-- /row -->
-      <div class="row">
         <div class="span3">
-          <h3><a href="./javascript.html#tab">Togglable tabs</a></h3>
+          <h3><a href="./javascript.html#tabs">Togglable tabs</a></h3>
           <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
         </div>
+      </div> <!-- /row -->
+      <div class="row">
         <div class="span3">
           <h3><a href="./javascript.html#twipsy">Twipsy tooltips</a></h3>
           <p>A new take on the jQuery Tipsy plugin, Twipsy uses CSS3 animations, data attributes for titles, and the new event API in jQuery 1.7.</p>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#popover">Popovers</a> <small class="muted">*</small></h3>
+          <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small></h3>
           <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
           <p class="muted"><strong>*</strong> Requires <a href="#twipsy">Twipsy</a> to be included</p>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#alert">Alert messages</a></h3>
+          <h3><a href="./javascript.html#alerts">Alert messages</a></h3>
           <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
         </div>
-      </div> <!-- /row -->
-      <div class="row">
         <div class="span3">
-          <h3><a href="./javascript.html#button">Buttons</a></h3>
+          <h3><a href="./javascript.html#buttons">Buttons</a></h3>
           <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
         </div>
+      </div> <!-- /row -->
+      <div class="row">
         <div class="span3">
           <h3><a href="./javascript.html#collapse">Collapse</a></h3>
           <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
@@ -117,26 +111,78 @@
           <h3><a href="./javascript.html#typeahead">Typeahead</a></h3>
           <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
         </div>
+        <div class="span3">
+          <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small></h3>
+          <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alert messages.</p>
+          <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+        </div>
       </div> <!-- /row -->
       <hr>
       <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
     </section>
 
 
+
     <!-- Modal
     ================================================== -->
-
-    <section id="modal">
+    <section id="modals">
       <div class="page-header">
         <h1>Modals <small>bootstrap-modal.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>Our Modal plugin is a super slim take on the traditional modal js plugin, taking special care to include only the bare functionality that we require here at twitter.</p>
-          <a href="../js/bootstrap-modal.js" target="_blank" class="btn primary">Download</a>
+          <h3>About modals</h3>
+          <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+          <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-modal</h3>
+          <h2>Static example</h2>
+          <p>Below is a statically rendered modal.</p>
+          <div class="well" style="background-color: #888; border: none;">
+            <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
+              <div class="modal-header">
+                <a href="#" class="close js-dismiss">&times;</a>
+                <h3>Modal header</h3>
+              </div>
+              <div class="modal-body">
+                <p>One fine body…</p>
+              </div>
+              <div class="modal-footer">
+                <a href="#" class="btn primary">Save changes</a>
+                <a href="#" class="btn">Close</a>
+              </div>
+            </div>
+          </div> <!-- /well -->
+
+          <h2>Live demo</h2>
+          <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
+          <!-- sample modal content -->
+          <div id="myModal" class="modal hide fade">
+            <div class="modal-header">
+              <a href="#" class="close" data-dismiss="modal" >&times;</a>
+              <h3>Modal Heading</h3>
+            </div>
+            <div class="modal-body">
+              <h4>Text in a modal</h4>
+              <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
+
+              <h4>Popover in a modal</h4>
+              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+
+              <h4>Twipsy tooltips in a modal</h4>
+              <p><a href="#" class="twipsy-test" title="Tooltip">This link</a> and <a href="#" class="twipsy-test" title="Tooltip">that link</a> should have Twipsy tooltips on hover.</p>
+            </div>
+            <div class="modal-footer">
+              <a href="#" class="btn primary">Save changes</a>
+              <a href="#" class="btn" data-dismiss="modal" >Close</a>
+            </div>
+          </div>
+          <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
+
+          <hr>
+
+          <h2>Using bootstrap-modal</h2>
+          <p>Call the modal via javascript:</p>
           <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
           <h3>Options</h3>
           <table class="bordered-table striped-table">
@@ -168,6 +214,22 @@
           <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
 <pre class="prettyprint linenums">
 &lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
+</pre>
+
+<pre class="prettyprint linenums">
+&lt;div class="modal"&gt;
+  &lt;div class="modal-header"&gt;
+    &lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
+    &lt;h3&gt;Modal header&lt;/h3&gt;
+  &lt;/div&gt;
+  &lt;div class="modal-body"&gt;
+    &lt;p&gt;One fine body…&lt;/p&gt;
+  &lt;/div&gt;
+  &lt;div class="modal-footer"&gt;
+    &lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
+    &lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
 </pre>
           <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
           <h3>Methods</h3>
@@ -219,89 +281,56 @@ $('#myModal').modal({
 $('#myModal').on('hidden', function () {
   // do something ...
 })</pre>
-          <h3>Demo</h3>
-          <!-- sample modal content -->
-          <div id="myModal" class="modal hide fade">
-            <div class="modal-header">
-              <a href="#" class="close" data-dismiss="modal" >&times;</a>
-              <h3>Modal Heading</h3>
-            </div>
-            <div class="modal-body">
-              <h4>Text in a modal</h4>
-              <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
-
-              <h4>Popover in a modal</h4>
-              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
-
-              <h4>Twipsy tooltips in a modal</h4>
-              <p><a href="#" class="twipsy-test" title="Tooltip">This link</a> and <a href="#" class="twipsy-test" title="Tooltip">that link</a> should have Twipsy tooltips on hover.</p>
-            </div>
-            <div class="modal-footer">
-              <a href="#" class="btn primary">Save changes</a>
-              <a href="#" class="btn" data-dismiss="modal" >Close</a>
-            </div>
-          </div>
-
-          <a data-toggle="modal" href="#myModal" class="btn danger">
-            Launch Modal
-          </a>
         </div>
       </div>
     </section>
 
 
+
     <!-- Dropdown
     ================================================== -->
-
-    <section id="dropdown">
+    <section id="dropdowns">
       <div class="page-header">
-        <h1>Dropdown <small>bootstrap-dropdown.js</small></h1>
+        <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin is for adding generic dropdown interactions to things like navigation top bars and tabs.</p>
-          <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn primary">Download</a>
+          <h3>About dropdowns</h3>
+          <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+          <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-dropdown.js</h3>
-          <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
-          <h3>Markup</h3>
-          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
-          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
-
-<pre class="prettyprint linenums">
-&lt;ul class="tabs"&gt;
-  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li id="secondary" class="dropdown"&gt;
-    &lt;a href="#secondary" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown &lt;b class="caret"&gt;&lt;/b&gt;&lt;/a&gt;
-    &lt;ul class="dropdown-menu"&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Secondary link&lt;/a&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
-      &lt;li class="divider"&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Another link&lt;/a&gt;&lt;/li&gt;
-    &lt;/ul&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;</pre>
-          <h3>Methods</h3>
-          <h4>$().dropdown()</h4>
-          <p>
-          A programatic api for activating menus for a given navbar or tabbed navigation.
-          </p>
-          <h3>Demo</h3>
+          <h2>Examples</h2>
+          <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
           <div id="navbar-example" class="navbar navbar-static">
             <div class="navbar-inner">
               <div class="container" style="width: auto;">
                 <a class="brand" href="#">Project Name</a>
                 <ul class="nav">
-                  <li><a href="#">Link</a></li>
-                  <li><a href="#">Link</a></li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
                 </ul>
-                <form class="form-search navbar-search pull-left" action="">
-                  <input type="text" class="search-query span2" placeholder="Search">
-                </form>
                 <ul class="nav pull-right">
                   <li id="fat-menu" class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1 <b class="caret"></b></a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
                     <ul class="dropdown-menu">
                       <li><a href="#">Action</a></li>
                       <li><a href="#">Another action</a></li>
@@ -313,14 +342,82 @@ $('#myModal').on('hidden', function () {
                 </ul>
               </div>
             </div>
-          </div>
+          </div> <!-- /navbar-example -->
+
+          <ul class="nav pills">
+            <li class="active"><a href="#">Regular link</a></li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#menu1">Dropdown <b class="caret"></b></a>
+              <ul id="menu1" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#menu2">Dropdown 2 <b class="caret"></b></a>
+              <ul id="menu2" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#menu3">Dropdown 3 <b class="caret"></b></a>
+              <ul id="menu3" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+          </ul> <!-- /tabs -->
+
+          <hr>
+
+          <h2>Using bootstrap-dropdown.js</h2>
+          <p>Call the dropdowns via javascript:</p>
+          <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
+          <h3>Markup</h3>
+          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
+          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+
+<pre class="prettyprint linenums">
+&lt;ul class="nav pills"&gt;
+  &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
+      Dropdown
+      &lt;b class="caret"&gt;&lt;/b&gt;
+    &lt;/a&gt;
+    &lt;ul id="menu1" class="dropdown-menu"&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
+      &lt;li class="divider"&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;</pre>
+          <h3>Methods</h3>
+          <h4>$().dropdown()</h4>
+          <p>
+          A programatic api for activating menus for a given navbar or tabbed navigation.
+          </p>
         </div>
       </div>
     </section>
 
+
+
    <!-- ScrollSpy
     ================================================== -->
-
     <section id="scrollspy">
       <div class="page-header">
         <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
@@ -328,20 +425,11 @@ $('#myModal').on('hidden', function () {
       <div class="row">
         <div class="span3 columns">
           <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
-          <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h2>Using bootstrap-scrollspy.js</h2>
-          <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
-          <h3>Markup</h3>
-          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
-          <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
-          <h3>Demo</h3>
-          <p>
-            Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
-          <p>
-
+          <h2>Example navbar with scrollspy</h2>
+          <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
           <div id="navbarExample" class="navbar navbar-static">
             <div class="navbar-inner">
               <div class="container" style="width: auto;">
@@ -362,7 +450,6 @@ $('#myModal').on('hidden', function () {
               </div>
             </div>
           </div>
-
           <div data-spy="scroll" data-target="#navbarExample" class="scrollspy-example">
             <h4 id="fat">@fat</h4>
             <p>
@@ -387,25 +474,70 @@ $('#myModal').on('hidden', function () {
             <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
             </p>
           </div>
-
+          <hr>
+          <h2>Using bootstrap-scrollspy.js</h2>
+          <p>Call the scrollspy via javascript:</p>
+          <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
+          <h3>Markup</h3>
+          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+          <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
+           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
         </div>
       </div>
     </section>
 
+
+
     <!-- Tabs
     ================================================== -->
-
     <section id="tab">
       <div class="page-header">
-        <h1>Tab <small>bootstrap-tab.js</small></h1>
+        <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
           <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
-          <a href="../js/bootstrap-tab.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-tab.js</h3>
+          <h2>Example tabs</h2>
+          <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
+          <ul id="tab" class="nav tabs">
+            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
+            <li><a href="#profile" data-toggle="tab">Profile</a></li>
+            <li><a href="#messages" data-toggle="tab">Messages</a></li>
+            <li><a href="#settings" data-toggle="tab">Settings</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
+                <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
+              </ul>
+            </li>
+          </ul>
+          <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade in active" id="home">
+              <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+            </div>
+            <div class="tab-pane fade" id="profile">
+              <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+            </div>
+            <div class="tab-pane fade" id="messages">
+              <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
+            </div>
+            <div class="tab-pane fade" id="settings">
+              <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
+            </div>
+            <div class="tab-pane fade" id="dropdown1">
+              <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+            </div>
+            <div class="tab-pane fade" id="dropdown2">
+              <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+            </div>
+          </div>
+          <hr>
+          <h2>Using bootstrap-tab.js</h2>
+          <p>Enable tabbable tabs via javascript:</p>
           <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
           <h3>Markup</h3>
           <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
@@ -413,7 +545,8 @@ $('#myModal').on('hidden', function () {
 &lt;ul class="tabs"&gt;
   &lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="http://twitter.com/fat"&gt;twitter&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;</pre>
           <h3>Methods</h3>
           <h4>$().tab</h4>
@@ -428,7 +561,7 @@ $('#myModal').on('hidden', function () {
   &lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;div class="pill-content"&gt;
+&lt;div class="tab-content"&gt;
   &lt;div class="active" id="home"&gt;...&lt;/div&gt;
   &lt;div id="profile"&gt;...&lt;/div&gt;
   &lt;div id="messages"&gt;...&lt;/div&gt;
@@ -466,59 +599,34 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
   e.target // activated tab
   e.relatedTarget // previous tab
 })</pre>
-          <h3>Demo</h3>
-
-          <ul id="tab" class="nav tabs">
-            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
-            <li><a href="#profile" data-toggle="tab">Profile</a></li>
-            <li><a href="#messages" data-toggle="tab">Messages</a></li>
-            <li><a href="#settings" data-toggle="tab">Settings</a></li>
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-              <ul class="dropdown-menu">
-                <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
-                <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
-              </ul>
-            </li>
-          </ul>
-          <div id="myTabContent" class="tab-content">
-            <div class="tab-pane fade in active" id="home">
-              <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
-            </div>
-            <div class="tab-pane fade" id="profile">
-              <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
-            </div>
-            <div class="tab-pane fade" id="messages">
-              <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
-            </div>
-            <div class="tab-pane fade" id="settings">
-              <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
-            </div>
-            <div class="tab-pane fade" id="dropdown1">
-              <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
-            </div>
-            <div class="tab-pane fade" id="dropdown2">
-              <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
-            </div>
-          </div>
-        </div>
+       </div>
       </div>
     </section>
 
+
+
     <!-- Twipsy
     ================================================== -->
-
     <section id="twipsy">
       <div class="page-header">
         <h1>Twipsy <small>bootstrap-twipsy.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
+          <h3>About Twipsy tooltips</h3>
           <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, data-attributes for local title storage, and now jquery 1.7's new event api!</p>
-          <a href="../js/bootstrap-twipsy.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-twipsy.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-twipsy.js</h3>
+          <h2>Example use of Twipsy</h2>
+          <p>Hover over the links below to see tooltips:</p>
+          <div class="twipsy-demo well">
+            <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='twipsy' title="first twipsy">you probably</a> 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 <a href="#" rel='twipsy' title='Another twipsy'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='twipsy' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='twipsy' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+            </p>
+          </div>
+          <hr>
+          <h2>Using bootstrap-twipsy.js</h2>
+          <p>Trigger the Twipsy tooltips via javascript:</p>
           <pre class="prettyprint linenums">$('#example').twipsy(options)</pre>
           <h3>Options</h3>
           <table class="bordered-table striped-table">
@@ -575,8 +683,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           </table>
           <p><span class="label notice">Notice</span> Individual twipsy instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
-          <p>
-          For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
+          <p>For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
           <h3>Methods</h3>
           <h4>$().twipsy(options)</h4>
           <p>Attaches a twipsy handler to an element collection.</p>
@@ -586,29 +693,34 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h4>.twipsy('hide')</h4>
           <p>Hides an elements twipsy.</p>
           <pre class="prettyprint linenums">$('#element').twipsy('hide')</pre>
-          <h3>Demo</h3>
-          <div class="twipsy-demo well">
-            <p class="muted">Tight pants next level keffiyeh <a href="#" rel='twipsy' title="first twipsy">you probably</a> 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 <a href="#" rel='twipsy' title='Another twipsy'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='twipsy' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='twipsy' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
-            </p>
-          </div>
         </div>
       </div>
     </section>
 
+
+
     <!-- Popovers
     ================================================== -->
-
-    <section id="popover">
+    <section id="popovers">
       <div class="page-header">
         <h1>Popovers <small>bootstrap-popover.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">bootstrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</p>
-          <a href="../js/bootstrap-popover.js" target="_blank" class="btn primary">Download</a>
+          <h3>About popovers</h3>
+          <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+          <p class="muted"><strong>*</strong> Requires <a href="#twipsy">Twipsy</a> to be included</p>
+          <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-popover.js</h3>
+          <h2>Example hover popover</h2>
+          <p>Hover over the button to trigger the popover.</p>
+          <div class="well">
+            <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
+          </div>
+          <hr>
+          <h2>Using bootstrap-popover.js</h2>
+          <p>Enable popovers via javascript:</p>
           <pre class="prettyprint linenums">$('#example').popover(options)</pre>
           <h3>Options</h3>
           <table class="bordered-table striped-table">
@@ -683,27 +795,41 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h4>.popover('hide')</h4>
           <p>Hides an elements popover.</p>
           <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
-          <h3>Demo</h3>
-          <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
         </div>
       </div>
     </section>
 
 
+
     <!-- Alert
     ================================================== -->
-
     <section id="alert">
       <div class="page-header">
-        <h1>Alert <small>bootstrap-alert.js</small></h1>
+        <h1>Alert messages <small>bootstrap-alert.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>The alert plugin is a super tiny class for adding close functionality to alerts.</p>
-          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn primary">Download</a>
+          <h3>About alerts</h3>
+          <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-alerts.js</h3>
+          <h2>Example alerts</h2>
+          <p>The alerts plugin works on regular alert messages, and block messages.</p>
+          <div class="alert-message warning fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
+            <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
+          </div>
+          <div class="alert-message block-message error fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
+            <p><strong>Oh snap! You got an error!</strong> Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+            <div class="alert-actions">
+              <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+            </div>
+          </div>
+          <hr>
+          <h2>Using bootstrap-alerts.js</h2>
+          <p>Enable dismissal of an alert via javascript:</p>
           <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
           <h3>Markup</h3>
           <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
@@ -738,37 +864,68 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
 $('#my-alert').bind('closed', function () {
   // do something ...
 })</pre>
-          <h3>Demo</h3>
-          <div class="alert-message warning fade in">
-            <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
-          </div>
-          <div class="alert-message block-message error fade in">
-            <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <p><strong>Oh snap! You got an error!</strong> Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
-            <div class="alert-actions">
-              <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-            </div>
-          </div>
         </div>
       </div>
     </section>
 
 
-    <!-- Button
-    ================================================== -->
 
+    <!-- Buttons
+    ================================================== -->
     <section id="button">
       <div class="page-header">
-        <h1>Button <small>bootstrap-button.js</small></h1>
+        <h1>Buttons <small>bootstrap-button.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin offers additional functionality for managing button state.</p>
-          <a href="../js/bootstrap-button.js" target="_blank" class="btn primary">Download</a>
+          <h3>About</h3>
+          <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+          <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-button.js</h3>
+          <h2>Example uses</h2>
+          <p>Use the buttons plugin for states and toggles.</p>
+          <table class="bordered-table striped-table">
+            <tbody>
+             <tr>
+               <td>Stateful</td>
+               <td>
+                  <button id="fat-btn" data-loading-text="loading..." class="btn primary">
+                    Loading State
+                  </button>
+                </td>
+             </tr>
+             <tr>
+               <td>Single toggle</td>
+               <td>
+                  <button class="btn primary" data-toggle="button">Single Toggle</button>
+                </td>
+             </tr>
+             <tr>
+               <td>Checkbox</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-checkbox">
+                    <button class="btn primary">Left</button>
+                    <button class="btn primary">Middle</button>
+                    <button class="btn primary">Right</button>
+                  </div>
+               </td>
+             </tr>
+             <tr>
+               <td>Radio</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-radio">
+                    <button class="btn primary">Left</button>
+                    <button class="btn primary">Middle</button>
+                    <button class="btn primary">Right</button>
+                  </div>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+          <hr>
+          <h2>Using bootstrap-button.js</h2>
+          <p>Enable buttons via javascript:</p>
           <pre class="prettyprint linenums">$('.tabs').button()</pre>
             <h3>Markup</h3>
           <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
@@ -810,64 +967,62 @@ $('#my-alert').bind('closed', function () {
 &lt;script&gt;
   $('.btn').button('complete')
 &lt;/script&gt;</pre>
-          <h3>Demo</h3>
-          <table class="bordered-table striped-table">
-            <tbody>
-             <tr>
-               <td>Stateful</td>
-               <td>
-                  <button id="fat-btn" data-loading-text="loading..." class="btn">
-                    Loading State
-                  </button>
-                </td>
-             </tr>
-             <tr>
-               <td>Single Toggle</td>
-               <td>
-                  <button class="btn" data-toggle="button">Single Toggle</button>
-                </td>
-             </tr>
-             <tr>
-               <td>Checkbox</td>
-               <td>
-                  <div class="btn-group" data-toggle="buttons-checkbox">
-                    <button class="btn">Left</button>
-                    <button class="btn">Middle</button>
-                    <button class="btn">Right</button>
-                  </div>
-               </td>
-             </tr>
-             <tr>
-               <td>Radio</td>
-               <td>
-                  <div class="btn-group" data-toggle="buttons-radio">
-                    <button class="btn">Left</button>
-                    <button class="btn">Middle</button>
-                    <button class="btn">Right</button>
-                  </div>
-               </td>
-             </tr>
-            </tbody>
-          </table>
         </div>
       </div>
     </section>
 
 
+
     <!-- Collapse
     ================================================== -->
-
     <section id="collapse">
       <div class="page-header">
-        <h1>collapse <small>bootstrap-collapse.js</small></h1>
+        <h1>Collapse <small>bootstrap-collapse.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>The collapse plugin offers simple, flexible collapsible element support for making accordions and other collapsible ui components.</p>
-          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn primary">Download</a>
+          <h3>About</h3>
+          <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-collapse.js</h3>
+          <h2>Example accordion</h2>
+          <p>Using the collapse plugin, we built a simple accordion style widget:</p>
+          <dl id="accordion">
+            <dt>
+              <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
+                Collapsible Group Item #1
+              </a>
+            </dt>
+            <dd id="collapseOne" class="collapse in">
+              <p>
+              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+              </p>
+            </dd>
+            <dt>
+              <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
+                Collapsible Group Item #2
+              </a>
+            </dt>
+            <dd id="collapseTwo" class="collapse">
+              <p>
+              Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
+              </p>
+            </dd>
+            <dt>
+              <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
+                Collapsible Group Item #3
+              </a>
+            </dt>
+            <dd id="collapseThree" class="collapse">
+              <p>
+              Tempor gentrify pariatur nihil salvia, irony synth incididunt odio commodo brunch aute. Four loko est vice echo park wes anderson jean shorts, tempor ea vero locavore. Seitan DIY dolore readymade williamsburg viral. Dolor fap master cleanse delectus, ad butcher labore duis vice mollit cillum exercitation eu banh mi. Austin banksy 3 wolf moon locavore sed, helvetica next level VHS you probably haven't heard of them ethical odio. Incididunt locavore minim, do seitan consequat qui thundercats labore before they sold out retro laborum. Esse twee readymade laboris fap vice, voluptate DIY.
+              </p>
+            </dd>
+          </dl>
+          <hr>
+          <h2>Using bootstrap-collapse.js</h2>
+          <p>Enable via javascript:</p>
           <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
           <h3>Options</h3>
           <table class="bordered-table striped-table">
@@ -953,68 +1108,57 @@ $('#myCollapsible').collapse({
 $('#myCollapsible').on('hidden', function () {
   // do something ...
 })</pre>
-          <h3>Demo</h3>
-
-            <!-- single collapse -->
-            <p>
-              <button class="btn danger" data-toggle="collapse" data-target="#collapseDemoWrap">
-                simple collapsible
-              </button>
-            </p>
-
-            <div id="collapseDemoWrap" class="collapse">
-              <!-- group collapse -->
-              <dl id="accordion" >
-                <dt>
-                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    Collapsible Group Item #1
-                  </a>
-                </dt>
-                <dd id="collapseOne" class="collapse in">
-                  <p>
-                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-                  </p>
-                </dd>
-                <dt>
-                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
-                    Collapsible Group Item #2
-                  </a>
-                </dt>
-                <dd id="collapseTwo" class="collapse">
-                  <p>
-                  Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
-                  </p>
-                </dd>
-                <dt>
-                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
-                    Collapsible Group Item #3
-                  </a>
-                </dt>
-                <dd id="collapseThree" class="collapse">
-                  <p>
-                  Tempor gentrify pariatur nihil salvia, irony synth incididunt odio commodo brunch aute. Four loko est vice echo park wes anderson jean shorts, tempor ea vero locavore. Seitan DIY dolore readymade williamsburg viral. Dolor fap master cleanse delectus, ad butcher labore duis vice mollit cillum exercitation eu banh mi. Austin banksy 3 wolf moon locavore sed, helvetica next level VHS you probably haven't heard of them ethical odio. Incididunt locavore minim, do seitan consequat qui thundercats labore before they sold out retro laborum. Esse twee readymade laboris fap vice, voluptate DIY.
-                  </p>
-                </dd>
-              </dl>
-            </div>
         </div>
       </div>
     </section>
 
+
+
      <!-- Carousel
     ================================================== -->
-
     <section id="carousel">
       <div class="page-header">
         <h1>Carousel <small>bootstrap-carousel.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
+          <h3>About</h3>
           <p>A generic plugin for cycling through elements. A merry-go-round.</p>
-          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-carousel.js</h3>
+          <h2>Example carousel</h2>
+          <p>Watch the slideshow below.</p>
+          <div id="myCarousel" class="thumbnail carousel slide">
+            <div class="carousel-inner">
+              <div class="item active">
+                <img src="http://placehold.it/1100x400" alt="">
+                <div class="caption">
+                  <h5>First Thumbnail label</h5>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+              <div class="item">
+                <img src="http://placehold.it/1100x400" alt="">
+                <div class="caption">
+                  <h5>Second Thumbnail label</h5>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+              <div class="item">
+                <img src="http://placehold.it/1100x400" alt="">
+                <div class="caption">
+                  <h5>Third Thumbnail label</h5>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+            </div>
+            <a class="left nav" href="#myCarousel" data-slide="prev">&laquo;</a>
+            <a class="right nav" href="#myCarousel" data-slide="next">&raquo;</a>
+          </div>
+          <hr>
+          <h2>Using bootstrap-carousel.js</h2>
+          <p>Call via javascript:</p>
           <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
           <h3>Options</h3>
           <table class="bordered-table striped-table">
@@ -1085,63 +1229,34 @@ $('#myCollapsible').on('hidden', function () {
              </tr>
             </tbody>
           </table>
-          <h3>Demo</h3>
-
-          <!-- carousel -->
-
-          <div id="myCarousel" class="thumbnail carousel slide">
-
-            <div class="carousel-inner">
-              <div class="item active">
-                <img src="http://placehold.it/1100x400" alt="">
-                <div class="caption">
-                  <h5>First Thumbnail label</h5>
-                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-                </div>
-              </div>
-
-              <div class="item">
-                <img src="http://placehold.it/1100x400" alt="">
-                <div class="caption">
-                  <h5>Second Thumbnail label</h5>
-                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-                </div>
-              </div>
-
-              <div class="item">
-                <img src="http://placehold.it/1100x400" alt="">
-                <div class="caption">
-                  <h5>Third Thumbnail label</h5>
-                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-                </div>
-              </div>
-            </div>
-
-            <a class="left nav" href="#myCarousel" data-slide="prev">&laquo;</a>
-            <a class="right nav" href="#myCarousel" data-slide="next">&raquo;</a>
-
-          </div>
-
         </div>
       </div>
     </section>
 
- <!-- Typeahead
-    ================================================== -->
 
+
+    <!-- Typeahead
+    ================================================== -->
     <section id="typeahead">
       <div class="page-header">
         <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>A basic, easily extended plugin for quickly creating elegant typeaheads.</p>
-          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn primary">Download</a>
+          <h3>About</h3>
+          <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-typeahead.js</h3>
+          <h2>Example</h2>
+          <p>Start typing in the field below to show the typeahead results.</p>
+          <div class="well">
+            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+          </div>
+          <hr>
+          <h2>Using bootstrap-typeahead.js</h2>
+          <p>Call the typeahead via javascript:</p>
           <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
-
           <h3>Options</h3>
           <table class="bordered-table striped-table">
             <thead>
@@ -1167,13 +1282,12 @@ $('#myCollapsible').on('hidden', function () {
 <pre class="prettyprint linenums">
 &lt;input type="text" data-provide="typeahead"&gt;
 </pre>
-          <h3>Demo</h3>
-          <input type="text" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
         </div>
       </div>
     </section>
 
 
+
       <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 10e5a43be0..5b6f7c7c37 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -384,36 +384,33 @@
             <dd><a href="./base-css.html#tables">Tables</a></dd>
             <dd><a href="./base-css.html#forms">Forms</a></dd>
             <dd><a href="./base-css.html#buttons">Buttons</a></dd>
-            <dd><a href="./base-css.html#buttongroups">Button groups</a></dd>
-            <dd><a href="./base-css.html#icons">Icons</a></dd>
+            <dd><a href="./base-css.html#icons">Icons by Glyphicons</a></dd>
           </dl>
           <dl class="span2">
             <dt>Components</dt>
-            <dd><a href="./components.html#thumbnails">Thumbnails</a></dd>
-            <dd><a href="./components.html#autocomplete">Autocomplete</a></dd>
-            <dd><a href="./components.html#carousel">Carousel</a></dd>
-            <dd><a href="./components.html#sidenav">Side nav</a></dd>
+            <dd><a href="./base-css.html#buttonGroups">Button groups</a></dd>
+            <dd><a href="./base-css.html#buttonDropdowns">Split button dropdowns</a></dd>
+            <dd><a href="./components.html#navs">Nav, tabs, pills</a></dd>
             <dd><a href="./components.html#navbar">Navbar</a></dd>
-            <dd><a href="./components.html#tabspills">Tabs and pills</a></dd>
+            <dd><a href="./components.html#breadcrumbs">Breadcrumbs</a></dd>
             <dd><a href="./components.html#pagination">Pagination</a></dd>
-            <dd><a href="./components.html#alerts">Alerts and errors</a></dd>
-            <dd><a href="./components.html#modals">Modals</a></dd>
-            <dd><a href="./components.html#twipsy">Twipsy tooltips</a></dd>
-            <dd><a href="./components.html#popover">Popovers</a></dd>
+            <dd><a href="./components.html#thumbnails">Thumbnails</a></dd>
+            <dd><a href="./components.html#alerts">Alert messages</a></dd>
           </dl>
           <dl class="span2">
             <dt>Javascript plugins</dt>
-            <dd><a href="">Transitions</a></dd>
-            <dd><a href="./javasript.html#modals">Modals</a></dd>
-            <dd><a href="./javasript.html#dropdowns">Dropdowns</a></dd>
-            <dd><a href="./javasript.html#scrollspy">Scrollspy</a></dd>
-            <dd><a href="./javasript.html#tabs">Tabs</a></dd>
-            <dd><a href="./javasript.html#twipsy">Twipsy tooltips</a></dd>
-            <dd><a href="./javasript.html#popovers">Popovers</a></dd>
-            <dd><a href="./javasript.html#alerts">Alerts</a></dd>
-            <dd><a href="./javasript.html#buttons">Buttons</a></dd>
-            <dd><a href="./javasript.html#accordion">Accordion</a></dd>
-            <dd><a href="./javasript.html#carousel">Carousel</a></dd>
+            <dd><a href="./javascript.html#transitions">Transitions</a></dd>
+            <dd><a href="./javascript.html#modals">Modals</a></dd>
+            <dd><a href="./javascript.html#dropdowns">Dropdowns</a></dd>
+            <dd><a href="./javascript.html#scrollspy">Scrollspy</a></dd>
+            <dd><a href="./javascript.html#tabs">Tabs</a></dd>
+            <dd><a href="./javascript.html#twipsy">Twipsy tooltips</a></dd>
+            <dd><a href="./javascript.html#popovers">Popovers</a></dd>
+            <dd><a href="./javascript.html#alerts">Alerts</a></dd>
+            <dd><a href="./javascript.html#buttons">Buttons</a></dd>
+            <dd><a href="./javascript.html#collapse">Collapse</a></dd>
+            <dd><a href="./javascript.html#carousel">Carousel</a></dd>
+            <dd><a href="./javascript.html#typeahead">Typeahead</a></dd>
           </dl>
           <dl class="span2">
             <dt>Using LESS</dt>
diff --git a/lib/buttons.less b/lib/buttons.less
index 3fab6e0390..140d1112ce 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -97,7 +97,7 @@
     padding: 9px 14px 9px;
     font-size: @baseFontSize + 2px;
     line-height: normal;
-    .border-radius(6px);
+    .border-radius(5px);
   }
   &.small {
     padding: 7px 9px 7px;
-- 
GitLab


From 5032ef9b54b92443f1dbaa2594468dcd84b6bd9e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 8 Jan 2012 23:14:07 -0800
Subject: [PATCH 260/576] remove static popovers, modals, and twipsies from
 components in favor of full javascript page

---
 bootstrap.css        |   3 +-
 bootstrap.min.css    |   2 +-
 docs/components.html | 115 ++++---------------------------------------
 lib/close.less       |   1 +
 4 files changed, 14 insertions(+), 107 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index b859657ef0..81ae2e6c42 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 19:32:37 PST 2012
+ * Date: Sun Jan  8 21:54:13 PST 2012
  */
 html, body {
   margin: 0;
@@ -1577,6 +1577,7 @@ i {
   filter: alpha(opacity=40);
   -moz-opacity: 0.4;
   opacity: 0.4;
+  cursor: pointer;
 }
 .navbar {
   overflow: visible;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 3dc0151638..0a85016436 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -309,7 +309,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
-.close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .navbar .brand:hover{color:#ffffff;text-decoration:none;}
diff --git a/docs/components.html b/docs/components.html
index f3e8d42a5e..ee1634ccac 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -1010,26 +1010,26 @@
     </div>
     <div class="span9">
       <div class="alert-message warning">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
       </div>
       <div class="alert-message error">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Oh snap!</strong> Change this and that and try again.</p>
       </div>
       <div class="alert-message success">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Well done!</strong> You successfully read this alert message.</p>
       </div>
       <div class="alert-message info">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
       </div>
 
       <h4>Example code</h4>
 <pre class="prettyprint linenums">
 &lt;div class="alert-message warning"&gt;
-  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
+  &lt;a class="close"&gt;&times;&lt;/a&gt;
   &lt;p&gt;&lt;strong&gt;Holy guacamole!&lt;/strong&gt; Best check yo self, you’re not looking too good.&lt;/p&gt;
 &lt;/div&gt;
 </pre>
@@ -1048,14 +1048,14 @@
     </div>
     <div class="span9">
       <div class="alert-message block-message warning">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Holy guacamole! This is a warning!</strong> 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.</p>
         <div class="alert-actions">
           <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
         </div>
       </div>
       <div class="alert-message block-message error">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Oh snap! You got an error!</strong> Change this and that and try again.</p>
         <ul>
           <li>Duis mollis est non commodo luctus</li>
@@ -1067,14 +1067,14 @@
         </div>
       </div>
       <div class="alert-message block-message success">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Well done!</strong> You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.</p>
         <div class="alert-actions">
           <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
         </div>
       </div>
       <div class="alert-message block-message info">
-        <a class="close" href="#">&times;</a>
+        <a class="close">&times;</a>
         <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
         <div class="alert-actions">
           <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
@@ -1084,7 +1084,7 @@
       <h4>Example code</h4>
 <pre class="prettyprint linenums">
 &lt;div class="alert-message block-message warning"&gt;
-  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
+  &lt;a class="close"&gt;&times;&lt;/a&gt;
   &lt;p&gt;&lt;strong&gt;Holy guacamole! This is a warning!&lt;/strong&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.&lt;/p&gt;
   &lt;div class="alert-actions"&gt;
     &lt;a class="btn small" href="#"&gt;Take this action&lt;/a&gt; &lt;a class="btn small" href="#"&gt;Or do this&lt;/a>
@@ -1096,101 +1096,6 @@
 </section>
 
 
-<!-- Modals
-================================================== -->
-<section id="popovers">
-  <div class="page-header">
-    <h1>Modals <small></small></h1>
-  </div>
-  <div class="row">
-    <div class="span3">
-      <h2>Modals</h2>
-      <p>Modals&mdash;dialogs or lightboxes&mdash;are great for contextual actions in situations where it’s important that the background context be maintained.</p>
-      <p><a class="btn js-btn" href="./javascript.html#modal">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="well" style="background-color: #888; border: none; ">
-        <!-- Modal -->
-        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
-          <div class="modal-header">
-            <a href="#" class="close js-dismiss">&times;</a>
-            <h3>Modal Heading</h3>
-          </div>
-          <div class="modal-body">
-            <p>One fine body…</p>
-          </div>
-          <div class="modal-footer">
-            <a href="#" class="btn primary">Primary</a>
-            <a href="#" class="btn">Secondary</a>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div><!-- /row -->
-
-</section>
-
-
-
-<!-- Twipsies
-================================================== -->
-<section id="carousel">
-  <div class="page-header">
-    <h1>Twipsy tooltips <small></small></h1>
-  </div>
-
-  <div class="row">
-    <div class="span3">
-      <h2>Tooltips</h2>
-      <p>Twipsies are super useful for aiding a confused user and pointing them in the right direction.</p>
-      <p><a class="btn js-btn" href="./javascript.html#twipsy">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="twipsies well">
-        <div style="position: relative">
-          <p class="muted" style="margin-bottom: 0">
-Lorem ipsum dolar sit amet illo error <a href="#" title="bottom">ipsum</a> veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. <a href="#" title="right">Voluptasdicta</a> eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt <a href="#" title="left">sed</a> dicta quae accusantium fugit voluptas nemo voluptas voluptatem <a href="#" title="top">rem</a> quae aut veritatis quasi quae.
-          </p>
-        </div>
-      </div>
-    </div>
-  </div><!-- /row -->
-
-</section>
-
-
-
-<!-- Popovers
-================================================== -->
-<section id="popovers">
-  <div class="page-header">
-    <h1>Popovers <small></small></h1>
-  </div>
-
-  <div class="row">
-    <div class="span3">
-      <h2>Popovers</h2>
-      <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
-      <p><a class="btn js-btn" href="./javascript.html#popover">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="well popover-well">
-         <div class="popover-wrapper">
-          <div class="popover left">
-            <div class="arrow"></div>
-            <div class="inner">
-              <h3 class="title">Popover Title</h3>
-              <div class="content">
-                <p>Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
-              </div>
-            </div>
-          </div>
-          <img class="large-bird" src="assets/img/bird.png" >
-        </div>
-      </div>
-    </div>
-  </div><!-- /row -->
-</section>
 
 <!-- Progress bars
 ================================================== -->
diff --git a/lib/close.less b/lib/close.less
index 25a0c3ef3e..1210ec4638 100644
--- a/lib/close.less
+++ b/lib/close.less
@@ -13,5 +13,6 @@
     color: @black;
     text-decoration: none;
     .opacity(40);
+    cursor: pointer;
   }
 }
-- 
GitLab


From 5c2bf0feef7f7f64584cbd0cb6a2ef74dbba80d2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 9 Jan 2012 09:15:42 -0800
Subject: [PATCH 261/576] remove empty margin property

---
 bootstrap.css          | 3 +--
 bootstrap.min.css      | 2 +-
 lib/progress-bars.less | 1 -
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 81ae2e6c42..32f8b9da43 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan  8 21:54:13 PST 2012
+ * Date: Mon Jan  9 09:15:32 PST 2012
  */
 html, body {
   margin: 0;
@@ -2903,7 +2903,6 @@ a.thumbnail:hover {
 .progress .bar {
   width: 0%;
   height: 18px;
-  margin: ;
   background-color: #0480be;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
   background-image: -moz-linear-gradient(top, #149bdf, #0480be);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0a85016436..e535f1e51a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -503,7 +503,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.notice{background-color:#62cffc;}
 @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
-.progress .bar{width:0%;height:18px;margin:;background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.progress .bar{width:0%;height:18px;background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
 .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));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: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;}
 .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;}
 .progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
diff --git a/lib/progress-bars.less b/lib/progress-bars.less
index f5a8398340..fd9d3f4271 100644
--- a/lib/progress-bars.less
+++ b/lib/progress-bars.less
@@ -46,7 +46,6 @@
 .progress .bar {
   width: 0%;
   height: 18px;
-  margin: ;
   #gradient > .vertical(#149bdf, #0480be);
   .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
   .box-sizing(border-box);
-- 
GitLab


From 51e4e77034e14074cb442138e84b98efd288ccfd Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 9 Jan 2012 19:53:52 -0800
Subject: [PATCH 262/576] remove some tabs from demo + fix dropdowns for pills

---
 docs/javascript.html | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index c0469c0a76..119066895c 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -347,7 +347,7 @@ $('#myModal').on('hidden', function () {
           <ul class="nav pills">
             <li class="active"><a href="#">Regular link</a></li>
             <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#menu1">Dropdown <b class="caret"></b></a>
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
               <ul id="menu1" class="dropdown-menu">
                 <li><a href="#">Action</a></li>
                 <li><a href="#">Another action</a></li>
@@ -357,7 +357,7 @@ $('#myModal').on('hidden', function () {
               </ul>
             </li>
             <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#menu2">Dropdown 2 <b class="caret"></b></a>
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
               <ul id="menu2" class="dropdown-menu">
                 <li><a href="#">Action</a></li>
                 <li><a href="#">Another action</a></li>
@@ -367,7 +367,7 @@ $('#myModal').on('hidden', function () {
               </ul>
             </li>
             <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#menu3">Dropdown 3 <b class="caret"></b></a>
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
               <ul id="menu3" class="dropdown-menu">
                 <li><a href="#">Action</a></li>
                 <li><a href="#">Another action</a></li>
@@ -505,8 +505,6 @@ $('#myModal').on('hidden', function () {
           <ul id="tab" class="nav tabs">
             <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
             <li><a href="#profile" data-toggle="tab">Profile</a></li>
-            <li><a href="#messages" data-toggle="tab">Messages</a></li>
-            <li><a href="#settings" data-toggle="tab">Settings</a></li>
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
               <ul class="dropdown-menu">
@@ -522,12 +520,6 @@ $('#myModal').on('hidden', function () {
             <div class="tab-pane fade" id="profile">
               <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
             </div>
-            <div class="tab-pane fade" id="messages">
-              <p>Banksy do proident, brooklyn photo booth delectus sunt artisan sed organic exercitation eiusmod four loko. Quis tattooed iphone esse aliqua. Master cleanse vero fixie mcsweeney's. Ethical portland aute, irony food truck pitchfork lomo eu anim. Aesthetic blog DIY, ethical beard leggings tofu consequat whatever cardigan nostrud. Helvetica you probably haven't heard of them carles, marfa veniam occaecat lomo before they sold out in shoreditch scenester sustainable thundercats. Consectetur tofu craft beer, mollit brunch fap echo park pitchfork mustache dolor.</p>
-            </div>
-            <div class="tab-pane fade" id="settings">
-              <p>Sunt qui biodiesel mollit officia, fanny pack put a bird on it thundercats seitan squid ad wolf bicycle rights blog. Et aute readymade farm-to-table carles 8-bit, nesciunt nulla etsy adipisicing organic ea. Master cleanse mollit high life, next level Austin nesciunt american apparel twee mustache adipisicing reprehenderit hoodie portland irony. Aliqua tofu quinoa +1 commodo eiusmod. High life williamsburg cupidatat twee homo leggings. Four loko vinyl DIY consectetur nisi, marfa retro keffiyeh vegan. Fanny pack viral retro consectetur gentrify fap.</p>
-            </div>
             <div class="tab-pane fade" id="dropdown1">
               <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
             </div>
-- 
GitLab


From a34231d94d37bd30b59577580a12c20a9939f5fa Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 10 Jan 2012 15:58:44 -0800
Subject: [PATCH 263/576] typo

---
 docs/scaffolding.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 5b6f7c7c37..895eaa19d9 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -196,7 +196,7 @@
   <div class="row">
     <div class="span4">
       <h3>Variables in LESS</h3>
-      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in mixins.less.</p>
+      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.</p>
     </div>
     <div class="span4">
       <h3>How to customize</h3>
-- 
GitLab


From a2ebf0c0c1381c38dda24bf12aebd5f9b4907e06 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 10 Jan 2012 21:54:11 -0800
Subject: [PATCH 264/576] account for multiple tbody with 2px border between

---
 bootstrap.css     | 5 ++++-
 bootstrap.min.css | 1 +
 lib/tables.less   | 3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 32f8b9da43..561a705720 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan  9 09:15:32 PST 2012
+ * Date: Tue Jan 10 21:52:26 PST 2012
  */
 html, body {
   margin: 0;
@@ -993,6 +993,9 @@ th {
 td {
   vertical-align: top;
 }
+tbody + tbody {
+  border-top: 2px solid #ddd;
+}
 .condensed-table th, .condensed-table td {
   padding: 4px 5px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e535f1e51a..6c6ed89856 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -179,6 +179,7 @@ table{width:100%;margin-bottom:18px;}
 th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
 th{font-weight:bold;vertical-align:bottom;}
 td{vertical-align:top;}
+tbody+tbody{border-top:2px solid #ddd;}
 .condensed-table th,.condensed-table td{padding:4px 5px;}
 .bordered-table{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td,.bordered-table td+th{border-left:1px solid #ddd;}
 .bordered-table thead:first-child tr:first-child th,.bordered-table tbody:first-child tr:first-child td{border-top:0;}
diff --git a/lib/tables.less b/lib/tables.less
index 92ac57c39c..4c1fb6e071 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -26,6 +26,9 @@ th {
 td {
   vertical-align: top;
 }
+tbody + tbody {
+  border-top: 2px solid #ddd;
+}
 
 
 // CONDENSED TABLE W/ HALF PADDING
-- 
GitLab


From 32c628725924ca014df208fa57de4c5a4050733e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 11 Jan 2012 09:43:13 -0800
Subject: [PATCH 265/576] comments and borders for multiple tbody

---
 bootstrap.css     | 5 ++++-
 bootstrap.min.css | 1 +
 lib/tables.less   | 8 ++++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 561a705720..6ac110e296 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 10 21:52:26 PST 2012
+ * Date: Wed Jan 11 09:43:04 PST 2012
  */
 html, body {
   margin: 0;
@@ -993,6 +993,9 @@ th {
 td {
   vertical-align: top;
 }
+thead:first-child tr th, thead:first-child tr td {
+  border-top: 0;
+}
 tbody + tbody {
   border-top: 2px solid #ddd;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6c6ed89856..761fb53bec 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -179,6 +179,7 @@ table{width:100%;margin-bottom:18px;}
 th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
 th{font-weight:bold;vertical-align:bottom;}
 td{vertical-align:top;}
+thead:first-child tr th,thead:first-child tr td{border-top:0;}
 tbody+tbody{border-top:2px solid #ddd;}
 .condensed-table th,.condensed-table td{padding:4px 5px;}
 .bordered-table{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td,.bordered-table td+th{border-left:1px solid #ddd;}
diff --git a/lib/tables.less b/lib/tables.less
index 4c1fb6e071..8b69f5d7f9 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -26,6 +26,14 @@ th {
 td {
   vertical-align: top;
 }
+
+// Remove top border from thead by default
+thead:first-child tr th,
+thead:first-child tr td {
+  border-top: 0;
+}
+
+// Account for multiple tbody instances
 tbody + tbody {
   border-top: 2px solid #ddd;
 }
-- 
GitLab


From 6f2f947a4309a8fdeb7067612447c0f1a15dcfd9 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 11 Jan 2012 21:42:55 -0800
Subject: [PATCH 266/576] add build tool for js +  rename twipsy to tooltip +
 lots of little doc cleanup

---
 Makefile                                      |   2 +-
 bootstrap.css                                 |  29 ++--
 bootstrap.min.css                             |  26 +--
 docs/assets/css/docs.css                      |   9 +-
 docs/assets/js/application.js                 |  83 ++++++++-
 docs/components.html                          |  18 +-
 docs/javascript.html                          | 159 +++++++++++-------
 docs/scaffolding.html                         |  18 +-
 js/bootstrap-popover.js                       |   8 +-
 ...otstrap-twipsy.js => bootstrap-tooltip.js} |  38 ++---
 js/bootstrap-typeahead.js                     |   2 +
 js/tests/index.html                           |   4 +-
 js/tests/unit/bootstrap-twipsy.js             |  48 +++---
 lib/bootstrap.less                            |   2 +-
 lib/button-groups.less                        |   1 +
 lib/{twipsy.less => tooltip.less}             |  20 +--
 lib/variables.less                            |   2 +-
 17 files changed, 297 insertions(+), 172 deletions(-)
 rename js/{bootstrap-twipsy.js => bootstrap-tooltip.js} (87%)
 rename lib/{twipsy.less => tooltip.less} (60%)

diff --git a/Makefile b/Makefile
index 5eee74f2e5..0dddb13dd0 100644
--- a/Makefile
+++ b/Makefile
@@ -31,7 +31,7 @@ uglify:
 		uglifyjs -o js/min/bootstrap-scrollspy.js js/bootstrap-scrollspy.js;\
 		uglifyjs -o js/min/bootstrap-tabs.js js/bootstrap-tab.js;\
 		uglifyjs -o js/min/bootstrap-transitions.js js/bootstrap-transition.js;\
-		uglifyjs -o js/min/bootstrap-twipsy.js js/bootstrap-twipsy.js;\
+		uglifyjs -o js/min/bootstrap-tooltip.js js/bootstrap-tooltip.js;\
 	else \
 		echo "You must have the UGLIFYJS minifier installed in order to minify Bootstrap's js."; \
 		echo "You can install it by running: npm install uglify-js -g"; \
diff --git a/bootstrap.css b/bootstrap.css
index 32f8b9da43..09b7b41821 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan  9 09:15:32 PST 2012
+ * Date: Wed Jan 11 20:37:24 PST 2012
  */
 html, body {
   margin: 0;
@@ -2208,7 +2208,7 @@ i {
   float: right;
   margin-left: 5px;
 }
-.twipsy {
+.tooltip {
   position: absolute;
   z-index: 1020;
   display: block;
@@ -2219,24 +2219,24 @@ i {
   -moz-opacity: 0;
   opacity: 0;
 }
-.twipsy.in {
+.tooltip.in {
   filter: alpha(opacity=80);
   -moz-opacity: 0.8;
   opacity: 0.8;
 }
-.twipsy.top {
+.tooltip.top {
   margin-top: -2px;
 }
-.twipsy.right {
+.tooltip.right {
   margin-left: 2px;
 }
-.twipsy.bottom {
+.tooltip.bottom {
   margin-top: 2px;
 }
-.twipsy.left {
+.tooltip.left {
   margin-left: -2px;
 }
-.twipsy.top .twipsy-arrow {
+.tooltip.top .tooltip-arrow {
   bottom: 0;
   left: 50%;
   margin-left: -5px;
@@ -2244,7 +2244,7 @@ i {
   border-right: 5px solid transparent;
   border-top: 5px solid #000000;
 }
-.twipsy.left .twipsy-arrow {
+.tooltip.left .tooltip-arrow {
   top: 50%;
   right: 0;
   margin-top: -5px;
@@ -2252,7 +2252,7 @@ i {
   border-bottom: 5px solid transparent;
   border-left: 5px solid #000000;
 }
-.twipsy.bottom .twipsy-arrow {
+.tooltip.bottom .tooltip-arrow {
   top: 0;
   left: 50%;
   margin-left: -5px;
@@ -2260,7 +2260,7 @@ i {
   border-right: 5px solid transparent;
   border-bottom: 5px solid #000000;
 }
-.twipsy.right .twipsy-arrow {
+.tooltip.right .tooltip-arrow {
   top: 50%;
   left: 0;
   margin-top: -5px;
@@ -2268,7 +2268,7 @@ i {
   border-bottom: 5px solid transparent;
   border-right: 5px solid #000000;
 }
-.twipsy-inner {
+.tooltip-inner {
   max-width: 200px;
   padding: 3px 8px;
   color: white;
@@ -2279,7 +2279,7 @@ i {
   -moz-border-radius: 4px;
   border-radius: 4px;
 }
-.twipsy-arrow {
+.tooltip-arrow {
   position: absolute;
   width: 0;
   height: 0;
@@ -2619,6 +2619,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius: 5px;
   border-radius: 5px;
 }
+.btn-group.open .dropdown-menu.large {
+  top: 40px;
+}
 .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);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e535f1e51a..bf7cd42003 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -412,17 +412,17 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
-.twipsy{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.twipsy.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.twipsy.top{margin-top:-2px;}
-.twipsy.right{margin-left:2px;}
-.twipsy.bottom{margin-top:2px;}
-.twipsy.left{margin-left:-2px;}
-.twipsy.top .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
-.twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
-.twipsy.bottom .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
-.twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
-.twipsy-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.twipsy-arrow{position:absolute;width:0;height:0;}
+.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.tooltip.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.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;}
+.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;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;}
+.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;}
+.tooltip-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.tooltip-arrow{position:absolute;width:0;height:0;}
 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
 .popover.bottom{margin-top:5px;}
@@ -460,7 +460,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);}
-.btn-group.open .dropdown-menu{display:block;top:30px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.btn-group.open .dropdown-menu{display:block;top:30px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}.btn-group.open .dropdown-menu.large{top:40px;}
 .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);}
 .btn .caret{margin-top:6px;margin-left:0;}
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#fff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
@@ -518,4 +518,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .show{display:block;}
 .invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index f370672037..134224e567 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -466,7 +466,7 @@ form.well {
 /* Icons
 ------------------------- */
 .the-icons {
-  
+
 }
 .the-icons i {
   display: block;
@@ -481,6 +481,13 @@ form.well {
   width: 100px;
 }
 
+#javascript input[type='checkbox'] {
+display: inline;
+margin-left: 6px;
+position: relative;
+top: -1px;
+}
+
 
 /* Responsive Docs
 -------------------------------------------------- */
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index c31fc97a06..0e14a53508 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -48,18 +48,18 @@ $(function(){
     setTimeout(function () { $(el).select() }, 0)
   })
 
-  if ($.fn.twipsy) {
+  if ($.fn.tooltip) {
 
     // position static twipsies for components page
     if ($(".twipsies a").length) {
       $(window).on('load resize', function () {
         $(".twipsies a").each(function () {
           $(this)
-            .twipsy({
+            .tooltip({
               placement: $(this).attr('title')
             , trigger: 'manual'
             })
-            .twipsy('show')
+            .tooltip('show')
           })
       })
     }
@@ -67,7 +67,7 @@ $(function(){
     // add tipsies to grid for scaffolding
     if ($('#grid-system').length) {
 
-      $('#grid-system').twipsy({
+      $('#grid-system').tooltip({
           selector: '.show-grid > div'
         , title: function () { return $(this).width() + 'px' }
       })
@@ -75,4 +75,79 @@ $(function(){
     }
   }
 
+  // javascript build logic
+
+  var inputs = $("#javascript input")
+
+  // toggle all plugin checkboxes
+  $('#selectAll').on('click', function (e) {
+    e.preventDefault()
+    inputs.attr('checked', !inputs.is(':checked'))
+  })
+
+  // handle build button dropdown
+  var buildTypes = $('#javascriptBuilder .dropdown-menu li').on('click', function () {
+    buildTypes.removeClass('active')
+    $(this).addClass('active')
+  })
+
+  // request built javascript
+  $('#javascriptBuild').on('click', function () {
+
+    var names = $("#javascript input:checked")
+      .map(function () { return this.value })
+      .toArray()
+
+    if (names[names.length - 1] == 'bootstrap-transition.js') {
+      names.unshift(names.pop())
+    }
+
+    $.ajax({
+      type: 'POST'
+    , dataType: 'jsonpi'
+    , params: {
+        branch: '2.0-wip'
+      , dir: 'js'
+      , filenames: names
+      , compress: buildTypes.first().hasClass('active')
+      }
+    , url: "http://bootstrap.herokuapp.com"
+    })
+  })
+
 })
+
+
+// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
+// by the talented Ben Vinegar
+!function($) {
+    $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
+        var url = opts.url;
+
+        return {
+            send: function(_, completeCallback) {
+                var name = 'jQuery_iframe_' + jQuery.now(),
+                    iframe, form;
+
+                iframe = $('<iframe>')
+                    .attr('name', name)
+                    .appendTo('head');
+
+                form = $('<form>')
+                    .attr('method', opts.type) // GET or POST
+                    .attr('action', url)
+                    .attr('target', name);
+
+                $.each(opts.params, function(k, v) {
+                    $('<input>')
+                        .attr('type', 'hidden')
+                        .attr('name', k)
+                        .attr('value', v)
+                        .appendTo(form);
+                });
+
+                form.appendTo('body').submit();
+            }
+       };
+    });
+}(jQuery);
\ No newline at end of file
diff --git a/docs/components.html b/docs/components.html
index ee1634ccac..873bbf6823 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -147,7 +147,7 @@
                 <li class="divider"></li>
                 <li><a href="#">Separated link</a></li>
               </ul>
-            </div><!-- /btn-group -->        
+            </div><!-- /btn-group -->
             <div class="btn-group">
               <a class="btn primary" href="#">Action</a>
               <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
@@ -158,7 +158,7 @@
                 <li class="divider"></li>
                 <li><a href="#">Separated link</a></li>
               </ul>
-            </div><!-- /btn-group -->     
+            </div><!-- /btn-group -->
             <div class="btn-group">
               <a class="btn danger" href="#">Danger</a>
               <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
@@ -214,7 +214,7 @@
       </div>
     </div>
   </section>
-  
+
 
 
 <!-- Nav, Tabs, & Pills
@@ -331,7 +331,7 @@
 <pre class="prettyprint linenums">
 &lt;ul class="nav tabs"&gt;
   &lt;li class="dropdown"&gt;
-    &lt;a class="dropdown-toggle" 
+    &lt;a class="dropdown-toggle"
        data-toggle="dropdown"
        href="#"&gt;
         Dropdown
@@ -363,7 +363,7 @@
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
   &lt;li class="dropdown"&gt;
-    &lt;a class="dropdown-toggle" 
+    &lt;a class="dropdown-toggle"
        data-toggle="dropdown"
        href="#"&gt;
         Dropdown
@@ -483,7 +483,7 @@
       <p><a class="btn" href="./javascript.html/#tabs">Get the javascript &rarr;</a></p>
     </div>
   </div>
-    
+
   <h3>Straightforward markup</h3>
   <p>Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.</p>
 <pre class="prettyprint linenums">
@@ -509,7 +509,7 @@
     <div class="span4">
       <p>Swap the order of your HTML&mdash;placing <code>.tabs</code> after <code>.tab-content</code>&mdash;for tabs on the bottom.</p>
     </div>
--->   
+-->
     <div class="span4">
       <h4>Tabs on the bottom</h4>
       <p>Flip the order of the HTML and add a class to put tabs on the bottom.</p>
@@ -1035,7 +1035,7 @@
 </pre>
     </div>
   </div><!-- /row -->
-  
+
   <br>
 
   <!-- Block messages -->
@@ -1195,7 +1195,7 @@
     <script src="../js/bootstrap-dropdown.js"></script>
     <script src="../js/bootstrap-tab.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
     <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/javascript.html b/docs/javascript.html
index 119066895c..51f3d691e0 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -54,7 +54,6 @@
       </header>
 
 
-
       <!-- Using Javascript w/ Bootstrap
       ================================================== -->
       <section id="javascript">
@@ -63,61 +62,100 @@
         </div>
       <div class="row">
         <div class="span3">
-          <h3><a href="./javascript.html#modals">Modals</a></h3>
-          <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+          <label>
+            <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+            <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#dropdowns">Dropdowns</a></h3>
-          <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+          <label>
+            <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+            <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#scrollspy">Scrollspy</a></h3>
-          <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+          <label>
+            <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+            <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#tabs">Togglable tabs</a></h3>
-          <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+          <label>
+            <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+            <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+          </label>
         </div>
       </div> <!-- /row -->
       <div class="row">
         <div class="span3">
-          <h3><a href="./javascript.html#twipsy">Twipsy tooltips</a></h3>
-          <p>A new take on the jQuery Tipsy plugin, Twipsy uses CSS3 animations, data attributes for titles, and the new event API in jQuery 1.7.</p>
+          <label>
+            <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+            <p>A new take on the jQuery Tipsy plugin, Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small></h3>
-          <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-          <p class="muted"><strong>*</strong> Requires <a href="#twipsy">Twipsy</a> to be included</p>
+          <label>
+            <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+            <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+            <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#alerts">Alert messages</a></h3>
-          <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+          <label>
+            <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+            <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#buttons">Buttons</a></h3>
-          <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+          <label>
+            <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+            <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+          </label>
         </div>
       </div> <!-- /row -->
       <div class="row">
         <div class="span3">
-          <h3><a href="./javascript.html#collapse">Collapse</a></h3>
-          <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+          <label>
+            <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+            <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#carousel">Carousel</a></h3>
-          <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+          <label>
+            <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+            <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#typeahead">Typeahead</a></h3>
-          <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+          <label>
+            <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
+            <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+          </label>
         </div>
         <div class="span3">
-          <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small></h3>
-          <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alert messages.</p>
-          <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+          <label>
+            <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alert messages.</p>
+            <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+          </label>
         </div>
       </div> <!-- /row -->
+      <div class="row">
+        <div class="span5">
+          <div class="btn-group" id="javascriptBuilder">
+            <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
+            <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
+              <span class="caret"></span>
+            </a>
+            <ul class="dropdown-menu large">
+              <li class="active"><a href="#">Compressed</a></li>
+              <li><a href="#">Uncompressed</a></li>
+            </ul>
+          </div>
+        </div>
+      </div>
       <hr>
+      <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
       <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
     </section>
 
@@ -169,8 +207,8 @@
               <h4>Popover in a modal</h4>
               <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
 
-              <h4>Twipsy tooltips in a modal</h4>
-              <p><a href="#" class="twipsy-test" title="Tooltip">This link</a> and <a href="#" class="twipsy-test" title="Tooltip">that link</a> should have Twipsy tooltips on hover.</p>
+              <h4>Tooltips in a modal</h4>
+              <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
             </div>
             <div class="modal-footer">
               <a href="#" class="btn primary">Save changes</a>
@@ -596,30 +634,29 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
     </section>
 
 
-
-    <!-- Twipsy
+    <!-- Tooltips
     ================================================== -->
-    <section id="twipsy">
+    <section id="tooltips">
       <div class="page-header">
-        <h1>Twipsy <small>bootstrap-twipsy.js</small></h1>
+        <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About Twipsy tooltips</h3>
-          <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, data-attributes for local title storage, and now jquery 1.7's new event api!</p>
-          <a href="../js/bootstrap-twipsy.js" target="_blank" class="btn">Download file</a>
+          <h3>About Tooltips</h3>
+          <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
+          <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
-          <h2>Example use of Twipsy</h2>
+          <h2>Example use of Tooltips</h2>
           <p>Hover over the links below to see tooltips:</p>
-          <div class="twipsy-demo well">
-            <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='twipsy' title="first twipsy">you probably</a> 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 <a href="#" rel='twipsy' title='Another twipsy'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='twipsy' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='twipsy' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+          <div class="tooltip-demo well">
+            <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
             </p>
           </div>
           <hr>
-          <h2>Using bootstrap-twipsy.js</h2>
-          <p>Trigger the Twipsy tooltips via javascript:</p>
-          <pre class="prettyprint linenums">$('#example').twipsy(options)</pre>
+          <h2>Using bootstrap-tooltip.js</h2>
+          <p>Trigger the tooltip via javascript:</p>
+          <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
           <h3>Options</h3>
           <table class="bordered-table striped-table">
             <thead>
@@ -647,7 +684,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>selector</td>
                <td>string</td>
                <td>false</td>
-               <td>If a selector is provided, twipsy objects will be delegated to the specified targets.</td>
+               <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
              </tr>
              <tr>
                <td>title</td>
@@ -673,18 +710,18 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p><span class="label notice">Notice</span> Individual twipsy instance options can alternatively be specified through the use of data attributes.</code></p>
+          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
-          <p>For performance reasons, the Twipsy and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
+          <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
           <h3>Methods</h3>
-          <h4>$().twipsy(options)</h4>
-          <p>Attaches a twipsy handler to an element collection.</p>
-          <h4>.twipsy('show')</h4>
-          <p>Reveals an elements twipsy.</p>
-          <pre class="prettyprint linenums">$('#element').twipsy('show')</pre>
-          <h4>.twipsy('hide')</h4>
-          <p>Hides an elements twipsy.</p>
-          <pre class="prettyprint linenums">$('#element').twipsy('hide')</pre>
+          <h4>$().tooltip(options)</h4>
+          <p>Attaches a tooltip handler to an element collection.</p>
+          <h4>.tooltip('show')</h4>
+          <p>Reveals an elements tooltip.</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
+          <h4>.tooltip('hide')</h4>
+          <p>Hides an elements tooltip.</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
         </div>
       </div>
     </section>
@@ -701,7 +738,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
         <div class="span3 columns">
           <h3>About popovers</h3>
           <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-          <p class="muted"><strong>*</strong> Requires <a href="#twipsy">Twipsy</a> to be included</p>
+          <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
           <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
         </div>
         <div class="span9 columns">
@@ -741,7 +778,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>selector</td>
                <td>string</td>
                <td>false</td>
-               <td>if a selector is provided, twipsy objects will be delegated to the specified targets</td>
+               <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
              </tr>
              <tr>
                <td>trigger</td>
@@ -776,7 +813,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
           <p>
-          For performance reasons, the Twipsy 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 the selector option.
           </p>
           <h3>Methods</h3>
           <h4>$().popover(options)</h4>
@@ -1302,7 +1339,7 @@ $('#myCollapsible').on('hidden', function () {
     <script src="../js/bootstrap-dropdown.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="../js/bootstrap-tab.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
     <script src="../js/bootstrap-popover.js"></script>
     <script src="../js/bootstrap-button.js"></script>
     <script src="../js/bootstrap-collapse.js"></script>
@@ -1311,11 +1348,11 @@ $('#myCollapsible').on('hidden', function () {
     <script src="assets/js/application.js"></script>
     <script>
       $(function () {
-        // twipsy demo
-        $('.twipsy-demo.well').twipsy({
-          selector: "a[rel=twipsy]"
+        // tooltip demo
+        $('.tooltip-demo.well').tooltip({
+          selector: "a[rel=tooltip]"
         })
-        $('.twipsy-test').twipsy()
+        $('.tooltip-test').tooltip()
 
         // popover demo
         $("a[rel=popover]")
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 5b6f7c7c37..3a0cce80a0 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -399,15 +399,15 @@
           </dl>
           <dl class="span2">
             <dt>Javascript plugins</dt>
-            <dd><a href="./javascript.html#transitions">Transitions</a></dd>
-            <dd><a href="./javascript.html#modals">Modals</a></dd>
-            <dd><a href="./javascript.html#dropdowns">Dropdowns</a></dd>
+            <dd><a href="./javascript.html#transition">Transition</a></dd>
+            <dd><a href="./javascript.html#modal">Modal</a></dd>
+            <dd><a href="./javascript.html#dropdown">Dropdown</a></dd>
             <dd><a href="./javascript.html#scrollspy">Scrollspy</a></dd>
-            <dd><a href="./javascript.html#tabs">Tabs</a></dd>
-            <dd><a href="./javascript.html#twipsy">Twipsy tooltips</a></dd>
-            <dd><a href="./javascript.html#popovers">Popovers</a></dd>
-            <dd><a href="./javascript.html#alerts">Alerts</a></dd>
-            <dd><a href="./javascript.html#buttons">Buttons</a></dd>
+            <dd><a href="./javascript.html#tab">Tab</a></dd>
+            <dd><a href="./javascript.html#tooltip">Tooltip</a></dd>
+            <dd><a href="./javascript.html#popover">Popover</a></dd>
+            <dd><a href="./javascript.html#alerts">Alert</a></dd>
+            <dd><a href="./javascript.html#buttons">Button</a></dd>
             <dd><a href="./javascript.html#collapse">Collapse</a></dd>
             <dd><a href="./javascript.html#carousel">Carousel</a></dd>
             <dd><a href="./javascript.html#typeahead">Typeahead</a></dd>
@@ -433,7 +433,7 @@
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
-    <script src="../js/bootstrap-twipsy.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
     <script src="assets/js/application.js"></script>
 
   </body>
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 746699d372..9f60cbe957 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -26,10 +26,10 @@
     this.init('popover', element, options)
   }
 
-  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TWIPSY.js
-     ========================================= */
+  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+     ========================================== */
 
-  Popover.prototype = $.extend({}, $.fn.twipsy.Constructor.prototype, {
+  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
 
     constructor: Popover
 
@@ -86,7 +86,7 @@
 
   $.fn.popover.Constructor = Popover
 
-  $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
+  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
     placement: 'right'
   , content: ''
   , template: '<div class="popover"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>'
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-tooltip.js
similarity index 87%
rename from js/bootstrap-twipsy.js
rename to js/bootstrap-tooltip.js
index b7b802926d..241a44e248 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-tooltip.js
@@ -1,8 +1,8 @@
-/* ==========================================================
- * bootstrap-twipsy.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#twipsy
+/* ===========================================================
+ * bootstrap-tooltip.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#tooltip
  * Inspired by the original jQuery.tipsy by Jason Frame
- * ==========================================================
+ * ===========================================================
  * Copyright 2011 Twitter, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,16 +22,16 @@
 
   "use strict"
 
- /* TWIPSY PUBLIC CLASS DEFINITION
-  * ============================== */
+ /* TOOLTIP PUBLIC CLASS DEFINITION
+  * =============================== */
 
-  var Twipsy = function ( element, options ) {
-    this.init('twipsy', element, options)
+  var Tooltip = function ( element, options ) {
+    this.init('tooltip', element, options)
   }
 
-  Twipsy.prototype = {
+  Tooltip.prototype = {
 
-    constructor: Twipsy
+    constructor: Tooltip
 
   , init: function ( type, element, options ) {
       var eventIn
@@ -154,7 +154,7 @@
 
   , setContent: function () {
       var $tip = this.tip()
-      $tip.find('.twipsy-inner').html(this.getTitle())
+      $tip.find('.tooltip-inner').html(this.getTitle())
       $tip.removeClass('fade in top bottom left right')
     }
 
@@ -242,29 +242,29 @@
   }
 
 
- /* TWIPSY PLUGIN DEFINITION
-  * ======================== */
+ /* TOOLTIP PLUGIN DEFINITION
+  * ========================= */
 
-  $.fn.twipsy = function ( option ) {
+  $.fn.tooltip = function ( option ) {
     return this.each(function () {
       var $this = $(this)
-        , data = $this.data('twipsy')
+        , data = $this.data('tooltip')
         , options = typeof option == 'object' && option
-      if (!data) $this.data('twipsy', (data = new Twipsy(this, options)))
+      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
       if (typeof option == 'string') data[option]()
     })
   }
 
-  $.fn.twipsy.Constructor = Twipsy
+  $.fn.tooltip.Constructor = Tooltip
 
-  $.fn.twipsy.defaults = {
+  $.fn.tooltip.defaults = {
     animation: true
   , delay: 0
   , selector: false
   , placement: 'top'
   , trigger: 'hover'
   , title: ''
-  , template: '<div class="twipsy"><div class="twipsy-arrow"></div><div class="twipsy-inner"></div></div>'
+  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
   }
 
 }( window.jQuery )
\ No newline at end of file
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index 4933f96057..180466a74b 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -156,11 +156,13 @@
           break
 
         case 38: // up arrow
+          if (!this.shown) return
           e.preventDefault()
           this.prev()
           break
 
         case 40: // down arrow
+          if (!this.shown) return
           e.preventDefault()
           this.next()
           break
diff --git a/js/tests/index.html b/js/tests/index.html
index 27c2b34125..8c710de366 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -20,7 +20,7 @@
   <script src="../../js/bootstrap-modal.js"></script>
   <script src="../../js/bootstrap-scrollspy.js"></script>
   <script src="../../js/bootstrap-tab.js"></script>
-  <script src="../../js/bootstrap-twipsy.js"></script>
+  <script src="../../js/bootstrap-tooltip.js"></script>
   <script src="../../js/bootstrap-popover.js"></script>
   <script src="../../js/bootstrap-typeahead.js"></script>
 
@@ -33,7 +33,7 @@
   <script src="unit/bootstrap-modal.js"></script>
   <script src="unit/bootstrap-scrollspy.js"></script>
   <script src="unit/bootstrap-tab.js"></script>
-  <script src="unit/bootstrap-twipsy.js"></script>
+  <script src="unit/bootstrap-tooltip.js"></script>
   <script src="unit/bootstrap-popover.js"></script>
   <script src="unit/bootstrap-typeahead.js"></script>
 
diff --git a/js/tests/unit/bootstrap-twipsy.js b/js/tests/unit/bootstrap-twipsy.js
index 08512ca979..8543162c6a 100644
--- a/js/tests/unit/bootstrap-twipsy.js
+++ b/js/tests/unit/bootstrap-twipsy.js
@@ -1,62 +1,62 @@
 $(function () {
 
-    module("bootstrap-twipsy")
+    module("bootstrap-tooltip")
 
       test("should be defined on jquery object", function () {
         var div = $("<div></div>")
-        ok(div.twipsy, 'popover method is defined')
+        ok(div.tooltip, 'popover method is defined')
       })
 
       test("should return element", function () {
         var div = $("<div></div>")
-        ok(div.twipsy() == div, 'document.body returned')
+        ok(div.tooltip() == div, 'document.body returned')
       })
 
       test("should expose default settings", function () {
-        ok(!!$.fn.twipsy.defaults, 'defaults is defined')
+        ok(!!$.fn.tooltip.defaults, 'defaults is defined')
       })
 
       test("should remove title attribute", function () {
-        var twipsy = $('<a href="#" rel="twipsy" title="Another twipsy"></a>').twipsy()
-        ok(!twipsy.attr('title'), 'title tag was removed')
+        var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>').tooltip()
+        ok(!tooltip.attr('title'), 'title tag was removed')
       })
 
       test("should add data attribute for referencing original title", function () {
-        var twipsy = $('<a href="#" rel="twipsy" title="Another twipsy"></a>').twipsy()
-        equals(twipsy.attr('data-original-title'), 'Another twipsy', 'original title preserved in data attribute')
+        var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>').tooltip()
+        equals(tooltip.attr('data-original-title'), 'Another tooltip', 'original title preserved in data attribute')
       })
 
       test("should place tooltips relative to placement option", function () {
         $.support.transition = false
-        var twipsy = $('<a href="#" rel="twipsy" title="Another twipsy"></a>')
+        var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
           .appendTo('#qunit-fixture')
-          .twipsy({placement: 'bottom'})
-          .twipsy('show')
+          .tooltip({placement: 'bottom'})
+          .tooltip('show')
 
-        ok($(".twipsy").hasClass('fade bottom in'), 'has correct classes applied')
-        twipsy.twipsy('hide')
+        ok($(".tooltip").hasClass('fade bottom in'), 'has correct classes applied')
+        tooltip.tooltip('hide')
       })
 
       test("should always allow html entities", function () {
         $.support.transition = false
-        var twipsy = $('<a href="#" rel="twipsy" title="<b>@fat</b>"></a>')
+        var tooltip = $('<a href="#" rel="tooltip" title="<b>@fat</b>"></a>')
           .appendTo('#qunit-fixture')
-          .twipsy('show')
+          .tooltip('show')
 
-        ok($('.twipsy b').length, 'b tag was inserted')
-        twipsy.twipsy('hide')
-        ok(!$(".twipsy").length, 'twipsy removed')
+        ok($('.tooltip b').length, 'b tag was inserted')
+        tooltip.tooltip('hide')
+        ok(!$(".tooltip").length, 'tooltip removed')
       })
 
       test("should respect custom classes", function () {
-        var twipsy = $('<a href="#" rel="twipsy" title="Another twipsy"></a>')
+        var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
           .appendTo('#qunit-fixture')
-          .twipsy({ template: '<div class="twipsy some-class"><div class="twipsy-arrow"/><div class="twipsy-inner"/></div>'})
-          .twipsy('show')
+          .tooltip({ template: '<div class="tooltip some-class"><div class="tooltip-arrow"/><div class="tooltip-inner"/></div>'})
+          .tooltip('show')
 
-        ok($('.twipsy').hasClass('some-class'), 'custom class is present')
-        twipsy.twipsy('hide')
-        ok(!$(".twipsy").length, 'twipsy removed')
+        ok($('.tooltip').hasClass('some-class'), 'custom class is present')
+        tooltip.tooltip('hide')
+        ok(!$(".tooltip").length, 'tooltip removed')
       })
 
 })
\ No newline at end of file
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 57ada98a98..d71002c468 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -39,7 +39,7 @@
 
 // Components: Popovers
 @import "modals.less";
-@import "twipsy.less";
+@import "tooltip.less";
 @import "popovers.less";
 
 // Components: Buttons & Alerts
diff --git a/lib/button-groups.less b/lib/button-groups.less
index d2307018eb..e9724ba8c2 100644
--- a/lib/button-groups.less
+++ b/lib/button-groups.less
@@ -90,6 +90,7 @@
   display: block;
   top: 30px;
   .border-radius(5px);
+  &.large { top: 40px; }
 }
 .btn-group.open .dropdown-toggle {
   background-image: none;
diff --git a/lib/twipsy.less b/lib/tooltip.less
similarity index 60%
rename from lib/twipsy.less
rename to lib/tooltip.less
index 7eaa7d5bfd..b21c6bb7a5 100644
--- a/lib/twipsy.less
+++ b/lib/tooltip.less
@@ -1,9 +1,9 @@
-// TWIPSY
-// ------
+// TOOLTIP
+// ------=
 
-.twipsy {
+.tooltip {
   position: absolute;
-  z-index: @zindexTwipsy;
+  z-index: @zindexTooltip;
   display: block;
   visibility: visible;
   padding: 5px;
@@ -14,12 +14,12 @@
   &.right  { margin-left:  2px; }
   &.bottom { margin-top:   2px; }
   &.left   { margin-left: -2px; }
-  &.top .twipsy-arrow    { #popoverArrow > .top(); }
-  &.left .twipsy-arrow   { #popoverArrow > .left(); }
-  &.bottom .twipsy-arrow { #popoverArrow > .bottom(); }
-  &.right .twipsy-arrow  { #popoverArrow > .right(); }
+  &.top .tooltip-arrow    { #popoverArrow > .top(); }
+  &.left .tooltip-arrow   { #popoverArrow > .left(); }
+  &.bottom .tooltip-arrow { #popoverArrow > .bottom(); }
+  &.right .tooltip-arrow  { #popoverArrow > .right(); }
 }
-.twipsy-inner {
+.tooltip-inner {
   max-width: 200px;
   padding: 3px 8px;
   color: white;
@@ -28,7 +28,7 @@
   background-color: @black;
   .border-radius(4px);
 }
-.twipsy-arrow {
+.tooltip-arrow {
   position: absolute;
   width: 0;
   height: 0;
diff --git a/lib/variables.less b/lib/variables.less
index 97b6f9e3c8..3f32c36f4d 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -52,7 +52,7 @@
 
 @zindexDropdown:        1000;
 @zindexPopover:         1010;
-@zindexTwipsy:          1020;
+@zindexTooltip:         1020;
 @zindexFixedNavbar:     1030;
 @zindexModalBackdrop:   1040;
 @zindexModal:           1050;
-- 
GitLab


From 1fa94bdbf47e592e8c51920bb9489ef760e04830 Mon Sep 17 00:00:00 2001
From: Davide Bellini <bellini.davide@gmail.com>
Date: Thu, 12 Jan 2012 12:04:17 +0100
Subject: [PATCH 267/576] Fixed broken anchors on js docs page

---
 docs/javascript.html | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 51f3d691e0..0350103fab 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -528,7 +528,7 @@ $('#myModal').on('hidden', function () {
 
     <!-- Tabs
     ================================================== -->
-    <section id="tab">
+    <section id="tabs">
       <div class="page-header">
         <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
       </div>
@@ -832,7 +832,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
 
     <!-- Alert
     ================================================== -->
-    <section id="alert">
+    <section id="alerts">
       <div class="page-header">
         <h1>Alert messages <small>bootstrap-alert.js</small></h1>
       </div>
@@ -901,7 +901,7 @@ $('#my-alert').bind('closed', function () {
 
     <!-- Buttons
     ================================================== -->
-    <section id="button">
+    <section id="buttons">
       <div class="page-header">
         <h1>Buttons <small>bootstrap-button.js</small></h1>
       </div>
-- 
GitLab


From 5e3c21133430112bf8361827dc7a6a29f3f56c72 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 12 Jan 2012 10:19:07 -0800
Subject: [PATCH 268/576] fix type shorthand in blockquote

---
 bootstrap.css     | 6 +++---
 bootstrap.min.css | 2 +-
 lib/type.less     | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 1250507b5e..59cec1cd6b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 11 21:59:22 PST 2012
+ * Date: Thu Jan 12 10:18:57 PST 2012
  */
 html, body {
   margin: 0;
@@ -459,8 +459,8 @@ blockquote {
 }
 blockquote p {
   margin-bottom: 0;
-  font-size: 300;
-  font-weight: 16px;
+  font-size: 16px;
+  font-weight: 300;
   line-height: 22.5px;
 }
 blockquote small {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 3e220de3ca..2cbb4427e5 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -81,7 +81,7 @@ strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#999999;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:300;font-weight:16px;line-height:22.5px;}
+blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}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;border-right:5px solid #eee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;margin-bottom:18px;line-height:18px;}
diff --git a/lib/type.less b/lib/type.less
index 84130f3fa1..73462b38a4 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -151,7 +151,7 @@ blockquote {
   border-left: 5px solid #eee;
   p {
     margin-bottom: 0;
-    #font > .shorthand(300,16px,@baseLineHeight * 1.25);
+    #font > .shorthand(16px,300,@baseLineHeight * 1.25);
   }
   small {
     display: block;
-- 
GitLab


From ef8b27cdc7ad490b4b52003a7178bd1465ee5dc9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 12 Jan 2012 12:30:36 -0800
Subject: [PATCH 269/576] fix heading

---
 bootstrap.css | 2 +-
 lib/type.less | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 59cec1cd6b..8d08470121 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 12 10:18:57 PST 2012
+ * Date: Thu Jan 12 12:30:32 PST 2012
  */
 html, body {
   margin: 0;
diff --git a/lib/type.less b/lib/type.less
index 73462b38a4..f7d5077cf5 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -69,8 +69,8 @@ h6 {
 }
 
 
-// COLORS
-// ------
+// LISTS
+// -----
 
 // Unordered and Ordered lists
 ul, ol {
-- 
GitLab


From 391248c0e3ba9b00b0b4a02e4d94475e9ae9877a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 12 Jan 2012 15:29:16 -0800
Subject: [PATCH 270/576] nuke uber footer, bring back topbar dropdowns

---
 bootstrap.css         |  40 ++++++-------
 bootstrap.min.css     |  14 +++--
 docs/base-css.html    |  70 +++++++++++++++++++++--
 docs/components.html  |  72 +++++++++++++++++++++--
 docs/index.html       |  71 +++++++++++++++++++++--
 docs/javascript.html  |  70 +++++++++++++++++++++--
 docs/less.html        |  70 +++++++++++++++++++++--
 docs/scaffolding.html | 130 +++++++++++++++++++++---------------------
 docs/upgrading.html   |  70 +++++++++++++++++++++--
 lib/dropdowns.less    |  10 ++--
 lib/navbar.less       |  20 +++++--
 11 files changed, 502 insertions(+), 135 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8d08470121..8e5ad131c1 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 12 12:30:32 PST 2012
+ * Date: Thu Jan 12 15:28:03 PST 2012
  */
 html, body {
   margin: 0;
@@ -1453,12 +1453,12 @@ i {
   min-width: 160px;
   max-width: 220px;
   _width: 160px;
-  padding: 5px 0;
+  padding: 4px 0;
   margin: 0;
   list-style: none;
   background-color: #ffffff;
   border-color: #999;
-  border-color: rgba(0, 0, 0, 0.1);
+  border-color: rgba(0, 0, 0, 0.2);
   border-style: solid;
   border-width: 1px;
   -webkit-border-radius: 0 0 5px 5px;
@@ -1486,24 +1486,12 @@ i {
   font-weight: normal;
   line-height: 18px;
   color: #555555;
+  white-space: nowrap;
 }
 .dropdown-menu li > a:hover {
   color: #fff;
   text-decoration: none;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0077b3;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));
-  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -ms-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
-  background-image: linear-gradient(top, #0088cc, #0077b3);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
-  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.075), inset 0 -1px rgba(0, 0, 0, 0.075);
+  background-color: #0088cc;
 }
 .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
   color: #fff;
@@ -1747,7 +1735,7 @@ i {
   margin-right: 0;
 }
 .navbar .dropdown-menu {
-  top: 42px;
+  top: 41px;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
@@ -1758,10 +1746,10 @@ i {
   border-left: 7px solid transparent;
   border-right: 7px solid transparent;
   border-bottom: 7px solid #ccc;
-  border-bottom-color: rgba(0, 0, 0, 0.1);
+  border-bottom-color: rgba(0, 0, 0, 0.2);
   position: absolute;
   top: -7px;
-  left: 12px;
+  left: 9px;
 }
 .navbar .dropdown-menu:after {
   content: '';
@@ -1771,14 +1759,22 @@ i {
   border-bottom: 6px solid #fff;
   position: absolute;
   top: -6px;
-  left: 13px;
+  left: 10px;
 }
 .navbar .dropdown-toggle .caret, .navbar .open.dropdown .caret {
   border-top-color: #fff;
 }
-.navbar .open .dropdown-toggle {
+.navbar .nav .active .caret {
+  filter: alpha(opacity=100);
+  -moz-opacity: 1;
+  opacity: 1;
+}
+.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {
   background-color: transparent;
 }
+.navbar .nav .active > .dropdown-toggle:hover {
+  color: #fff;
+}
 .navbar .nav.pull-right .dropdown-menu {
   right: 0;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2cbb4427e5..1723ca555e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -301,9 +301,9 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;}
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:5px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;border-color:rgba(0, 0, 0, 0.1);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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
-.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;}
-.dropdown-menu li>a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0077b3;background-image:-khtml-gradient(linear, left top, left bottom, from(#0088cc), to(#0077b3));background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-ms-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0088cc), color-stop(100%, #0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(top, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0077b3', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.075),inset 0 -1px rgba(0, 0, 0, 0.075);}
+.dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
+.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
+.dropdown-menu li>a:hover{color:#fff;text-decoration:none;background-color:#0088cc;}
 .dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;background-color:#999;background-image:none;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
@@ -334,10 +334,12 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
 .navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
 .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
-.navbar .dropdown-menu{top:42px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.1);position:absolute;top:-7px;left:12px;}
-.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:13px;}
+.navbar .dropdown-menu{top:41px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
+.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:10px;}
 .navbar .dropdown-toggle .caret,.navbar .open.dropdown .caret{border-top-color:#fff;}
-.navbar .open .dropdown-toggle{background-color:transparent;}
+.navbar .nav .active .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
+.navbar .nav .active>.dropdown-toggle:hover{color:#fff;}
 .navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
 .navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
 .nav{margin-left:0;margin-bottom:18px;list-style:none;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 29f5d1d197..7f60580b4a 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -34,11 +34,71 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li><a href="./scaffolding.html">Scaffolding</a></li>
-            <li class="active"><a href="./base-css.html">Base CSS</a></li>
-            <li><a href="./components.html">Components</a></li>
-            <li><a href="./javascript.html">Javascript plugins</a></li>
-            <li><a href="./less.html">Using LESS</a></li>
+            <li class="dropdown">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown active">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#transition">Transition</a></li>
+                <li><a href="./javascript.html#modal">Modal</a></li>
+                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tab">Tab</a></li>
+                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
+                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
           </ul>
         </div>
       </div>
diff --git a/docs/components.html b/docs/components.html
index 873bbf6823..b9d75edbef 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -34,11 +34,71 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li><a href="./scaffolding.html">Scaffolding</a></li>
-            <li><a href="./base-css.html">Base CSS</a></li>
-            <li class="active"><a href="./components.html">Components</a></li>
-            <li><a href="./javascript.html">Javascript plugins</a></li>
-            <li><a href="./less.html">Using LESS</a></li>
+            <li class="dropdown">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown active">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#transition">Transition</a></li>
+                <li><a href="./javascript.html#modal">Modal</a></li>
+                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tab">Tab</a></li>
+                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
+                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
           </ul>
         </div>
       </div>
@@ -127,7 +187,7 @@
 
   <!-- Split button dropdowns
   ================================================== -->
-  <section id="buttonGroups">
+  <section id="buttonDropdowns">
     <div class="page-header">
       <h1>Split button dropdowns <small>Built on button groups to provide contextual menus</small></h1>
     </div>
diff --git a/docs/index.html b/docs/index.html
index 8f7963afd2..8d5448ce1d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -35,11 +35,71 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li class="active"><a href="./index.html">Overview</a></li>
-            <li><a href="./scaffolding.html">Scaffolding</a></li>
-            <li><a href="./base-css.html">Base CSS</a></li>
-            <li><a href="./components.html">Components</a></li>
-            <li><a href="./javascript.html">Javascript plugins</a></li>
-            <li><a href="./less.html">Using LESS</a></li>
+            <li class="dropdown">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#transition">Transition</a></li>
+                <li><a href="./javascript.html#modal">Modal</a></li>
+                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tab">Tab</a></li>
+                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
+                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
           </ul>
         </div>
       </div>
@@ -253,5 +313,6 @@
     <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="assets/js/application.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
   </body>
 </html>
diff --git a/docs/javascript.html b/docs/javascript.html
index 0350103fab..216bcdef5a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -35,11 +35,71 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li><a href="./scaffolding.html">Scaffolding</a></li>
-            <li><a href="./base-css.html">Base CSS</a></li>
-            <li><a href="./components.html">Components</a></li>
-            <li class="active"><a href="./javascript.html">Javascript plugins</a></li>
-            <li><a href="./less.html">Using LESS</a></li>
+            <li class="dropdown">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+              </ul>
+            </li>
+            <li class="dropdown active">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#transition">Transition</a></li>
+                <li><a href="./javascript.html#modal">Modal</a></li>
+                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tab">Tab</a></li>
+                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
+                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
           </ul>
         </div>
       </div>
diff --git a/docs/less.html b/docs/less.html
index 05398e9665..cecf22da40 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -34,11 +34,71 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li><a href="./scaffolding.html">Scaffolding</a></li>
-            <li><a href="./base-css.html">Base CSS</a></li>
-            <li><a href="./components.html">Components</a></li>
-            <li><a href="./javascript.html">Javascript plugins</a></li>
-            <li class="active"><a href="./less.html">Using LESS</a></li>
+            <li class="dropdown">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#transition">Transition</a></li>
+                <li><a href="./javascript.html#modal">Modal</a></li>
+                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tab">Tab</a></li>
+                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
+                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li class="active">
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
           </ul>
         </div>
       </div>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index b868fd215c..546a2755ad 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -34,11 +34,71 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li class="active"><a href="./scaffolding.html">Scaffolding</a></li>
-            <li><a href="./base-css.html">Base CSS</a></li>
-            <li><a href="./components.html">Components</a></li>
-            <li><a href="./javascript.html">Javascript plugins</a></li>
-            <li><a href="./less.html">Using LESS</a></li>
+            <li class="dropdown active">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#transition">Transition</a></li>
+                <li><a href="./javascript.html#modal">Modal</a></li>
+                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tab">Tab</a></li>
+                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
+                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
           </ul>
         </div>
       </div>
@@ -361,66 +421,6 @@
       <!-- Footer
       ================================================== -->
       <footer class="footer">
-        <div class="row">
-          <dl class="span2">
-            <dt>Bootstrap</dt>
-            <dd><a href="./index.html">Overview</a></dd>
-            <dd><a href="./index.html#gettingstarted">Getting started</a></dd>
-            <dt>Elsewhere</dt>
-            <dd><a href="https://github.com/twitter/bootstrap/">GitHub</a></dd>
-            <dd><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></dd>
-            <dd><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></dd>
-            <dd><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></dd>
-          </dl>
-          <dl class="span2">
-            <dt>Scaffolding</dt>
-            <dd><a href="./scaffolding.html#grid">Grid system</a></dd>
-            <dd><a href="./scaffolding.html#layouts">Layouts</a></dd>
-            <dd><a href="./scaffolding.html#responsive">Responsive design</a></dd>
-          </dl>
-          <dl class="span2">
-            <dt>Base CSS</dt>
-            <dd><a href="./base-css.html#type">Type</a></dd>
-            <dd><a href="./base-css.html#tables">Tables</a></dd>
-            <dd><a href="./base-css.html#forms">Forms</a></dd>
-            <dd><a href="./base-css.html#buttons">Buttons</a></dd>
-            <dd><a href="./base-css.html#icons">Icons by Glyphicons</a></dd>
-          </dl>
-          <dl class="span2">
-            <dt>Components</dt>
-            <dd><a href="./base-css.html#buttonGroups">Button groups</a></dd>
-            <dd><a href="./base-css.html#buttonDropdowns">Split button dropdowns</a></dd>
-            <dd><a href="./components.html#navs">Nav, tabs, pills</a></dd>
-            <dd><a href="./components.html#navbar">Navbar</a></dd>
-            <dd><a href="./components.html#breadcrumbs">Breadcrumbs</a></dd>
-            <dd><a href="./components.html#pagination">Pagination</a></dd>
-            <dd><a href="./components.html#thumbnails">Thumbnails</a></dd>
-            <dd><a href="./components.html#alerts">Alert messages</a></dd>
-          </dl>
-          <dl class="span2">
-            <dt>Javascript plugins</dt>
-            <dd><a href="./javascript.html#transition">Transition</a></dd>
-            <dd><a href="./javascript.html#modal">Modal</a></dd>
-            <dd><a href="./javascript.html#dropdown">Dropdown</a></dd>
-            <dd><a href="./javascript.html#scrollspy">Scrollspy</a></dd>
-            <dd><a href="./javascript.html#tab">Tab</a></dd>
-            <dd><a href="./javascript.html#tooltip">Tooltip</a></dd>
-            <dd><a href="./javascript.html#popover">Popover</a></dd>
-            <dd><a href="./javascript.html#alerts">Alert</a></dd>
-            <dd><a href="./javascript.html#buttons">Button</a></dd>
-            <dd><a href="./javascript.html#collapse">Collapse</a></dd>
-            <dd><a href="./javascript.html#carousel">Carousel</a></dd>
-            <dd><a href="./javascript.html#typeahead">Typeahead</a></dd>
-          </dl>
-          <dl class="span2">
-            <dt>Using LESS</dt>
-            <dd><a href="./less.html#intro">Introduction to LESS</a></dd>
-            <dd><a href="./less.html#variables">Variables</a></dd>
-            <dd><a href="./less.html#mixins">Mixins</a></dd>
-            <dd><a href="./less.html#compiling">Compiling Bootstrap</a></dd>
-          </dl>
-        </div>
-        <hr>
         <p class="pull-right"><a href="#">Back to top</a></p>
         <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 916240794f..d91bf20af8 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -34,11 +34,71 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li><a href="./scaffolding.html">Scaffolding</a></li>
-            <li><a href="./base-css.html">Base CSS</a></li>
-            <li><a href="./components.html">Components</a></li>
-            <li><a href="./javascript.html">Javascript plugins</a></li>
-            <li><a href="./less.html">Using LESS</a></li>
+            <li class="dropdown">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#transition">Transition</a></li>
+                <li><a href="./javascript.html#modal">Modal</a></li>
+                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tab">Tab</a></li>
+                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
+                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
           </ul>
         </div>
       </div>
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 85f74b6322..daa7003e31 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -36,12 +36,12 @@
   min-width: 160px;
   max-width: 220px;
   _width: 160px;
-  padding: 5px 0;
+  padding: 4px 0;
   margin: 0; // override default ul
   list-style: none;
   background-color: @white;
   border-color: #999;
-  border-color: rgba(0,0,0,.1);
+  border-color: rgba(0,0,0,.2);
   border-style: solid;
   border-width: 1px;
   .border-radius(0 0 5px 5px);
@@ -68,6 +68,7 @@
     font-weight: normal;
     line-height: 18px;
     color: @gray;
+    white-space: nowrap;
   }
 }
 
@@ -75,10 +76,7 @@
 .dropdown-menu li > a:hover {
   color: #fff;
   text-decoration: none;
-  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-  #gradient > .vertical(@linkColor, darken(@linkColor, 5%));
-  @shadow: inset 0 1px 0 rgba(0,0,0,.075), inset 0 -1px rgba(0,0,0,.075);
-  .box-shadow(@shadow);
+  background-color: @linkColor;
 }
 
 // Active state
diff --git a/lib/navbar.less b/lib/navbar.less
index 82f9f7d2e4..a3e64cde86 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -192,7 +192,7 @@
 
 // Menu position and menu carets
 .navbar .dropdown-menu {
-  top: 42px;
+  top: 41px;
   .border-radius(4px);
   &:before {
     content: '';
@@ -200,10 +200,10 @@
     border-left:   7px solid transparent;
     border-right:  7px solid transparent;
     border-bottom: 7px solid #ccc;
-    border-bottom-color: rgba(0,0,0,.1);
+    border-bottom-color: rgba(0,0,0,.2);
     position: absolute;
     top: -7px;
-    left: 12px;
+    left: 9px;
   }
   &:after {
     content: '';
@@ -213,7 +213,7 @@
     border-bottom: 6px solid #fff;
     position: absolute;
     top: -6px;
-    left: 13px;
+    left: 10px;
   }
 }
 
@@ -222,12 +222,22 @@
 .navbar .open.dropdown .caret {
   border-top-color: #fff;
 }
+.navbar .nav .active .caret {
+  .opacity(100);
+}
 
 // Remove background color from open dropdown
-.navbar .open .dropdown-toggle {
+.navbar .nav .open > .dropdown-toggle,
+.navbar .nav .active > .dropdown-toggle,
+.navbar .nav .open.active > .dropdown-toggle {
   background-color: transparent;
 }
 
+// Dropdown link on hover
+.navbar .nav .active > .dropdown-toggle:hover {
+  color: #fff;
+}
+
 // Right aligned menus need alt position
 .navbar .nav.pull-right .dropdown-menu {
   right: 0;
-- 
GitLab


From 11be9cd16370ecd15d227917d98ff63eccae68ae Mon Sep 17 00:00:00 2001
From: Purwandi <free6300@gmail.com>
Date: Fri, 13 Jan 2012 14:57:21 +0700
Subject: [PATCH 271/576] Fix id anchor javascript

---
 docs/base-css.html    | 12 ++++++------
 docs/components.html  | 12 ++++++------
 docs/index.html       | 12 ++++++------
 docs/javascript.html  | 12 ++++++------
 docs/less.html        | 12 ++++++------
 docs/scaffolding.html | 12 ++++++------
 docs/upgrading.html   | 12 ++++++------
 7 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 7f60580b4a..9491f40aab 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -80,13 +80,13 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transition">Transition</a></li>
-                <li><a href="./javascript.html#modal">Modal</a></li>
-                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tab">Tab</a></li>
-                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
-                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
                 <li><a href="./javascript.html#alerts">Alert</a></li>
                 <li><a href="./javascript.html#buttons">Button</a></li>
                 <li><a href="./javascript.html#collapse">Collapse</a></li>
diff --git a/docs/components.html b/docs/components.html
index b9d75edbef..fa3dc5a20b 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -80,13 +80,13 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transition">Transition</a></li>
-                <li><a href="./javascript.html#modal">Modal</a></li>
-                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tab">Tab</a></li>
-                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
-                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
                 <li><a href="./javascript.html#alerts">Alert</a></li>
                 <li><a href="./javascript.html#buttons">Button</a></li>
                 <li><a href="./javascript.html#collapse">Collapse</a></li>
diff --git a/docs/index.html b/docs/index.html
index 8d5448ce1d..5d8e61dedb 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -81,13 +81,13 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transition">Transition</a></li>
-                <li><a href="./javascript.html#modal">Modal</a></li>
-                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tab">Tab</a></li>
-                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
-                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
                 <li><a href="./javascript.html#alerts">Alert</a></li>
                 <li><a href="./javascript.html#buttons">Button</a></li>
                 <li><a href="./javascript.html#collapse">Collapse</a></li>
diff --git a/docs/javascript.html b/docs/javascript.html
index 216bcdef5a..58cc13e8cd 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -81,13 +81,13 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transition">Transition</a></li>
-                <li><a href="./javascript.html#modal">Modal</a></li>
-                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tab">Tab</a></li>
-                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
-                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
                 <li><a href="./javascript.html#alerts">Alert</a></li>
                 <li><a href="./javascript.html#buttons">Button</a></li>
                 <li><a href="./javascript.html#collapse">Collapse</a></li>
diff --git a/docs/less.html b/docs/less.html
index cecf22da40..ccde9c87e8 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -80,13 +80,13 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transition">Transition</a></li>
-                <li><a href="./javascript.html#modal">Modal</a></li>
-                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tab">Tab</a></li>
-                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
-                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
                 <li><a href="./javascript.html#alerts">Alert</a></li>
                 <li><a href="./javascript.html#buttons">Button</a></li>
                 <li><a href="./javascript.html#collapse">Collapse</a></li>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 546a2755ad..9cb3b04336 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -80,13 +80,13 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transition">Transition</a></li>
-                <li><a href="./javascript.html#modal">Modal</a></li>
-                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tab">Tab</a></li>
-                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
-                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
                 <li><a href="./javascript.html#alerts">Alert</a></li>
                 <li><a href="./javascript.html#buttons">Button</a></li>
                 <li><a href="./javascript.html#collapse">Collapse</a></li>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index d91bf20af8..7e8b966702 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -80,13 +80,13 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transition">Transition</a></li>
-                <li><a href="./javascript.html#modal">Modal</a></li>
-                <li><a href="./javascript.html#dropdown">Dropdown</a></li>
+                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tab">Tab</a></li>
-                <li><a href="./javascript.html#tooltip">Tooltip</a></li>
-                <li><a href="./javascript.html#popover">Popover</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
                 <li><a href="./javascript.html#alerts">Alert</a></li>
                 <li><a href="./javascript.html#buttons">Button</a></li>
                 <li><a href="./javascript.html#collapse">Collapse</a></li>
-- 
GitLab


From 7b321e9c1fbd5ff124cb190f1375a78b132fb9cb Mon Sep 17 00:00:00 2001
From: Purwandi <free6300@gmail.com>
Date: Fri, 13 Jan 2012 15:03:23 +0700
Subject: [PATCH 272/576] Remove sidebar with icon from my own repo

---
 docs/base-css.html   | 11 +++++------
 docs/components.html | 30 +-----------------------------
 2 files changed, 6 insertions(+), 35 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 8d6c56701d..9491f40aab 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1516,12 +1516,11 @@
     </div>
     <div class="span3">
       <p>Or, use them in navigation.</p>
-      <div class="well" style="padding: 8px 0;">
-        <ul class="nav list">
-          <li class="nav-header">List header</li>
-          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
-          <li><a href="#"><i class="download"></i> Downloads</a></li>
-          <li><a href="#"><i class="film"></i> Movies</a></li>
+      <div class="well side-nav">
+        <ul class="nav-group">
+          <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
+          <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
+          <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
         </ul>
       </div>
     </div>
diff --git a/docs/components.html b/docs/components.html
index 08a1a7b574..fa3dc5a20b 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -506,35 +506,7 @@
 </pre>
     </div>
   </div>
-  <div class="row">
-    <div class="span4">
-      <h3>Sidebar navigation with icon</h3>
-      <div class="well" style="padding: 8px 0;">
-        <ul class="nav list">
-          <li class="nav-header">List header</li>
-          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
-          <li><a href="#"><i class="download"></i> Downloads</a></li>
-          <li><a href="#"><i class="film"></i> Movies</a></li>
-          <li><a href="#"><i class="picture"></i> Picture</a></li>
-          <li class="nav-header">Another list header</li>
-          <li><a href="#"><i class="user"></i> Profile</a></li>
-          <li><a href="#"><i class="asterisk"></i> Settings</a></li>
-        </ul>
-      </div> <!-- /well -->
-    </div>
-    <div class="span8">
-      <h3>Simple markup</h3>
-<pre class="prettyprint linenums">
-&lt;ul class="nav list"&gt;
-  &lt;li class="nav-header"&gt;List header&lt;/li&gt;
-  &lt;li class="active"&gt;&lt;a href="#"&gt;&lt;i class="home"&gt;&lt;/i&gt; Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;&lt;i class="download"&gt;&lt;/i&gt; Downloads&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;&lt;i class="film"&gt;&lt;/i&gt; Movies&lt;/a&gt;&lt;/li&gt;
-  ...
-&lt;/ul&gt;
-</pre>
-    </div>
-  </div>
+
 
   <h2>Tabbable nav <small>Bring tabs to life via javascript</small></h2>
   <div class="row">
-- 
GitLab


From 8f09028cff87b68467fb20e295c9dc96ea4a5de0 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 13 Jan 2012 09:55:15 -0800
Subject: [PATCH 273/576] updated js includes to make nav work everywhere

---
 docs/less.html        | 1 +
 docs/scaffolding.html | 1 +
 docs/upgrading.html   | 7 +++++++
 3 files changed, 9 insertions(+)

diff --git a/docs/less.html b/docs/less.html
index cecf22da40..202e436e29 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -529,5 +529,6 @@
     <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="assets/js/application.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
   </body>
 </html>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 546a2755ad..d8ff066725 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -434,6 +434,7 @@
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
     <script src="assets/js/application.js"></script>
 
   </body>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index d91bf20af8..f8d9a732ad 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -204,5 +204,12 @@
       </footer>
     </div><!-- /container -->
 
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
+    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <script src="assets/js/application.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+
   </body>
 </html>
-- 
GitLab


From fc053ac8b27611e3dc7fae769ce28f154250d50e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 13 Jan 2012 10:07:56 -0800
Subject: [PATCH 274/576] update dropdowns spacing and docs section spacing

---
 bootstrap.css            | 11 +++--------
 bootstrap.min.css        |  5 ++---
 docs/assets/css/docs.css |  5 ++++-
 lib/dropdowns.less       | 14 ++++----------
 4 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8e5ad131c1..ba51a7d455 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 12 15:28:03 PST 2012
+ * Date: Fri Jan 13 10:05:29 PST 2012
  */
 html, body {
   margin: 0;
@@ -1481,23 +1481,18 @@ i {
 }
 .dropdown-menu a {
   display: block;
-  padding: 2px 15px;
+  padding: 3px 15px;
   clear: both;
   font-weight: normal;
   line-height: 18px;
   color: #555555;
   white-space: nowrap;
 }
-.dropdown-menu li > a:hover {
+.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
   color: #fff;
   text-decoration: none;
   background-color: #0088cc;
 }
-.dropdown-menu .active > a, .dropdown-menu .active > a:hover {
-  color: #fff;
-  background-color: #999;
-  background-image: none;
-}
 .dropdown.open .dropdown-toggle {
   color: #ffffff;
   background: #ccc;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 1723ca555e..8f2f020d1b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -302,9 +302,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .dropdown .caret{margin-top:8px;margin-left:2px;}
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
-.dropdown-menu a{display:block;padding:2px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
-.dropdown-menu li>a:hover{color:#fff;text-decoration:none;background-color:#0088cc;}
-.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;background-color:#999;background-image:none;}
+.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
+.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0088cc;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 134224e567..ca1c5cb83f 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -35,8 +35,11 @@ body > .navbar-fixed .brand:hover {
 
 /* Space out sub-sections more
 -------------------------------------------------- */
+section {
+  padding-top: 60px;
+}
 .page-header {
-  margin: 45px 0 18px;
+  margin: 18px 0;
   border-bottom: 1px solid #eee;
 }
 .page-header h1 {
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index daa7003e31..e2d5fef259 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -63,7 +63,7 @@
   // Links within the dropdown menu
   a {
     display: block;
-    padding: 2px 15px;
+    padding: 3px 15px;
     clear: both;
     font-weight: normal;
     line-height: 18px;
@@ -73,18 +73,12 @@
 }
 
 // Hover state
-.dropdown-menu li > a:hover {
-  color: #fff;
-  text-decoration: none;
-  background-color: @linkColor;
-}
-
-// Active state
+.dropdown-menu li > a:hover,
 .dropdown-menu .active > a,
 .dropdown-menu .active > a:hover {
   color: #fff;
-  background-color: #999;
-  background-image: none; // remove the gradient
+  text-decoration: none;
+  background-color: @linkColor;
 }
 
 // Open state for the dropdown
-- 
GitLab


From 2cea94e892eabbe5edbca3a51347af57621d672d Mon Sep 17 00:00:00 2001
From: Renault John Lecoultre <renault.john@gmail.com>
Date: Fri, 13 Jan 2012 22:33:05 +0100
Subject: [PATCH 275/576] Fixed when placement is a function

---
 js/bootstrap-tooltip.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index 241a44e248..8ce30ab82d 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -115,7 +115,7 @@
         }
 
         placement = typeof this.options.placement == 'function' ?
-          thing.call(this, $tip[0], this.$element[0]) :
+          this.options.placement.call(this, $tip[0], this.$element[0]) :
           this.options.placement
 
         inside = /in/.test(placement)
@@ -267,4 +267,4 @@
   , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
   }
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
-- 
GitLab


From a4b107bf879d47db0a6e036814f5aeee4316d36c Mon Sep 17 00:00:00 2001
From: Chris Gunther <chris@room118solutions.com>
Date: Sat, 14 Jan 2012 15:15:24 -0500
Subject: [PATCH 276/576] fix navbar links to scaffolding > grid system

---
 docs/base-css.html    | 4 ++--
 docs/components.html  | 2 +-
 docs/index.html       | 2 +-
 docs/javascript.html  | 2 +-
 docs/less.html        | 2 +-
 docs/scaffolding.html | 2 +-
 docs/upgrading.html   | 2 +-
 7 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 9491f40aab..3ad403ecd8 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -40,7 +40,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
                 <li><a href="./scaffolding.html#layouts">Layouts</a></li>
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
@@ -928,7 +928,7 @@
       <p>States like error, warning, and success are included for each type of form control. Also included are styles for disabled controls.</p>
     </div>
   </div>
-  
+
   <h2>Four types of forms</h2>
   <p>Bootstrap provides simple markup and styles for four styles of common web forms.</p>
   <table class="bordered-table striped-table">
diff --git a/docs/components.html b/docs/components.html
index fa3dc5a20b..55a007f90c 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -40,7 +40,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
                 <li><a href="./scaffolding.html#layouts">Layouts</a></li>
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
diff --git a/docs/index.html b/docs/index.html
index 5d8e61dedb..fc1eb498cd 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -41,7 +41,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
                 <li><a href="./scaffolding.html#layouts">Layouts</a></li>
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
diff --git a/docs/javascript.html b/docs/javascript.html
index 58cc13e8cd..ce47c19740 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -41,7 +41,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
                 <li><a href="./scaffolding.html#layouts">Layouts</a></li>
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
diff --git a/docs/less.html b/docs/less.html
index 8831ce0945..d99a7903ea 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -40,7 +40,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
                 <li><a href="./scaffolding.html#layouts">Layouts</a></li>
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 57b90d0969..145dd5584c 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -40,7 +40,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
                 <li><a href="./scaffolding.html#layouts">Layouts</a></li>
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 376aae8564..1b4864ec76 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -40,7 +40,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid">Grid system</a></li>
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
                 <li><a href="./scaffolding.html#layouts">Layouts</a></li>
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
-- 
GitLab


From f82fb2a1976060b2d0b71c3e6ad20f6d7a7772f7 Mon Sep 17 00:00:00 2001
From: Chris Gunther <chris@room118solutions.com>
Date: Sat, 14 Jan 2012 15:18:59 -0500
Subject: [PATCH 277/576] fix navbar links to base CSS > typography

---
 docs/base-css.html    | 2 +-
 docs/components.html  | 2 +-
 docs/index.html       | 2 +-
 docs/javascript.html  | 2 +-
 docs/less.html        | 2 +-
 docs/scaffolding.html | 2 +-
 docs/upgrading.html   | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 3ad403ecd8..7d06ee5d14 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -51,7 +51,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#typography">Typography</a></li>
                 <li><a href="./base-css.html#tables">Tables</a></li>
                 <li><a href="./base-css.html#forms">Forms</a></li>
                 <li><a href="./base-css.html#buttons">Buttons</a></li>
diff --git a/docs/components.html b/docs/components.html
index 55a007f90c..223f275847 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -51,7 +51,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#typography">Typography</a></li>
                 <li><a href="./base-css.html#tables">Tables</a></li>
                 <li><a href="./base-css.html#forms">Forms</a></li>
                 <li><a href="./base-css.html#buttons">Buttons</a></li>
diff --git a/docs/index.html b/docs/index.html
index fc1eb498cd..8dd4935d5d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -52,7 +52,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#typography">Typography</a></li>
                 <li><a href="./base-css.html#tables">Tables</a></li>
                 <li><a href="./base-css.html#forms">Forms</a></li>
                 <li><a href="./base-css.html#buttons">Buttons</a></li>
diff --git a/docs/javascript.html b/docs/javascript.html
index ce47c19740..4245856119 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -52,7 +52,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#typography">Typography</a></li>
                 <li><a href="./base-css.html#tables">Tables</a></li>
                 <li><a href="./base-css.html#forms">Forms</a></li>
                 <li><a href="./base-css.html#buttons">Buttons</a></li>
diff --git a/docs/less.html b/docs/less.html
index d99a7903ea..5b956f533b 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -51,7 +51,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#typography">Typography</a></li>
                 <li><a href="./base-css.html#tables">Tables</a></li>
                 <li><a href="./base-css.html#forms">Forms</a></li>
                 <li><a href="./base-css.html#buttons">Buttons</a></li>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 145dd5584c..4617629ae1 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -51,7 +51,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#typography">Typography</a></li>
                 <li><a href="./base-css.html#tables">Tables</a></li>
                 <li><a href="./base-css.html#forms">Forms</a></li>
                 <li><a href="./base-css.html#buttons">Buttons</a></li>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 1b4864ec76..423c5be27b 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -51,7 +51,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./base-css.html#type">Type</a></li>
+                <li><a href="./base-css.html#typography">Typography</a></li>
                 <li><a href="./base-css.html#tables">Tables</a></li>
                 <li><a href="./base-css.html#forms">Forms</a></li>
                 <li><a href="./base-css.html#buttons">Buttons</a></li>
-- 
GitLab


From b723db1e42b6450acdc02ee8086da51ac16fcef6 Mon Sep 17 00:00:00 2001
From: Chris Gunther <chris@room118solutions.com>
Date: Sat, 14 Jan 2012 15:21:09 -0500
Subject: [PATCH 278/576] fix section ID for pagination

---
 docs/components.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/components.html b/docs/components.html
index 223f275847..e11a7decfd 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -844,7 +844,7 @@
 
 <!-- Pagination
 ================================================== -->
-<section id="carousel">
+<section id="pagination">
   <div class="page-header">
     <h1>Pagination <small></small></h1>
   </div>
-- 
GitLab


From 1f54ff91b2dd70c9a8bb4e460dd7ad02a3c24247 Mon Sep 17 00:00:00 2001
From: Chris Gunther <chris@room118solutions.com>
Date: Sat, 14 Jan 2012 15:21:57 -0500
Subject: [PATCH 279/576] fix section ID for thumbnails

---
 docs/components.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index e11a7decfd..0d564cd66d 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -907,9 +907,9 @@
 
 
 
-<!-- Media
+<!-- Thumbnails
 ================================================== -->
-<section id="media">
+<section id="thumbnails">
   <div class="page-header">
     <h1>Thumbnails <small>Grids of images, videos, text, and more</small></h1>
   </div>
-- 
GitLab


From ec7f8917b1bfa79dee54cd6c5f6cf0074764fce4 Mon Sep 17 00:00:00 2001
From: Chris Gunther <chris@room118solutions.com>
Date: Sat, 14 Jan 2012 15:24:35 -0500
Subject: [PATCH 280/576] add Progress Bars to Components narbar dropdown

---
 docs/base-css.html    | 1 +
 docs/components.html  | 3 ++-
 docs/index.html       | 1 +
 docs/javascript.html  | 1 +
 docs/less.html        | 1 +
 docs/scaffolding.html | 1 +
 docs/upgrading.html   | 1 +
 7 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 7d06ee5d14..79bbaa7589 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -72,6 +72,7 @@
                 <li><a href="./components.html#pagination">Pagination</a></li>
                 <li><a href="./components.html#thumbnails">Thumbnails</a></li>
                 <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
             <li class="dropdown">
diff --git a/docs/components.html b/docs/components.html
index 0d564cd66d..8c91a101fb 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -72,6 +72,7 @@
                 <li><a href="./components.html#pagination">Pagination</a></li>
                 <li><a href="./components.html#thumbnails">Thumbnails</a></li>
                 <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -1159,7 +1160,7 @@
 
 <!-- Progress bars
 ================================================== -->
-      <section id="progresss">
+      <section id="progress">
         <div class="page-header">
           <h1>Progress bars <small>For loading, redirecting, or action status</small></h1>
         </div>
diff --git a/docs/index.html b/docs/index.html
index 8dd4935d5d..ffdac0b3f2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -73,6 +73,7 @@
                 <li><a href="./components.html#pagination">Pagination</a></li>
                 <li><a href="./components.html#thumbnails">Thumbnails</a></li>
                 <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
             <li class="dropdown">
diff --git a/docs/javascript.html b/docs/javascript.html
index 4245856119..afe9c329ec 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -73,6 +73,7 @@
                 <li><a href="./components.html#pagination">Pagination</a></li>
                 <li><a href="./components.html#thumbnails">Thumbnails</a></li>
                 <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
             <li class="dropdown active">
diff --git a/docs/less.html b/docs/less.html
index 5b956f533b..f3bfa30594 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -72,6 +72,7 @@
                 <li><a href="./components.html#pagination">Pagination</a></li>
                 <li><a href="./components.html#thumbnails">Thumbnails</a></li>
                 <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
             <li class="dropdown">
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 4617629ae1..b2b4b5647f 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -72,6 +72,7 @@
                 <li><a href="./components.html#pagination">Pagination</a></li>
                 <li><a href="./components.html#thumbnails">Thumbnails</a></li>
                 <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
             <li class="dropdown">
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 423c5be27b..e1b9f204e3 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -72,6 +72,7 @@
                 <li><a href="./components.html#pagination">Pagination</a></li>
                 <li><a href="./components.html#thumbnails">Thumbnails</a></li>
                 <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
             <li class="dropdown">
-- 
GitLab


From f587e81b7d72e47b16bf808c721c3dfe45ae1062 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 16:18:15 -0800
Subject: [PATCH 281/576] rewrite alert messages to use less code, combine the
 look of default and block messages, simplify docs

---
 bootstrap.css        | 123 ++++++++++++----------------------------
 bootstrap.min.css    |  36 ++++++------
 docs/components.html | 131 ++++++++++++++++++++-----------------------
 lib/alerts.less      | 126 ++++++++++++++++++-----------------------
 lib/buttons.less     |   8 +--
 lib/type.less        |   1 -
 6 files changed, 172 insertions(+), 253 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ba51a7d455..556112c52d 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 13 10:05:29 PST 2012
+ * Date: Sat Jan 14 16:13:25 PST 2012
  */
 html, body {
   margin: 0;
@@ -410,7 +410,6 @@ ol {
 }
 li {
   line-height: 18px;
-  color: #555555;
 }
 ul.unstyled {
   margin-left: 0;
@@ -2374,28 +2373,15 @@ i {
   margin-bottom: 0;
 }
 .btn.danger,
-.alert-message.danger,
 .btn.danger:hover,
-.alert-message.danger:hover,
-.btn.error,
-.alert-message.error,
-.btn.error:hover,
-.alert-message.error:hover,
 .btn.success,
-.alert-message.success,
 .btn.success:hover,
-.alert-message.success:hover,
 .btn.info,
-.alert-message.info,
-.btn.info:hover,
-.alert-message.info:hover {
+.btn.info:hover {
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   color: #ffffff;
 }
-.btn.danger,
-.alert-message.danger,
-.btn.error,
-.alert-message.error {
+.btn.danger {
   background-color: #c43c35;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
@@ -2409,7 +2395,7 @@ i {
   border-color: #c43c35 #c43c35 #882a25;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.btn.success, .alert-message.success {
+.btn.success {
   background-color: #57a957;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
@@ -2423,7 +2409,7 @@ i {
   border-color: #57a957 #57a957 #3d773d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.btn.info, .alert-message.info {
+.btn.info {
   background-color: #339bb9;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
@@ -2638,95 +2624,60 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-opacity: 0.75;
   opacity: 0.75;
 }
-.alert-message {
+.alert {
   position: relative;
-  padding: 7px 15px;
+  padding: 8px 35px 8px 14px;
   margin-bottom: 18px;
-  color: #333333;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  background-color: #eedc94;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
-  background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
-  background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
-  background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
-  background-image: -o-linear-gradient(top, #fceec1, #eedc94);
-  background-image: linear-gradient(top, #fceec1, #eedc94);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
-  border-color: #eedc94 #eedc94 #e4c652;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  border-width: 1px;
-  border-style: solid;
+  background-color: #fcf8e3;
+  border: 1px solid #f3edd2;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
 }
-.alert-message .close {
+.alert, .alert-heading {
+  color: #c09853;
+}
+.alert > .close {
   *margin-top: 3px;
   /* IE7 spacing */
 
+  margin-right: -21px;
 }
-.alert-message h5 {
-  line-height: 18px;
+.success-alert {
+  background-color: #dff0d8;
+  border-color: #cfe8c4;
 }
-.alert-message p {
-  margin-bottom: 0;
+.success-alert, .success-alert .alert-heading {
+  color: #468847;
 }
-.alert-message div {
-  margin-top: 5px;
-  margin-bottom: 2px;
-  line-height: 28px;
+.danger-alert, .error-alert {
+  background-color: #f2dede;
+  border-color: #e9c7c7;
 }
-.alert-message .btn {
-  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
-  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
+.danger-alert,
+.error-alert,
+.danger-alert .alert-heading,
+.error-alert .alert-heading {
+  color: #B94A48;
 }
-.alert-message.error, .alert-message.success, .alert-message.info {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+.info-alert {
+  background-color: #d9edf7;
+  border-color: #bfe1f2;
 }
-.alert-message.block-message {
-  padding: 14px;
-  background-image: none;
-  background-color: #fdf5d9;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  border-color: #fceec1;
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
+.info-alert, .info-alert .alert-heading {
+  color: #3a87ad;
 }
-.alert-message.block-message ul, .alert-message.block-message p {
-  margin-right: 30px;
+.block-alert {
+  padding-top: 14px;
+  padding-bottom: 14px;
 }
-.alert-message.block-message ul {
+.block-alert > p, .block-alert > ul {
   margin-bottom: 0;
 }
-.alert-message.block-message li {
-  color: #333333;
-}
-.alert-message.block-message .alert-actions {
+.block-alert p + p {
   margin-top: 5px;
 }
-.alert-message.block-message.error, .alert-message.block-message.success, .alert-message.block-message.info {
-  color: #333333;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-}
-.alert-message.block-message.error {
-  background-color: #fddfde;
-  border-color: #fbc7c6;
-}
-.alert-message.block-message.success {
-  background-color: #d1eed1;
-  border-color: #bfe7bf;
-}
-.alert-message.block-message.info {
-  background-color: #ddf4fb;
-  border-color: #c6edf9;
-}
 .thumbnails {
   margin-left: -20px;
   margin-bottom: 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 8f2f020d1b..09d261081a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -71,7 +71,7 @@ ul,ol{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;color:#555555;}
+li{line-height:18px;}
 ul.unstyled{margin-left:0;list-style:none;}
 dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
 dl dt{font-weight:bold;}
@@ -438,10 +438,10 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
 .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;}
 .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;-webkit-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;}
-.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
-.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success,.alert-message.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info,.alert-message.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
+.btn.danger{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
 .btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
@@ -467,20 +467,18 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .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);}
 .btn .caret{margin-top:6px;margin-left:0;}
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#fff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
-.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#333333;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#eedc94;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{*margin-top:3px;}
-.alert-message h5{line-height:18px;}
-.alert-message p{margin-bottom:0;}
-.alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
-.alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
-.alert-message.error,.alert-message.success,.alert-message.info{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.alert-message.block-message{padding:14px;background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
-.alert-message.block-message ul{margin-bottom:0;}
-.alert-message.block-message li{color:#333333;}
-.alert-message.block-message .alert-actions{margin-top:5px;}
-.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#333333;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
-.alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
-.alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
-.alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
+.alert{position:relative;padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.alert,.alert-heading{color:#c09853;}
+.alert>.close{*margin-top:3px;margin-right:-21px;}
+.success-alert{background-color:#dff0d8;border-color:#cfe8c4;}
+.success-alert,.success-alert .alert-heading{color:#468847;}
+.danger-alert,.error-alert{background-color:#f2dede;border-color:#e9c7c7;}
+.danger-alert,.error-alert,.danger-alert .alert-heading,.error-alert .alert-heading{color:#B94A48;}
+.info-alert{background-color:#d9edf7;border-color:#bfe1f2;}
+.info-alert,.info-alert .alert-heading{color:#3a87ad;}
+.block-alert{padding-top:14px;padding-bottom:14px;}
+.block-alert>p,.block-alert>ul{margin-bottom:0;}
+.block-alert p+p{margin-top:5px;}
 .thumbnails{margin-left:-20px;margin-bottom:0;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 20px 20px;}
diff --git a/docs/components.html b/docs/components.html
index fa3dc5a20b..9fc987508f 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -1058,101 +1058,90 @@
 ================================================== -->
 <section id="alerts">
   <div class="page-header">
-    <h1>Alerts &amp; Errors <small>Styles for success, warning, and error messages or alerts</small></h1>
+    <h1>Alerts <small>Styles for success, warning, and error messages</small></h1>
   </div>
-  <!-- Basic alert messages -->
+
+  <h2>Lightweight defaults</h2>
   <div class="row">
-    <div class="span3">
-      <h2>Basic alerts</h2>
-      <p><code>.alert-message</code></p>
-      <p>One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.</p>
-      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
+    <div class="span4">
+      <h3>Rewritten base class</h3>
+      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
+      <h3>Single alert message</h3>
+      <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that com with more padding and typically more text. The class also has changed to <code>.block-alert</code>.</p>
+      <hr>
+      <h3>Goes great with javascript</h3>
+      <p>Bootstrap comes with a great jQuery plugin that supports alert messages, making dismissing them quick and easy.</p>
+      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the plugin &raquo;</a></p>
     </div>
-    <div class="span9">
-      <div class="alert-message warning">
-        <a class="close">&times;</a>
-        <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
-      </div>
-      <div class="alert-message error">
-        <a class="close">&times;</a>
-        <p><strong>Oh snap!</strong> Change this and that and try again.</p>
-      </div>
-      <div class="alert-message success">
+    <div class="span8">
+      <h3>Example alerts</h3>
+      <p>Wrap your message and an optional close icon in a div with simple class.</p>
+      <div class="alert">
         <a class="close">&times;</a>
-        <p><strong>Well done!</strong> You successfully read this alert message.</p>
+        <strong>Warning!</strong> Best check yo self, you’re not looking too good.
       </div>
-      <div class="alert-message info">
+<pre class="prettyprint linenums">
+&lt;div class="alert"&gt;
+  &lt;a class="close"&gt;&times;&lt;/a&gt;
+  &lt;strong&gt;Warning!&lt;/strong&gt; Best check yo self, you’re not looking too good.
+&lt;/div&gt;
+</pre>
+      <p>Easily extend the standard alert message with two optional classes: <code>.block-alert</code> for more padding and text controls and <code>.alert-heading</code> for a matching heading.</p>
+      <div class="alert block-alert">
         <a class="close">&times;</a>
-        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
+        <h4 class="alert-heading">Warning!</h4>
+        <p>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.</p>
       </div>
-
-      <h4>Example code</h4>
 <pre class="prettyprint linenums">
-&lt;div class="alert-message warning"&gt;
+&lt;div class="alert block-alert"&gt;
   &lt;a class="close"&gt;&times;&lt;/a&gt;
-  &lt;p&gt;&lt;strong&gt;Holy guacamole!&lt;/strong&gt; Best check yo self, you’re not looking too good.&lt;/p&gt;
+  &lt;h4 class="alert-heading"&gt;Warning!&lt;/h4&gt;
+  Best check yo self, you’re not...
 &lt;/div&gt;
 </pre>
     </div>
-  </div><!-- /row -->
-
-  <br>
+  </div>
 
-  <!-- Block messages -->
+  <h2>Contextual alternatives <small>Add optional classes to change an alert's connotation</small></h2>
   <div class="row">
-    <div class="span3">
-      <h2>Block messages</h2>
-      <p><code>&lt;div class="alert-message block-message"&gt;</code></p>
-      <p>For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer error messages, warning a user of a pending action, or just presenting information for more emphasis on the page.</p>
-      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
-    </div>
-    <div class="span9">
-      <div class="alert-message block-message warning">
-        <a class="close">&times;</a>
-        <p><strong>Holy guacamole! This is a warning!</strong> 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.</p>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
-      </div>
-      <div class="alert-message block-message error">
+    <div class="span4">
+      <h3>Error or danger</h3>
+      <div class="alert error-alert">
         <a class="close">&times;</a>
-        <p><strong>Oh snap! You got an error!</strong> Change this and that and try again.</p>
-        <ul>
-          <li>Duis mollis est non commodo luctus</li>
-          <li>Nisi erat porttitor ligula</li>
-          <li>Eget lacinia odio sem nec elit</li>
-        </ul>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
+        <strong>Oh snap!</strong> Change a few things up and try submitting again.
       </div>
-      <div class="alert-message block-message success">
+<pre class="prettyprint linenums">
+&lt;div class="alert error-alert"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Success</h3>
+      <div class="alert success-alert">
         <a class="close">&times;</a>
-        <p><strong>Well done!</strong> You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.</p>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
+        <strong>Well done!</strong> You successfully read this important alert message.
       </div>
-      <div class="alert-message block-message info">
+<pre class="prettyprint linenums">
+&lt;div class="alert success-alert"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Information</h3>
+      <div class="alert info-alert">
         <a class="close">&times;</a>
-        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
-        <div class="alert-actions">
-          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </div>
+        <strong>Heads up!</strong> This alert needs your attention, but it’s not super important.
       </div>
-
-      <h4>Example code</h4>
 <pre class="prettyprint linenums">
-&lt;div class="alert-message block-message warning"&gt;
-  &lt;a class="close"&gt;&times;&lt;/a&gt;
-  &lt;p&gt;&lt;strong&gt;Holy guacamole! This is a warning!&lt;/strong&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.&lt;/p&gt;
-  &lt;div class="alert-actions"&gt;
-    &lt;a class="btn small" href="#"&gt;Take this action&lt;/a&gt; &lt;a class="btn small" href="#"&gt;Or do this&lt;/a>
-  &lt;/div&gt;
+&lt;div class="alert info-alert"&gt;
+  ...
 &lt;/div&gt;
 </pre>
     </div>
-  </div><!-- /row -->
+  </div>
+
 </section>
 
 
diff --git a/lib/alerts.less b/lib/alerts.less
index bb0bd5d99e..d1cd8addd5 100644
--- a/lib/alerts.less
+++ b/lib/alerts.less
@@ -2,82 +2,68 @@
 // ------------
 
 // Base alert styles
-.alert-message {
+.alert {
   position: relative;
-  padding: 7px 15px;
+  padding: 8px 35px 8px 14px;
   margin-bottom: @baseLineHeight;
-  color: @grayDark;
   text-shadow: 0 1px 0 rgba(255,255,255,.5);
-  .gradientBar(#fceec1, #eedc94); // warning by default
-  border-width: 1px;
-  border-style: solid;
+  background-color: #fcf8e3;
+  border: 1px solid #f3edd2;
   .border-radius(4px);
-  .box-shadow(inset 0 1px 0 rgba(255,255,255,.25));
+}
+.alert,
+.alert-heading {
+  color: #c09853;
+}
 
-  // Adjust close icon
-  .close {
-    *margin-top: 3px; /* IE7 spacing */
-  }
+// Adjust close link position
+.alert > .close {
+  *margin-top: 3px; /* IE7 spacing */
+  margin-right: -21px;
+}
 
-  // Remove extra margin from content
-  h5 {
-    line-height: @baseLineHeight;
-  }
-  p {
-    margin-bottom: 0;
-  }
-  div {
-    margin-top: 5px;
-    margin-bottom: 2px;
-    line-height: 28px;
-  }
-  .btn {
-    // Provide actions with buttons
-    .box-shadow(0 1px 0 rgba(255,255,255,.25));
-  }
+// Alternate styles
+// ----------------
 
-  &.error,
-  &.success,
-  &.info {
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-  }
+.success-alert {
+  background-color: #dff0d8;
+  border-color: #cfe8c4;  
+}
+.success-alert,
+.success-alert .alert-heading {
+  color: #468847;
+}
+.danger-alert,
+.error-alert {
+  background-color: #f2dede;
+  border-color: #e9c7c7;
+}
+.danger-alert,
+.error-alert,
+.danger-alert .alert-heading,
+.error-alert .alert-heading {
+  color: #B94A48;
+}
+.info-alert {
+  background-color: #d9edf7;
+  border-color: #bfe1f2;
+}
+.info-alert,
+.info-alert .alert-heading {
+  color: #3a87ad;
+}
 
-  &.block-message {
-    padding: 14px;
-    background-image: none;
-    background-color: lighten(#fceec1, 5%);
-    .reset-filter(); // undo gradient for IE9
-    border-color: #fceec1;
-    .box-shadow(none);
-    ul, p {
-      margin-right: 30px;
-    }
-    ul {
-      margin-bottom: 0;
-    }
-    li {
-      color: @grayDark;
-    }
-    .alert-actions {
-      margin-top: 5px;
-    }
-    &.error,
-    &.success,
-    &.info {
-      color: @grayDark;
-      text-shadow: 0 1px 0 rgba(255,255,255,.5);
-    }
-    &.error {
-      background-color: lighten(#f56a66, 25%);
-      border-color: lighten(#f56a66, 20%);
-    }
-    &.success {
-      background-color: lighten(#62c462, 30%);
-      border-color: lighten(#62c462, 25%);
-    }
-    &.info {
-      background-color: lighten(#6bd0ee, 25%);
-      border-color: lighten(#6bd0ee, 20%);
-    }
-  }
+
+// Block alerts
+// ------------------------
+.block-alert {
+  padding-top: 14px;
+  padding-bottom: 14px;
+}
+.block-alert > p,
+.block-alert > ul {
+  margin-bottom: 0;
 }
+.block-alert p + p {
+  margin-top: 5px;
+}
\ No newline at end of file
diff --git a/lib/buttons.less b/lib/buttons.less
index 140d1112ce..a7492f9fd0 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -2,13 +2,10 @@
 // -------------
 
 // Shared colors for buttons and alerts
-.btn,
-.alert-message {
+.btn {
   // Set text color
   &.danger,
   &.danger:hover,
-  &.error,
-  &.error:hover,
   &.success,
   &.success:hover,
   &.info,
@@ -17,8 +14,7 @@
     color: @white
   }
   // Danger and error appear as red
-  &.danger,
-  &.error {
+  &.danger {
     .gradientBar(#ee5f5b, #c43c35);
   }
   // Success appears as green
diff --git a/lib/type.less b/lib/type.less
index f7d5077cf5..ab7409ce34 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -90,7 +90,6 @@ ol {
 }
 li {
   line-height: @baseLineHeight;
-  color: @gray;
 }
 ul.unstyled {
   margin-left: 0;
-- 
GitLab


From ceb6836e03b03c757578c9e5614f535d9be2ad7f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 16:24:23 -0800
Subject: [PATCH 282/576] move up alert message close icon

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/close.less    | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 556112c52d..c5d011b7e8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 16:13:25 PST 2012
+ * Date: Sat Jan 14 16:23:58 PST 2012
  */
 html, body {
   margin: 0;
@@ -1552,7 +1552,7 @@ i {
   float: right;
   font-size: 20px;
   font-weight: bold;
-  line-height: 13.5px;
+  line-height: 12px;
   color: #000000;
   text-shadow: 0 1px 0 #ffffff;
   filter: alpha(opacity=20);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 09d261081a..637c31ad89 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -310,7 +310,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
-.close{float:right;font-size:20px;font-weight:bold;line-height:13.5px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:12px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
 .navbar .brand:hover{color:#ffffff;text-decoration:none;}
diff --git a/lib/close.less b/lib/close.less
index 1210ec4638..f2c5157c97 100644
--- a/lib/close.less
+++ b/lib/close.less
@@ -5,7 +5,7 @@
   float: right;
   font-size: 20px;
   font-weight: bold;
-  line-height: @baseLineHeight * .75;
+  line-height: 12px;
   color: @black;
   text-shadow: 0 1px 0 rgba(255,255,255,1);
   .opacity(20);
-- 
GitLab


From a40b2a636c908859c2bb7434f0c050be2dc7e70e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 16:38:40 -0800
Subject: [PATCH 283/576] make inline and search form labels inline-block

---
 bootstrap.css     | 5 ++++-
 bootstrap.min.css | 1 +
 lib/forms.less    | 4 ++++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index c5d011b7e8..8d7b08a35d 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 16:23:58 PST 2012
+ * Date: Sat Jan 14 16:38:32 PST 2012
  */
 html, body {
   margin: 0;
@@ -957,6 +957,9 @@ input::-webkit-input-placeholder {
   display: inline-block;
   margin-bottom: 0;
 }
+.search-form label, .inline-form label {
+  display: inline-block;
+}
 .control-group {
   margin-bottom: 18px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 637c31ad89..5341d35950 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -170,6 +170,7 @@ input::-webkit-input-placeholder{color:#999999;}
 .input-append .add-on{margin-right:0;margin-left:-1px;-webkit-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;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .search-form input,.inline-form input,.horizontal-form input,.search-form textarea,.inline-form textarea,.horizontal-form textarea,.search-form select,.inline-form select,.horizontal-form select,.search-form .uneditable-input,.inline-form .uneditable-input,.horizontal-form .uneditable-input{display:inline-block;margin-bottom:0;}
+.search-form label,.inline-form label{display:inline-block;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
 .horizontal-form .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
diff --git a/lib/forms.less b/lib/forms.less
index 5053310448..ed97d8dd09 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -452,6 +452,10 @@ input::-webkit-input-placeholder {
     margin-bottom: 0;
   }
 }
+.search-form label,
+.inline-form label {
+  display: inline-block;
+}
 
 // Margin to space out fieldsets
 .control-group {
-- 
GitLab


From 028726a9a3e2acd56195dacd903680db5d934b8e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 16:45:01 -0800
Subject: [PATCH 284/576] add user-select mixin

---
 bootstrap.css   |  2 +-
 lib/mixins.less | 12 ++++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8d7b08a35d..1fc0e9edd0 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 16:38:32 PST 2012
+ * Date: Sat Jan 14 16:44:52 PST 2012
  */
 html, body {
   margin: 0;
diff --git a/lib/mixins.less b/lib/mixins.less
index 50986c68cd..67e0c27de2 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -147,8 +147,7 @@
           transition: @transition;
 }
 
-// Transform for scale and rotate
-// translate, rotate, scale -- need to finalize
+// Transformations
 .rotate(@degrees: 5deg) {
   -webkit-transform: rotate(@degrees);
      -moz-transform: rotate(@degrees);
@@ -171,6 +170,15 @@
           transform: translate(@x, @y);
 }
 
+// User select
+// For selecting text on the page
+.user-select(@select) {
+  -webkit-user-select: @select;
+     -moz-user-select: @select;
+       -o-user-select: @select;
+          user-select: @select;
+}
+
 // Background clipping
 // Heads up: FF 3.6 and under need padding instead of padding-box
 .background-clip(@clip) {
-- 
GitLab


From 55ea574f8a56534b1313b5f2d85e7ee22565ea27 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 16:50:36 -0800
Subject: [PATCH 285/576] update preventing double border line for bordered
 tables by account for th elements in tr elements

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/tables.less   | 1 +
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 1fc0e9edd0..dd0c028b8e 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 16:44:52 PST 2012
+ * Date: Sat Jan 14 16:50:17 PST 2012
  */
 html, body {
   margin: 0;
@@ -1017,7 +1017,7 @@ tbody + tbody {
 .bordered-table td + th {
   border-left: 1px solid #ddd;
 }
-.bordered-table thead:first-child tr:first-child th, .bordered-table tbody:first-child tr:first-child td {
+.bordered-table thead:first-child tr:first-child th, .bordered-table tbody:first-child tr:first-child th, .bordered-table tbody:first-child tr:first-child td {
   border-top: 0;
 }
 .bordered-table thead:first-child tr:first-child th:first-child, .bordered-table tbody:first-child tr:first-child td:first-child {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 5341d35950..c5c0c664ef 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -184,7 +184,7 @@ thead:first-child tr th,thead:first-child tr td{border-top:0;}
 tbody+tbody{border-top:2px solid #ddd;}
 .condensed-table th,.condensed-table td{padding:4px 5px;}
 .bordered-table{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td,.bordered-table td+th{border-left:1px solid #ddd;}
-.bordered-table thead:first-child tr:first-child th,.bordered-table tbody:first-child tr:first-child td{border-top:0;}
+.bordered-table thead:first-child tr:first-child th,.bordered-table tbody:first-child tr:first-child th,.bordered-table tbody:first-child tr:first-child td{border-top:0;}
 .bordered-table thead:first-child tr:first-child th:first-child,.bordered-table 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;}
 .bordered-table thead:first-child tr:first-child th:last-child,.bordered-table 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;}
 .bordered-table thead:last-child tr:last-child th:first-child,.bordered-table 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;}
diff --git a/lib/tables.less b/lib/tables.less
index 8b69f5d7f9..1d044ec7c6 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -65,6 +65,7 @@ tbody + tbody {
   }
   // Prevent a double border
   thead:first-child tr:first-child th,
+  tbody:first-child tr:first-child th,
   tbody:first-child tr:first-child td {
     border-top: 0;
   }
-- 
GitLab


From 74c0fc17c826d3a16c1b3e45b71138c048f7d630 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 16:56:47 -0800
Subject: [PATCH 286/576] fix duplicate icons

---
 bootstrap.css      | 4 ++--
 bootstrap.min.css  | 2 +-
 docs/base-css.html | 2 +-
 lib/sprites.less   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index dd0c028b8e..6bfb8d2da5 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 16:50:17 PST 2012
+ * Date: Sat Jan 14 16:56:39 PST 2012
  */
 html, body {
   margin: 0;
@@ -1183,7 +1183,7 @@ i {
 .th {
   background-position: -240px 0;
 }
-.th-lines {
+.th-list {
   background-position: -264px 0;
 }
 .ok {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index c5c0c664ef..ad9c183370 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -219,7 +219,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .film{background-position:-192px 0;}
 .th-large{background-position:-216px 0;}
 .th{background-position:-240px 0;}
-.th-lines{background-position:-264px 0;}
+.th-list{background-position:-264px 0;}
 .ok{background-position:-288px 0;}
 .remove{background-position:-312px 0;}
 .zoom-in{background-position:-336px 0;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 79bbaa7589..c851c84e92 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1439,7 +1439,7 @@
         <i class="stop"></i>
         <i class="forward"></i>
         <i class="fast-forward"></i>
-        <i class="step-foward"></i>
+        <i class="step-forward"></i>
         <i class="eject"></i>
         <i class="chevron-left"></i>
         <i class="chevron-right"></i>
diff --git a/lib/sprites.less b/lib/sprites.less
index 8b5bcd5a5f..aec08a5a27 100644
--- a/lib/sprites.less
+++ b/lib/sprites.less
@@ -32,7 +32,7 @@ i {
 .film               { background-position: -192px 0; }
 .th-large           { background-position: -216px 0; }
 .th                 { background-position: -240px 0; }
-.th-lines           { background-position: -264px 0; }
+.th-list            { background-position: -264px 0; }
 .ok                 { background-position: -288px 0; }
 .remove             { background-position: -312px 0; }
 .zoom-in            { background-position: -336px 0; }
-- 
GitLab


From 2c3365f99ef81e53d90593c45d10ebeb3426dea9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 17:16:46 -0800
Subject: [PATCH 287/576] allow btn-groups to work in navbars

---
 bootstrap.css     |  9 ++++++---
 bootstrap.min.css |  5 +++--
 docs/index.html   | 13 ++++++++++++-
 lib/navbar.less   | 10 +++++++---
 4 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6bfb8d2da5..da68a66a88 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 16:56:39 PST 2012
+ * Date: Sat Jan 14 17:11:53 PST 2012
  */
 html, body {
   margin: 0;
@@ -1611,9 +1611,12 @@ i {
   color: #ffffff;
   background-color: transparent;
 }
-.navbar .btn {
+.navbar .btn, .navbar .btn-group {
   margin-top: 5px;
 }
+.navbar .btn-group .btn {
+  margin-top: 0;
+}
 .navbar-form {
   margin-bottom: 0;
 }
@@ -1758,7 +1761,7 @@ i {
   top: -6px;
   left: 10px;
 }
-.navbar .dropdown-toggle .caret, .navbar .open.dropdown .caret {
+.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
   border-top-color: #fff;
 }
 .navbar .nav .active .caret {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index ad9c183370..0ed8fe1767 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -317,7 +317,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .brand:hover{color:#ffffff;text-decoration:none;}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
-.navbar .btn{margin-top:5px;}
+.navbar .btn,.navbar .btn-group{margin-top:5px;}
+.navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#eeeeee;}
 .navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
@@ -336,7 +337,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
 .navbar .dropdown-menu{top:41px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
 .navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:10px;}
-.navbar .dropdown-toggle .caret,.navbar .open.dropdown .caret{border-top-color:#fff;}
+.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#fff;}
 .navbar .nav .active .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
 .navbar .nav .active>.dropdown-toggle:hover{color:#fff;}
diff --git a/docs/index.html b/docs/index.html
index ffdac0b3f2..a89e01c723 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -33,7 +33,7 @@
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
-          <ul class="nav">
+          <ul class="nav" style="display: none">
             <li class="active"><a href="./index.html">Overview</a></li>
             <li class="dropdown">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
@@ -102,6 +102,17 @@
               </a>
             </li>
           </ul>
+            <div class="btn-group">
+              <a class="btn" href="#">Action</a>
+              <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
         </div>
       </div>
     </div>
diff --git a/lib/navbar.less b/lib/navbar.less
index a3e64cde86..0d01fe524d 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -45,9 +45,13 @@
     }
   }
   // Buttons in navbar
-  .btn {
+  .btn,
+  .btn-group {
     margin-top: 5px; // make buttons vertically centered in navbar
   }
+  .btn-group .btn {
+    margin-top: 0;
+  }
 }
 
 // Navbar forms
@@ -218,8 +222,8 @@
 }
 
 // Dropdown toggle caret
-.navbar .dropdown-toggle .caret,
-.navbar .open.dropdown .caret {
+.navbar .nav .dropdown-toggle .caret,
+.navbar .nav .open.dropdown .caret {
   border-top-color: #fff;
 }
 .navbar .nav .active .caret {
-- 
GitLab


From 1c6048bac2d305085f40324223c32e40bb9ea938 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 19:17:48 -0800
Subject: [PATCH 288/576] restore top bar on home page

---
 docs/index.html | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index a89e01c723..ffdac0b3f2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -33,7 +33,7 @@
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
-          <ul class="nav" style="display: none">
+          <ul class="nav">
             <li class="active"><a href="./index.html">Overview</a></li>
             <li class="dropdown">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
@@ -102,17 +102,6 @@
               </a>
             </li>
           </ul>
-            <div class="btn-group">
-              <a class="btn" href="#">Action</a>
-              <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </div><!-- /btn-group -->
         </div>
       </div>
     </div>
-- 
GitLab


From 6d916763f82be8c2d4f87842275170c12bea72ec Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 20:54:37 -0800
Subject: [PATCH 289/576] adding the pager component after rewriting the
 pagination docs and css

---
 bootstrap.css        |  55 +++++++++++++++++-----
 bootstrap.min.css    |  18 ++++++--
 docs/components.html | 106 ++++++++++++++++++++++++++++++++++---------
 lib/bootstrap.less   |   1 +
 lib/pager.less       |  25 ++++++++++
 lib/pagination.less  |  76 ++++++++++++++++---------------
 6 files changed, 207 insertions(+), 74 deletions(-)
 create mode 100644 lib/pager.less

diff --git a/bootstrap.css b/bootstrap.css
index da68a66a88..a93aaaee6c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 17:11:53 PST 2012
+ * Date: Sat Jan 14 20:53:46 PST 2012
  */
 html, body {
   margin: 0;
@@ -2082,7 +2082,8 @@ i {
   /* IE7 inline-block hack */
 
   *zoom: 1;
-  margin: 0;
+  margin-left: 0;
+  margin-bottom: 0;
   border: 1px solid #ddd;
   border: 1px solid rgba(0, 0, 0, 0.15);
   -webkit-border-radius: 3px;
@@ -2100,26 +2101,58 @@ i {
   padding: 0 14px;
   line-height: 34px;
   text-decoration: none;
-  border-right: 1px solid;
-  border-right-color: #ddd;
-  border-right-color: rgba(0, 0, 0, 0.15);
-  *border-right-color: #ddd;
-  /* IE6-7 */
-
+  border-right: 1px solid #ddd;
+  border-right: 1px solid rgba(0, 0, 0, 0.15);
 }
 .pagination a:hover, .pagination .active a {
-  background-color: #c7eefe;
+  background-color: #f5f5f5;
 }
 .pagination .disabled a, .pagination .disabled a:hover {
   color: #999999;
   background-color: transparent;
   cursor: default;
 }
-.pagination .next a {
+.pagination li:last-child a {
   border: 0;
 }
-.pagination.centered {
+.pagination-centered {
+  text-align: center;
+}
+.pagination-right {
+  text-align: right;
+}
+.pager {
+  margin-left: 0;
+  margin-bottom: 18px;
+  list-style: none;
   text-align: center;
+  zoom: 1;
+}
+.pager:before, .pager:after {
+  display: table;
+  *display: inline;
+  content: "";
+  zoom: 1;
+}
+.pager:after {
+  clear: both;
+}
+.pager li {
+  display: inline;
+}
+.pager a {
+  display: inline-block;
+  padding: 6px 15px;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
+}
+.pager .next a {
+  float: right;
+}
+.pager .previous a {
+  float: left;
 }
 .modal-backdrop {
   position: fixed;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0ed8fe1767..2d5774e34a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -401,13 +401,21 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .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;*zoom:1;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
+.pagination{height:36px;margin:18px 0;}
+.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
-.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;}
-.pagination a:hover,.pagination .active a{background-color:#c7eefe;}
+.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid #ddd;border-right:1px solid rgba(0, 0, 0, 0.15);}
+.pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
 .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
-.pagination .next a{border:0;}
-.pagination.centered{text-align:center;}
+.pagination li:last-child a{border:0;}
+.pagination-centered{text-align:center;}
+.pagination-right{text-align:right;}
+.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;zoom:1;}.pager:before,.pager:after{display:table;*display:inline;content:"";zoom:1;}
+.pager:after{clear:both;}
+.pager li{display:inline;}
+.pager a{display:inline-block;padding:6px 15px;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
+.pager .next a{float:right;}
+.pager .previous a{float:left;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
diff --git a/docs/components.html b/docs/components.html
index f934ac68eb..e88bd777c8 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -847,63 +847,127 @@
 ================================================== -->
 <section id="pagination">
   <div class="page-header">
-    <h1>Pagination <small></small></h1>
+    <h1>Pagination <small>Two options for paging through content</small></h1>
   </div>
 
+  <h2>Multi-page pagination</h2>
   <div class="row">
-    <div class="span3">
-      <h2>Pagination</h2>
-      <p>Ultra simplistic and minimally styled pagination inspired by Rdio. The large block is hard to miss, easily scalable, and provides large click areas.</p>
+    <div class="span4">
+      <h3>When to use</h3>
+      <p>Ultra simplistic and minimally styled pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.</p>
+      <h3>Stateful page links</h3>
+      <p>Links are customizable and work in a number of circumstances with the right class. <code>.disabled</code> for unclickable links and <code>.active</code> for current page.</p>
+      <h3>Flexible alignment</h3>
+      <p>Add either of two optional classes to change the alignment of pagination links: <code>.pagination-centered</code> and <code>.pagination-right</code>.</p>
     </div>
-    <div class="span9">
+    <div class="span4">
+      <h3>Examples</h3>
+      <p>The default pagination component is flexible and works in a number of variations.</p>
       <div class="pagination">
         <ul>
-          <li class="prev disabled"><a href="#">&larr; Previous</a></li>
+          <li class="disabled"><a href="#">&larr; Prev</a></li>
           <li class="active"><a href="#">1</a></li>
           <li><a href="#">2</a></li>
           <li><a href="#">3</a></li>
           <li><a href="#">4</a></li>
-          <li class="next"><a href="#">Next &rarr;</a></li>
+          <li><a href="#">Next &rarr;</a></li>
         </ul>
       </div>
       <div class="pagination">
         <ul>
-          <li class="prev"><a href="#">&larr;</a></li>
+          <li><a href="#">&larr;</a></li>
+          <li><a href="#">10</a></li>
+          <li><a href="#">11</a></li>
+          <li class="active"><a href="#">12</a></li>
+          <li><a href="#">13</a></li>
+          <li><a href="#">14</a></li>
+          <li><a href="#">&rarr;</a></li>
+        </ul>
+      </div>
+      <div class="pagination">
+        <ul>
+          <li><a href="#">&larr;</a></li>
           <li class="active"><a href="#">10</a></li>
           <li><a href="#">11</a></li>
           <li class="disabled"><a href="#">…</a></li>
           <li><a href="#">20</a></li>
           <li><a href="#">21</a></li>
-          <li class="next"><a href="#">&rarr;</a></li>
+          <li><a href="#">&rarr;</a></li>
         </ul>
       </div>
-      <div class="pagination">
+      <div class="pagination pagination-centered">
         <ul>
-          <li class="prev"><a href="#">&larr;</a></li>
-          <li><a href="#">10</a></li>
-          <li><a href="#">11</a></li>
-          <li class="active"><a href="#">12</a></li>
-          <li><a href="#">13</a></li>
-          <li><a href="#">14</a></li>
-          <li class="next"><a href="#">&rarr;</a></li>
+          <li class="active"><a href="#">1</a></li>
+          <li><a href="#">2</a></li>
+          <li><a href="#">3</a></li>
+          <li><a href="#">4</a></li>
+          <li><a href="#">5</a></li>
         </ul>
       </div>
+    </div>
+    <div class="span4">
+      <h3>Markup</h3>
+      <p>Wrapped in a <code>&lt;div&gt;</code>, pagination is just a <code>&lt;ul&gt;</code>.</p>
 <pre class="prettyprint linenums">
 &lt;div class="pagination"&gt;
   &lt;ul&gt;
-    &lt;li class="prev disabled"&gt;&lt;a href="#"&gt;&amp;larr; Previous&lt;/a&gt;&lt;/li>
-    &lt;li class="active"&gt;&lt;a href="#"&gt;1&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;Prev&lt;/a&gt;&lt;/li>
+    &lt;li class="active"&gt;
+      &lt;a href="#"&gt;1&lt;/a&gt;
+    &lt;/li&gt;
     &lt;li&gt;&lt;a href="#"&gt;2&lt;/a&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href="#"&gt;3&lt;/a&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href="#"&gt;4&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href="#"&gt;5&lt;/a&gt;&lt;/li&gt;
-    &lt;li class="next"&gt;&lt;a href="#"&gt;Next &amp;rarr;&lt;/a&gt;&lt;/li>
+    &lt;li&gt;&lt;a href="#"&gt;Next&lt;/a&gt;&lt;/li>
   &lt;/ul&gt;
 &lt;/div&gt;
 </pre>
     </div>
   </div><!-- /row -->
 
+  <h2>Pager <small>For quick previous and next links</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>About pager</h3>
+      <p>The pager component is a set of links for simple pagination implemenations with light markup and even lighter styles. It's great for simple sites like blogs or magazines.</p>
+    </div>
+    <div class="span4">
+      <h3>Default example</h3>
+      <p>By default, the pager centers links.</p>
+      <ul class="pager">
+        <li><a href="#">Previous</a></li>
+        <li><a href="#">Next</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="pager"&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Previous&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Next&lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Aligned links</h3>
+      <p>Alternatively, you can align each link to the sides:</p>
+      <ul class="pager">
+        <li class="previous"><a href="#">&larr; Older</a></li>
+        <li class="next"><a href="#">Newer &rarr;</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="pager"&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;&amp;larr; Older&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Newer &amp;rarr;&lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
 </section>
 
 
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index d71002c468..43b5120863 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -36,6 +36,7 @@
 @import "navs.less";
 @import "breadcrumbs.less";
 @import "pagination.less";
+@import "pager.less";
 
 // Components: Popovers
 @import "modals.less";
diff --git a/lib/pager.less b/lib/pager.less
new file mode 100644
index 0000000000..de009afdaa
--- /dev/null
+++ b/lib/pager.less
@@ -0,0 +1,25 @@
+// PAGER
+// -----
+
+.pager {
+  margin-left: 0;
+  margin-bottom: @baseLineHeight;
+  list-style: none;
+  text-align: center;
+  .clearfix();
+}
+.pager li {
+  display: inline;
+}
+.pager a {
+  display: inline-block;
+  padding: 6px 15px;
+  background-color: #f5f5f5;
+  .border-radius(15px);
+}
+.pager .next a {
+  float: right;
+}
+.pager .previous a {
+  float: left;
+}
diff --git a/lib/pagination.less b/lib/pagination.less
index e388057604..655abe5a38 100644
--- a/lib/pagination.less
+++ b/lib/pagination.less
@@ -4,44 +4,46 @@
 .pagination {
   height: @baseLineHeight * 2;
   margin: @baseLineHeight 0;
-  ul {
-    display: inline-block;
-    .ie7-inline-block();
-    margin: 0;
-    border: 1px solid #ddd;
-    border: 1px solid rgba(0,0,0,.15);
-    .border-radius(3px);
-    .box-shadow(0 1px 2px rgba(0,0,0,.05));
-  }
-  li {
+ }
+.pagination ul {
+  display: inline-block;
+  .ie7-inline-block();
+  margin-left: 0;
+  margin-bottom: 0;
+  border: 1px solid #ddd;
+  border: 1px solid rgba(0,0,0,.15);
+  .border-radius(3px);
+  .box-shadow(0 1px 2px rgba(0,0,0,.05));
+}
+.pagination li {
     display: inline;
   }
-  a {
-    float: left;
-    padding: 0 14px;
-    line-height: (@baseLineHeight * 2) - 2;
-    text-decoration: none;
-    border-right: 1px solid;
-    border-right-color: #ddd;
-    border-right-color: rgba(0,0,0,.15);
-    *border-right-color: #ddd; /* IE6-7 */
-  }
-  a:hover,
-  .active a {
-    background-color: lighten(@blue, 45%);
-  }
-  .disabled a,
-  .disabled a:hover {
-    color: @grayLight;
-    background-color: transparent;
-    cursor: default;
-  }
-  .next a {
-    border: 0;
-  }
+.pagination a {
+  float: left;
+  padding: 0 14px;
+  line-height: (@baseLineHeight * 2) - 2;
+  text-decoration: none;
+  border-right: 1px solid #ddd;
+  border-right: 1px solid rgba(0,0,0,.15);
+}
+.pagination a:hover,
+.pagination .active a {
+  background-color: #f5f5f5;
+}
+.pagination .disabled a,
+.pagination .disabled a:hover {
+  color: @grayLight;
+  background-color: transparent;
+  cursor: default;
+}
+.pagination li:last-child a {
+  border: 0;
+}
 
-  // Centered
-  &.centered {
-    text-align: center;
-  }
+// Centered
+.pagination-centered {
+  text-align: center;
+}
+.pagination-right {
+  text-align: right;
 }
-- 
GitLab


From dab6d2b17cc2fd67c2462b5a5eb84eb58d9c72bc Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 21:28:47 -0800
Subject: [PATCH 290/576] change up classes on tables and forms, fix nav list
 styles in example

---
 bootstrap.css            | 66 +++++++++++++++++-----------------
 bootstrap.min.css        | 28 +++++++--------
 docs/assets/css/docs.css |  1 -
 docs/base-css.html       | 76 ++++++++++++++++++++--------------------
 docs/index.html          |  2 +-
 docs/javascript.html     | 24 ++++++-------
 docs/less.html           | 14 ++++----
 docs/scaffolding.html    |  4 +--
 lib/forms.less           | 12 +++----
 lib/responsive.less      |  8 ++---
 lib/tables.less          |  6 ++--
 11 files changed, 120 insertions(+), 121 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a93aaaee6c..dd82e1247a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 20:53:46 PST 2012
+ * Date: Sat Jan 14 21:26:13 PST 2012
  */
 html, body {
   margin: 0;
@@ -942,22 +942,22 @@ input::-webkit-input-placeholder {
   -moz-border-radius: 14px;
   border-radius: 14px;
 }
-.search-form input,
-.inline-form input,
-.horizontal-form input,
-.search-form textarea,
-.inline-form textarea,
-.horizontal-form textarea,
-.search-form select,
-.inline-form select,
-.horizontal-form select,
-.search-form .uneditable-input,
-.inline-form .uneditable-input,
-.horizontal-form .uneditable-input {
+.form-search input,
+.form-inline input,
+.form-horizontal input,
+.form-search textarea,
+.form-inline textarea,
+.form-horizontal textarea,
+.form-search select,
+.form-inline select,
+.form-horizontal select,
+.form-search .uneditable-input,
+.form-inline .uneditable-input,
+.form-horizontal .uneditable-input {
   display: inline-block;
   margin-bottom: 0;
 }
-.search-form label, .inline-form label {
+.form-search label, .form-inline label {
   display: inline-block;
 }
 .control-group {
@@ -966,16 +966,16 @@ input::-webkit-input-placeholder {
 .control-group > label {
   font-weight: bold;
 }
-.horizontal-form .control-group > label {
+.form-horizontal .control-group > label {
   float: left;
   width: 130px;
   padding-top: 5px;
   text-align: right;
 }
-.horizontal-form .controls {
+.form-horizontal .controls {
   margin-left: 150px;
 }
-.horizontal-form .form-actions {
+.form-horizontal .form-actions {
   padding-left: 150px;
 }
 table {
@@ -1001,46 +1001,46 @@ thead:first-child tr th, thead:first-child tr td {
 tbody + tbody {
   border-top: 2px solid #ddd;
 }
-.condensed-table th, .condensed-table td {
+.table-condensed th, .table-condensed td {
   padding: 4px 5px;
 }
-.bordered-table {
+.table-bordered {
   border: 1px solid #ddd;
   border-collapse: separate;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
 }
-.bordered-table th + th,
-.bordered-table td + td,
-.bordered-table th + td,
-.bordered-table td + th {
+.table-bordered th + th,
+.table-bordered td + td,
+.table-bordered th + td,
+.table-bordered td + th {
   border-left: 1px solid #ddd;
 }
-.bordered-table thead:first-child tr:first-child th, .bordered-table tbody:first-child tr:first-child th, .bordered-table tbody:first-child 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;
 }
-.bordered-table thead:first-child tr:first-child th:first-child, .bordered-table tbody:first-child tr:first-child td:first-child {
+.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;
 }
-.bordered-table thead:first-child tr:first-child th:last-child, .bordered-table tbody:first-child tr:first-child td:last-child {
+.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;
 }
-.bordered-table thead:last-child tr:last-child th:first-child, .bordered-table tbody:last-child tr:last-child td:first-child {
+.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;
 }
-.bordered-table thead:last-child tr:last-child th:last-child, .bordered-table tbody:last-child tr:last-child td:last-child {
+.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;
 }
-.striped-table tbody tr:nth-child(odd) td, .striped-table tbody tr:nth-child(odd) th {
+.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
   background-color: #f9f9f9;
 }
 table .span1 {
@@ -3071,19 +3071,19 @@ a.thumbnail:hover {
   .navbar .nav:hover > li > a:hover {
     background-color: #333;
   }
-  .horizontal-form .control-group > label {
+  .form-horizontal .control-group > label {
     float: none;
     width: auto;
     padding-top: 0;
     text-align: left;
   }
-  .horizontal-form .controls {
+  .form-horizontal .controls {
     margin-left: 0;
   }
-  .horizontal-form .control-list {
+  .form-horizontal .control-list {
     padding-top: 0;
   }
-  .horizontal-form .form-actions {
+  .form-horizontal .form-actions {
     padding-left: 0;
   }
   .modal {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2d5774e34a..1832263f0b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -169,27 +169,27 @@ input::-webkit-input-placeholder{color:#999999;}
 .input-append .uneditable-input{border-right-color:#ccc;}
 .input-append .add-on{margin-right:0;margin-left:-1px;-webkit-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;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
-.search-form input,.inline-form input,.horizontal-form input,.search-form textarea,.inline-form textarea,.horizontal-form textarea,.search-form select,.inline-form select,.horizontal-form select,.search-form .uneditable-input,.inline-form .uneditable-input,.horizontal-form .uneditable-input{display:inline-block;margin-bottom:0;}
-.search-form label,.inline-form label{display:inline-block;}
+.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
+.form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:18px;}
 .control-group>label{font-weight:bold;}
-.horizontal-form .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
-.horizontal-form .controls{margin-left:150px;}
-.horizontal-form .form-actions{padding-left:150px;}
+.form-horizontal .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
+.form-horizontal .controls{margin-left:150px;}
+.form-horizontal .form-actions{padding-left:150px;}
 table{width:100%;margin-bottom:18px;}
 th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
 th{font-weight:bold;vertical-align:bottom;}
 td{vertical-align:top;}
 thead:first-child tr th,thead:first-child tr td{border-top:0;}
 tbody+tbody{border-top:2px solid #ddd;}
-.condensed-table th,.condensed-table td{padding:4px 5px;}
-.bordered-table{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td,.bordered-table td+th{border-left:1px solid #ddd;}
-.bordered-table thead:first-child tr:first-child th,.bordered-table tbody:first-child tr:first-child th,.bordered-table tbody:first-child tr:first-child td{border-top:0;}
-.bordered-table thead:first-child tr:first-child th:first-child,.bordered-table 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;}
-.bordered-table thead:first-child tr:first-child th:last-child,.bordered-table 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;}
-.bordered-table thead:last-child tr:last-child th:first-child,.bordered-table 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;}
-.bordered-table thead:last-child tr:last-child th:last-child,.bordered-table 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;}
-.striped-table tbody tr:nth-child(odd) td,.striped-table tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
+.table-condensed th,.table-condensed td{padding:4px 5px;}
+.table-bordered{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
+.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;}
+.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;}
+.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;}
+.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;}
+.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
 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;}
@@ -529,4 +529,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .show{display:block;}
 .invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .horizontal-form .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .horizontal-form .controls{margin-left:0;} .horizontal-form .control-list{padding-top:0;} .horizontal-form .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index ca1c5cb83f..2f45032f2e 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -116,7 +116,6 @@ section {
 /* supporting docs pages */
 .subhead {
   padding-bottom: 14px;
-  margin-bottom: 45px;
   border-bottom: 3px solid #e5e5e5;
 }
 .subhead h1,
diff --git a/docs/base-css.html b/docs/base-css.html
index c851c84e92..ccc2216c67 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -150,7 +150,7 @@
 
   <!-- Misc Elements -->
   <h2>Emphasis, address, and abbreviation</h2>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
     <thead>
       <tr>
         <th>Element</th>
@@ -237,7 +237,7 @@
 
   <!-- Blockquotes -->
   <h2>Blockquotes</h2>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
     <thead>
       <tr>
         <th>Element</th>
@@ -383,7 +383,7 @@
   <!-- Code -->
 
   <h2>Code <small>Inline and block</small></h2>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
     <thead>
       <tr>
         <th style="width: 190px;">Element</th>
@@ -425,7 +425,7 @@
 
   <!-- Labels -->
   <h2>Inline labels <small>for special attention</small></h2>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
     <thead>
       <tr>
         <th style="width: 190px;">Labels</th>
@@ -490,7 +490,7 @@
   <h2>Table markup</h2>
   <div class="row">
     <div class="span8">
-      <table class="bordered-table striped-table">
+      <table class="table-bordered table-striped">
         <thead>
           <tr>
             <th>Tag</th>
@@ -579,7 +579,7 @@
   </div>
 
   <h2>Table options</h2>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
   <thead>
       <tr>
         <th>Name</th>
@@ -596,21 +596,21 @@
       <tr>
         <td>Bordered</td>
         <td>
-          <code>.bordered-table</code>
+          <code>.table-bordered</code>
         </td>
         <td>Rounds corners and adds outter border</td>
       </tr>
       <tr>
         <td>Zebra-stripe</td>
         <td>
-          <code>.striped-table</code>
+          <code>.table-striped</code>
         </td>
         <td>Adds light gray background color to odd rows (1, 3, 5, etc)</td>
       </tr>
       <tr>
         <td>Condensed</td>
         <td>
-          <code>.condensed-table</code>
+          <code>.table-condensed</code>
         </td>
         <td>Cuts vertical padding in half, from 8px to 4px, within all <code>td</code> and <code>th</code> elements</td>
       </tr>
@@ -667,15 +667,15 @@
   <h3>2. Striped table</h3>
   <div class="row">
     <div class="span4">
-      <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.striped-table</code> class.</p>
+      <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.table-striped</code> class.</p>
       <p class="muted"><strong>Note:</strong> Sprited tables use the <code>:nth-child</code> CSS selector and is not available in IE7-IE8.</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
-&lt;table class="striped-table"&gt;
+&lt;table class="table-striped"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="striped-table">
+      <table class="table-striped">
         <thead>
           <tr>
             <th>#</th>
@@ -714,12 +714,12 @@
     <div class="span4">
       <p>Add borders around the entire table and rounded corners for aesthetic purposes.</p>
 <pre class="prettyprint linenums">
-&lt;table class="bordered-table"&gt;
+&lt;table class="table-bordered"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="bordered-table">
+      <table class="table-bordered">
         <thead>
           <tr>
             <th>#</th>
@@ -760,14 +760,14 @@
   <h3>4. Condensed table</h3>
   <div class="row">
     <div class="span4">
-      <p>Make your tables more compact by adding the <code>.condensed-table</code> class to cut table cell padding in half (from 10px to 5px).</p>
+      <p>Make your tables more compact by adding the <code>.table-condensed</code> class to cut table cell padding in half (from 10px to 5px).</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
-&lt;table class="condensed-table"&gt;
+&lt;table class="table-condensed"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="condensed-table">
+      <table class="table-condensed">
         <thead>
           <tr>
             <th>#</th>
@@ -816,12 +816,12 @@
     });
   });
 &lt;/script&gt;
-&lt;table class="striped-table"&gt;
+&lt;table class="table-striped"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="striped-table tablesorter-example">
+      <table class="table-striped tablesorter-example">
         <thead>
           <tr>
             <th>#</th>
@@ -858,7 +858,7 @@
         </tbody>
       </table>
       <p>Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.</p>
-      <table class="striped-table bordered-table condensed-table tablesorter-example">
+      <table class="table-striped table-bordered table-condensed tablesorter-example">
         <thead>
           <tr>
             <th>#</th>
@@ -932,7 +932,7 @@
 
   <h2>Four types of forms</h2>
   <p>Bootstrap provides simple markup and styles for four styles of common web forms.</p>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
     <thead>
       <tr>
         <th>Name</th>
@@ -948,17 +948,17 @@
       </tr>
       <tr>
         <th>Horizontal</th>
-        <td><code>.horizontal-form</code></td>
+        <td><code>.form-horizontal</code></td>
         <td>Float left, right-aligned labels on same line as controls</td>
       </tr>
       <tr>
         <th>Inline</th>
-        <td><code>.inline-form</code></td>
+        <td><code>.form-inline</code></td>
         <td>Left-aligned label and inline-block controls for compact style</td>
       </tr>
       <tr>
         <th>Search</th>
-        <td><code>.search-form</code></td>
+        <td><code>.form-search</code></td>
         <td>Extra-rounded text input for a typical search aesthetic</td>
       </tr>
     </tbody>
@@ -981,16 +981,16 @@
     </div>
     <div class="span4">
       <h3>Search form</h3>
-      <p>Reflecting default WebKit styles, just add <code>.search-form</code> for extra rounded search fields.</p>
-      <form class="well search-form">
+      <p>Reflecting default WebKit styles, just add <code>.form-search</code> for extra rounded search fields.</p>
+      <form class="well form-search">
         <input type="text" class="input-medium search-query">
         <button type="submit" class="btn">Search</button>
       </form>
     </div>
     <div class="span4">
       <h3>Inline form</h3>
-      <p>Inputs are block level to start. For <code>.inline-form</code> and <code>.horizontal-form</code>, we use inline-block.</p>
-      <form class="well search-form">
+      <p>Inputs are block level to start. For <code>.form-inline</code> and <code>.form-horizontal</code>, we use inline-block.</p>
+      <form class="well form-search">
         <input type="text" class="input-small" placeholder="Email">
         <input type="password" class="input-small" placeholder="Password">
         <button type="submit" class="btn">Go</button>
@@ -1003,7 +1003,7 @@
   <h2>Horizontal forms</h2>
   <div class="row">
     <div class="span8">
-      <form class="horizontal-form">
+      <form class="form-horizontal">
         <legend>Controls Bootstrap supports</legend>
         <fieldset class="control-group">
           <label class="control-label" for="input01">Text input</label>
@@ -1087,7 +1087,7 @@
 
   <div class="row">
     <div class="span8">
-      <form class="horizontal-form">
+      <form class="form-horizontal">
         <legend>Form control states</legend>
         <fieldset class="control-group">
           <label class="control-label" for="focusedInput">Focused input</label>
@@ -1158,7 +1158,7 @@
 
   <div class="row">
     <div class="span8">
-      <form class="horizontal-form">
+      <form class="form-horizontal">
         <legend>Extending form controls</legend>
         <fieldset class="control-group">
           <label class="control-label">Form sizes</label>
@@ -1259,7 +1259,7 @@
   <div class="page-header">
     <h1>Buttons</h1>
   </div>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
     <thead>
       <tr>
         <th>Button</th>
@@ -1517,13 +1517,13 @@
     </div>
     <div class="span3">
       <p>Or, use them in navigation.</p>
-      <div class="well side-nav">
-        <ul class="nav-group">
-          <li class="active"><a class="nav-item" href="#"><i class="home"></i> Home</a></li>
-          <li><a class="nav-item" href="#"><i class="book"></i> Library</a></li>
-          <li><a class="nav-item" href="#"><i class="cog"></i> Settings</a></li>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
+          <li><a href="#"><i class="book"></i> Library</a></li>
+          <li><a href="#"><i class="pencil"></i> Applications</a></li>
         </ul>
-      </div>
+      </div> <!-- /well -->
     </div>
   </div>
 </section>
diff --git a/docs/index.html b/docs/index.html
index ffdac0b3f2..cb924bae6d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -268,7 +268,7 @@
           ================================================== -->
           <h1>Get started in no time.</h1>
           <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-          <table class="bordered-table getting-started">
+          <table class="table-bordered getting-started">
             <tbody>
               <tr>
                 <td class="quick-start">
diff --git a/docs/javascript.html b/docs/javascript.html
index afe9c329ec..64159ede75 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -284,7 +284,7 @@
           <p>Call the modal via javascript:</p>
           <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
           <h3>Options</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -349,7 +349,7 @@ $('#myModal').modal({
           <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -666,7 +666,7 @@ $('#myModal').on('hidden', function () {
 &lt;/script&gt;</pre>
           </p>
           <h3>Events</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -719,7 +719,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p>Trigger the tooltip via javascript:</p>
           <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
           <h3>Options</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -813,7 +813,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p>Enable popovers via javascript:</p>
           <pre class="prettyprint linenums">$('#example').popover(options)</pre>
           <h3>Options</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -932,7 +932,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
           <h3>Events</h3>
           <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -975,7 +975,7 @@ $('#my-alert').bind('closed', function () {
         <div class="span9 columns">
           <h2>Example uses</h2>
           <p>Use the buttons plugin for states and toggles.</p>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <tbody>
              <tr>
                <td>Stateful</td>
@@ -1115,7 +1115,7 @@ $('#my-alert').bind('closed', function () {
           <p>Enable via javascript:</p>
           <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
           <h3>Options</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -1165,7 +1165,7 @@ $('#myCollapsible').collapse({
           <p>
             Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
           </p>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -1251,7 +1251,7 @@ $('#myCollapsible').on('hidden', function () {
           <p>Call via javascript:</p>
           <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
           <h3>Options</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -1300,7 +1300,7 @@ $('#myCollapsible').on('hidden', function () {
           <p>Cycles to the next item.</p>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -1348,7 +1348,7 @@ $('#myCollapsible').on('hidden', function () {
           <p>Call the typeahead via javascript:</p>
           <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
           <h3>Options</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
diff --git a/docs/less.html b/docs/less.html
index f3bfa30594..357f242b10 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -160,7 +160,7 @@
       </div>
 
           <h3>Hyperlinks</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <thead>
               <tr>
                 <th>Variable</th>
@@ -185,7 +185,7 @@
       <div class="row">
         <div class="span6">
           <h3>Grayscale colors</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@black</code></td>
@@ -216,7 +216,7 @@
         </div>
         <div class="span6">
           <h3>Accent colors</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@blue</code></td>
@@ -254,7 +254,7 @@
       <div class="row">
         <div class="span6">
           <h3>Grid system</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@gridColumns</code></td>
@@ -277,7 +277,7 @@
         </div>
         <div class="span6">
           <h3>Typography</h3>
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@baseFontSize</code></td>
@@ -302,7 +302,7 @@
           <h3>Visuals</h3>
         </div>
         <div class="span9">
-          <table class="bordered-table striped-table">
+          <table class="table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@primaryButtonColor</code></td>
@@ -453,7 +453,7 @@
     <h2 id="compiling">Compiling Less</h2>
     <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
     <h3>Ways to compile</h3>
-    <table class="bordered-table striped-table">
+    <table class="table-bordered table-striped">
       <thead>
         <tr>
           <th style="width: 120px;">Method</th>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index b2b4b5647f..eab6fedf52 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -223,7 +223,7 @@
   </div>
 
   <h2>Grid customization</h2>
-  <table class="bordered-table striped-table">
+  <table class="table-bordered table-striped">
     <thead>
       <tr>
         <th>Variable</th>
@@ -335,7 +335,7 @@
     <div class="span8">
       <h2>Supported devices</h2>
       <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
-      <table class="bordered-table striped-table">
+      <table class="table-bordered table-striped">
         <thead>
           <tr>
             <th>Label</th>
diff --git a/lib/forms.less b/lib/forms.less
index ed97d8dd09..04e684c99c 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -441,9 +441,9 @@ input::-webkit-input-placeholder {
 // Common properties
 // -----------------
 
-.search-form,
-.inline-form,
-.horizontal-form {
+.form-search,
+.form-inline,
+.form-horizontal {
   input,
   textarea,
   select,
@@ -452,8 +452,8 @@ input::-webkit-input-placeholder {
     margin-bottom: 0;
   }
 }
-.search-form label,
-.inline-form label {
+.form-search label,
+.form-inline label {
   display: inline-block;
 }
 
@@ -469,7 +469,7 @@ input::-webkit-input-placeholder {
 // Horizontal-specific styles
 // --------------------------
 
-.horizontal-form {
+.form-horizontal {
   // Float the labels left
   .control-group > label {
     float: left;
diff --git a/lib/responsive.less b/lib/responsive.less
index 5131aa625b..f5c23df3cd 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -76,22 +76,22 @@
   }
 
   // Remove the horizontal form styles
-  .horizontal-form .control-group > label {
+  .form-horizontal .control-group > label {
     float: none;
     width: auto;
     padding-top: 0;
     text-align: left;
   }
   // Move over all input controls and content
-  .horizontal-form .controls {
+  .form-horizontal .controls {
     margin-left: 0;
   }
   // Move the options list down to align with labels
-  .horizontal-form .control-list {
+  .form-horizontal .control-list {
     padding-top: 0; // has to be padding because margin collaspes
   }
   // Move over buttons in .form-actions to align with .controls
-  .horizontal-form .form-actions {
+  .form-horizontal .form-actions {
     padding-left: 0;
   }
 
diff --git a/lib/tables.less b/lib/tables.less
index 1d044ec7c6..5b803b3dfe 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -42,7 +42,7 @@ tbody + tbody {
 // CONDENSED TABLE W/ HALF PADDING
 // -------------------------------
 
-.condensed-table {
+.table-condensed {
   th,
   td {
     padding: 4px 5px;
@@ -53,7 +53,7 @@ tbody + tbody {
 // BORDERED VERSION
 // ----------------
 
-.bordered-table {
+.table-bordered {
   border: 1px solid #ddd;
   border-collapse: separate; // Done so we can round those corners!
   .border-radius(4px);
@@ -94,7 +94,7 @@ tbody + tbody {
 // --------------
 
 // Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.striped-table {
+.table-striped {
   tbody {
     tr:nth-child(odd) td,
     tr:nth-child(odd) th {
-- 
GitLab


From 16eccc43d9fa6317818b5d1621d0477150214488 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 23:28:48 -0800
Subject: [PATCH 291/576] dates updated to 2012

---
 LICENSE                     | 2 +-
 README.md                   | 2 +-
 bootstrap.css               | 4 ++--
 examples/container-app.html | 2 +-
 examples/fluid-reverse.html | 2 +-
 examples/fluid.html         | 2 +-
 examples/hero.html          | 2 +-
 js/bootstrap-alert.js       | 2 +-
 js/bootstrap-button.js      | 2 +-
 js/bootstrap-carousel.js    | 2 +-
 js/bootstrap-collapse.js    | 2 +-
 js/bootstrap-dropdown.js    | 2 +-
 js/bootstrap-modal.js       | 2 +-
 js/bootstrap-popover.js     | 2 +-
 js/bootstrap-scrollspy.js   | 2 +-
 js/bootstrap-tab.js         | 2 +-
 js/bootstrap-tooltip.js     | 2 +-
 js/bootstrap-transition.js  | 2 +-
 js/bootstrap-typeahead.js   | 2 +-
 js/tests/vendor/jquery.js   | 4 ++--
 js/tests/vendor/qunit.css   | 2 +-
 js/tests/vendor/qunit.js    | 2 +-
 lib/bootstrap.less          | 2 +-
 lib/print.less              | 2 +-
 24 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/LICENSE b/LICENSE
index 50a6393c06..1ec0d70dea 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright 2011 Twitter, Inc.
+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.
diff --git a/README.md b/README.md
index fd97265840..b77eb95ae0 100644
--- a/README.md
+++ b/README.md
@@ -100,7 +100,7 @@ Authors
 Copyright and license
 ---------------------
 
-Copyright 2011 Twitter, Inc.
+Copyright 2012 Twitter, Inc.
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this work except in compliance with the License.
diff --git a/bootstrap.css b/bootstrap.css
index dd82e1247a..9a4e6e1111 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -1,12 +1,12 @@
 /*!
  * Bootstrap v2.0.0
  *
- * Copyright 2011 Twitter, Inc
+ * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 21:26:13 PST 2012
+ * Date: Sat Jan 14 23:28:07 PST 2012
  */
 html, body {
   margin: 0;
diff --git a/examples/container-app.html b/examples/container-app.html
index 778bceacf6..788efcbf32 100644
--- a/examples/container-app.html
+++ b/examples/container-app.html
@@ -110,7 +110,7 @@
       </div>
 
       <footer>
-        <p>&copy; Company 2011</p>
+        <p>&copy; Company 2012</p>
       </footer>
 
     </div> <!-- /container -->
diff --git a/examples/fluid-reverse.html b/examples/fluid-reverse.html
index 61aa08de99..c03cae723f 100644
--- a/examples/fluid-reverse.html
+++ b/examples/fluid-reverse.html
@@ -119,7 +119,7 @@
         <hr>
 
         <footer>
-          <p>&copy; Company 2011</p>
+          <p>&copy; Company 2012</p>
         </footer>
       </div>
     </div>
diff --git a/examples/fluid.html b/examples/fluid.html
index bba78a329b..cb00fb85af 100644
--- a/examples/fluid.html
+++ b/examples/fluid.html
@@ -119,7 +119,7 @@
         <hr>
         
         <footer>
-          <p>&copy; Company 2011</p>
+          <p>&copy; Company 2012</p>
         </footer>
       </div>
     </div>
diff --git a/examples/hero.html b/examples/hero.html
index 3a7a539839..9b82ba62a3 100644
--- a/examples/hero.html
+++ b/examples/hero.html
@@ -70,7 +70,7 @@
       </div>
 
       <footer>
-        <p>&copy; Company 2011</p>
+        <p>&copy; Company 2012</p>
       </footer>
 
     </div> <!-- /container -->
diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index 1ce8f01bff..96b9786aa7 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -2,7 +2,7 @@
  * bootstrap-alert.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js
index cb0c45cdf1..046d256142 100644
--- a/js/bootstrap-button.js
+++ b/js/bootstrap-button.js
@@ -2,7 +2,7 @@
  * bootstrap-buttons.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#buttons
  * ============================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index c49f89ad80..f2d5110a4e 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -2,7 +2,7 @@
  * bootstrap-carousel.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 9301c7309d..2521b7c7a7 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -2,7 +2,7 @@
  * bootstrap-collapsible.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#collapsible
  * =============================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 3cb2619929..923da6bfa6 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -2,7 +2,7 @@
  * bootstrap-dropdown.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#dropdown
  * ============================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index df4f3c7643..3652f5c8b5 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -2,7 +2,7 @@
  * bootstrap-modal.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#modal
  * =========================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 9f60cbe957..e908998952 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -2,7 +2,7 @@
  * bootstrap-popover.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#popover
  * ===========================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 6201d4cefa..63195b4bdf 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -2,7 +2,7 @@
  * bootstrap-scrollspy.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
  * =============================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index 8492fe9558..e5b85e2325 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -2,7 +2,7 @@
  * bootstrap-tabs.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#tabs
  * ========================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index 8ce30ab82d..07a5d46f56 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -3,7 +3,7 @@
  * http://twitter.github.com/bootstrap/javascript.html#tooltip
  * Inspired by the original jQuery.tipsy by Jason Frame
  * ===========================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-transition.js b/js/bootstrap-transition.js
index 29fa1bdebc..aaaee4bd28 100644
--- a/js/bootstrap-transition.js
+++ b/js/bootstrap-transition.js
@@ -2,7 +2,7 @@
  * bootstrap-transitions.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html
  * ===================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index 180466a74b..b4957c3f61 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -2,7 +2,7 @@
  * bootstrap-typeahead.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#collapsible
  * =============================================================
- * Copyright 2011 Twitter, Inc.
+ * 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.
diff --git a/js/tests/vendor/jquery.js b/js/tests/vendor/jquery.js
index 01fbe13c82..4c7013a87d 100644
--- a/js/tests/vendor/jquery.js
+++ b/js/tests/vendor/jquery.js
@@ -1461,7 +1461,7 @@ jQuery.support = (function() {
 	// Check if div with explicit width and no margin-right incorrectly
 	// gets computed margin-right based on width of container. For more
 	// info see bug #3333
-	// Fails in WebKit before Feb 2011 nightlies
+	// Fails in WebKit before Feb 2012 nightlies
 	// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
 	if ( window.getComputedStyle ) {
 		marginDiv = document.createElement( "div" );
@@ -3837,7 +3837,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
 
 /*!
  * Sizzle CSS Selector Engine
- *  Copyright 2011, The Dojo Foundation
+ *  Copyright 2012, The Dojo Foundation
  *  Released under the MIT, BSD, and GPL Licenses.
  *  More information: http://sizzlejs.com/
  */
diff --git a/js/tests/vendor/qunit.css b/js/tests/vendor/qunit.css
index 800dac541b..b3e3d002d7 100644
--- a/js/tests/vendor/qunit.css
+++ b/js/tests/vendor/qunit.css
@@ -3,7 +3,7 @@
  *
  * http://docs.jquery.com/QUnit
  *
- * Copyright (c) 2011 John Resig, Jörn Zaefferer
+ * Copyright (c) 2012 John Resig, Jörn Zaefferer
  * Dual licensed under the MIT (MIT-LICENSE.txt)
  * or GPL (GPL-LICENSE.txt) licenses.
  */
diff --git a/js/tests/vendor/qunit.js b/js/tests/vendor/qunit.js
index 9047f97a01..46c95b298e 100644
--- a/js/tests/vendor/qunit.js
+++ b/js/tests/vendor/qunit.js
@@ -3,7 +3,7 @@
  *
  * http://docs.jquery.com/QUnit
  *
- * Copyright (c) 2011 John Resig, Jörn Zaefferer
+ * Copyright (c) 2012 John Resig, Jörn Zaefferer
  * Dual licensed under the MIT (MIT-LICENSE.txt)
  * or GPL (GPL-LICENSE.txt) licenses.
  */
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 43b5120863..db6a192f59 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -1,7 +1,7 @@
 /*!
  * Bootstrap @VERSION
  *
- * Copyright 2011 Twitter, Inc
+ * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
  * http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git a/lib/print.less b/lib/print.less
index b45d016fdd..4fd45e2822 100644
--- a/lib/print.less
+++ b/lib/print.less
@@ -1,7 +1,7 @@
 /*!
  * Bootstrap @VERSION for Print
  *
- * Copyright 2011 Twitter, Inc
+ * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
  * http://www.apache.org/licenses/LICENSE-2.0
  *
-- 
GitLab


From f989c6892f690cf46b0e67158ebb621c3fe690fe Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 14 Jan 2012 23:33:42 -0800
Subject: [PATCH 292/576] gray out links for active state on pagination

---
 bootstrap.css       | 5 ++++-
 bootstrap.min.css   | 1 +
 lib/pagination.less | 3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 9a4e6e1111..37241baf0f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 23:28:07 PST 2012
+ * Date: Sat Jan 14 23:33:26 PST 2012
  */
 html, body {
   margin: 0;
@@ -2107,6 +2107,9 @@ i {
 .pagination a:hover, .pagination .active a {
   background-color: #f5f5f5;
 }
+.pagination .active a {
+  color: #999999;
+}
 .pagination .disabled a, .pagination .disabled a:hover {
   color: #999999;
   background-color: transparent;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 1832263f0b..6cc8946a5c 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -406,6 +406,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid #ddd;border-right:1px solid rgba(0, 0, 0, 0.15);}
 .pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
+.pagination .active a{color:#999999;}
 .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
 .pagination li:last-child a{border:0;}
 .pagination-centered{text-align:center;}
diff --git a/lib/pagination.less b/lib/pagination.less
index 655abe5a38..064362b7bc 100644
--- a/lib/pagination.less
+++ b/lib/pagination.less
@@ -30,6 +30,9 @@
 .pagination .active a {
   background-color: #f5f5f5;
 }
+.pagination .active a {
+  color: @grayLight;
+}
 .pagination .disabled a,
 .pagination .disabled a:hover {
   color: @grayLight;
-- 
GitLab


From ed9903f797fa6d94789d05c234164bd378a1f3df Mon Sep 17 00:00:00 2001
From: Paul Kauders <kauders@gmail.com>
Date: Sun, 15 Jan 2012 07:46:25 -0600
Subject: [PATCH 293/576] Fix typo in Responsive design content

---
 docs/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/index.html b/docs/index.html
index cb924bae6d..40ffce1060 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -215,7 +215,7 @@
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
               <h2>Responsive design</h2>
-              <p>With Bootstrap 2, we've gone fully responsive. Our components are scale according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
+              <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
-- 
GitLab


From 8ceea1f559fb432fc12df32153911de89caea36f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 11:26:06 -0800
Subject: [PATCH 294/576] fix some ie7 bugs, improve dropdowns for ie due to
 lack of a shadow, fix pager example code

---
 bootstrap.css            |  9 ++++++---
 bootstrap.min.css        |  6 +++---
 docs/assets/css/docs.css | 20 +++++++++-----------
 docs/components.html     |  4 ++--
 docs/index.html          |  7 +++----
 lib/dropdowns.less       |  5 ++++-
 lib/tables.less          |  2 +-
 7 files changed, 28 insertions(+), 25 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 37241baf0f..7e2ba80237 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sat Jan 14 23:33:26 PST 2012
+ * Date: Sun Jan 15 00:04:02 PST 2012
  */
 html, body {
   margin: 0;
@@ -1116,7 +1116,7 @@ table .header:after {
   visibility: hidden;
 }
 table .headerSortUp, table .headerSortDown {
-  background-color: rgba(141, 192, 219, 0.25);
+  background-color: #f7f7f9;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
 }
 table .header:hover:after {
@@ -1440,6 +1440,7 @@ i {
 .dropdown .caret {
   margin-top: 8px;
   margin-left: 2px;
+  *margin-top: 7px;
 }
 .dropdown:hover .caret, .open.dropdown .caret {
   filter: alpha(opacity=100);
@@ -1459,7 +1460,7 @@ i {
   margin: 0;
   list-style: none;
   background-color: #ffffff;
-  border-color: #999;
+  border-color: #ccc;
   border-color: rgba(0, 0, 0, 0.2);
   border-style: solid;
   border-width: 1px;
@@ -1473,6 +1474,8 @@ i {
   -moz-background-clip: padding;
   background-clip: padding-box;
   zoom: 1;
+  *border-right-width: 2px;
+  *border-bottom-width: 2px;
 }
 .dropdown-menu .divider {
   height: 1px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6cc8946a5c..6b55745ea7 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -203,7 +203,7 @@ 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 .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
-table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
+table .headerSortUp,table .headerSortDown{background-color:#f7f7f9;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
 table .header:hover:after{visibility:visible;}
 table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
 table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
@@ -300,9 +300,9 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .asterisk{background-position:-456px -96px;}
 .dropdown{position:relative;}
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
-.dropdown .caret{margin-top:8px;margin-left:2px;}
+.dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#999;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;zoom:1;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
+.dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
 .dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0088cc;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 2f45032f2e..416b1830cd 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -130,6 +130,7 @@ section {
 /* Quick links
 -------------------------------------------------- */
 .quick-links {
+  min-height: 30px;
   padding: 5px 20px;
   margin: 45px 0;
   list-style: none;
@@ -141,11 +142,11 @@ section {
   -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
      -moz-box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
           box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
+  overflow: hidden;
 }
 .quick-links li {
   display: inline;
   margin: 0 5px;
-  line-height: 30px;
 }
 .quick-links .divider {
   color: #999;
@@ -258,7 +259,7 @@ section {
       -ms-box-sizing: border-box; /* IE8 */
           box-sizing: border-box; /* CSS3 spec*/
   /* Hacks for IE7 to make this work just okay enough to function */
-  *width: 90%;
+  *width: 270px;
   *height: 24px;
 }
 
@@ -386,7 +387,7 @@ section {
 .popover-well .popover-menu-wrapper {
   height: 80px;
 }
-img.large-bird {
+.large-bird {
   margin: 5px 0 0 310px;
   opacity: .1;
 }
@@ -467,9 +468,6 @@ form.well {
 
 /* Icons
 ------------------------- */
-.the-icons {
-
-}
 .the-icons i {
   display: block;
   margin-bottom: 5px;
@@ -483,11 +481,11 @@ form.well {
   width: 100px;
 }
 
-#javascript input[type='checkbox'] {
-display: inline;
-margin-left: 6px;
-position: relative;
-top: -1px;
+#javascript input[type=checkbox] {
+  position: relative;
+  top: -1px;
+  display: inline;
+  margin-left: 6px;
 }
 
 
diff --git a/docs/components.html b/docs/components.html
index e88bd777c8..83a0244565 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -958,10 +958,10 @@
       </ul>
 <pre class="prettyprint linenums">
 &lt;ul class="pager"&gt;
-  &lt;li&gt;
+  &lt;li class="previous"&gt;
     &lt;a href="#"&gt;&amp;larr; Older&lt;/a&gt;
   &lt;/li&gt;
-  &lt;li&gt;
+  &lt;li class="next"&gt;
     &lt;a href="#"&gt;Newer &amp;rarr;&lt;/a&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
diff --git a/docs/index.html b/docs/index.html
index cb924bae6d..736352b439 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -119,7 +119,6 @@
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
               <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
-              Currently v2.0.0
             </p>
 
             <div class="benefits">
@@ -145,10 +144,10 @@
           <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
           <li class="divider">&middot;</li>
           <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110px" height="20px"></iframe>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
           </li>
           <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="94px" height="20px"></iframe>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
           </li>
 <!--
           <li><strong>Authors</strong></li>
@@ -288,7 +287,7 @@
                 </td>
                 <td class="quick-start">
                   <h3>Fork on GitHub</h3>
-                  <p>Download, fork, pull, file issues, and more with the official Bootstrap repo on Github.</p>
+                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
                   <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
                   <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
                 </td>
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index e2d5fef259..08054713ce 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -21,6 +21,7 @@
 .dropdown .caret {
   margin-top: 8px;
   margin-left: 2px;
+  *margin-top: 7px;
 }
 .dropdown:hover .caret,
 .open.dropdown .caret {
@@ -40,7 +41,7 @@
   margin: 0; // override default ul
   list-style: none;
   background-color: @white;
-  border-color: #999;
+  border-color: #ccc;
   border-color: rgba(0,0,0,.2);
   border-style: solid;
   border-width: 1px;
@@ -50,6 +51,8 @@
      -moz-background-clip: padding;
           background-clip: padding-box;
   zoom: 1; // do we need this?
+  *border-right-width: 2px;
+  *border-bottom-width: 2px;
 
   // Dividers (basically an hr) within the dropdown
   .divider {
diff --git a/lib/tables.less b/lib/tables.less
index 5b803b3dfe..1edd9e3b80 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -152,7 +152,7 @@ table {
   // Style the sorted column headers (THs)
   .headerSortUp,
   .headerSortDown {
-    background-color: rgba(141,192,219,.25);
+    background-color: #f7f7f9;
     text-shadow: 0 1px 1px rgba(255,255,255,.75);
   }
   // Style the ascending (reverse alphabetical) column header
-- 
GitLab


From fe160261e460903cae251de25eaf41f236bd051e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 11:30:24 -0800
Subject: [PATCH 295/576] normalize the alert classes to match last night's
 flip for form and table classes

---
 bootstrap.css        | 26 +++++++++++++-------------
 bootstrap.min.css    | 18 +++++++++---------
 docs/components.html | 20 ++++++++++----------
 lib/alerts.less      | 32 ++++++++++++++++----------------
 4 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 7e2ba80237..c61c20987f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 00:04:02 PST 2012
+ * Date: Sun Jan 15 11:29:00 PST 2012
  */
 html, body {
   margin: 0;
@@ -2689,38 +2689,38 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 
   margin-right: -21px;
 }
-.success-alert {
+.alert-success {
   background-color: #dff0d8;
   border-color: #cfe8c4;
 }
-.success-alert, .success-alert .alert-heading {
+.alert-success, .alert-success .alert-heading {
   color: #468847;
 }
-.danger-alert, .error-alert {
+.alert-danger, .alert-error {
   background-color: #f2dede;
   border-color: #e9c7c7;
 }
-.danger-alert,
-.error-alert,
-.danger-alert .alert-heading,
-.error-alert .alert-heading {
+.alert-danger,
+.alert-error,
+.alert-danger .alert-heading,
+.alert-error .alert-heading {
   color: #B94A48;
 }
-.info-alert {
+.alert-info {
   background-color: #d9edf7;
   border-color: #bfe1f2;
 }
-.info-alert, .info-alert .alert-heading {
+.alert-info, .alert-info .alert-heading {
   color: #3a87ad;
 }
-.block-alert {
+.alert-block {
   padding-top: 14px;
   padding-bottom: 14px;
 }
-.block-alert > p, .block-alert > ul {
+.alert-block > p, .alert-block > ul {
   margin-bottom: 0;
 }
-.block-alert p + p {
+.alert-block p + p {
   margin-top: 5px;
 }
 .thumbnails {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6b55745ea7..ceec492dbd 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -481,15 +481,15 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert{position:relative;padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .alert,.alert-heading{color:#c09853;}
 .alert>.close{*margin-top:3px;margin-right:-21px;}
-.success-alert{background-color:#dff0d8;border-color:#cfe8c4;}
-.success-alert,.success-alert .alert-heading{color:#468847;}
-.danger-alert,.error-alert{background-color:#f2dede;border-color:#e9c7c7;}
-.danger-alert,.error-alert,.danger-alert .alert-heading,.error-alert .alert-heading{color:#B94A48;}
-.info-alert{background-color:#d9edf7;border-color:#bfe1f2;}
-.info-alert,.info-alert .alert-heading{color:#3a87ad;}
-.block-alert{padding-top:14px;padding-bottom:14px;}
-.block-alert>p,.block-alert>ul{margin-bottom:0;}
-.block-alert p+p{margin-top:5px;}
+.alert-success{background-color:#dff0d8;border-color:#cfe8c4;}
+.alert-success,.alert-success .alert-heading{color:#468847;}
+.alert-danger,.alert-error{background-color:#f2dede;border-color:#e9c7c7;}
+.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#B94A48;}
+.alert-info{background-color:#d9edf7;border-color:#bfe1f2;}
+.alert-info,.alert-info .alert-heading{color:#3a87ad;}
+.alert-block{padding-top:14px;padding-bottom:14px;}
+.alert-block>p,.alert-block>ul{margin-bottom:0;}
+.alert-block p+p{margin-top:5px;}
 .thumbnails{margin-left:-20px;margin-bottom:0;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 20px 20px;}
diff --git a/docs/components.html b/docs/components.html
index 83a0244565..c9390272d6 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -1132,7 +1132,7 @@
       <h3>Rewritten base class</h3>
       <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
       <h3>Single alert message</h3>
-      <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that com with more padding and typically more text. The class also has changed to <code>.block-alert</code>.</p>
+      <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that com with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
       <hr>
       <h3>Goes great with javascript</h3>
       <p>Bootstrap comes with a great jQuery plugin that supports alert messages, making dismissing them quick and easy.</p>
@@ -1151,14 +1151,14 @@
   &lt;strong&gt;Warning!&lt;/strong&gt; Best check yo self, you’re not looking too good.
 &lt;/div&gt;
 </pre>
-      <p>Easily extend the standard alert message with two optional classes: <code>.block-alert</code> for more padding and text controls and <code>.alert-heading</code> for a matching heading.</p>
-      <div class="alert block-alert">
+      <p>Easily extend the standard alert message with two optional classes: <code>.alert-block</code> for more padding and text controls and <code>.alert-heading</code> for a matching heading.</p>
+      <div class="alert alert-block">
         <a class="close">&times;</a>
         <h4 class="alert-heading">Warning!</h4>
         <p>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.</p>
       </div>
 <pre class="prettyprint linenums">
-&lt;div class="alert block-alert"&gt;
+&lt;div class="alert alert-block"&gt;
   &lt;a class="close"&gt;&times;&lt;/a&gt;
   &lt;h4 class="alert-heading"&gt;Warning!&lt;/h4&gt;
   Best check yo self, you’re not...
@@ -1171,36 +1171,36 @@
   <div class="row">
     <div class="span4">
       <h3>Error or danger</h3>
-      <div class="alert error-alert">
+      <div class="alert alert-error">
         <a class="close">&times;</a>
         <strong>Oh snap!</strong> Change a few things up and try submitting again.
       </div>
 <pre class="prettyprint linenums">
-&lt;div class="alert error-alert"&gt;
+&lt;div class="alert alert-error"&gt;
   ...
 &lt;/div&gt;
 </pre>
     </div>
     <div class="span4">
       <h3>Success</h3>
-      <div class="alert success-alert">
+      <div class="alert alert-success">
         <a class="close">&times;</a>
         <strong>Well done!</strong> You successfully read this important alert message.
       </div>
 <pre class="prettyprint linenums">
-&lt;div class="alert success-alert"&gt;
+&lt;div class="alert alert-success"&gt;
   ...
 &lt;/div&gt;
 </pre>
     </div>
     <div class="span4">
       <h3>Information</h3>
-      <div class="alert info-alert">
+      <div class="alert alert-info">
         <a class="close">&times;</a>
         <strong>Heads up!</strong> This alert needs your attention, but it’s not super important.
       </div>
 <pre class="prettyprint linenums">
-&lt;div class="alert info-alert"&gt;
+&lt;div class="alert alert-info"&gt;
   ...
 &lt;/div&gt;
 </pre>
diff --git a/lib/alerts.less b/lib/alerts.less
index d1cd8addd5..a338f502a1 100644
--- a/lib/alerts.less
+++ b/lib/alerts.less
@@ -25,45 +25,45 @@
 // Alternate styles
 // ----------------
 
-.success-alert {
+.alert-success {
   background-color: #dff0d8;
   border-color: #cfe8c4;  
 }
-.success-alert,
-.success-alert .alert-heading {
+.alert-success,
+.alert-success .alert-heading {
   color: #468847;
 }
-.danger-alert,
-.error-alert {
+.alert-danger,
+.alert-error {
   background-color: #f2dede;
   border-color: #e9c7c7;
 }
-.danger-alert,
-.error-alert,
-.danger-alert .alert-heading,
-.error-alert .alert-heading {
+.alert-danger,
+.alert-error,
+.alert-danger .alert-heading,
+.alert-error .alert-heading {
   color: #B94A48;
 }
-.info-alert {
+.alert-info {
   background-color: #d9edf7;
   border-color: #bfe1f2;
 }
-.info-alert,
-.info-alert .alert-heading {
+.alert-info,
+.alert-info .alert-heading {
   color: #3a87ad;
 }
 
 
 // Block alerts
 // ------------------------
-.block-alert {
+.alert-block {
   padding-top: 14px;
   padding-bottom: 14px;
 }
-.block-alert > p,
-.block-alert > ul {
+.alert-block > p,
+.alert-block > ul {
   margin-bottom: 0;
 }
-.block-alert p + p {
+.alert-block p + p {
   margin-top: 5px;
 }
\ No newline at end of file
-- 
GitLab


From 9f732e90d4e8f3a598a798fb8b29a4f59c0b7631 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 11:33:30 -0800
Subject: [PATCH 296/576] make horizontal form labels map to default grid
 sizing

---
 bootstrap.css     | 11 ++++-------
 bootstrap.min.css |  7 +++----
 lib/forms.less    | 10 +++-------
 3 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c61c20987f..a11fed8952 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 11:29:00 PST 2012
+ * Date: Sun Jan 15 11:32:55 PST 2012
  */
 html, body {
   margin: 0;
@@ -963,20 +963,17 @@ input::-webkit-input-placeholder {
 .control-group {
   margin-bottom: 18px;
 }
-.control-group > label {
-  font-weight: bold;
-}
 .form-horizontal .control-group > label {
   float: left;
-  width: 130px;
+  width: 120px;
   padding-top: 5px;
   text-align: right;
 }
 .form-horizontal .controls {
-  margin-left: 150px;
+  margin-left: 140px;
 }
 .form-horizontal .form-actions {
-  padding-left: 150px;
+  padding-left: 140px;
 }
 table {
   width: 100%;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index ceec492dbd..524ac7f098 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -172,10 +172,9 @@ input::-webkit-input-placeholder{color:#999999;}
 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:18px;}
-.control-group>label{font-weight:bold;}
-.form-horizontal .control-group>label{float:left;width:130px;padding-top:5px;text-align:right;}
-.form-horizontal .controls{margin-left:150px;}
-.form-horizontal .form-actions{padding-left:150px;}
+.form-horizontal .control-group>label{float:left;width:120px;padding-top:5px;text-align:right;}
+.form-horizontal .controls{margin-left:140px;}
+.form-horizontal .form-actions{padding-left:140px;}
 table{width:100%;margin-bottom:18px;}
 th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
 th{font-weight:bold;vertical-align:bottom;}
diff --git a/lib/forms.less b/lib/forms.less
index 04e684c99c..ef4804afc3 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -461,10 +461,6 @@ input::-webkit-input-placeholder {
 .control-group {
   margin-bottom: @baseLineHeight;
 }
-// Bold the labels so they stand out
-.control-group > label {
-  font-weight: bold;
-}
 
 // Horizontal-specific styles
 // --------------------------
@@ -473,16 +469,16 @@ input::-webkit-input-placeholder {
   // Float the labels left
   .control-group > label {
     float: left;
-    width: 130px;
+    width: 120px;
     padding-top: 5px;
     text-align: right;
   }
   // Move over all input controls and content
   .controls {
-    margin-left: 150px;
+    margin-left: 140px;
   }
   // Move over buttons in .form-actions to align with .controls
   .form-actions {
-    padding-left: 150px;
+    padding-left: 140px;
   }
 }
-- 
GitLab


From 6077b7678c8d21eeb4bc33bbfede20a4cc41fa11 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 11:41:46 -0800
Subject: [PATCH 297/576] fix modal horizontal alignment

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/modals.less   | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a11fed8952..798f808b30 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 11:32:55 PST 2012
+ * Date: Sun Jan 15 11:41:37 PST 2012
  */
 html, body {
   margin: 0;
@@ -2182,7 +2182,7 @@ i {
   max-height: 500px;
   overflow: auto;
   width: 560px;
-  margin: -250px 0 0 -250px;
+  margin: -250px 0 0 -280px;
   background-color: #ffffff;
   border: 1px solid #999;
   border: 1px solid rgba(0, 0, 0, 0.3);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 524ac7f098..04e3d61383 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -418,7 +418,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pager .previous a{float:left;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -250px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
+.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
 .modal.fade.in{top:50%;}
 .modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:7px;}
 .modal-body{padding:15px;}
diff --git a/lib/modals.less b/lib/modals.less
index 46fcd880b9..fe3f295b0b 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -26,7 +26,7 @@
   max-height: 500px;
   overflow: auto;
   width: 560px;
-  margin: -250px 0 0 -250px;
+  margin: -250px 0 0 -280px;
   background-color: @white;
   border: 1px solid #999;
   border: 1px solid rgba(0,0,0,.3);
-- 
GitLab


From f43f2c0ea269e72251e7f858b44ccef966d079af Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 12:53:35 -0800
Subject: [PATCH 298/576] fix grid sized horizontal form layout

---
 bootstrap.css     | 8 ++++----
 bootstrap.min.css | 6 +++---
 lib/forms.less    | 6 +++---
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 798f808b30..a57618dc01 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 11:41:37 PST 2012
+ * Date: Sun Jan 15 12:53:17 PST 2012
  */
 html, body {
   margin: 0;
@@ -965,15 +965,15 @@ input::-webkit-input-placeholder {
 }
 .form-horizontal .control-group > label {
   float: left;
-  width: 120px;
+  width: 140px;
   padding-top: 5px;
   text-align: right;
 }
 .form-horizontal .controls {
-  margin-left: 140px;
+  margin-left: 160px;
 }
 .form-horizontal .form-actions {
-  padding-left: 140px;
+  padding-left: 160px;
 }
 table {
   width: 100%;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 04e3d61383..1ef582c03a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -172,9 +172,9 @@ input::-webkit-input-placeholder{color:#999999;}
 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:18px;}
-.form-horizontal .control-group>label{float:left;width:120px;padding-top:5px;text-align:right;}
-.form-horizontal .controls{margin-left:140px;}
-.form-horizontal .form-actions{padding-left:140px;}
+.form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
+.form-horizontal .controls{margin-left:160px;}
+.form-horizontal .form-actions{padding-left:160px;}
 table{width:100%;margin-bottom:18px;}
 th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
 th{font-weight:bold;vertical-align:bottom;}
diff --git a/lib/forms.less b/lib/forms.less
index ef4804afc3..703accff80 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -469,16 +469,16 @@ input::-webkit-input-placeholder {
   // Float the labels left
   .control-group > label {
     float: left;
-    width: 120px;
+    width: 140px;
     padding-top: 5px;
     text-align: right;
   }
   // Move over all input controls and content
   .controls {
-    margin-left: 140px;
+    margin-left: 160px;
   }
   // Move over buttons in .form-actions to align with .controls
   .form-actions {
-    padding-left: 140px;
+    padding-left: 160px;
   }
 }
-- 
GitLab


From 127c0d0b52c52227dcd3f346d371e5cd4219a08f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 13:12:29 -0800
Subject: [PATCH 299/576] make dl and child elements less specific

---
 bootstrap.css        |  8 ++++----
 bootstrap.min.css    |  7 ++++---
 docs/components.html | 18 +++++++-----------
 lib/type.less        | 19 ++++++++++---------
 4 files changed, 25 insertions(+), 27 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a57618dc01..b5f7949e5c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 12:53:17 PST 2012
+ * Date: Sun Jan 15 13:11:42 PST 2012
  */
 html, body {
   margin: 0;
@@ -418,13 +418,13 @@ ul.unstyled {
 dl {
   margin-bottom: 18px;
 }
-dl dt, dl dd {
+dt, dd {
   line-height: 18px;
 }
-dl dt {
+dt {
   font-weight: bold;
 }
-dl dd {
+dd {
   margin-left: 9px;
 }
 hr {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 1ef582c03a..2cd9ad8374 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -73,9 +73,10 @@ ul{list-style:disc;}
 ol{list-style:decimal;}
 li{line-height:18px;}
 ul.unstyled{margin-left:0;list-style:none;}
-dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
-dl dt{font-weight:bold;}
-dl dd{margin-left:9px;}
+dl{margin-bottom:18px;}
+dt,dd{line-height:18px;}
+dt{font-weight:bold;}
+dd{margin-left:9px;}
 hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
diff --git a/docs/components.html b/docs/components.html
index c9390272d6..1343a4279d 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -865,33 +865,29 @@
       <p>The default pagination component is flexible and works in a number of variations.</p>
       <div class="pagination">
         <ul>
-          <li class="disabled"><a href="#">&larr; Prev</a></li>
+          <li class="disabled"><a href="#">&laquo;</a></li>
           <li class="active"><a href="#">1</a></li>
           <li><a href="#">2</a></li>
           <li><a href="#">3</a></li>
           <li><a href="#">4</a></li>
-          <li><a href="#">Next &rarr;</a></li>
+          <li><a href="#">&raquo;</a></li>
         </ul>
       </div>
       <div class="pagination">
         <ul>
-          <li><a href="#">&larr;</a></li>
+          <li><a href="#">&laquo;</a></li>
           <li><a href="#">10</a></li>
-          <li><a href="#">11</a></li>
-          <li class="active"><a href="#">12</a></li>
-          <li><a href="#">13</a></li>
-          <li><a href="#">14</a></li>
-          <li><a href="#">&rarr;</a></li>
+          <li class="active"><a href="#">11</a></li>
+          <li><a href="#">12</a></li>
+          <li><a href="#">&raquo;</a></li>
         </ul>
       </div>
       <div class="pagination">
         <ul>
           <li><a href="#">&larr;</a></li>
           <li class="active"><a href="#">10</a></li>
-          <li><a href="#">11</a></li>
-          <li class="disabled"><a href="#">…</a></li>
+          <li class="disabled"><a href="#">...</a></li>
           <li><a href="#">20</a></li>
-          <li><a href="#">21</a></li>
           <li><a href="#">&rarr;</a></li>
         </ul>
       </div>
diff --git a/lib/type.less b/lib/type.less
index ab7409ce34..707d2215de 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -99,15 +99,16 @@ ul.unstyled {
 // Description Lists
 dl {
   margin-bottom: @baseLineHeight;
-  dt, dd {
-    line-height: @baseLineHeight;
-  }
-  dt {
-    font-weight: bold;
-  }
-  dd {
-    margin-left: @baseLineHeight / 2;
-  }
+}
+dt,
+dd {
+  line-height: @baseLineHeight;
+}
+dt {
+  font-weight: bold;
+}
+dd {
+  margin-left: @baseLineHeight / 2;
 }
 
 // MISC
-- 
GitLab


From 3d9298b04ba493d877afaa81d8f48545f0a89a3f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 15:06:30 -0800
Subject: [PATCH 300/576] fix the js alerts examples

---
 docs/javascript.html | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 64159ede75..2d7b74dd3a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -906,16 +906,17 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
         <div class="span9 columns">
           <h2>Example alerts</h2>
           <p>The alerts plugin works on regular alert messages, and block messages.</p>
-          <div class="alert-message warning fade in">
+          <div class="alert fade in">
             <a class="close" data-dismiss="alert" href="#">&times;</a>
             <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
           </div>
-          <div class="alert-message block-message error fade in">
+          <div class="alert alert-block alert-error fade in">
             <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <p><strong>Oh snap! You got an error!</strong> Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
-            <div class="alert-actions">
-              <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-            </div>
+            <h4 class="alert-heading">Oh snap! You got an error!</h4>
+            <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+            <p>
+              <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+            </p>
           </div>
           <hr>
           <h2>Using bootstrap-alerts.js</h2>
-- 
GitLab


From c02501e1b714ebb44c560483316ac36c4f709c50 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 16:27:36 -0800
Subject: [PATCH 301/576] move carousel to separate stylesheet, update popovers
 to fix ie7 bug, fix pagination, fix alerts

---
 bootstrap.css        | 165 ++++++++++++++++++++++---------------------
 bootstrap.min.css    |  39 +++++-----
 docs/javascript.html |   2 +-
 lib/alerts.less      |   8 +--
 lib/bootstrap.less   |   1 +
 lib/carousel.less    |  54 ++++++++++++++
 lib/pagination.less  |  12 ++--
 lib/popovers.less    |   4 +-
 lib/thumbnails.less  |  53 --------------
 9 files changed, 174 insertions(+), 164 deletions(-)
 create mode 100644 lib/carousel.less

diff --git a/bootstrap.css b/bootstrap.css
index b5f7949e5c..aabc868d2e 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 13:11:42 PST 2012
+ * Date: Sun Jan 15 16:27:00 PST 2012
  */
 html, body {
   margin: 0;
@@ -2084,8 +2084,6 @@ i {
   *zoom: 1;
   margin-left: 0;
   margin-bottom: 0;
-  border: 1px solid #ddd;
-  border: 1px solid rgba(0, 0, 0, 0.15);
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
@@ -2101,8 +2099,8 @@ i {
   padding: 0 14px;
   line-height: 34px;
   text-decoration: none;
-  border-right: 1px solid #ddd;
-  border-right: 1px solid rgba(0, 0, 0, 0.15);
+  border: 1px solid #ddd;
+  border-left-width: 0;
 }
 .pagination a:hover, .pagination .active a {
   background-color: #f5f5f5;
@@ -2115,8 +2113,16 @@ i {
   background-color: transparent;
   cursor: default;
 }
+.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;
+}
 .pagination li:last-child a {
-  border: 0;
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
 }
 .pagination-centered {
   text-align: center;
@@ -2383,8 +2389,8 @@ i {
   padding: 3px;
   width: 280px;
   overflow: hidden;
-  background-color: #000000;
-  background-color: rgba(0, 0, 0, 0.8);
+  background: #000000;
+  background: rgba(0, 0, 0, 0.8);
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
@@ -2667,7 +2673,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   opacity: 0.75;
 }
 .alert {
-  position: relative;
   padding: 8px 35px 8px 14px;
   margin-bottom: 18px;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
@@ -2680,11 +2685,12 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .alert, .alert-heading {
   color: #c09853;
 }
-.alert > .close {
+.alert .close {
   *margin-top: 3px;
   /* IE7 spacing */
 
-  margin-right: -21px;
+  position: relative;
+  right: -21px;
 }
 .alert-success {
   background-color: #dff0d8;
@@ -2722,7 +2728,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .thumbnails {
   margin-left: -20px;
-  margin-bottom: 0;
   list-style: none;
   zoom: 1;
 }
@@ -2764,74 +2769,6 @@ a.thumbnail:hover {
 .thumbnail .caption {
   padding: 9px;
 }
-.carousel {
-  position: relative;
-}
-.carousel .carousel-inner {
-  overflow: hidden;
-  width: 100%;
-  position: relative;
-}
-.carousel .item {
-  display: none;
-  position: relative;
-  -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;
-}
-.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 .nav {
-  width: auto;
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
-  height: 50px;
-  position: absolute;
-  top: 50%;
-  margin: -25px 0 0;
-  cursor: pointer;
-  background: rgba(0, 0, 0, 0.7);
-  color: white;
-  font-size: 42px;
-  left: 5px;
-  font-weight: 100;
-  padding: 0 15px;
-}
-.carousel .nav.right {
-  right: 5px;
-  left: auto;
-}
-.carousel .nav:hover {
-  text-decoration: none;
-  background: rgba(0, 0, 0, 0.8);
-}
 .label {
   padding: 1px 3px 2px;
   font-size: 9.75px;
@@ -2999,6 +2936,74 @@ 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);
 }
+.carousel {
+  position: relative;
+}
+.carousel .carousel-inner {
+  overflow: hidden;
+  width: 100%;
+  position: relative;
+}
+.carousel .item {
+  display: none;
+  position: relative;
+  -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;
+}
+.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 .nav {
+  width: auto;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+  height: 50px;
+  position: absolute;
+  top: 50%;
+  margin: -25px 0 0;
+  cursor: pointer;
+  background: rgba(0, 0, 0, 0.7);
+  color: white;
+  font-size: 42px;
+  left: 5px;
+  font-weight: 100;
+  padding: 0 15px;
+}
+.carousel .nav.right {
+  right: 5px;
+  left: auto;
+}
+.carousel .nav:hover {
+  text-decoration: none;
+  background: rgba(0, 0, 0, 0.8);
+}
 .pull-right {
   float: right;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 2cd9ad8374..91c6553f6c 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -402,13 +402,14 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .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;*zoom:1;margin-left:0;margin-bottom:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
+.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
-.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border-right:1px solid #ddd;border-right:1px solid rgba(0, 0, 0, 0.15);}
+.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;}
 .pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
 .pagination .active a{color:#999999;}
 .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
-.pagination li:last-child a{border:0;}
+.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;}
+.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;}
 .pagination-centered{text-align:center;}
 .pagination-right{text-align:right;}
 .pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;zoom:1;}.pager:before,.pager:after{display:table;*display:inline;content:"";zoom:1;}
@@ -446,7 +447,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .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;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{padding:3px;width:280px;overflow:hidden;background-color:#000000;background-color:rgba(0, 0, 0, 0.8);-webkit-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);}
+.popover .inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-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);}
 .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;}
 .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;-webkit-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;}
 .btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
@@ -478,9 +479,9 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .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);}
 .btn .caret{margin-top:6px;margin-left:0;}
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#fff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
-.alert{position:relative;padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .alert,.alert-heading{color:#c09853;}
-.alert>.close{*margin-top:3px;margin-right:-21px;}
+.alert .close{*margin-top:3px;position:relative;right:-21px;}
 .alert-success{background-color:#dff0d8;border-color:#cfe8c4;}
 .alert-success,.alert-success .alert-heading{color:#468847;}
 .alert-danger,.alert-error{background-color:#f2dede;border-color:#e9c7c7;}
@@ -490,25 +491,13 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-block{padding-top:14px;padding-bottom:14px;}
 .alert-block>p,.alert-block>ul{margin-bottom:0;}
 .alert-block p+p{margin-top:5px;}
-.thumbnails{margin-left:-20px;margin-bottom:0;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
+.thumbnails{margin-left:-20px;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 20px 20px;}
 .thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
 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);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
-.carousel{position:relative;}.carousel .carousel-inner{overflow:hidden;width:100%;position:relative;}
-.carousel .item{display:none;position:relative;-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;}
-.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 .nav{width:auto;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;height:50px;position:absolute;top:50%;margin:-25px 0 0;cursor:pointer;background:rgba(0, 0, 0, 0.7);color:white;font-size:42px;left:5px;font-weight:100;padding:0 15px;}.carousel .nav.right{right:5px;left:auto;}
-.carousel .nav:hover{text-decoration:none;background:rgba(0, 0, 0, 0.8);}
 .label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
@@ -524,6 +513,18 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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);}
+.carousel{position:relative;}.carousel .carousel-inner{overflow:hidden;width:100%;position:relative;}
+.carousel .item{display:none;position:relative;-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;}
+.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 .nav{width:auto;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;height:50px;position:absolute;top:50%;margin:-25px 0 0;cursor:pointer;background:rgba(0, 0, 0, 0.7);color:white;font-size:42px;left:5px;font-weight:100;padding:0 15px;}.carousel .nav.right{right:5px;left:auto;}
+.carousel .nav:hover{text-decoration:none;background:rgba(0, 0, 0, 0.8);}
 .pull-right{float:right;}
 .pull-left{float:left;}
 .hide{display:none;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 2d7b74dd3a..015f451428 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -908,7 +908,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p>The alerts plugin works on regular alert messages, and block messages.</p>
           <div class="alert fade in">
             <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
+            <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
           </div>
           <div class="alert alert-block alert-error fade in">
             <a class="close" data-dismiss="alert" href="#">&times;</a>
diff --git a/lib/alerts.less b/lib/alerts.less
index a338f502a1..53a43c6e4f 100644
--- a/lib/alerts.less
+++ b/lib/alerts.less
@@ -3,7 +3,6 @@
 
 // Base alert styles
 .alert {
-  position: relative;
   padding: 8px 35px 8px 14px;
   margin-bottom: @baseLineHeight;
   text-shadow: 0 1px 0 rgba(255,255,255,.5);
@@ -17,9 +16,10 @@
 }
 
 // Adjust close link position
-.alert > .close {
+.alert .close {
   *margin-top: 3px; /* IE7 spacing */
-  margin-right: -21px;
+  position: relative;
+  right: -21px;
 }
 
 // Alternate styles
@@ -66,4 +66,4 @@
 }
 .alert-block p + p {
   margin-top: 5px;
-}
\ No newline at end of file
+}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index db6a192f59..db5ed61f7f 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -52,6 +52,7 @@
 @import "thumbnails.less";
 @import "labels.less";
 @import "progress-bars.less";
+@import "carousel.less";
 
 // Utility classes
 @import "utilities.less"; // Has to be last to override when necessary
diff --git a/lib/carousel.less b/lib/carousel.less
new file mode 100644
index 0000000000..0cfb0127a0
--- /dev/null
+++ b/lib/carousel.less
@@ -0,0 +1,54 @@
+// CAROUSEL
+// --------
+
+.carousel {
+
+  position: relative;
+
+  .carousel-inner {
+    overflow: hidden;
+    width: 100%;
+    position: relative;
+  }
+
+  .item {
+    display: none;
+    position: relative;
+    .transition(.6s ease-in-out left);
+  }
+
+  .active, .next, .prev { display: block; }
+
+  .active { left: 0 }
+
+  .next, .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+
+  .next { left: 100%; }
+  .prev { left: -100%; }
+  .next.left, .prev.right { left: 0% }
+
+  .active.left { left: -100% }
+  .active.right { left: 100% }
+
+  .nav {
+    width: auto;
+    .border-radius(0);
+    height: 50px;
+    position: absolute;
+    top: 50%;
+    margin: -25px 0 0;
+    cursor: pointer;
+    background: rgba(0, 0, 0, 0.7);
+    color: white;
+    font-size: 42px;
+    left: 5px;
+    font-weight: 100;
+    padding: 0 15px;
+    &.right { right: 5px; left: auto; }
+    &:hover { text-decoration: none; background: rgba(0, 0, 0, 0.8); }
+  }
+}
\ No newline at end of file
diff --git a/lib/pagination.less b/lib/pagination.less
index 064362b7bc..8ecb2a4015 100644
--- a/lib/pagination.less
+++ b/lib/pagination.less
@@ -10,8 +10,6 @@
   .ie7-inline-block();
   margin-left: 0;
   margin-bottom: 0;
-  border: 1px solid #ddd;
-  border: 1px solid rgba(0,0,0,.15);
   .border-radius(3px);
   .box-shadow(0 1px 2px rgba(0,0,0,.05));
 }
@@ -23,8 +21,8 @@
   padding: 0 14px;
   line-height: (@baseLineHeight * 2) - 2;
   text-decoration: none;
-  border-right: 1px solid #ddd;
-  border-right: 1px solid rgba(0,0,0,.15);
+  border: 1px solid #ddd;
+  border-left-width: 0;
 }
 .pagination a:hover,
 .pagination .active a {
@@ -39,8 +37,12 @@
   background-color: transparent;
   cursor: default;
 }
+.pagination li:first-child a {
+  border-left-width: 1px;
+  .border-radius(3px 0 0 3px);
+}
 .pagination li:last-child a {
-  border: 0;
+  .border-radius(0 3px 3px 0);
 }
 
 // Centered
diff --git a/lib/popovers.less b/lib/popovers.less
index 9ecdf5fd98..6de314d860 100644
--- a/lib/popovers.less
+++ b/lib/popovers.less
@@ -25,8 +25,8 @@
     padding: 3px;
     width: 280px;
     overflow: hidden;
-    background-color: @black;
-    background-color: rgba(0,0,0,.8);
+    background: @black; // has to be full background declaration for IE fallback
+    background: rgba(0,0,0,.8);
     .border-radius(6px);
     .box-shadow(0 3px 7px rgba(0,0,0,0.3));
   }
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index 3d1d5bc246..4f9c5f76d3 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -3,7 +3,6 @@
 
 .thumbnails {
   margin-left: -20px;
-  margin-bottom: 0;
   list-style: none;
   .clearfix();
 }
@@ -32,55 +31,3 @@ a.thumbnail:hover {
 .thumbnail .caption {
   padding: 9px;
 }
-
-.carousel {
-
-  position: relative;
-
-  .carousel-inner {
-    overflow: hidden;
-    width: 100%;
-    position: relative;
-  }
-
-  .item {
-    display: none;
-    position: relative;
-    .transition(.6s ease-in-out left);
-  }
-
-  .active, .next, .prev { display: block; }
-
-  .active { left: 0 }
-
-  .next, .prev {
-    position: absolute;
-    top: 0;
-    width: 100%;
-  }
-
-  .next { left: 100%; }
-  .prev { left: -100%; }
-  .next.left, .prev.right { left: 0% }
-
-  .active.left { left: -100% }
-  .active.right { left: 100% }
-
-  .nav {
-    width: auto;
-    .border-radius(0);
-    height: 50px;
-    position: absolute;
-    top: 50%;
-    margin: -25px 0 0;
-    cursor: pointer;
-    background: rgba(0, 0, 0, 0.7);
-    color: white;
-    font-size: 42px;
-    left: 5px;
-    font-weight: 100;
-    padding: 0 15px;
-    &.right { right: 5px; left: auto; }
-    &:hover { text-decoration: none; background: rgba(0, 0, 0, 0.8); }
-  }
-}
\ No newline at end of file
-- 
GitLab


From f48278dac6ac89fcf9d1ab7526ec3029dd1a4d8e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sun, 15 Jan 2012 18:40:17 -0800
Subject: [PATCH 302/576] updated accordion and carousel; accordion still needs
 work

---
 bootstrap.css        |  76 ++++++++++++++++++++--------
 bootstrap.min.css    |  15 ++++--
 docs/javascript.html |  64 ++++++++++++------------
 lib/accordion.less   |  21 ++++++++
 lib/bootstrap.less   |   1 +
 lib/carousel.less    | 115 +++++++++++++++++++++++++++++++------------
 6 files changed, 204 insertions(+), 88 deletions(-)
 create mode 100644 lib/accordion.less

diff --git a/bootstrap.css b/bootstrap.css
index aabc868d2e..8192b24c8a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 16:27:00 PST 2012
+ * Date: Sun Jan 15 18:32:40 PST 2012
  */
 html, body {
   margin: 0;
@@ -2936,10 +2936,29 @@ 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 {
+  padding: 0;
+}
+.accordion-heading {
+  padding: 5px 10px;
+  border: 1px solid #ddd;
+}
+.accordion-body {
+  padding: 10px;
+  margin-left: 0;
+  margin-bottom: 9px;
+  border: 1px solid #ddd;
+  border-top: 0;
+  display: none;
+}
+.accordion .in {
+  display: block;
+}
 .carousel {
   position: relative;
+  line-height: 1;
 }
-.carousel .carousel-inner {
+.carousel-inner {
   overflow: hidden;
   width: 100%;
   position: relative;
@@ -2971,7 +2990,7 @@ a.thumbnail:hover {
   left: -100%;
 }
 .carousel .next.left, .carousel .prev.right {
-  left: 0%;
+  left: 0;
 }
 .carousel .active.left {
   left: -100%;
@@ -2979,30 +2998,45 @@ a.thumbnail:hover {
 .carousel .active.right {
   left: 100%;
 }
-.carousel .nav {
-  width: auto;
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
-  height: 50px;
+.carousel-control {
   position: absolute;
-  top: 50%;
-  margin: -25px 0 0;
-  cursor: pointer;
-  background: rgba(0, 0, 0, 0.7);
-  color: white;
-  font-size: 42px;
-  left: 5px;
+  top: 40%;
+  left: 15px;
+  width: 40px;
+  height: 40px;
+  margin-top: -20px;
+  font-size: 60px;
   font-weight: 100;
-  padding: 0 15px;
+  line-height: 30px;
+  color: #ccc;
+  text-align: center;
+  background: #999;
+  background: rgba(0, 0, 0, 0.5);
+  -webkit-border-radius: 20px;
+  -moz-border-radius: 20px;
+  border-radius: 20px;
 }
-.carousel .nav.right {
-  right: 5px;
+.carousel-control.right {
   left: auto;
+  right: 15px;
 }
-.carousel .nav:hover {
+.carousel-control:hover {
+  color: #fff;
   text-decoration: none;
-  background: rgba(0, 0, 0, 0.8);
+  background: #333;
+  background: rgba(0, 0, 0, 0.75);
+}
+.carousel-caption {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding: 10px 15px 5px;
+  background: #333;
+  background: rgba(0, 0, 0, 0.75);
+}
+.carousel-caption h4, .carousel-caption p {
+  color: #fff;
 }
 .pull-right {
   float: right;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 91c6553f6c..6e348c597a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -513,18 +513,25 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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);}
-.carousel{position:relative;}.carousel .carousel-inner{overflow:hidden;width:100%;position:relative;}
+.accordion{padding:0;}
+.accordion-heading{padding:5px 10px;border:1px solid #ddd;}
+.accordion-body{padding:10px;margin-left:0;margin-bottom:9px;border:1px solid #ddd;border-top:0;display:none;}
+.accordion .in{display:block;}
+.carousel{position:relative;line-height:1;}
+.carousel-inner{overflow:hidden;width:100%;position:relative;}
 .carousel .item{display:none;position:relative;-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;}
 .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 .next.left,.carousel .prev.right{left:0;}
 .carousel .active.left{left:-100%;}
 .carousel .active.right{left:100%;}
-.carousel .nav{width:auto;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;height:50px;position:absolute;top:50%;margin:-25px 0 0;cursor:pointer;background:rgba(0, 0, 0, 0.7);color:white;font-size:42px;left:5px;font-weight:100;padding:0 15px;}.carousel .nav.right{right:5px;left:auto;}
-.carousel .nav:hover{text-decoration:none;background:rgba(0, 0, 0, 0.8);}
+.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ccc;text-align:center;background:#999;background:rgba(0, 0, 0, 0.5);-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}.carousel-control.right{left:auto;right:15px;}
+.carousel-control:hover{color:#fff;text-decoration:none;background:#333;background:rgba(0, 0, 0, 0.75);}
+.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333;background:rgba(0, 0, 0, 0.75);}
+.carousel-caption h4,.carousel-caption p{color:#fff;}
 .pull-right{float:right;}
 .pull-left{float:left;}
 .hide{display:none;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 015f451428..1a6565c399 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1079,33 +1079,33 @@ $('#my-alert').bind('closed', function () {
         <div class="span9 columns">
           <h2>Example accordion</h2>
           <p>Using the collapse plugin, we built a simple accordion style widget:</p>
-          <dl id="accordion">
-            <dt>
+          <dl class="accordion" id="accordion">
+            <dt class="accordion-heading">
               <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
                 Collapsible Group Item #1
               </a>
             </dt>
-            <dd id="collapseOne" class="collapse in">
+            <dd id="collapseOne" class="accordion-body collapse in">
               <p>
               Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
               </p>
             </dd>
-            <dt>
+            <dt class="accordion-heading">
               <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
                 Collapsible Group Item #2
               </a>
             </dt>
-            <dd id="collapseTwo" class="collapse">
+            <dd id="collapseTwo" class="accordion-body collapse">
               <p>
               Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
               </p>
             </dd>
-            <dt>
+            <dt class="accordion-heading">
               <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
                 Collapsible Group Item #3
               </a>
             </dt>
-            <dd id="collapseThree" class="collapse">
+            <dd id="collapseThree" class="accordion-body collapse">
               <p>
               Tempor gentrify pariatur nihil salvia, irony synth incididunt odio commodo brunch aute. Four loko est vice echo park wes anderson jean shorts, tempor ea vero locavore. Seitan DIY dolore readymade williamsburg viral. Dolor fap master cleanse delectus, ad butcher labore duis vice mollit cillum exercitation eu banh mi. Austin banksy 3 wolf moon locavore sed, helvetica next level VHS you probably haven't heard of them ethical odio. Incididunt locavore minim, do seitan consequat qui thundercats labore before they sold out retro laborum. Esse twee readymade laboris fap vice, voluptate DIY.
               </p>
@@ -1220,32 +1220,32 @@ $('#myCollapsible').on('hidden', function () {
         <div class="span9 columns">
           <h2>Example carousel</h2>
           <p>Watch the slideshow below.</p>
-          <div id="myCarousel" class="thumbnail carousel slide">
+          <div id="myCarousel" class="carousel slide">
             <div class="carousel-inner">
               <div class="item active">
-                <img src="http://placehold.it/1100x400" alt="">
-                <div class="caption">
-                  <h5>First Thumbnail label</h5>
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>First Thumbnail label</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
-                <img src="http://placehold.it/1100x400" alt="">
-                <div class="caption">
-                  <h5>Second Thumbnail label</h5>
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>Second Thumbnail label</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
-                <img src="http://placehold.it/1100x400" alt="">
-                <div class="caption">
-                  <h5>Third Thumbnail label</h5>
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>Third Thumbnail label</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
             </div>
-            <a class="left nav" href="#myCarousel" data-slide="prev">&laquo;</a>
-            <a class="right nav" href="#myCarousel" data-slide="next">&raquo;</a>
+            <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
+            <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
           </div>
           <hr>
           <h2>Using bootstrap-carousel.js</h2>
@@ -1273,24 +1273,24 @@ $('#myCollapsible').on('hidden', function () {
           <h3>Markup</h3>
           <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
-&lt;div class="thumbnail carousel"&gt;
-
-  &lt;!-- items --&gt;
-  &lt;div class="carousel-inner"&gt;…&lt;/div&gt;
-
-  &lt;!-- navigation --&gt;
-  &lt;a class="nav" href="#myCarousel" data-slide="next"&gt;&amp;lt;&lt;/a&gt;
-  &lt;a class="nav" href="#myCarousel" data-slide="prev"&gt;&amp;gt;&lt;/a&gt;
-
+&lt;div class="carousel"&gt;
+  &lt;!-- Carousel items --&gt;
+  &lt;div class="carousel-inner"&gt;
+    ...
+  &lt;/div&gt;
+  &lt;!-- Carousel nav --&gt;
+  &lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
+  &lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
 &lt;/div&gt;
 </pre>
           <h3>Methods</h3>
           <h4>.carousel(options)</h4>
           <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
-          <pre class="prettyprint linenums">
-          $('.myCarousel').carousel({
-            interval: 2000
-          })</pre>
+<pre class="prettyprint linenums">
+$('.myCarousel').carousel({
+  interval: 2000
+})
+</pre>
           <h4>.carousel('cycle')</h4>
           <p>Cycles through the carousel items from left to right.</p>
           <h4>.carousel('pause')</h4>
diff --git a/lib/accordion.less b/lib/accordion.less
new file mode 100644
index 0000000000..babbe85f92
--- /dev/null
+++ b/lib/accordion.less
@@ -0,0 +1,21 @@
+// ACCORDION
+// ---------
+
+.accordion {
+  padding: 0;
+}
+.accordion-heading {
+  padding: 5px 10px;
+  border: 1px solid #ddd;
+}
+.accordion-body {
+  padding: 10px;
+  margin-left: 0;
+  margin-bottom: @baseLineHeight / 2;
+  border: 1px solid #ddd;
+  border-top: 0;
+  display: none;
+}
+.accordion .in {
+  display: block;
+}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index db5ed61f7f..fec87a3396 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -52,6 +52,7 @@
 @import "thumbnails.less";
 @import "labels.less";
 @import "progress-bars.less";
+@import "accordion.less";
 @import "carousel.less";
 
 // Utility classes
diff --git a/lib/carousel.less b/lib/carousel.less
index 0cfb0127a0..a9399ef63c 100644
--- a/lib/carousel.less
+++ b/lib/carousel.less
@@ -2,14 +2,17 @@
 // --------
 
 .carousel {
+  position: relative;
+  line-height: 1;
+}
 
+.carousel-inner {
+  overflow: hidden;
+  width: 100%;
   position: relative;
+}
 
-  .carousel-inner {
-    overflow: hidden;
-    width: 100%;
-    position: relative;
-  }
+.carousel {
 
   .item {
     display: none;
@@ -17,38 +20,88 @@
     .transition(.6s ease-in-out left);
   }
 
-  .active, .next, .prev { display: block; }
+  .active, 
+  .next, 
+  .prev { display: block; }
 
-  .active { left: 0 }
+  .active {
+    left: 0;
+  }
 
-  .next, .prev {
+  .next, 
+  .prev {
     position: absolute;
     top: 0;
     width: 100%;
   }
 
-  .next { left: 100%; }
-  .prev { left: -100%; }
-  .next.left, .prev.right { left: 0% }
+  .next {
+    left: 100%;
+  }
+  .prev {
+    left: -100%;
+  }
+  .next.left, 
+  .prev.right {
+    left: 0;
+  }
+
+  .active.left {
+    left: -100%;
+  }
+  .active.right {
+    left: 100%;
+  }
 
-  .active.left { left: -100% }
-  .active.right { left: 100% }
+}
 
-  .nav {
-    width: auto;
-    .border-radius(0);
-    height: 50px;
-    position: absolute;
-    top: 50%;
-    margin: -25px 0 0;
-    cursor: pointer;
-    background: rgba(0, 0, 0, 0.7);
-    color: white;
-    font-size: 42px;
-    left: 5px;
-    font-weight: 100;
-    padding: 0 15px;
-    &.right { right: 5px; left: auto; }
-    &:hover { text-decoration: none; background: rgba(0, 0, 0, 0.8); }
-  }
-}
\ No newline at end of file
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+  position: absolute;
+  top: 40%;
+  left: 15px;
+  width: 40px;
+  height: 40px;
+  margin-top: -20px;
+  font-size: 60px;
+  font-weight: 100;
+  line-height: 30px;
+  color: #ccc;
+  text-align: center;
+  background: #999;
+  background: rgba(0,0,0,.5);
+  .border-radius(20px);
+
+  // Reposition the right one
+  &.right {
+    left: auto;
+    right: 15px;
+  }
+
+  // Hover state
+  &:hover {
+    color: #fff;
+    text-decoration: none;
+    background: #333;
+    background: rgba(0,0,0,.75);
+  }
+}
+
+// Caption for text below images
+// -----------------------------
+
+.carousel-caption {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding: 10px 15px 5px;
+  background: #333;
+  background: rgba(0,0,0,.75);
+}
+.carousel-caption h4,
+.carousel-caption p {
+  color: #fff;
+}
-- 
GitLab


From b4dd2b9a10a9313bbe0863b9da279e212f8d230d Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Sun, 15 Jan 2012 19:38:30 -0800
Subject: [PATCH 303/576] fix typo

---
 docs/base-css.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index ccc2216c67..99a4efe3a8 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -623,7 +623,7 @@
   <h3>1. Default table styles</h3>
   <div class="row">
     <div class="span4">
-      <p>Tables are automatically styled with only the a few borders to ensure readability and maintain structure. No classes are required.</p>
+      <p>Tables are automatically styled with only a few borders to ensure readability and maintain structure. No classes are required.</p>
 <pre class="prettyprint linenums">
 &lt;table&gt;
   ...
-- 
GitLab


From 810bba97a418ae641d9360c232c1492610463dcf Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 15 Jan 2012 21:48:58 -0800
Subject: [PATCH 304/576] make accordions little bit smoother

---
 bootstrap.css        | 11 ++++++-----
 bootstrap.min.css    |  9 +++++----
 docs/javascript.html |  7 ++++---
 lib/accordion.less   | 13 +++++++++----
 4 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8192b24c8a..7a34c8d69f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 18:32:40 PST 2012
+ * Date: Sun Jan 15 21:48:07 PST 2012
  */
 html, body {
   margin: 0;
@@ -2942,17 +2942,18 @@ a.thumbnail:hover {
 .accordion-heading {
   padding: 5px 10px;
   border: 1px solid #ddd;
+  margin-bottom: 1px;
 }
 .accordion-body {
-  padding: 10px;
   margin-left: 0;
-  margin-bottom: 9px;
+}
+.accordion-inner {
+  padding: 10px;
   border: 1px solid #ddd;
   border-top: 0;
-  display: none;
 }
 .accordion .in {
-  display: block;
+  margin-bottom: 9px;
 }
 .carousel {
   position: relative;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6e348c597a..f428436385 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -514,9 +514,10 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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{padding:0;}
-.accordion-heading{padding:5px 10px;border:1px solid #ddd;}
-.accordion-body{padding:10px;margin-left:0;margin-bottom:9px;border:1px solid #ddd;border-top:0;display:none;}
-.accordion .in{display:block;}
+.accordion-heading{padding:5px 10px;border:1px solid #ddd;margin-bottom:1px;}
+.accordion-body{margin-left:0;}
+.accordion-inner{padding:10px;border:1px solid #ddd;border-top:0;}
+.accordion .in{margin-bottom:9px;}
 .carousel{position:relative;line-height:1;}
 .carousel-inner{overflow:hidden;width:100%;position:relative;}
 .carousel .item{display:none;position:relative;-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;}
@@ -538,4 +539,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .show{display:block;}
 .invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/javascript.html b/docs/javascript.html
index 1a6565c399..b582b13954 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1079,6 +1079,7 @@ $('#my-alert').bind('closed', function () {
         <div class="span9 columns">
           <h2>Example accordion</h2>
           <p>Using the collapse plugin, we built a simple accordion style widget:</p>
+
           <dl class="accordion" id="accordion">
             <dt class="accordion-heading">
               <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
@@ -1086,7 +1087,7 @@ $('#my-alert').bind('closed', function () {
               </a>
             </dt>
             <dd id="collapseOne" class="accordion-body collapse in">
-              <p>
+              <p class="accordion-inner">
               Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
               </p>
             </dd>
@@ -1096,7 +1097,7 @@ $('#my-alert').bind('closed', function () {
               </a>
             </dt>
             <dd id="collapseTwo" class="accordion-body collapse">
-              <p>
+              <p class="accordion-inner">
               Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
               </p>
             </dd>
@@ -1106,7 +1107,7 @@ $('#my-alert').bind('closed', function () {
               </a>
             </dt>
             <dd id="collapseThree" class="accordion-body collapse">
-              <p>
+              <p class="accordion-inner">
               Tempor gentrify pariatur nihil salvia, irony synth incididunt odio commodo brunch aute. Four loko est vice echo park wes anderson jean shorts, tempor ea vero locavore. Seitan DIY dolore readymade williamsburg viral. Dolor fap master cleanse delectus, ad butcher labore duis vice mollit cillum exercitation eu banh mi. Austin banksy 3 wolf moon locavore sed, helvetica next level VHS you probably haven't heard of them ethical odio. Incididunt locavore minim, do seitan consequat qui thundercats labore before they sold out retro laborum. Esse twee readymade laboris fap vice, voluptate DIY.
               </p>
             </dd>
diff --git a/lib/accordion.less b/lib/accordion.less
index babbe85f92..ab450d10e3 100644
--- a/lib/accordion.less
+++ b/lib/accordion.less
@@ -4,18 +4,23 @@
 .accordion {
   padding: 0;
 }
+
 .accordion-heading {
   padding: 5px 10px;
   border: 1px solid #ddd;
+  margin-bottom: 1px;
 }
+
 .accordion-body {
-  padding: 10px;
   margin-left: 0;
-  margin-bottom: @baseLineHeight / 2;
+}
+
+.accordion-inner {
+  padding: 10px;
   border: 1px solid #ddd;
   border-top: 0;
-  display: none;
 }
+
 .accordion .in {
-  display: block;
+  margin-bottom: @baseLineHeight / 2;
 }
-- 
GitLab


From 036b98535711941ba64d9bb507f57ca60ec3cdc3 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 15 Jan 2012 21:50:04 -0800
Subject: [PATCH 305/576] fix margin

---
 bootstrap.css      | 5 ++---
 bootstrap.min.css  | 4 ++--
 lib/accordion.less | 3 +--
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 7a34c8d69f..6e8d32be50 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 21:48:07 PST 2012
+ * Date: Sun Jan 15 21:49:43 PST 2012
  */
 html, body {
   margin: 0;
@@ -2942,10 +2942,9 @@ a.thumbnail:hover {
 .accordion-heading {
   padding: 5px 10px;
   border: 1px solid #ddd;
-  margin-bottom: 1px;
 }
 .accordion-body {
-  margin-left: 0;
+  margin: 0 0 1px 0;
 }
 .accordion-inner {
   padding: 10px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f428436385..93fbf03d49 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -514,8 +514,8 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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{padding:0;}
-.accordion-heading{padding:5px 10px;border:1px solid #ddd;margin-bottom:1px;}
-.accordion-body{margin-left:0;}
+.accordion-heading{padding:5px 10px;border:1px solid #ddd;}
+.accordion-body{margin:0 0 1px 0;}
 .accordion-inner{padding:10px;border:1px solid #ddd;border-top:0;}
 .accordion .in{margin-bottom:9px;}
 .carousel{position:relative;line-height:1;}
diff --git a/lib/accordion.less b/lib/accordion.less
index ab450d10e3..8485ee4273 100644
--- a/lib/accordion.less
+++ b/lib/accordion.less
@@ -8,11 +8,10 @@
 .accordion-heading {
   padding: 5px 10px;
   border: 1px solid #ddd;
-  margin-bottom: 1px;
 }
 
 .accordion-body {
-  margin-left: 0;
+  margin: 0 0 1px 0;
 }
 
 .accordion-inner {
-- 
GitLab


From 87bd0e0b88b9c5a836bfde1478839e542c74ac05 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 15 Jan 2012 21:54:58 -0800
Subject: [PATCH 306/576] do some trickery to get borders looking right

---
 bootstrap.css      | 7 +++++--
 bootstrap.min.css  | 6 +++---
 lib/accordion.less | 5 ++++-
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6e8d32be50..efc1343178 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 21:49:43 PST 2012
+ * Date: Sun Jan 15 21:54:32 PST 2012
  */
 html, body {
   margin: 0;
@@ -2942,14 +2942,17 @@ a.thumbnail:hover {
 .accordion-heading {
   padding: 5px 10px;
   border: 1px solid #ddd;
+  border-bottom: 0;
 }
 .accordion-body {
+  border-bottom: 1px solid #ddd;
   margin: 0 0 1px 0;
 }
 .accordion-inner {
   padding: 10px;
   border: 1px solid #ddd;
-  border-top: 0;
+  border-bottom: 0;
+  margin-bottom: 0;
 }
 .accordion .in {
   margin-bottom: 9px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 93fbf03d49..95229b2d97 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -514,9 +514,9 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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{padding:0;}
-.accordion-heading{padding:5px 10px;border:1px solid #ddd;}
-.accordion-body{margin:0 0 1px 0;}
-.accordion-inner{padding:10px;border:1px solid #ddd;border-top:0;}
+.accordion-heading{padding:5px 10px;border:1px solid #ddd;border-bottom:0;}
+.accordion-body{border-bottom:1px solid #ddd;margin:0 0 1px 0;}
+.accordion-inner{padding:10px;border:1px solid #ddd;border-bottom:0;margin-bottom:0;}
 .accordion .in{margin-bottom:9px;}
 .carousel{position:relative;line-height:1;}
 .carousel-inner{overflow:hidden;width:100%;position:relative;}
diff --git a/lib/accordion.less b/lib/accordion.less
index 8485ee4273..c5fd657e02 100644
--- a/lib/accordion.less
+++ b/lib/accordion.less
@@ -8,16 +8,19 @@
 .accordion-heading {
   padding: 5px 10px;
   border: 1px solid #ddd;
+  border-bottom: 0;
 }
 
 .accordion-body {
+  border-bottom: 1px solid #ddd;
   margin: 0 0 1px 0;
 }
 
 .accordion-inner {
   padding: 10px;
   border: 1px solid #ddd;
-  border-top: 0;
+  border-bottom: 0;
+  margin-bottom: 0;
 }
 
 .accordion .in {
-- 
GitLab


From 7ec4e91324e6e490291f3de22e1127c4fa55f82a Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 15 Jan 2012 21:58:45 -0800
Subject: [PATCH 307/576] reorder properties

---
 bootstrap.css      | 6 +++---
 bootstrap.min.css  | 4 ++--
 lib/accordion.less | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index efc1343178..8b82efd579 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 21:54:32 PST 2012
+ * Date: Sun Jan 15 21:58:40 PST 2012
  */
 html, body {
   margin: 0;
@@ -2945,14 +2945,14 @@ a.thumbnail:hover {
   border-bottom: 0;
 }
 .accordion-body {
-  border-bottom: 1px solid #ddd;
   margin: 0 0 1px 0;
+  border-bottom: 1px solid #ddd;
 }
 .accordion-inner {
   padding: 10px;
+  margin-bottom: 0;
   border: 1px solid #ddd;
   border-bottom: 0;
-  margin-bottom: 0;
 }
 .accordion .in {
   margin-bottom: 9px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 95229b2d97..a3e2b35460 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -515,8 +515,8 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info.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));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: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{padding:0;}
 .accordion-heading{padding:5px 10px;border:1px solid #ddd;border-bottom:0;}
-.accordion-body{border-bottom:1px solid #ddd;margin:0 0 1px 0;}
-.accordion-inner{padding:10px;border:1px solid #ddd;border-bottom:0;margin-bottom:0;}
+.accordion-body{margin:0 0 1px 0;border-bottom:1px solid #ddd;}
+.accordion-inner{padding:10px;margin-bottom:0;border:1px solid #ddd;border-bottom:0;}
 .accordion .in{margin-bottom:9px;}
 .carousel{position:relative;line-height:1;}
 .carousel-inner{overflow:hidden;width:100%;position:relative;}
diff --git a/lib/accordion.less b/lib/accordion.less
index c5fd657e02..7bd0b8278e 100644
--- a/lib/accordion.less
+++ b/lib/accordion.less
@@ -12,15 +12,15 @@
 }
 
 .accordion-body {
-  border-bottom: 1px solid #ddd;
   margin: 0 0 1px 0;
+  border-bottom: 1px solid #ddd;
 }
 
 .accordion-inner {
   padding: 10px;
+  margin-bottom: 0;
   border: 1px solid #ddd;
   border-bottom: 0;
-  margin-bottom: 0;
 }
 
 .accordion .in {
-- 
GitLab


From f1a88eede391cbb4beaadce60768a351724d7633 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 16 Jan 2012 17:27:30 -0800
Subject: [PATCH 308/576] fix js link in docs nav, restyle accordion with new
 css

---
 bootstrap.css         | 24 ++++++++++-----
 bootstrap.min.css     |  5 ++--
 docs/base-css.html    |  2 +-
 docs/components.html  |  2 +-
 docs/index.html       |  2 +-
 docs/javascript.html  | 69 +++++++++++++++++++++++--------------------
 docs/less.html        |  2 +-
 docs/scaffolding.html |  2 +-
 docs/upgrading.html   |  2 +-
 lib/accordion.less    | 18 ++++++-----
 10 files changed, 73 insertions(+), 55 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8192b24c8a..acd0ae5c88 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 15 18:32:40 PST 2012
+ * Date: Mon Jan 16 16:01:19 PST 2012
  */
 html, body {
   margin: 0;
@@ -2939,17 +2939,25 @@ a.thumbnail:hover {
 .accordion {
   padding: 0;
 }
+.accordion-group {
+  margin-bottom: 9px;
+  background-color: #eee;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
 .accordion-heading {
-  padding: 5px 10px;
-  border: 1px solid #ddd;
+  display: block;
+  padding: 9px 15px;
 }
 .accordion-body {
-  padding: 10px;
-  margin-left: 0;
-  margin-bottom: 9px;
-  border: 1px solid #ddd;
-  border-top: 0;
   display: none;
+  padding: 15px;
+  margin-left: 0;
+  border-top: 1px solid #ddd;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
 }
 .accordion .in {
   display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6e348c597a..93b85abc1a 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -514,8 +514,9 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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{padding:0;}
-.accordion-heading{padding:5px 10px;border:1px solid #ddd;}
-.accordion-body{padding:10px;margin-left:0;margin-bottom:9px;border:1px solid #ddd;border-top:0;display:none;}
+.accordion-group{margin-bottom:9px;background-color:#eee;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.accordion-heading{display:block;padding:9px 15px;}
+.accordion-body{display:none;padding:15px;margin-left:0;border-top:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}
 .accordion .in{display:block;}
 .carousel{position:relative;line-height:1;}
 .carousel-inner{overflow:hidden;width:100%;position:relative;}
diff --git a/docs/base-css.html b/docs/base-css.html
index ccc2216c67..3ba3e4525d 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -81,7 +81,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#javascript">Overview</a></li>
                 <li><a href="./javascript.html#modals">Modal</a></li>
                 <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
diff --git a/docs/components.html b/docs/components.html
index 1343a4279d..dd7f098b5f 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -81,7 +81,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#javascript">Overview</a></li>
                 <li><a href="./javascript.html#modals">Modal</a></li>
                 <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
diff --git a/docs/index.html b/docs/index.html
index 62931daac1..c30417c8f5 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -82,7 +82,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#javascript">Overview</a></li>
                 <li><a href="./javascript.html#modals">Modal</a></li>
                 <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
diff --git a/docs/javascript.html b/docs/javascript.html
index 1a6565c399..5435784266 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -82,7 +82,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#javascript">Overview</a></li>
                 <li><a href="./javascript.html#modals">Modal</a></li>
                 <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
@@ -151,7 +151,7 @@
         <div class="span3">
           <label>
             <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
-            <p>A new take on the jQuery Tipsy plugin, Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
+            <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
           </label>
         </div>
         <div class="span3">
@@ -196,7 +196,7 @@
         <div class="span3">
           <label>
             <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
-            <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alert messages.</p>
+            <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
             <p class="muted"><strong>*</strong> Required for animation in plugins</p>
           </label>
         </div>
@@ -1079,38 +1079,43 @@ $('#my-alert').bind('closed', function () {
         <div class="span9 columns">
           <h2>Example accordion</h2>
           <p>Using the collapse plugin, we built a simple accordion style widget:</p>
-          <dl class="accordion" id="accordion">
-            <dt class="accordion-heading">
-              <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                Collapsible Group Item #1
+
+          <div class="accordion">
+            <div class="accordion-group">
+              <a class="accordion-heading" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
+                Collapsible group #1
               </a>
-            </dt>
-            <dd id="collapseOne" class="accordion-body collapse in">
-              <p>
-              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-              </p>
-            </dd>
-            <dt class="accordion-heading">
-              <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
-                Collapsible Group Item #2
+              <div class="accordion-body collapse in" id="collapseOne">
+                <h5>Lorem ipsum</h5>
+                <p>Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.</p>
+                <p>Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et.</p>
+                <p>Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.</p>
+              </div>
+            </div>
+            <div class="accordion-group">
+              <a class="accordion-heading" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
+                Collapsible group #2
               </a>
-            </dt>
-            <dd id="collapseTwo" class="accordion-body collapse">
-              <p>
-              Blog +1 eiusmod, williamsburg chambray craft beer brooklyn. Trust fund squid whatever, sunt hoodie skateboard mustache 3 wolf moon art party wes anderson ad leggings officia. Skateboard keytar incididunt gluten-free retro sartorial, single-origin coffee et viral. Art party blog sunt, readymade fugiat 8-bit aesthetic ex echo park fanny pack keytar. Thundercats sustainable labore, mustache adipisicing tattooed dolore aute occaecat velit 8-bit raw denim letterpress. In occaecat freegan, next level single-origin coffee chambray excepteur nihil duis exercitation adipisicing ex sartorial twee squid. You probably haven't heard of them fugiat ea retro eiusmod quis cosby sweater, +1 fap sapiente biodiesel banksy.
-              </p>
-            </dd>
-            <dt class="accordion-heading">
-              <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
-                Collapsible Group Item #3
+              <div class="accordion-body collapse" id="collapseTwo">
+                <h5>Lorem ipsum</h5>
+                <p>Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.</p>
+                <p>Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et.</p>
+                <p>Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.</p>
+              </div>
+            </div>
+            <div class="accordion-group">
+              <a class="accordion-heading" data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
+                Collapsible group #3
               </a>
-            </dt>
-            <dd id="collapseThree" class="accordion-body collapse">
-              <p>
-              Tempor gentrify pariatur nihil salvia, irony synth incididunt odio commodo brunch aute. Four loko est vice echo park wes anderson jean shorts, tempor ea vero locavore. Seitan DIY dolore readymade williamsburg viral. Dolor fap master cleanse delectus, ad butcher labore duis vice mollit cillum exercitation eu banh mi. Austin banksy 3 wolf moon locavore sed, helvetica next level VHS you probably haven't heard of them ethical odio. Incididunt locavore minim, do seitan consequat qui thundercats labore before they sold out retro laborum. Esse twee readymade laboris fap vice, voluptate DIY.
-              </p>
-            </dd>
-          </dl>
+              <div class="accordion-body collapse" id="collapseThree">
+                <h5>Lorem ipsum</h5>
+                <p>Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.</p>
+                <p>Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et.</p>
+                <p>Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.</p>
+              </div>
+            </div>
+          </div>
+
           <hr>
           <h2>Using bootstrap-collapse.js</h2>
           <p>Enable via javascript:</p>
diff --git a/docs/less.html b/docs/less.html
index 357f242b10..6e43d95bd1 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -81,7 +81,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#javascript">Overview</a></li>
                 <li><a href="./javascript.html#modals">Modal</a></li>
                 <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index eab6fedf52..77b94d8ce3 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -81,7 +81,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#javascript">Overview</a></li>
                 <li><a href="./javascript.html#modals">Modal</a></li>
                 <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index e1b9f204e3..42521bb9a8 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -81,7 +81,7 @@
                 <b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="./javascript.html#transitions">Transition</a></li>
+                <li><a href="./javascript.html#javascript">Overview</a></li>
                 <li><a href="./javascript.html#modals">Modal</a></li>
                 <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
                 <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
diff --git a/lib/accordion.less b/lib/accordion.less
index babbe85f92..25e8fec631 100644
--- a/lib/accordion.less
+++ b/lib/accordion.less
@@ -4,17 +4,21 @@
 .accordion {
   padding: 0;
 }
+.accordion-group {
+  margin-bottom: @baseLineHeight / 2;
+  background-color: #eee;
+  .border-radius(4px);
+}
 .accordion-heading {
-  padding: 5px 10px;
-  border: 1px solid #ddd;
+  display: block;
+  padding: 9px 15px;
 }
 .accordion-body {
-  padding: 10px;
-  margin-left: 0;
-  margin-bottom: @baseLineHeight / 2;
-  border: 1px solid #ddd;
-  border-top: 0;
   display: none;
+  padding: 15px;
+  margin-left: 0;
+  border-top: 1px solid #ddd;
+  .box-shadow(inset 0 1px 0 rgba(255,255,255,.25));
 }
 .accordion .in {
   display: block;
-- 
GitLab


From 593b062c7a9781272b983a1a2e1af0824d79e1c4 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 17 Jan 2012 10:32:25 -0800
Subject: [PATCH 309/576] wrap transition

---
 js/bootstrap-transition.js | 50 ++++++++++++++++++++------------------
 1 file changed, 27 insertions(+), 23 deletions(-)

diff --git a/js/bootstrap-transition.js b/js/bootstrap-transition.js
index aaaee4bd28..8f6e86e442 100644
--- a/js/bootstrap-transition.js
+++ b/js/bootstrap-transition.js
@@ -17,31 +17,35 @@
  * limitations under the License.
  * ========================================================== */
 
-$(function () {
+!function( $ ) {
 
-  "use strict"
+  $(function () {
 
-  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
-   * ======================================================= */
+    "use strict"
 
-  $.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
+    /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+     * ======================================================= */
 
-    return support && {
-      end: (function () {
-        var transitionEnd = "TransitionEnd"
-        if ( $.browser.webkit ) {
-        	transitionEnd = "webkitTransitionEnd"
-        } else if ( $.browser.mozilla ) {
-        	transitionEnd = "transitionend"
-        } else if ( $.browser.opera ) {
-        	transitionEnd = "oTransitionEnd"
-        }
-        return transitionEnd
-      }())
-    }
-  })()
+    $.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
 
-})
\ No newline at end of file
+      return support && {
+        end: (function () {
+          var transitionEnd = "TransitionEnd"
+          if ( $.browser.webkit ) {
+          	transitionEnd = "webkitTransitionEnd"
+          } else if ( $.browser.mozilla ) {
+          	transitionEnd = "transitionend"
+          } else if ( $.browser.opera ) {
+          	transitionEnd = "oTransitionEnd"
+          }
+          return transitionEnd
+        }())
+      }
+    })()
+
+  })
+  
+}( window.jQuery )
\ No newline at end of file
-- 
GitLab


From 4d098a7f8e2a39e7eb9baf36087e0c9856205413 Mon Sep 17 00:00:00 2001
From: Ben Oberkfell <boberkfell@gmail.com>
Date: Wed, 18 Jan 2012 00:37:24 -0600
Subject: [PATCH 310/576] typo fix in component docs

---
 docs/components.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/components.html b/docs/components.html
index 1343a4279d..bc7d335c8d 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -1278,7 +1278,7 @@
           </div>
           <div class="span4">
             <h3>Browser support</h3>
-            <p>Progress bars use CSS3 gradients, transitions, and animations to achieve all theire effects. These features are not supported in IE7-8 or older versions of Firefox.</p>
+            <p>Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.</p>
             <p>Opera does not support animations at this time.</p>
           </div>
         </div>
-- 
GitLab


From 51f5b7b8af6e0f6ef0dbe86528209cd664af240a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 17 Jan 2012 23:24:59 -0800
Subject: [PATCH 311/576] cleanup accordion css and add comments

---
 bootstrap.css        |  9 +++------
 bootstrap.min.css    |  5 ++---
 docs/javascript.html |  2 +-
 lib/accordion.less   | 11 +++++------
 4 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 9d3f9d9b6c..d573d34366 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 17 23:17:49 PST 2012
+ * Date: Tue Jan 17 23:24:38 PST 2012
  */
 html, body {
   margin: 0;
@@ -2937,7 +2937,7 @@ a.thumbnail:hover {
   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 {
-  padding: 0;
+  margin-bottom: 18px;
 }
 .accordion-group {
   background-color: #f5f5f5;
@@ -2950,15 +2950,12 @@ a.thumbnail:hover {
   border-bottom: 0;
 }
 .accordion-body {
-  margin: 0 0 2px;
+  margin-bottom: 2px;
 }
 .accordion-inner {
   padding: 9px 15px;
   border-top: 1px solid #e5e5e5;
 }
-.accordion .in {
-  margin-bottom: 9px;
-}
 .carousel {
   position: relative;
   line-height: 1;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 09ecc6663a..1255854f80 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -513,12 +513,11 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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{padding:0;}
+.accordion{margin-bottom:18px;}
 .accordion-group{background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .accordion-heading{padding:8px 15px;border-bottom:0;}
-.accordion-body{margin:0 0 2px;}
+.accordion-body{margin-bottom:2px;}
 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
-.accordion .in{margin-bottom:9px;}
 .carousel{position:relative;line-height:1;}
 .carousel-inner{overflow:hidden;width:100%;position:relative;}
 .carousel .item{display:none;position:relative;-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;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 34dfc1c4b6..a132a40118 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1080,7 +1080,7 @@ $('#my-alert').bind('closed', function () {
           <h2>Example accordion</h2>
           <p>Using the collapse plugin, we built a simple accordion style widget:</p>
         
-          <div class="accordion2" id="accordion2">
+          <div class="accordion" id="accordion2">
             <div class="accordion-group">
               <div class="accordion-heading">
                 <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
diff --git a/lib/accordion.less b/lib/accordion.less
index b7542b18f2..a57683e7b0 100644
--- a/lib/accordion.less
+++ b/lib/accordion.less
@@ -1,10 +1,13 @@
 // ACCORDION
 // ---------
 
+
+// Parent container
 .accordion {
   margin-bottom: @baseLineHeight;
 }
 
+// Group == heading + body
 .accordion-group {
   background-color: #f5f5f5;
   .border-radius(4px);
@@ -13,16 +16,12 @@
   padding: 8px 15px;
   border-bottom: 0;
 }
-
 .accordion-body {
-  margin: 0 0 2px;
+  margin-bottom: 2px;
 }
 
+// Inner needs the styles because you can't animate properly with any styles on the element
 .accordion-inner {
   padding: 9px 15px;
   border-top: 1px solid #e5e5e5;
 }
-
-.accordion .in {
-  margin-bottom: @baseLineHeight / 2;
-}
-- 
GitLab


From 47b8184bbb5784eb373ffbb905c8a1756eba3c6d Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 17 Jan 2012 23:39:18 -0800
Subject: [PATCH 312/576] scope table styles to a class, .table, instead of on
 the generic element as a smarter default

---
 bootstrap.css         | 14 ++++++------
 bootstrap.min.css     | 11 +++++-----
 docs/base-css.html    | 47 ++++++++++++++++++++++-----------------
 docs/index.html       |  2 +-
 docs/javascript.html  | 24 ++++++++++----------
 docs/less.html        | 14 ++++++------
 docs/scaffolding.html |  4 ++--
 lib/tables.less       | 51 +++++++++++++++++++++----------------------
 8 files changed, 86 insertions(+), 81 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index d573d34366..c184d1332a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 17 23:24:38 PST 2012
+ * Date: Tue Jan 17 23:38:42 PST 2012
  */
 html, body {
   margin: 0;
@@ -975,27 +975,27 @@ input::-webkit-input-placeholder {
 .form-horizontal .form-actions {
   padding-left: 160px;
 }
-table {
+.table {
   width: 100%;
   margin-bottom: 18px;
 }
-th, td {
+.table th, .table td {
   padding: 8px;
   line-height: 18px;
   text-align: left;
   border-top: 1px solid #ddd;
 }
-th {
+.table th {
   font-weight: bold;
   vertical-align: bottom;
 }
-td {
+.table td {
   vertical-align: top;
 }
-thead:first-child tr th, thead:first-child tr td {
+.table thead:first-child tr th, .table thead:first-child tr td {
   border-top: 0;
 }
-tbody + tbody {
+.table tbody + tbody {
   border-top: 2px solid #ddd;
 }
 .table-condensed th, .table-condensed td {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 1255854f80..a6128a0b5e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -176,12 +176,11 @@ input::-webkit-input-placeholder{color:#999999;}
 .form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
 .form-horizontal .controls{margin-left:160px;}
 .form-horizontal .form-actions{padding-left:160px;}
-table{width:100%;margin-bottom:18px;}
-th,td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
-th{font-weight:bold;vertical-align:bottom;}
-td{vertical-align:top;}
-thead:first-child tr th,thead:first-child tr td{border-top:0;}
-tbody+tbody{border-top:2px solid #ddd;}
+.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
+.table th{font-weight:bold;vertical-align:bottom;}
+.table td{vertical-align:top;}
+.table thead:first-child tr th,.table thead:first-child tr td{border-top:0;}
+.table tbody+tbody{border-top:2px solid #ddd;}
 .table-condensed th,.table-condensed td{padding:4px 5px;}
 .table-bordered{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
 .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;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 1d64a57870..fa60204a84 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -150,7 +150,7 @@
 
   <!-- Misc Elements -->
   <h2>Emphasis, address, and abbreviation</h2>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
     <thead>
       <tr>
         <th>Element</th>
@@ -237,7 +237,7 @@
 
   <!-- Blockquotes -->
   <h2>Blockquotes</h2>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
     <thead>
       <tr>
         <th>Element</th>
@@ -383,7 +383,7 @@
   <!-- Code -->
 
   <h2>Code <small>Inline and block</small></h2>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
     <thead>
       <tr>
         <th style="width: 190px;">Element</th>
@@ -425,7 +425,7 @@
 
   <!-- Labels -->
   <h2>Inline labels <small>for special attention</small></h2>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
     <thead>
       <tr>
         <th style="width: 190px;">Labels</th>
@@ -490,7 +490,7 @@
   <h2>Table markup</h2>
   <div class="row">
     <div class="span8">
-      <table class="table-bordered table-striped">
+      <table class="table table-bordered table-striped">
         <thead>
           <tr>
             <th>Tag</th>
@@ -579,7 +579,7 @@
   </div>
 
   <h2>Table options</h2>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
   <thead>
       <tr>
         <th>Name</th>
@@ -591,6 +591,13 @@
       <tr>
         <td>Default</td>
         <td class="muted">None</td>
+        <td>No styles, just columns and rows</td>
+      </tr>
+      <tr>
+        <td>Basic</td>
+        <td>
+          <code>.table</code>
+        </td>
         <td>Only horizontal lines between rows</td>
       </tr>
       <tr>
@@ -623,14 +630,14 @@
   <h3>1. Default table styles</h3>
   <div class="row">
     <div class="span4">
-      <p>Tables are automatically styled with only a few borders to ensure readability and maintain structure. No classes are required.</p>
+      <p>Tables are automatically styled with only a few borders to ensure readability and maintain structure. With 2.0, the <code>.table</code> class is required.</p>
 <pre class="prettyprint linenums">
-&lt;table&gt;
+&lt;table class="table"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table>
+      <table class="table">
         <thead>
           <tr>
             <th>#</th>
@@ -670,12 +677,12 @@
       <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.table-striped</code> class.</p>
       <p class="muted"><strong>Note:</strong> Sprited tables use the <code>:nth-child</code> CSS selector and is not available in IE7-IE8.</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
-&lt;table class="table-striped"&gt;
+&lt;table class="table table-striped"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="table-striped">
+      <table class="table table-striped">
         <thead>
           <tr>
             <th>#</th>
@@ -714,12 +721,12 @@
     <div class="span4">
       <p>Add borders around the entire table and rounded corners for aesthetic purposes.</p>
 <pre class="prettyprint linenums">
-&lt;table class="table-bordered"&gt;
+&lt;table class="table table-bordered"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="table-bordered">
+      <table class="table table-bordered">
         <thead>
           <tr>
             <th>#</th>
@@ -762,12 +769,12 @@
     <div class="span4">
       <p>Make your tables more compact by adding the <code>.table-condensed</code> class to cut table cell padding in half (from 10px to 5px).</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
-&lt;table class="table-condensed"&gt;
+&lt;table class="table table-condensed"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="table-condensed">
+      <table class="table table-condensed">
         <thead>
           <tr>
             <th>#</th>
@@ -816,12 +823,12 @@
     });
   });
 &lt;/script&gt;
-&lt;table class="table-striped"&gt;
+&lt;table class="table table-striped"&gt;
   ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="table-striped tablesorter-example">
+      <table class="table table-striped tablesorter-example">
         <thead>
           <tr>
             <th>#</th>
@@ -858,7 +865,7 @@
         </tbody>
       </table>
       <p>Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.</p>
-      <table class="table-striped table-bordered table-condensed tablesorter-example">
+      <table class="table table-striped table-bordered table-condensed tablesorter-example">
         <thead>
           <tr>
             <th>#</th>
@@ -932,7 +939,7 @@
 
   <h2>Four types of forms</h2>
   <p>Bootstrap provides simple markup and styles for four styles of common web forms.</p>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
     <thead>
       <tr>
         <th>Name</th>
@@ -1259,7 +1266,7 @@
   <div class="page-header">
     <h1>Buttons</h1>
   </div>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
     <thead>
       <tr>
         <th>Button</th>
diff --git a/docs/index.html b/docs/index.html
index c30417c8f5..ce56a04ef6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -267,7 +267,7 @@
           ================================================== -->
           <h1>Get started in no time.</h1>
           <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-          <table class="table-bordered getting-started">
+          <table class="table table-bordered getting-started">
             <tbody>
               <tr>
                 <td class="quick-start">
diff --git a/docs/javascript.html b/docs/javascript.html
index a132a40118..fb854d2814 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -284,7 +284,7 @@
           <p>Call the modal via javascript:</p>
           <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
           <h3>Options</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -349,7 +349,7 @@ $('#myModal').modal({
           <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -666,7 +666,7 @@ $('#myModal').on('hidden', function () {
 &lt;/script&gt;</pre>
           </p>
           <h3>Events</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -719,7 +719,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p>Trigger the tooltip via javascript:</p>
           <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
           <h3>Options</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -813,7 +813,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p>Enable popovers via javascript:</p>
           <pre class="prettyprint linenums">$('#example').popover(options)</pre>
           <h3>Options</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -933,7 +933,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
           <h3>Events</h3>
           <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -976,7 +976,7 @@ $('#my-alert').bind('closed', function () {
         <div class="span9 columns">
           <h2>Example uses</h2>
           <p>Use the buttons plugin for states and toggles.</p>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <tbody>
              <tr>
                <td>Stateful</td>
@@ -1125,7 +1125,7 @@ $('#my-alert').bind('closed', function () {
           <p>Enable via javascript:</p>
           <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
           <h3>Options</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -1175,7 +1175,7 @@ $('#myCollapsible').collapse({
           <p>
             Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
           </p>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -1261,7 +1261,7 @@ $('#myCollapsible').on('hidden', function () {
           <p>Call via javascript:</p>
           <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
           <h3>Options</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
@@ -1310,7 +1310,7 @@ $('.myCarousel').carousel({
           <p>Cycles to the next item.</p>
           <h3>Events</h3>
           <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 150px;">Event</th>
@@ -1358,7 +1358,7 @@ $('.myCarousel').carousel({
           <p>Call the typeahead via javascript:</p>
           <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
           <h3>Options</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
              <tr>
                <th style="width: 100px;">Name</th>
diff --git a/docs/less.html b/docs/less.html
index 6e43d95bd1..09ff3e8e10 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -160,7 +160,7 @@
       </div>
 
           <h3>Hyperlinks</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <thead>
               <tr>
                 <th>Variable</th>
@@ -185,7 +185,7 @@
       <div class="row">
         <div class="span6">
           <h3>Grayscale colors</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@black</code></td>
@@ -216,7 +216,7 @@
         </div>
         <div class="span6">
           <h3>Accent colors</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@blue</code></td>
@@ -254,7 +254,7 @@
       <div class="row">
         <div class="span6">
           <h3>Grid system</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@gridColumns</code></td>
@@ -277,7 +277,7 @@
         </div>
         <div class="span6">
           <h3>Typography</h3>
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@baseFontSize</code></td>
@@ -302,7 +302,7 @@
           <h3>Visuals</h3>
         </div>
         <div class="span9">
-          <table class="table-bordered table-striped">
+          <table class="table table-bordered table-striped">
             <tbody>
               <tr>
                 <td><code>@primaryButtonColor</code></td>
@@ -453,7 +453,7 @@
     <h2 id="compiling">Compiling Less</h2>
     <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
     <h3>Ways to compile</h3>
-    <table class="table-bordered table-striped">
+    <table class="table table-bordered table-striped">
       <thead>
         <tr>
           <th style="width: 120px;">Method</th>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 77b94d8ce3..f068c837c7 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -223,7 +223,7 @@
   </div>
 
   <h2>Grid customization</h2>
-  <table class="table-bordered table-striped">
+  <table class="table table-bordered table-striped">
     <thead>
       <tr>
         <th>Variable</th>
@@ -335,7 +335,7 @@
     <div class="span8">
       <h2>Supported devices</h2>
       <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
-      <table class="table-bordered table-striped">
+      <table class="table table-bordered table-striped">
         <thead>
           <tr>
             <th>Label</th>
diff --git a/lib/tables.less b/lib/tables.less
index 1edd9e3b80..29e1e2d465 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -4,39 +4,38 @@
 // ----------------------------------------
 
 
-
 // BASELINE STYLES
 // ---------------
 
-table {
+.table {
   width: 100%;
   margin-bottom: @baseLineHeight;
-}
-th,
-td {
-  padding: 8px;
-  line-height: @baseLineHeight;
-  text-align: left;
-  border-top: 1px solid #ddd;
-}
-th {
-  font-weight: bold;
-  vertical-align: bottom;
-}
-td {
-  vertical-align: top;
-}
-
-// Remove top border from thead by default
-thead:first-child tr th,
-thead:first-child tr td {
-  border-top: 0;
+  // Cells
+  th,
+  td {
+    padding: 8px;
+    line-height: @baseLineHeight;
+    text-align: left;
+    border-top: 1px solid #ddd;
+  }
+  th {
+    font-weight: bold;
+    vertical-align: bottom;
+  }
+  td {
+    vertical-align: top;
+  }
+  // Remove top border from thead by default
+  thead:first-child tr th,
+  thead:first-child tr td {
+    border-top: 0;
+  }
+  // Account for multiple tbody instances
+  tbody + tbody {
+    border-top: 2px solid #ddd;
+  }
 }
 
-// Account for multiple tbody instances
-tbody + tbody {
-  border-top: 2px solid #ddd;
-}
 
 
 // CONDENSED TABLE W/ HALF PADDING
-- 
GitLab


From dd4140319ab4380dd21f5e90e65ef855c54c3420 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 17 Jan 2012 23:52:49 -0800
Subject: [PATCH 313/576] revamp the mixins file to organize things a bit more,
 make placeholder text use a new variable instead of relying solely on
 @grayLight

---
 bootstrap.css          |  2 +-
 lib/mixins.less        | 97 +++++++++++++++++++++++++++++-------------
 lib/progress-bars.less |  2 +-
 lib/variables.less     |  4 ++
 4 files changed, 74 insertions(+), 31 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c184d1332a..e2fd3539d1 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 17 23:38:42 PST 2012
+ * Date: Tue Jan 17 23:52:18 PST 2012
  */
 html, body {
   margin: 0;
diff --git a/lib/mixins.less b/lib/mixins.less
index 67e0c27de2..bcc67954af 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -3,7 +3,12 @@
 // -----------------------------------------------------------------
 
 
-// Clearfix for clearing floats like a boss h5bp.com/q
+// UTILITY MIXINS
+// --------------------------------------------------
+
+// Clearfix
+// -------------------------
+// For clearing floats like a boss h5bp.com/q
 .clearfix() {
   zoom: 1;
   &:before,
@@ -19,6 +24,7 @@
 }
 
 // Center-align a block level element
+// -------------------------
 .center-block() {
   display: block;
   margin-left: auto;
@@ -26,12 +32,14 @@
 }
 
 // IE7 inline-block
+// -------------------------
 .ie7-inline-block() {
   *display: inline; /* IE7 inline-block hack */
   *zoom: 1;
 }
 
 // Sizing shortcuts
+// -------------------------
 .size(@height: 5px, @width: 5px) {
   width: @width;
   height: @height;
@@ -40,8 +48,9 @@
   .size(@size, @size);
 }
 
-// Input placeholder text
-.placeholder(@color: @grayLight) {
+// Placeholder text
+// -------------------------
+.placeholder(@color: @placeHolderText) {
   :-moz-placeholder {
     color: @color;
   }
@@ -50,7 +59,11 @@
   }
 }
 
-// Font Stacks
+
+
+// FONTS
+// --------------------------------------------------
+
 #font {
   #family {
     .serif() {
@@ -82,20 +95,28 @@
   }
 }
 
-// Grid System
+
+
+// GRID SYSTEM
+// --------------------------------------------------
+
+// Site container
+// -------------------------
 .fixed-container() {
   width: @siteWidth;
   margin-left: auto;
   margin-right: auto;
   .clearfix();
 }
+
+// Columns and offseting
+// -------------------------
 .columns(@columns: 1) {
   width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
 }
 .offset(@columns: 1) {
   margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
 }
-
 // Necessary grid styles for every column to make them appear next to each other horizontally
 .gridColumn() {
   float: left;
@@ -107,6 +128,11 @@
   .columns(@columnSpan);
 }
 
+
+
+// CSS3 PROPERTIES
+// --------------------------------------------------
+
 // Border Radius
 .border-radius(@radius: 5px) {
   -webkit-border-radius: @radius;
@@ -170,15 +196,6 @@
           transform: translate(@x, @y);
 }
 
-// User select
-// For selecting text on the page
-.user-select(@select) {
-  -webkit-user-select: @select;
-     -moz-user-select: @select;
-       -o-user-select: @select;
-          user-select: @select;
-}
-
 // Background clipping
 // Heads up: FF 3.6 and under need padding instead of padding-box
 .background-clip(@clip) {
@@ -187,6 +204,15 @@
           background-clip: @clip;
 }
 
+// Background sizing
+.background-size(@size){
+  -webkit-background-size: @size;
+     -moz-background-size: @size;
+       -o-background-size: @size;
+          background-size: @size;
+}
+
+
 // Box sizing
 .box-sizing(@boxmodel) {
   -webkit-box-sizing: @boxmodel;
@@ -194,6 +220,15 @@
           box-sizing: @boxmodel;
 }
 
+// User select
+// For selecting text on the page
+.user-select(@select) {
+  -webkit-user-select: @select;
+     -moz-user-select: @select;
+       -o-user-select: @select;
+          user-select: @select;
+}
+
 // Resize anything
 .resizable(@direction: both) {
   resize: @direction; // Options: horizontal, vertical, both
@@ -210,6 +245,18 @@
           column-gap: @columnGap;
 }
 
+// Opacity
+.opacity(@opacity: 100) {
+  filter: e(%("alpha(opacity=%d)", @opacity));
+    -moz-opacity: @opacity / 100;
+         opacity: @opacity / 100;
+}
+
+
+
+// BACKGROUNDS
+// --------------------------------------------------
+
 // Add an alphatransparency value to any background or border color (via Elyse Holladay)
 #translucent {
   .background(@color: @white, @alpha: 1) {
@@ -301,14 +348,13 @@
   filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
 }
 
-// Opacity
-.opacity(@opacity: 100) {
-  filter: e(%("alpha(opacity=%d)", @opacity));
-    -moz-opacity: @opacity / 100;
-         opacity: @opacity / 100;
-}
 
-// Popover arrows
+
+// COMPONENT MIXINS
+// --------------------------------------------------
+
+// POPOVER ARROWS
+// -------------------------
 // For tipsies and popovers
 #popoverArrow {
   .top(@arrowWidth: 5px) {
@@ -344,10 +390,3 @@
     border-right: @arrowWidth solid @black;
   }
 }
-
-.background-size(@width, @height){
-  -webkit-background-size: @width @height;
-     -moz-background-size: @width @height;
-       -o-background-size: @width @height;
-          background-size: @width @height;
-}
diff --git a/lib/progress-bars.less b/lib/progress-bars.less
index fd9d3f4271..e8557a99e7 100644
--- a/lib/progress-bars.less
+++ b/lib/progress-bars.less
@@ -55,7 +55,7 @@
 // Striped bars
 .progress.striped .bar {
   #gradient > .striped(#62c462);
-  .background-size(40px, 40px);
+  .background-size(40px 40px);
 }
 
 // Call animation for the active one
diff --git a/lib/variables.less b/lib/variables.less
index 3f32c36f4d..3709d598d1 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -68,3 +68,7 @@
 
 // Visuals
 @primaryButtonColor:    @blue;
+
+
+
+@placeHolderText:       @grayLight;
-- 
GitLab


From a920fa2993fa91f3ad62e154eaa6ff7b2481f615 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 18 Jan 2012 00:12:58 -0800
Subject: [PATCH 314/576] re-org variables

---
 lib/variables.less | 98 +++++++++++++++++++++-------------------------
 1 file changed, 44 insertions(+), 54 deletions(-)

diff --git a/lib/variables.less b/lib/variables.less
index 3709d598d1..8afe000326 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -3,53 +3,56 @@
 // -----------------------------------------------------
 
 
-// LINK COLORS
-// -----------
-
-@linkColor:         #08c;
-@linkColorHover:    darken(@linkColor, 15);
-
-
-// GRAYS
-// -----
-
-@black:             #000;
-@grayDark:          #333;
-@gray:              #555;
-@grayLight:         #999;
-@grayLighter:       #eee;
-@white:             #fff;
-
-
-// ACCENT COLORS
-// -------------
-
-@blue:              #049CDB;
-@blueDark:          #0064CD;
-@green:             #46a546;
-@red:               #9d261d;
-@yellow:            #ffc40d;
-@orange:            #f89406;
-@pink:              #c3325f;
-@purple:            #7a43b6;
 
+// GLOBAL VALUES
+// --------------------------------------------------
+
+// Links
+@linkColor:             #08c;
+@linkColorHover:        darken(@linkColor, 15);
+
+// Grays
+@black:                 #000;
+@grayDark:              #333;
+@gray:                  #555;
+@grayLight:             #999;
+@grayLighter:           #eee;
+@white:                 #fff;
+
+// Accent colors
+@blue:                  #049CDB;
+@blueDark:              #0064CD;
+@green:                 #46a546;
+@red:                   #9d261d;
+@yellow:                #ffc40d;
+@orange:                #f89406;
+@pink:                  #c3325f;
+@purple:                #7a43b6;
+
+// Grid system
+// Modify the grid styles in mixins.less
+@gridColumns:           12;
+@gridColumnWidth:       60px;
+@gridGutterWidth:       20px;
+@siteWidth:             (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
+// Fluid width sidebar
+@fluidSidebarWidth:     220px;
 
-// GRID
-// ----
+// Typography
+@baseFontSize:          13px;
+@baseFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
+@baseLineHeight:        18px;
 
-// Modify the grid styles in mixins.less
-@gridColumns:       12;
-@gridColumnWidth:   60px;
-@gridGutterWidth:   20px;
-@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
+// Buttons
+@primaryButtonColor:    @blue;
 
-// Fluid width sidebar
-@fluidSidebarWidth: 220px;
 
 
-// Z-INDEX
-// -------
+// COMPONENT VARIABLES
+// --------------------------------------------------
 
+// Z-index master list
+// Used for a bird's eye view of components dependent on the z-axis
 @zindexDropdown:        1000;
 @zindexPopover:         1010;
 @zindexTooltip:         1020;
@@ -57,18 +60,5 @@
 @zindexModalBackdrop:   1040;
 @zindexModal:           1050;
 
-
-// THEME VARIABLES
-// ---------------
-
-// Typography
-@baseFontSize:          13px;
-@baseFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
-@baseLineHeight:        18px;
-
-// Visuals
-@primaryButtonColor:    @blue;
-
-
-
+// Input placeholder text color
 @placeHolderText:       @grayLight;
-- 
GitLab


From f2fadf1f0a3f444893fec394fd0180d03e1058a3 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 18 Jan 2012 00:24:10 -0800
Subject: [PATCH 315/576] rename navbar variables, change navbar search
 placeholder to mixin

---
 bootstrap.css      | 434 ++++++++++++++++++++++-----------------------
 bootstrap.min.css  |  62 +++----
 lib/bootstrap.less |   2 +-
 lib/navbar.less    |  25 ++-
 lib/variables.less |  11 +-
 5 files changed, 268 insertions(+), 266 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index e2fd3539d1..681605a88a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 17 23:52:18 PST 2012
+ * Date: Wed Jan 18 00:23:51 PST 2012
  */
 html, body {
   margin: 0;
@@ -1570,222 +1570,6 @@ i {
   opacity: 0.4;
   cursor: pointer;
 }
-.navbar {
-  overflow: visible;
-}
-.navbar-inner {
-  background-color: #222222;
-  background-color: #222222;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
-  background-image: -moz-linear-gradient(top, #333333, #222222);
-  background-image: -ms-linear-gradient(top, #333333, #222222);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);
-  -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);
-}
-.navbar .brand:hover {
-  color: #ffffff;
-  text-decoration: none;
-}
-.navbar .brand {
-  float: left;
-  display: block;
-  padding: 8px 20px 12px;
-  margin-left: -20px;
-  font-size: 20px;
-  font-weight: 200;
-  line-height: 1;
-  color: #ffffff;
-}
-.navbar p {
-  margin: 0;
-  line-height: 40px;
-}
-.navbar p a:hover {
-  color: #ffffff;
-  background-color: transparent;
-}
-.navbar .btn, .navbar .btn-group {
-  margin-top: 5px;
-}
-.navbar .btn-group .btn {
-  margin-top: 0;
-}
-.navbar-form {
-  margin-bottom: 0;
-}
-.navbar-form input, .navbar-form select {
-  display: inline-block;
-  margin-bottom: 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;
-  font-size: 13px;
-  font-weight: normal;
-  line-height: 1;
-  color: #ffffff;
-  color: rgba(255, 255, 255, 0.75);
-  background-color: #444;
-  background-color: rgba(255, 255, 255, 0.3);
-  border: 1px solid #111;
-  -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-transition: none;
-  -moz-transition: none;
-  -ms-transition: none;
-  -o-transition: none;
-  transition: none;
-}
-.navbar-search .search-query:-moz-placeholder {
-  color: #eeeeee;
-}
-.navbar-search .search-query::-webkit-input-placeholder {
-  color: #eeeeee;
-}
-.navbar-search .search-query:hover {
-  color: #ffffff;
-  background-color: #999999;
-  background-color: rgba(255, 255, 255, 0.5);
-}
-.navbar-search .search-query:focus, .navbar-search .search-query.focused {
-  padding: 5px 10px;
-  color: #333333;
-  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;
-}
-.navbar-static {
-  margin-bottom: 18px;
-}
-.navbar-static .navbar-inner {
-  padding-left: 20px;
-  padding-right: 20px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
-.navbar-fixed {
-  position: fixed;
-  top: 0;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-}
-.navbar .nav {
-  position: relative;
-  left: 0;
-  display: block;
-  float: left;
-  margin: 0 10px 0 0;
-}
-.navbar .nav.pull-right {
-  float: right;
-}
-.navbar .nav > li {
-  display: block;
-  float: left;
-}
-.navbar .nav > li > a {
-  float: none;
-  padding: 10px 10px 11px;
-  line-height: 19px;
-  color: #999999;
-  text-decoration: none;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.navbar .nav > li > a:hover {
-  background-color: transparent;
-  color: #ffffff;
-  text-decoration: none;
-}
-.navbar .nav .active > a {
-  color: #ffffff;
-  text-decoration: none;
-  background-color: #222;
-  background-color: rgba(0, 0, 0, 0.5);
-}
-.navbar .vertical-divider {
-  height: 40px;
-  width: 1px;
-  margin: 0 5px;
-  overflow: hidden;
-  background-color: #222;
-  border-right: 1px solid #444;
-}
-.navbar .nav.pull-right {
-  margin-left: 10px;
-  margin-right: 0;
-}
-.navbar .dropdown-menu {
-  top: 41px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
-.navbar .dropdown-menu:before {
-  content: '';
-  display: inline-block;
-  border-left: 7px solid transparent;
-  border-right: 7px solid transparent;
-  border-bottom: 7px solid #ccc;
-  border-bottom-color: rgba(0, 0, 0, 0.2);
-  position: absolute;
-  top: -7px;
-  left: 9px;
-}
-.navbar .dropdown-menu:after {
-  content: '';
-  display: inline-block;
-  border-left: 6px solid transparent;
-  border-right: 6px solid transparent;
-  border-bottom: 6px solid #fff;
-  position: absolute;
-  top: -6px;
-  left: 10px;
-}
-.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
-  border-top-color: #fff;
-}
-.navbar .nav .active .caret {
-  filter: alpha(opacity=100);
-  -moz-opacity: 1;
-  opacity: 1;
-}
-.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {
-  background-color: transparent;
-}
-.navbar .nav .active > .dropdown-toggle:hover {
-  color: #fff;
-}
-.navbar .nav.pull-right .dropdown-menu {
-  right: 0;
-}
-.navbar .nav.pull-right .dropdown-menu:before {
-  left: auto;
-  right: 12px;
-}
-.navbar .nav.pull-right .dropdown-menu:after {
-  left: auto;
-  right: 13px;
-}
 .nav {
   margin-left: 0;
   margin-bottom: 18px;
@@ -2040,6 +1824,222 @@ i {
 .tabs-right .tabs .active > a, .tabs-right .tabs .active > a:hover {
   border-color: #ddd #ddd #ddd transparent;
 }
+.navbar {
+  overflow: visible;
+}
+.navbar-inner {
+  background-color: #222222;
+  background-color: #222222;
+  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);
+  -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);
+}
+.navbar .brand:hover {
+  color: #ffffff;
+  text-decoration: none;
+}
+.navbar .brand {
+  float: left;
+  display: block;
+  padding: 8px 20px 12px;
+  margin-left: -20px;
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 1;
+  color: #ffffff;
+}
+.navbar p {
+  margin: 0;
+  line-height: 40px;
+}
+.navbar p a:hover {
+  color: #ffffff;
+  background-color: transparent;
+}
+.navbar .btn, .navbar .btn-group {
+  margin-top: 5px;
+}
+.navbar .btn-group .btn {
+  margin-top: 0;
+}
+.navbar-form {
+  margin-bottom: 0;
+}
+.navbar-form input, .navbar-form select {
+  display: inline-block;
+  margin-bottom: 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;
+  font-size: 13px;
+  font-weight: normal;
+  line-height: 1;
+  color: #ffffff;
+  color: rgba(255, 255, 255, 0.75);
+  background: #444;
+  background: rgba(255, 255, 255, 0.3);
+  border: 1px solid #111;
+  -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-transition: none;
+  -moz-transition: none;
+  -ms-transition: none;
+  -o-transition: none;
+  transition: none;
+}
+.navbar-search .search-query :-moz-placeholder {
+  color: #eeeeee;
+}
+.navbar-search .search-query ::-webkit-input-placeholder {
+  color: #eeeeee;
+}
+.navbar-search .search-query:hover {
+  color: #ffffff;
+  background-color: #999999;
+  background-color: rgba(255, 255, 255, 0.5);
+}
+.navbar-search .search-query:focus, .navbar-search .search-query.focused {
+  padding: 5px 10px;
+  color: #333333;
+  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;
+}
+.navbar-static {
+  margin-bottom: 18px;
+}
+.navbar-static .navbar-inner {
+  padding-left: 20px;
+  padding-right: 20px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.navbar-fixed {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+}
+.navbar .nav {
+  position: relative;
+  left: 0;
+  display: block;
+  float: left;
+  margin: 0 10px 0 0;
+}
+.navbar .nav.pull-right {
+  float: right;
+}
+.navbar .nav > li {
+  display: block;
+  float: left;
+}
+.navbar .nav > li > a {
+  float: none;
+  padding: 10px 10px 11px;
+  line-height: 19px;
+  color: #999999;
+  text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.navbar .nav > li > a:hover {
+  background-color: transparent;
+  color: #ffffff;
+  text-decoration: none;
+}
+.navbar .nav .active > a {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #222;
+  background-color: rgba(0, 0, 0, 0.5);
+}
+.navbar .vertical-divider {
+  height: 40px;
+  width: 1px;
+  margin: 0 5px;
+  overflow: hidden;
+  background-color: #222;
+  border-right: 1px solid #444;
+}
+.navbar .nav.pull-right {
+  margin-left: 10px;
+  margin-right: 0;
+}
+.navbar .dropdown-menu {
+  top: 41px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.navbar .dropdown-menu:before {
+  content: '';
+  display: inline-block;
+  border-left: 7px solid transparent;
+  border-right: 7px solid transparent;
+  border-bottom: 7px solid #ccc;
+  border-bottom-color: rgba(0, 0, 0, 0.2);
+  position: absolute;
+  top: -7px;
+  left: 9px;
+}
+.navbar .dropdown-menu:after {
+  content: '';
+  display: inline-block;
+  border-left: 6px solid transparent;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid #fff;
+  position: absolute;
+  top: -6px;
+  left: 10px;
+}
+.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
+  border-top-color: #fff;
+}
+.navbar .nav .active .caret {
+  filter: alpha(opacity=100);
+  -moz-opacity: 1;
+  opacity: 1;
+}
+.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {
+  background-color: transparent;
+}
+.navbar .nav .active > .dropdown-toggle:hover {
+  color: #fff;
+}
+.navbar .nav.pull-right .dropdown-menu {
+  right: 0;
+}
+.navbar .nav.pull-right .dropdown-menu:before {
+  left: auto;
+  right: 12px;
+}
+.navbar .nav.pull-right .dropdown-menu:after {
+  left: auto;
+  right: 13px;
+}
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index a6128a0b5e..9fd65f9a8f 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -311,37 +311,6 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
 .close{float:right;font-size:20px;font-weight:bold;line-height:12px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
-.navbar{overflow:visible;}
-.navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
-.navbar .brand:hover{color:#ffffff;text-decoration:none;}
-.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
-.navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
-.navbar .btn,.navbar .btn-group{margin-top:5px;}
-.navbar .btn-group .btn{margin-top:0;}
-.navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background-color:#444;background-color:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
-.navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
-.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
-.navbar-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1030;}
-.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
-.navbar .nav.pull-right{float:right;}
-.navbar .nav>li{display:block;float:left;}
-.navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
-.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
-.navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
-.navbar .nav.pull-right{margin-left:10px;margin-right:0;}
-.navbar .dropdown-menu{top:41px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
-.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:10px;}
-.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#fff;}
-.navbar .nav .active .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
-.navbar .nav .active>.dropdown-toggle:hover{color:#fff;}
-.navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
-.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
 .nav{margin-left:0;margin-bottom:18px;list-style:none;}
 .nav>li>a{display:block;}
 .nav>li>a:hover{text-decoration:none;background-color:#eee;}
@@ -397,6 +366,37 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
 .tabs-right .tabs>li>a:hover{border-color:#eee #eee #eee #ddd;}
 .tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
+.navbar{overflow:visible;}
+.navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
+.navbar .brand:hover{color:#ffffff;text-decoration:none;}
+.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
+.navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
+.navbar .btn,.navbar .btn-group{margin-top:5px;}
+.navbar .btn-group .btn{margin-top:0;}
+.navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
+.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
+.navbar-static{margin-bottom:18px;}
+.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1030;}
+.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
+.navbar .nav.pull-right{float:right;}
+.navbar .nav>li{display:block;float:left;}
+.navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
+.navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
+.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
+.navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
+.navbar .nav.pull-right{margin-left:10px;margin-right:0;}
+.navbar .dropdown-menu{top:41px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
+.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:10px;}
+.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#fff;}
+.navbar .nav .active .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
+.navbar .nav .active>.dropdown-toggle:hover{color:#fff;}
+.navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
+.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#999999;}
 .breadcrumb .active a{color:#333333;}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index fec87a3396..67642d1c45 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -32,8 +32,8 @@
 @import "close.less";
 
 // Components: Nav
-@import "navbar.less";
 @import "navs.less";
+@import "navbar.less";
 @import "breadcrumbs.less";
 @import "pagination.less";
 @import "pager.less";
diff --git a/lib/navbar.less b/lib/navbar.less
index 0d01fe524d..94bc652410 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -1,22 +1,21 @@
 // NAVBAR (FIXED AND STATIC)
 // -------------------------
 
-// Navbar variables
-@navBarHeight: 40px;
-@navBarBgStart: #333;
-@navBarBgEnd: #222;
 
-// Common styles
+// COMMON STYLES
+// -------------
+
 .navbar {
   overflow: visible;
 }
 // gradient is applied to it's own element because overflow visible is not honored by IE when filter is present
 .navbar-inner {
-  background-color: @navBarBgEnd;
-  #gradient > .vertical(@navBarBgStart, @navBarBgEnd);
+  background-color: @navbarBackground;
+  #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground);
   @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
   .box-shadow(@shadow);
 }
+
 // Text and links
 .navbar {
   // Hover and active states
@@ -75,20 +74,16 @@
     #font > .sans-serif(13px, normal, 1);
     color: @white;
     color: rgba(255,255,255,.75);
-    background-color: #444;
-    background-color: rgba(255,255,255,.3);
+    background: #444;
+    background: rgba(255,255,255,.3);
     border: 1px solid #111;
     @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
     .box-shadow(@shadow);
     .transition(none);
 
     // Placeholder text gets special styles; can't be bundled together though for some reason
-    &:-moz-placeholder {
-      color: @grayLighter;
-    }
-    &::-webkit-input-placeholder {
-      color: @grayLighter;
-    }
+    .placeholder(@grayLighter);
+
     // Hover states
     &:hover {
       color: @white;
diff --git a/lib/variables.less b/lib/variables.less
index 8afe000326..807a9ea0d5 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -51,6 +51,9 @@
 // COMPONENT VARIABLES
 // --------------------------------------------------
 
+// Input placeholder text color
+@placeHolderText:       @grayLight;
+
 // Z-index master list
 // Used for a bird's eye view of components dependent on the z-axis
 @zindexDropdown:        1000;
@@ -60,5 +63,9 @@
 @zindexModalBackdrop:   1040;
 @zindexModal:           1050;
 
-// Input placeholder text color
-@placeHolderText:       @grayLight;
+// Navbar
+@navBarHeight:                    40px;
+@navbarBackground:                #222;
+@navbarBackgroundHighlight:       #333;
+
+
-- 
GitLab


From d12560c0ee77e69011012095b04332aeb97b9c42 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 18 Jan 2012 00:30:49 -0800
Subject: [PATCH 316/576] make button active state clearer by lightening the
 inner shadow and removing the background image

---
 bootstrap.css     | 9 +++++----
 bootstrap.min.css | 2 +-
 lib/buttons.less  | 3 ++-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 681605a88a..2ba50f1de6 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 18 00:23:51 PST 2012
+ * Date: Wed Jan 18 00:30:09 PST 2012
  */
 html, body {
   margin: 0;
@@ -2527,9 +2527,10 @@ i {
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
 .btn.active, .btn:active {
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+  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);
 }
 .btn.disabled {
   cursor: default;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9fd65f9a8f..7a98ef05cd 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -456,7 +456,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
 .btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
+.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);}
 .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
diff --git a/lib/buttons.less b/lib/buttons.less
index a7492f9fd0..e53dce7af5 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -68,7 +68,8 @@
   // Active and Disabled states
   &.active,
   &:active {
-    @shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05);
+    background-image: none;
+    @shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
     .box-shadow(@shadow);
   }
   &.disabled {
-- 
GitLab


From ab8f2e2767be77120fedb07269dc7db078101dba Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 18 Jan 2012 00:35:14 -0800
Subject: [PATCH 317/576] don't scope placeholder text color to just inputs

---
 bootstrap.css     | 6 +++---
 bootstrap.min.css | 4 ++--
 lib/forms.less    | 7 +------
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 2ba50f1de6..460cd7ba02 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 18 00:30:09 PST 2012
+ * Date: Wed Jan 18 00:34:59 PST 2012
  */
 html, body {
   margin: 0;
@@ -842,10 +842,10 @@ input:invalid:focus, textarea:invalid:focus, select:invalid:focus {
   box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
   cursor: not-allowed;
 }
-input:-moz-placeholder {
+:-moz-placeholder {
   color: #999999;
 }
-input::-webkit-input-placeholder {
+::-webkit-input-placeholder {
   color: #999999;
 }
 .help-block {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 7a98ef05cd..0027eaf1cc 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -155,8 +155,8 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 input:invalid,textarea:invalid,select:invalid{color:#b94a48;border-color:#ee5f5b;}input:invalid:focus,textarea:invalid:focus,select: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;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{display:block;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;}
-input:-moz-placeholder{color:#999999;}
-input::-webkit-input-placeholder{color:#999999;}
+:-moz-placeholder{color:#999999;}
+::-webkit-input-placeholder{color:#999999;}
 .help-block{margin-top:5px;margin-bottom:0;color:#999999;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .input-prepend,.input-append{margin-bottom:5px;zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;*display:inline;content:"";zoom:1;}
diff --git a/lib/forms.less b/lib/forms.less
index 703accff80..e956b0046f 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -336,12 +336,7 @@ select:invalid {
 }
 
 // Placeholder text gets special styles; can't be bundled together though for some reason
-input:-moz-placeholder {
-  color: @grayLight;
-}
-input::-webkit-input-placeholder {
-  color: @grayLight;
-}
+.placeholder(@grayLight);
 
 
 
-- 
GitLab


From 87113396dfbf7bfcb41c52702c6d8c861ab215c9 Mon Sep 17 00:00:00 2001
From: Kevin Martensson <kevinmartensson@gmail.com>
Date: Wed, 18 Jan 2012 14:02:18 +0100
Subject: [PATCH 318/576] Make dropdown menus scalable.

---
 lib/button-groups.less | 2 +-
 lib/dropdowns.less     | 2 +-
 lib/navbar.less        | 2 +-
 lib/navs.less          | 4 ++--
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/button-groups.less b/lib/button-groups.less
index e9724ba8c2..8f4bbc5107 100644
--- a/lib/button-groups.less
+++ b/lib/button-groups.less
@@ -88,7 +88,7 @@
 // Reposition menu on open and round all corners
 .btn-group.open .dropdown-menu {
   display: block;
-  top: 30px;
+  margin-top: 1px;
   .border-radius(5px);
   &.large { top: 40px; }
 }
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 08054713ce..d0316f145d 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -30,7 +30,7 @@
 // The dropdown menu (ul)
 .dropdown-menu {
   position: absolute;
-  top: 40px;
+  top: 100%;
   z-index: @zindexDropdown;
   float: left;
   display: none; // none by default, but block on "open" of the menu
diff --git a/lib/navbar.less b/lib/navbar.less
index 94bc652410..f38459a72f 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -191,7 +191,7 @@
 
 // Menu position and menu carets
 .navbar .dropdown-menu {
-  top: 41px;
+  margin-top: 1px;
   .border-radius(4px);
   &:before {
     content: '';
diff --git a/lib/navs.less b/lib/navs.less
index 432ab3cbd1..edc0d238fb 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -177,7 +177,7 @@
 // Position the menu
 .pills .dropdown-menu,
 .tabs .dropdown-menu {
-  top: 33px;
+  margin-top: 1px;
   border-width: 1px;
 }
 .pills .dropdown-menu {
@@ -239,7 +239,7 @@
 
 
 // COMMON STYLES
-// ------------- 
+// -------------
 
 // Clear any floats
 .tabbable {
-- 
GitLab


From 9c940784153257efcadc1aa420c57caa86e664bf Mon Sep 17 00:00:00 2001
From: Scott Watermasysk <scottwater@gmail.com>
Date: Wed, 18 Jan 2012 14:53:59 -0500
Subject: [PATCH 319/576] Added missing 'data-dismiss="modal"' on the first
 example model source.

---
 docs/javascript.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index fb854d2814..8accce2109 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -240,7 +240,7 @@
           <div class="well" style="background-color: #888; border: none;">
             <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
               <div class="modal-header">
-                <a href="#" class="close js-dismiss">&times;</a>
+                <a href="#" class="close" data-dismiss="modal">&times;</a>
                 <h3>Modal header</h3>
               </div>
               <div class="modal-body">
-- 
GitLab


From 1c014613a9924a3a3715821ff4b65531bee5b630 Mon Sep 17 00:00:00 2001
From: Nicolas Gallagher <nicolasgallagher@gmail.com>
Date: Thu, 19 Jan 2012 20:31:45 +0000
Subject: [PATCH 320/576] Add various always-ignore extensions, files, and
 folders to `.gitignore`

---
 .gitignore | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 38ad090992..2da5c5c5d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,36 @@
+# Numerous always-ignore extensions
+*.diff
+*.err
+*.orig
+*.log
+*.rej
+*.swo
+*.swp
+*.vi
+*~
+*.sass-cache
+
+# OS or Editor folders
 .DS_Store
-js/min
\ No newline at end of file
+Thumbs.db
+.cache
+.project
+.settings
+.tmproj
+*.esproj
+nbproject
+*.sublime-project
+*.sublime-workspace
+
+# Komodo
+*.komodoproject
+.komodotools
+
+# Folders to ignore
+.hg
+.svn
+.CVS
+.idea
+
+# Misc
+js/min
-- 
GitLab


From 25ac318d33329a0fb532d5f9ec922ad76d791959 Mon Sep 17 00:00:00 2001
From: Nicolas Gallagher <nicolasgallagher@gmail.com>
Date: Thu, 19 Jan 2012 20:33:22 +0000
Subject: [PATCH 321/576] Remove unnecessary CSS properties from the clearfix
 mixin.

---
 bootstrap.css     | 44 ++++++++++++--------------------------------
 bootstrap.min.css | 24 ++++++++++++------------
 lib/mixins.less   |  4 +---
 3 files changed, 25 insertions(+), 47 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 460cd7ba02..4dcf339551 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 18 00:34:59 PST 2012
+ * Date: Thu 19 Jan 2012 20:33:11 GMT
  */
 html, body {
   margin: 0;
@@ -182,13 +182,11 @@ body {
   width: 940px;
   margin-left: auto;
   margin-right: auto;
-  zoom: 1;
+  *zoom: 1;
 }
 .container:before, .container:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .container:after {
   clear: both;
@@ -198,13 +196,11 @@ body {
   min-width: 940px;
   padding-left: 20px;
   padding-right: 20px;
-  zoom: 1;
+  *zoom: 1;
 }
 .fluid-container:before, .fluid-container:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .fluid-container:after {
   clear: both;
@@ -243,13 +239,11 @@ a:hover {
 }
 .row {
   margin-left: -20px;
-  zoom: 1;
+  *zoom: 1;
 }
 .row:before, .row:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .row:after {
   clear: both;
@@ -865,16 +859,14 @@ input:invalid:focus, textarea:invalid:focus, select:invalid:focus {
 }
 .input-prepend, .input-append {
   margin-bottom: 5px;
-  zoom: 1;
+  *zoom: 1;
 }
 .input-prepend:before,
 .input-append:before,
 .input-prepend:after,
 .input-append:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .input-prepend:after, .input-append:after {
   clear: both;
@@ -1610,16 +1602,14 @@ i {
   background-color: #0088cc;
 }
 .tabs, .pills {
-  zoom: 1;
+  *zoom: 1;
 }
 .tabs:before,
 .pills:before,
 .tabs:after,
 .pills:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .tabs:after, .pills:after {
   clear: both;
@@ -1743,13 +1733,11 @@ i {
   border-color: #999;
 }
 .tabbable {
-  zoom: 1;
+  *zoom: 1;
 }
 .tabbable:before, .tabbable:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .tabbable:after {
   clear: both;
@@ -1907,7 +1895,7 @@ i {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2135,13 +2123,11 @@ i {
   margin-bottom: 18px;
   list-style: none;
   text-align: center;
-  zoom: 1;
+  *zoom: 1;
 }
 .pager:before, .pager:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .pager:after {
   clear: both;
@@ -2237,13 +2223,11 @@ i {
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
   -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
-  zoom: 1;
+  *zoom: 1;
 }
 .modal-footer:before, .modal-footer:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .modal-footer:after {
   clear: both;
@@ -2575,13 +2559,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .btn-group {
   position: relative;
-  zoom: 1;
+  *zoom: 1;
 }
 .btn-group:before, .btn-group:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .btn-group:after {
   clear: both;
@@ -2730,13 +2712,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .thumbnails {
   margin-left: -20px;
   list-style: none;
-  zoom: 1;
+  *zoom: 1;
 }
 .thumbnails:before, .thumbnails:after {
   display: table;
-  *display: inline;
   content: "";
-  zoom: 1;
 }
 .thumbnails:after {
   clear: both;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0027eaf1cc..97700e87aa 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -21,9 +21,9 @@ input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box
 input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
 body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#555555;background-color:#ffffff;}
-.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;*display:inline;content:"";zoom:1;}
+.container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
 .container:after{clear:both;}
-.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.fluid-container:before,.fluid-container:after{display:table;*display:inline;content:"";zoom:1;}
+.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;*zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";}
 .fluid-container:after{clear:both;}
 .fluid-sidebar{width:220px;margin:0 20px 18px;}
 .sidebar-left{padding-left:260px;}
@@ -32,7 +32,7 @@ body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:
 .sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
 .fluid-content{float:left;width:100%;}
 a{font-weight:inherit;line-height:inherit;color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:underline;}
-.row{margin-left:-20px;zoom:1;}.row:before,.row:after{display:table;*display:inline;content:"";zoom:1;}
+.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
 .row:after{clear:both;}
 [class*="span"]{float:left;margin-left:20px;}
 .span1{width:60px;}
@@ -159,7 +159,7 @@ input:invalid,textarea:invalid,select:invalid{color:#b94a48;border-color:#ee5f5b
 ::-webkit-input-placeholder{color:#999999;}
 .help-block{margin-top:5px;margin-bottom:0;color:#999999;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
-.input-prepend,.input-append{margin-bottom:5px;zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;*display:inline;content:"";zoom:1;}
+.input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
 .input-prepend:after,.input-append:after{clear:both;}
 .input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;}
@@ -319,7 +319,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .nav.list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-transform:uppercase;}
 .nav.list>li+.nav-header{margin-top:9px;}
 .nav.list .active>a{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
-.tabs,.pills{zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;*display:inline;content:"";zoom:1;}
+.tabs,.pills{*zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";}
 .tabs:after,.pills:after{clear:both;}
 .tabs>li,.pills>li{float:left;}
 .tabs>li>a,.pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
@@ -347,7 +347,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs .open .dropdown-toggle,.pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#fff;background-color:#999;border-color:#999;}
 .nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .tabs.stacked .open>a:hover{border-color:#999;}
-.tabbable{zoom:1;}.tabbable:before,.tabbable:after{display:table;*display:inline;content:"";zoom:1;}
+.tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";}
 .tabbable:after{clear:both;}
 .tabs-below .tabs,.tabs-right .tabs,.tabs-left .tabs{border-bottom:0;}
 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
@@ -375,7 +375,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
@@ -411,7 +411,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .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;}
 .pagination-centered{text-align:center;}
 .pagination-right{text-align:right;}
-.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;zoom:1;}.pager:before,.pager:after{display:table;*display:inline;content:"";zoom:1;}
+.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";}
 .pager:after{clear:both;}
 .pager li{display:inline;}
 .pager a{display:inline-block;padding:6px 15px;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
@@ -423,7 +423,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .modal.fade.in{top:50%;}
 .modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:7px;}
 .modal-body{padding:15px;}
-.modal-footer{padding:14px 15px 15px;margin-bottom:0;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;zoom:1;}.modal-footer:before,.modal-footer:after{display:table;*display:inline;content:"";zoom:1;}
+.modal-footer{padding:14px 15px 15px;margin-bottom:0;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;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;}
 .tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.tooltip.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
@@ -463,7 +463,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .alert-message,:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-.btn-group{position:relative;zoom:1;}.btn-group:before,.btn-group:after{display:table;*display:inline;content:"";zoom:1;}
+.btn-group{position:relative;*zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";}
 .btn-group:after{clear:both;}
 .btn-group+.btn-group{margin-left:5px;}
 .btn-toolbar .btn-group{display:inline-block;}
@@ -490,7 +490,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-block{padding-top:14px;padding-bottom:14px;}
 .alert-block>p,.alert-block>ul{margin-bottom:0;}
 .alert-block p+p{margin-top:5px;}
-.thumbnails{margin-left:-20px;list-style:none;zoom:1;}.thumbnails:before,.thumbnails:after{display:table;*display:inline;content:"";zoom:1;}
+.thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 20px 20px;}
 .thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
@@ -538,4 +538,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .show{display:block;}
 .invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/mixins.less b/lib/mixins.less
index bcc67954af..5a3952f3a4 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -10,13 +10,11 @@
 // -------------------------
 // For clearing floats like a boss h5bp.com/q
 .clearfix() {
-  zoom: 1;
+  *zoom: 1;
   &:before,
   &:after {
     display: table;
-    *display: inline;
     content: "";
-    zoom: 1;
   }
   &:after {
     clear: both;
-- 
GitLab


From 8825443d6e6ff28a97e092f46b42ec508e58cb05 Mon Sep 17 00:00:00 2001
From: Nicolas Gallagher <nicolasgallagher@gmail.com>
Date: Thu, 19 Jan 2012 21:02:00 +0000
Subject: [PATCH 322/576] Remove search input cancel button in WebKit-OSX.

On input elements with a `type` of `search`, WebKit on OS X will
display a cancel button after text has been entered. This can
look ugly or be poorly position when you've added other styles to
the input (especially additional padding).
---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/reset.less    | 5 +++--
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4dcf339551..959eb24214 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu 19 Jan 2012 20:33:11 GMT
+ * Date: Thu 19 Jan 2012 22:27:04 GMT
  */
 html, body {
   margin: 0;
@@ -163,7 +163,7 @@ input[type="search"] {
   -moz-box-sizing: content-box;
   box-sizing: content-box;
 }
-input[type="search"]::-webkit-search-decoration {
+input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
   -webkit-appearance: none;
 }
 textarea {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 97700e87aa..f71a05e047 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -18,7 +18,7 @@ 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"],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;}
-input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
+input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
 body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#555555;background-color:#ffffff;}
 .container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
diff --git a/lib/reset.less b/lib/reset.less
index 28638b6b37..8fe04d6d1e 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -140,10 +140,11 @@ input[type="search"] { // Appearance in Safari/Chrome
      -moz-box-sizing: content-box;
           box-sizing: content-box;
 }
-input[type="search"]::-webkit-search-decoration {
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
   -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
 }
 textarea {
   overflow: auto; // Remove vertical scrollbar in IE6-9
   vertical-align: top; // Readability and alignment cross-browser
-}
\ No newline at end of file
+}
-- 
GitLab


From 782c994060a984c10d73fdd3cc8e3fe33a2e4477 Mon Sep 17 00:00:00 2001
From: Nicolas Gallagher <nicolasgallagher@gmail.com>
Date: Fri, 20 Jan 2012 21:16:40 +0000
Subject: [PATCH 323/576] Remove global reset in favour of contextual reset.

Rather than having a partial reset with individual elements having
their styles built back up, only elements without replacement
styles have specific properties 'reset'.

This commit also includes: a correction to the font mixin arguments
used on forms (the output is now valid CSS); the removal of
`overflow-y:scroll` from the `html` element which is now known to
cause some problems for jQuery modal plugins in Firefox.
---
 bootstrap.css        | 146 ++++++++++++++-----------------------------
 bootstrap.min.css    |  38 +++++------
 lib/forms.less       |  13 +++-
 lib/reset.less       |  69 +++++++-------------
 lib/scaffolding.less |   2 -
 lib/tables.less      |   9 +++
 lib/type.less        |  31 ++++++---
 7 files changed, 132 insertions(+), 176 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 959eb24214..b2aaece91f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,95 +6,8 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu 19 Jan 2012 22:27:04 GMT
+ * Date: Fri 20 Jan 2012 21:21:51 GMT
  */
-html, body {
-  margin: 0;
-  padding: 0;
-}
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-p,
-blockquote,
-pre,
-a,
-abbr,
-acronym,
-address,
-cite,
-code,
-del,
-dfn,
-em,
-img,
-q,
-s,
-samp,
-small,
-strike,
-strong,
-sub,
-sup,
-tt,
-var,
-dd,
-dl,
-dt,
-li,
-ol,
-ul,
-fieldset,
-form,
-label,
-legend,
-button,
-table,
-caption,
-tbody,
-tfoot,
-thead,
-tr,
-th,
-td {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: normal;
-  font-style: normal;
-  font-size: 100%;
-  line-height: 1;
-  font-family: inherit;
-}
-table {
-  max-width: 100%;
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-ol, ul {
-  list-style: none;
-}
-q:before,
-q:after,
-blockquote:before,
-blockquote:after {
-  content: "";
-}
-html {
-  overflow-y: scroll;
-  font-size: 100%;
-  -webkit-text-size-adjust: 100%;
-  -ms-text-size-adjust: 100%;
-}
-a:focus {
-  outline: thin dotted;
-}
-a:hover, a:active {
-  outline: 0;
-}
 article,
 aside,
 details,
@@ -115,6 +28,17 @@ audio, canvas, video {
 audio:not([controls]) {
   display: none;
 }
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+a:focus {
+  outline: thin dotted;
+}
+a:hover, a:active {
+  outline: 0;
+}
 sub, sup {
   position: relative;
   font-size: 75%;
@@ -228,8 +152,6 @@ body {
   width: 100%;
 }
 a {
-  font-weight: inherit;
-  line-height: inherit;
   color: #0088cc;
   text-decoration: none;
 }
@@ -322,7 +244,7 @@ a:hover {
   margin-left: 900px;
 }
 p {
-  margin-bottom: 9px;
+  margin: 0 0 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   line-height: 18px;
@@ -337,6 +259,7 @@ h3,
 h4,
 h5,
 h6 {
+  margin: 0;
   font-weight: bold;
   color: #333333;
   text-rendering: optimizelegibility;
@@ -347,6 +270,7 @@ h3 small,
 h4 small,
 h5 small,
 h6 small {
+  font-weight: normal;
   color: #999999;
 }
 h1 {
@@ -388,6 +312,7 @@ h6 {
   text-transform: uppercase;
 }
 ul, ol {
+  padding: 0;
   margin: 0 0 9px 25px;
 }
 ul ul,
@@ -428,13 +353,10 @@ hr {
   border-bottom: 1px solid #fff;
 }
 strong {
-  font-style: inherit;
   font-weight: bold;
 }
 em {
   font-style: italic;
-  font-weight: inherit;
-  line-height: inherit;
 }
 .muted {
   color: #999999;
@@ -446,8 +368,8 @@ abbr {
   cursor: help;
 }
 blockquote {
-  padding-left: 15px;
-  margin-bottom: 18px;
+  padding: 0 0 0 15px;
+  margin: 0 0 18px;
   border-left: 5px solid #eee;
 }
 blockquote p {
@@ -474,10 +396,17 @@ blockquote.pull-right {
 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;
 }
 code, pre {
   padding: 0 3px 2px;
@@ -515,26 +444,40 @@ pre code {
   padding: 0;
   background-color: transparent;
 }
+small {
+  font-size: 100%;
+}
+cite {
+  font-style: normal;
+}
 form {
-  margin-bottom: 18px;
+  margin: 0 0 18px;
+}
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
 }
 legend {
   display: block;
   width: 100%;
+  padding: 0;
   margin-bottom: 27px;
   font-size: 19.5px;
   line-height: 36px;
   color: #333333;
+  border: 0;
   border-bottom: 1px solid #eee;
   -webkit-margin-collapse: separate;
 }
 label,
 input,
+button,
 select,
 textarea {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: normal;
-  font-weight: 13px;
+  font-size: 13px;
+  font-weight: normal;
   line-height: 18px;
 }
 label {
@@ -967,6 +910,11 @@ input:invalid:focus, textarea:invalid:focus, select:invalid:focus {
 .form-horizontal .form-actions {
   padding-left: 160px;
 }
+table {
+  max-width: 100%;
+  border-collapse: collapse;
+  border-spacing: 0;
+}
 .table {
   width: 100%;
   margin-bottom: 18px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f71a05e047..d709e87a9c 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -1,14 +1,9 @@
-html,body{margin:0;padding:0;}
-h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,em,img,q,s,samp,small,strike,strong,sub,sup,tt,var,dd,dl,dt,li,ol,ul,fieldset,form,label,legend,button,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;line-height:1;font-family:inherit;}
-table{max-width:100%;border-collapse:collapse;border-spacing:0;}
-ol,ul{list-style:none;}
-q:before,q:after,blockquote:before,blockquote:after{content:"";}
-html{overflow-y:scroll;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
-a:focus{outline:thin dotted;}
-a:hover,a:active{outline:0;}
 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
 audio:not([controls]){display:none;}
+html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
+a:focus{outline:thin dotted;}
+a:hover,a:active{outline:0;}
 sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
 sup{top:-0.5em;}
 sub{bottom:-0.25em;}
@@ -31,7 +26,7 @@ body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:
 .sidebar-left .fluid-sidebar{float:left;margin-left:-240px;}
 .sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
 .fluid-content{float:left;width:100%;}
-a{font-weight:inherit;line-height:inherit;color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:underline;}
+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;}
@@ -58,8 +53,8 @@ a{font-weight:inherit;line-height:inherit;color:#0088cc;text-decoration:none;}a:
 .offset9{margin-left:740px;}
 .offset10{margin-left:820px;}
 .offset11{margin-left:900px;}
-p{margin-bottom:9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
-h1,h2,h3,h4,h5,h6{font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#999999;}
+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;}
+h1,h2,h3,h4,h5,h6{margin:0;font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,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;}h3 small{font-size:14px;}
@@ -67,7 +62,7 @@ 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;}
-ul,ol{margin:0 0 9px 25px;}
+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;}
@@ -78,21 +73,25 @@ dt,dd{line-height:18px;}
 dt{font-weight:bold;}
 dd{margin-left:9px;}
 hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff;}
-strong{font-style:inherit;font-weight:bold;}
-em{font-style:italic;font-weight:inherit;line-height:inherit;}
+strong{font-weight:bold;}
+em{font-style:italic;}
 .muted{color:#999999;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
+blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eee;}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;border-right:5px solid #eee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
-address{display:block;margin-bottom:18px;line-height:18px;}
+q:before,q:after,blockquote:before,blockquote:after{content:"";}
+address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;}
 code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
-form{margin-bottom:18px;}
-legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
-label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
+small{font-size:100%;}
+cite{font-style:normal;}
+form{margin:0 0 18px;}
+fieldset{padding:0;margin:0;border:0;}
+legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
+label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
 input,textarea,select,.uneditable-input{display:block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
@@ -176,6 +175,7 @@ input:invalid,textarea:invalid,select:invalid{color:#b94a48;border-color:#ee5f5b
 .form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
 .form-horizontal .controls{margin-left:160px;}
 .form-horizontal .form-actions{padding-left:160px;}
+table{max-width:100%;border-collapse:collapse;border-spacing:0;}
 .table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
 .table th{font-weight:bold;vertical-align:bottom;}
 .table td{vertical-align:top;}
diff --git a/lib/forms.less b/lib/forms.less
index e956b0046f..0cc7f2035c 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -8,17 +8,25 @@
 
 // Make all forms have space below them
 form {
-  margin-bottom: @baseLineHeight;
+  margin: 0 0 @baseLineHeight;
+}
+
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
 }
 
 // Groups of fields with labels on top (legends)
 legend {
   display: block;
   width: 100%;
+  padding: 0;
   margin-bottom: @baseLineHeight * 1.5;
   font-size: @baseFontSize * 1.5;
   line-height: @baseLineHeight * 2;
   color: @grayDark;
+  border: 0;
   border-bottom: 1px solid #eee;
   -webkit-margin-collapse: separate;
 }
@@ -26,9 +34,10 @@ legend {
 // Set font for forms
 label,
 input,
+button,
 select,
 textarea {
-  #font > .sans-serif(normal,@baseFontSize,@baseLineHeight);
+  #font > .sans-serif(@baseFontSize,normal,@baseLineHeight);
 }
 
 // Identify controls by their labels
diff --git a/lib/reset.less b/lib/reset.less
index 8fe04d6d1e..31e7160f2d 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -1,50 +1,10 @@
 // Reset.less
-// Props to Eric Meyer (meyerweb.com) for his CSS reset file.
-// We're using an adapted version here that cuts out some of the reset HTML
-// elements we will never need here (i.e., dfn, samp, etc).
+// Adapted from Normalize.css http://github.com/necolas/normalize.css
 // ------------------------------------------------------------------------
 
-
-// ERIC MEYER RESET
-// --------------------------------------------------
-
-html, body { margin: 0; padding: 0; }
-h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, em, img, q, s, samp, small, strike, strong, sub, sup, tt, var, dd, dl, dt, li, ol, ul, fieldset, form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; font-weight: normal; font-style: normal; font-size: 100%; line-height: 1; font-family: inherit; }
-table {
-  max-width: 100%;
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-ol, ul { list-style: none; }
-q:before, q:after, blockquote:before, blockquote:after { content: ""; }
-
-
-// Normalize.css
-// Pulling in select resets form the normalize.css project
-// --------------------------------------------------
-
 // Display in IE6-9 and FF3
 // -------------------------
-// Source: http://github.com/necolas/normalize.css
-html {
-  overflow-y: scroll;
-  font-size: 100%;
-  -webkit-text-size-adjust: 100%;
-      -ms-text-size-adjust: 100%;
-}
-// Focus states
-a:focus {
-  outline: thin dotted;
-}
-// Hover & Active
-a:hover,
-a:active {
-  outline: 0;
-}
 
-// Display in IE6-9 and FF3
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
 article,
 aside,
 details,
@@ -60,7 +20,7 @@ section {
 
 // Display block in IE6-9 and FF3
 // -------------------------
-// Source: http://github.com/necolas/normalize.css
+
 audio,
 canvas,
 video {
@@ -71,14 +31,32 @@ video {
 
 // Prevents modern browsers from displaying 'audio' without controls
 // -------------------------
-// Source: http://github.com/necolas/normalize.css
+
 audio:not([controls]) {
     display: none;
 }
 
+// Base settings
+// -------------------------
+
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+      -ms-text-size-adjust: 100%;
+}
+// Focus states
+a:focus {
+  outline: thin dotted;
+}
+// Hover & Active
+a:hover,
+a:active {
+  outline: 0;
+}
+
 // Prevents sub and sup affecting line-height in all browsers
 // -------------------------
-// Source: http://github.com/necolas/normalize.css
+
 sub,
 sup {
   position: relative;
@@ -95,7 +73,7 @@ sub {
 
 // Img border in a's and image quality
 // -------------------------
-// Source: http://github.com/necolas/normalize.css
+
 img {
   max-width: 100%;
   height: auto;
@@ -105,7 +83,6 @@ img {
 
 // Forms
 // -------------------------
-// Source: http://github.com/necolas/normalize.css
 
 // Font size in all browsers, margin changes, misc consistency
 button,
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index a0d54a8865..d6fac06f09 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -60,8 +60,6 @@ body {
 
 // Links
 a {
-  font-weight: inherit;
-  line-height: inherit;
   color: @linkColor;
   text-decoration: none;
   &:hover {
diff --git a/lib/tables.less b/lib/tables.less
index 29e1e2d465..98b2b9f921 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -4,6 +4,15 @@
 // ----------------------------------------
 
 
+// BASE TABLES
+// -----------------
+
+table {
+  max-width: 100%;
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
 // BASELINE STYLES
 // ---------------
 
diff --git a/lib/type.less b/lib/type.less
index 707d2215de..e2049fb71c 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -7,7 +7,7 @@
 // ---------
 
 p {
-  margin-bottom: @baseLineHeight / 2;
+  margin: 0 0 @baseLineHeight / 2;
   font-family: @baseFontFamily;
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
@@ -17,15 +17,16 @@ p {
   }
 }
 
-
 // HEADINGS
 // --------
 
 h1, h2, h3, h4, h5, h6 {
+  margin: 0;
   font-weight: bold;
   color: @grayDark;
   text-rendering: optimizelegibility; // Fix the character spacing for headings
   small {
+    font-weight: normal;
     color: @grayLight;
   }
 }
@@ -74,6 +75,7 @@ h6 {
 
 // Unordered and Ordered lists
 ul, ol {
+  padding: 0;
   margin: 0 0 @baseLineHeight / 2 25px;
 }
 ul ul,
@@ -124,13 +126,10 @@ hr {
 
 // Emphasis
 strong {
-  font-style: inherit;
   font-weight: bold;
 }
 em {
   font-style: italic;
-  font-weight: inherit;
-  line-height: inherit;
 }
 .muted {
   color: @grayLight;
@@ -146,8 +145,8 @@ abbr {
 
 // Blockquotes
 blockquote {
-  padding-left: 15px;
-  margin-bottom: @baseLineHeight;
+  padding: 0 0 0 15px;
+  margin: 0 0 @baseLineHeight;
   border-left: 5px solid #eee;
   p {
     margin-bottom: 0;
@@ -176,11 +175,19 @@ blockquote {
   }
 }
 
+q:before,
+q:after,
+blockquote:before, 
+blockquote:after {
+  content: "";
+}
+
 // Addresses
 address {
   display: block;
   margin-bottom: @baseLineHeight;
   line-height: @baseLineHeight;
+  font-style: normal;
 }
 
 // Inline and block code styles
@@ -220,4 +227,12 @@ pre {
     padding: 0;
     background-color: transparent;
   }
-}
\ No newline at end of file
+}
+
+small {
+  font-size: 100%;
+}
+
+cite {
+  font-style: normal;
+}
-- 
GitLab


From 93c81522164421a03a9093502dae8125aa8b5584 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 20 Jan 2012 13:42:10 -0800
Subject: [PATCH 324/576] only prevent default if getting data-href

---
 js/bootstrap-collapse.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 2521b7c7a7..9278f66d0e 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -125,9 +125,8 @@
   $(function () {
     $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
       var $this = $(this)
-        , target = $this.attr('data-target') || $this.attr('href')
+        , target = $this.attr('data-target') || e.preventDefault() || $this.attr('href')
         , option = $(target).data('collapse') ? 'toggle' : $this.data()
-      e.preventDefault()
       $(target).collapse(option)
     })
   })
-- 
GitLab


From 3ed836b19888215fe5ad9539898502d203712021 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 20 Jan 2012 13:50:36 -0800
Subject: [PATCH 325/576] should check for alert class not alertmessage

---
 js/bootstrap-alert.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index 96b9786aa7..d6d2108f9c 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -43,13 +43,12 @@
 
       e && e.preventDefault()
 
-      $parent.length || ($parent = $this.hasClass('alert-message') ? $this : $this.parent())
+      $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
 
       $parent.removeClass('in')
 
       function removeElement() {
         $parent.remove()
-
         $parent.trigger('closed')
       }
 
-- 
GitLab


From 7444310c4d0a2f34c7cec66216fdf95d67a0e74d Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 20 Jan 2012 20:05:16 -0800
Subject: [PATCH 326/576] only prevent default of links in sections

---
 docs/assets/js/application.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 0e14a53508..ba5a269475 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -38,7 +38,7 @@ $(function(){
   // it's merely here to prevent button clicks form taking you
   // away from your spot on page!!
 
-  $('[href^=#]').click(function (e) {
+  $('section [href^=#]').click(function (e) {
     e.preventDefault()
   })
 
-- 
GitLab


From 719713ca8730d92d3510e6d4a7cc542fd57fdeef Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 20 Jan 2012 20:28:40 -0800
Subject: [PATCH 327/576] fix typo

---
 lib/tables.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/tables.less b/lib/tables.less
index 29e1e2d465..5dad3e896f 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -132,7 +132,7 @@ table {
 
 // TABLESORTER
 // -----------
-// Support for the tablesorter jQuerdy plugin
+// Support for the tablesorter jQuery plugin
 
 table {
   // Tablesorting styles w/ jQuery plugin
-- 
GitLab


From 4a5867b18b0320b7365337c192b9e1bfe555f864 Mon Sep 17 00:00:00 2001
From: Burak Tuyan <buraktuyan@gmail.com>
Date: Sat, 21 Jan 2012 23:52:39 +0200
Subject: [PATCH 328/576] Optimizing all PNG files, saving 60.02 KB in total
 without any quality lost. (Using PNGOUTWin 1.5.0.100, Xtreme strategy in
 compability mode)

---
 docs/assets/ico/bootstrap-apple-114x114.png   | Bin 6828 -> 5481 bytes
 docs/assets/ico/bootstrap-apple-57x57.png     | Bin 3923 -> 2798 bytes
 docs/assets/ico/bootstrap-apple-72x72.png     | Bin 4905 -> 3817 bytes
 docs/assets/img/bird.png                      | Bin 4434 -> 3092 bytes
 docs/assets/img/browsers.png                  | Bin 21805 -> 19776 bytes
 docs/assets/img/example-diagram-01.png        | Bin 1641 -> 486 bytes
 docs/assets/img/example-diagram-02.png        | Bin 1742 -> 564 bytes
 docs/assets/img/example-diagram-03.png        | Bin 1428 -> 369 bytes
 docs/assets/img/example-sites/bartop.png      | Bin 86214 -> 78189 bytes
 docs/assets/img/example-sites/fleetio.png     | Bin 47275 -> 41932 bytes
 docs/assets/img/example-sites/jshint.png      | Bin 8886 -> 7258 bytes
 docs/assets/img/example-sites/kippt.png       | Bin 57064 -> 52306 bytes
 docs/assets/img/example-sites/railwayjs.png   | Bin 34839 -> 30550 bytes
 .../img/example-sites/totalwireframe.png      | Bin 47095 -> 43364 bytes
 .../img/glyphicons-halflings-sprite.png       | Bin 9944 -> 5249 bytes
 .../img/glyphicons/glyphicons_009_magic.png   | Bin 1426 -> 316 bytes
 .../img/glyphicons/glyphicons_042_group.png   | Bin 1386 -> 305 bytes
 .../img/glyphicons/glyphicons_079_podium.png  | Bin 1328 -> 213 bytes
 .../glyphicons/glyphicons_082_roundabout.png  | Bin 1516 -> 345 bytes
 .../glyphicons_155_show_thumbnails.png        | Bin 1179 -> 117 bytes
 .../img/glyphicons/glyphicons_163_iphone.png  | Bin 1235 -> 172 bytes
 .../glyphicons_214_resize_small.png           | Bin 1406 -> 301 bytes
 .../glyphicons/glyphicons_266_book_open.png   | Bin 1405 -> 292 bytes
 docs/assets/img/grid-18px-masked.png          | Bin 1621 -> 405 bytes
 docs/assets/img/grid-18px.png                 | Bin 1118 -> 166 bytes
 docs/assets/img/icon-css3.png                 | Bin 1145 -> 370 bytes
 docs/assets/img/icon-github.png               | Bin 1191 -> 312 bytes
 docs/assets/img/icon-html5.png                | Bin 1230 -> 452 bytes
 docs/assets/img/icon-twitter.png              | Bin 1096 -> 264 bytes
 docs/assets/img/less-logo-large.png           | Bin 13831 -> 13078 bytes
 docs/assets/img/less-small.png                | Bin 2235 -> 1181 bytes
 docs/assets/img/responsive-illustrations.png  | Bin 2249 -> 1077 bytes
 32 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/docs/assets/ico/bootstrap-apple-114x114.png b/docs/assets/ico/bootstrap-apple-114x114.png
index c434d9713d4e240356cac05b880c36c8319209dc..4e6df51f43c4f345e2f2625a30b24bd0adf02cb3 100644
GIT binary patch
literal 5481
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

literal 6828
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
LNBOPdgYf?XPGx?;

diff --git a/docs/assets/ico/bootstrap-apple-57x57.png b/docs/assets/ico/bootstrap-apple-57x57.png
index 13c2f7f37a6810b1ea60efca060dde186033ea95..030fdfbc954aa6b6db57aa39c955f1e1e0c0a231 100644
GIT binary patch
delta 2791
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

literal 3923
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
V=I<SM&0hP>CE2+W1^7d;{|3cK*;oJo

diff --git a/docs/assets/ico/bootstrap-apple-72x72.png b/docs/assets/ico/bootstrap-apple-72x72.png
index c4bfb622cfcc162cd541cc564537e6ee71a4c191..2ab0a1d0ccfe6e83add2f955a2f2ee0b079540a5 100644
GIT binary patch
literal 3817
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

literal 4905
zcmbVQc{r49+aFA0U!v?Wh8F8AX6(DMW#3E47{d%^iOEda30bpcFA^fMFA0T5LS!iv
zDtof^SSyiN&-3(t-*+7E@&57M$8q1+b)DDmckbsucdV6#5ht548vp>{G%-fo9IeK`
zUKY^N*M6<e=x7n58eE{-l0B(3j2{l5>p^zMflY`QFPsey<8kduFHQphV8RpZE>JI+
zo2g;RL<P(*i~^lVIbs6<8rpOU2J3^Pg57am1d=A?OUp9|nBbuaaYUKJ%qjXfJi++7
zAI|o=g&p>~4_4I!qOAqipsO7zAmXSPFrDa2@>ip4LjKaLcC`N`hC;x9L8v~OkiVU}
zU~UE0C;Q>RC<T~27N!ITD<Ku&NSG>8RSt}R!C_E10t!=>hr`rR%4#q;_@4)IWX;dR
zQ_Ti#_>ZlllO_aDrBc+OP#TS<KvPs8`*}g(s;a6`7y^nw$R8o({jZUz7`i;kU-GvG
zG|nIEN1#v%WD@w7MvOc8DpeD5<mulb5Gm&7|5i-$|0hvLDTC566ewH)1|<@I#q}53
zpK62qA2<FZ+TZRP1qZdk`IE2uVUOzJDfydxl)L|K=oj$F8#PNm!ckE$zGyP`DiKGb
znxHiyM>h%{1P?Vs6=g#>Tp0;dM!=L*;BXaXgtD%plAaRW0H&%7Gx)9JKXFy`U}%J@
z0Sv8#JYpKaboG%cs(OYhNIj$y5`jSc=9-ZFsTdL#_uDSv$nM`<wBdi{s_FaTFjTUi
z9hvO=y92E7WGdMoPo{wNZBYtvusH@xApMg3D$w8YqH%tN0Gx-RADIaLE5mAp|KNe4
z>i>;gPZ6nyMykMI$|!v$eFHtnKU|OhPu8GE&Om>)$Ny@V-=d=){I&ge^B*1lJw7<n
z(aiWA4aY7+=NABg+tCEAYe%1$cMkRyeSR`ju_f^7mQiZFb_5@#M?fN7r~R~X`Uu3x
z%85nqwv&vtwY}7NYhAlItFk`v+cFKsR@Mb!ER6R;${-O+Hm7ZP_ZZ@Gz%gG^)4OyS
zV{5RhQjK4HXeEkuiY;}4fldBNr<hy_L9{@B^{tQ}i)|kR$z!EEdp`<3%*eacGO#_*
z-RSxz3_fvxV?#73j(cLl36Q|zO$;7=>6xFiKgxM&dB>;$u*nbosj3yQ%7ugv1M_Dh
z8|%}Jjb0q2J^Q)GJpgcOb{FE{{1QD}6Y#Sp(E9BBwUy5x@5!O5yD_y!VI>^C7@*j_
zGCtocFf%)2Z|&DBqsuY#wBlPY0L==b+SC(<TB6bSD`F+J$-pOSP|ff0D_mp19+$>d
zww0yfQ+U6T>@;#@RQ@Hd0olwyHW1+^nL1INzBMUqV#jh2<7dWd=8M_W$+d3v^ToT0
zZLW_(ZVrejX8CeV!wNRd1#9`Edk>hWdoD3gcP*I|3=EvCYWb1V89e@_0<@HO^5qh<
zcx&Prb_=gTp`oi6p+O0vD!uEZ6waQGnK?CI@K06Z!;4D8h2c7D90kXj!py21%f&~K
z2_NSjnB)D4t5>xiwGUN>2x=jFbo%UD4dNY6hBUk4Q%^Z#=yYY~2L~031v|A3lu||x
zQGvd$aeh?MK&3@l?<@%5?aflMaUHc+W~;z7h^xxtJqLf+{cc&1Cb#shv$&smEjs0o
zNG>t0#@wr)rw?jiJ(`+d{c>MxG@bOzzszJ5hb|3{m6wG8W?6z8g)?JccH`!2#iZ$a
z0Z9yE*b7rncU&2gTY|2ExVb;R(w@(NhGX1W?|=5w-xmU&VLhj?LVw3s>(2p%aimQx
z5{3HZ_T)>gC{6<P`ej~lv&XB<H#!d|I|leO?_h^UM!7`!k`g(iI-8<4a<s*}1>;<E
zBu@C`2~RNQe8_~^n%GQf&~y`%)T2V2chhieL=JXAVa)myN?qcM7tj+2EoudjjL{Qk
zlD8$-A!f)FzZsLgEK#Xc##w2`E^T{3W7o5FgFiknL=Sk2^exC8)}|6o+EVOYAqX8`
z8z3@#*(@s(&nPug8N>V3&R_Sz;@UU6J`VOPFkfH0vYRu>b2?+@Mm?Twbr&Kc-8*f+
z#{_%TLF;agF{eO@0W$2aYzSZHzN*XuINR}}#j`IGx634rAR<lA6I7HKxMiM*`9!1T
z0I3cP_g%kFAMfM`oIG`32o7=D^&V0qIva*dj?Z<n1Cl`?rWYl(;^zUc6X+Qiza}su
ztmL25Mv%5WmT4U`jp$~}kTJ>4mWkasM0n}SXp^k_Rd~etqG>k48xPwHfj`ce6H=T)
z;K_QbshL7u4230TxABb3(>#fnc!s+i#bWXHkZETTO}@F9;L8<Zx^EqMe+uWNMLP?I
z6lI42lb3tS^Bb|r!otd_6{=m4YadlC^Sr)VxA4`M2+iJ$U$HI~(un%Aed|k7+}DH1
zxoR3E0`BI>7=;=t<>tbJ&xCs{t*!QSCAPA%H5hxxGsZmoq8_-OkkTxh*?%kOL*TZQ
z@4G-?W2@RyWcanZVA3(a?B}{R?N|>fXypiaj-M&UA2_J_X!Yytx)OcfM|S2}Q)SfC
zyGn4a9gR>i^efAL^IT;K&rNgI0ynGgcawQUXZ>W<WHFs1L0pX=>p@D+kHZG;%?|1h
z#C!XfbU8CvxI`j{7?VAj!B;i>)|x4}LD9>RRC7oXoWjdslQ34=tE;)Q{C(h#OW3!K
zX~)6afaah38Yu1Azz(+$(unTF`T-8%vz7!gxuvu3&+Qa-+=sBERsiytmur_k(K-~#
z;(S}WK^B5B$o5+z{qv&?vz3im{N9x4ewFJrv&URbTS2t`e&a7wG+@B0w#=D4EJyS7
zurNoC-k0nxjERx#_T5nu$H>X}tv_FkXL;4lo3rb5O3Zm)9!pbpTv#-ZFvR%VT^`~<
zv5vl*e!H<7LmAv6*P2{{L08%@WaE8Rx*r#hH!rr5zV$W;=#nkftlHQ=8OKO`=ea$f
z5`|(c1x3u434MM%ESWQ@tXWTCs8NqkzCA>#)^K$brtL5d>K@+1eqKN9zm_uxh9d%>
zv|UJKfAC2m-Mku^>SZ9p%tdL>Fghzs8QfLoU}xxSOA{6)8MX<IW@N9w6NZl%v)lq+
zcx<5`A}*xmyB0dG5wrX}LtA38)?Aw3b|?S3X%$1*zQF1vXei<pc)ZA6HaXbJT}CP-
z!6L)Q$0RwbAhFy1jCMh6bAHeFXfCPOydww81dj8Ctnh1}gZ$6DH(ft8&V_R7(-<^R
zgPBGnr!>UTBMh6iJvlYy_j1aF7$9}L>7OV!Gfoy+5d{`5jy)nTbW)+s<e_}YxMJ@s
zg2}nP>h_!u2~)yWca0N@BnmRDx>mk@T*y83cuTf?#Wf&7zUonxXr-oQ!3=_gj$HJV
z!`EDS$T{oc1Pd)sxa;v+X(R12h}o+;NTW-`F^N07V>Y-ws;jF85OW?-<y^xP60~-#
z`b-pz6tag)>FrkxIhOH9UeVeE9oQ}*QYyYNYNhYeO(trqm5JBL^y@8m1JkoN!-jV5
z<D1-pLkqI6{@nVQXQHlz9pSkF*bwP#C?PK}F1h4c@F*Vy2<(RpwpcB?Z@?gKBj^#3
zfh;|#MJtVTmp9EJAfk&U^XI$iC3SKN{`J)ai}dNrM}clH<CzPj=Wc8kTrfCh@*u1~
zd;5ehPY$S1CD`aN@DIwIerRNP3TvpeflbF=ps+bw<P|L^3)wHM)8<9%+*PlN<h<-;
zFHiS2q;_XhBU<tk6Wqr|>D%g;Z)no0V&dtr^12@^kq-S6c_x-vIZ$1pt~GHv?AeE!
zB!m6$H^4jfo+o_p!)M*b`!%}jn-1Mh$q~t1iZORfR8xE*1Ta67zT_!x#S*uoFMEHO
zQU)7CX0CrigeM7@Ty3xu!4kY=D_q8oU3P8YQQE$ffBhiH6eQO6nfLMX&(J*rcSVHD
zotuTA#O?G3<`RDI(&Yy-o7O@VpidME$qg@h_njgjSL~3v;$S$xAk?iV>^xQfqw1aE
z*6lL%mU~kqG5Nmz0sRV>q;`o^O(Ia5`6D6c%6{Ihfh<zD#Of#B6L$7G0u}Ew@)i^I
zB`K49p)oGn2cF9+%9U&3nOq#EwKqL(PjDybUrQ0<eh728SRn`_JbhWX8r6Hwe%<;u
zXPO=750lt5QnYmvA)bCKsJ*-}81ix|=&)|3DmC<(BJkE4olmK<{Mi&~$%Ugyqxn)v
zM(JQ-jiq3nP;$$~R0i+tlmvH42el!U6Jz61po<vx+Som>%ddCEL=m+H-}6o>JW@F<
zb2Q824+GBxOG-NqDT{%L4?q_9VVnkxI@Q1PwLcR~uUQSx&LwN`+eSCb<QlJhk*JvA
zNkP0_c9p;t5#A&-N1qa&DpH7#o|^U#s|LQ4JpMo_vF0t3$3S=x8jfaT&V_XjL|<Rx
zQF?WEfQ+`W2Z@Ahm;+G4@u!ca)!fLw%M?Rzj&6T$+LB->ET|ziA$Elc?`vio#v-Ty
zAKGO;T}_Y-dgC|dF2$BpQ-X0gUSAANTzj%Lcq7sAk<$4{jv#8p%<K(mE~(tqxovs)
z#9Lm;kc<T0i`|A3^OA&%*S@A4<|eK<bPST7^jAdu*qd3(SO71m-M3E^HZ5le%aF@r
zT5*8#R<@kZ439;`p5#NRKX1P{F$$7>GC3V>n%OaO%s=6veawX!yCB2T!GPxgcgV@-
zu~`jSM(B?|)%m%6(U9*Wedk!=!2CvEJIr@-OAHyCSHJM7s3DFBHnMrB%nEjd5uhi*
zDKF()oa{SqU!@F&9<r(`Y3)bQ-}DX|nSM=bo%Zz1UJ9{zqLp@cf;UpwbeV56d8j0Y
zrgzwZ(LTmLQR#3e2=(-3gRTg$E}!&h(`nA&@ef+dbj=!>FkSE`CaWhP%P^6uZ>H8=
zAcAXBq^#0+g5PcrS$z9*&V*%oKY~NXYI}1l!2yMTBMbC>tMMLw=f!L2dW`&F8<)DP
zx?F4FxgS6gaq1&$*HrI&X7@#U6U8O<hKmH2Osa(BHd+;XGOSqxo^EPkd$49cTs4C@
z6ByA1QGC{ZSR21(n~iqivJE?jx|S6ceeh5WzcH@rbSN_OKIiTJ`GxbwyR$U25{FL>
z9&Wycc@KlllNJI`YuZEnj59JAs)1_-EWBaEX{>LoTz?Aky9H=Q?3-st%b>C0o*Gfd
z^J<X|Nsej_T0LRfy{T7rUTa;~GATAIaPrwME@rNY?G=QyxOppf#otU7E!iiDn5B0Y
z`rLdkUsNp5lW4dw+GMk8fMjN|_pzG)EZ&Uc#xts1U{_q8bmpksmsXfynIwmOs%&WG
zl?*3-mWes&49$wOI_@W^94m@&_^!gc0Nz+p<x;F5^rCoL;1N&Mrn8hV+7IMuM30?$
z;gQXVbFC$bDe00DUh5WnZPf?jlc&E)dww0a0a*>39u6vBWd4!RvS^_wey(dT_VC{E
zciL7&ueaa&8^MvlqFrs(<Pr(v5=hbF<_jeQlBRo%F;Mg}SGni>klFb{f!s+xji>_^
zhH^$%AyLFTItoQ7lMXCcvr23o7uI`h7>C-Mtj<4aJ_-u3{A#17T(0ZwgG^#5!A)mT
zd@0cu8JhDN?NxW~MYZb`mj%ry6#yg48o$bjMEamwUeRho_E5UwlDls()e<KjA|E{U
zK)Zoupgq?fZ?Bfr4w=UAE8ET|fd2%WTEaNbaGqJiE=F~~uaE&2E`!c}Z*|oHI<Il0
z0v+}_co#jvx03H*ro%ODf_BH$A@-bccV4ni$31V&=1z5FK2iF?UmrWqK3eX1gY$Hr
zDNtfl@G%!l+~VUD37C^zJ8ocjt{wMDkUs6~YQNj@VO~ohXN)zufKgSY10^f$Wgr~q
zAoOs(C@!iVWQ*VMLB9>W;}<Y+%}69O<z*jku~v~|Ec54nTQF;`z_+^DsL<OIO?}aQ
zFB913bBBN{R<kn9VguDH(zh)o(oH_Uu7BEnV0B%-?A1Oj4RnQV=_EL&k3-P0WPZ(B
zAkS1#g*gpd!z1+p6B4EL-sfH)ag|Z%%5l4Nly{gzTGpHD%Y>loRbErKN(G#EOSjwz
zlV6q3Mv0wU`v`Qv2QbyGe|+B4(q5%b&tDGZ>zShI${Bh*Tj$+IZ$O*I4wS<W`P=|3
X!5$J2kqz!&Kd(#-EYOvDZV~?i$#0t=

diff --git a/docs/assets/img/bird.png b/docs/assets/img/bird.png
index f0e6fcb51b21e287ea9f924908e39002fa817126..903e4c78ef5b1f79be7aaa5d3d7feb0abfae3a0b 100644
GIT binary patch
literal 3092
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
Xt@P!?g)a1ef1Qb;Ik-muN%VgJi!FB(

literal 4434
zcmaJ_c|4Ts-yX{;TZ}bL(iqzy`##8+nJhDgu`3e|hMAbf%*2T7gGr>AbR=0TbrLNM
ziZGIqB_%DgWhoWKDM|6_{7&ch{_&po`Fx(|zQ6b9x~}hf|MPHh9xmIYKvDnzV4IsO
z%6oGi+I&w*Y}x!a_|2wlE<0HJ0$Dz^2v!_{K?FF3(?W@0Hwqz==uISq$H(*#?EwHW
z2-!D~6^M0*h0!QRgr68AHif>)1_10G*>pl!6p;lEB}S5|4v@u`HVBv;?f?m}#F}8~
zNFs^sdXz!*IqKmXb~Gx?HXP!(7i`alZ3<9`ECQHKiKa4PYzN3+y0Fdt&tqc<_%8@6
z$^r79paQWtFp|a~f-Q|q48u&UOu$yAMyBQ#*4Ea0z-A_<CdMXa#-?V5rq(cXGnk19
z`0od@>5UN{0rN&V|Ltqja)6LnEIQ2CI4&;ED9+r7#)vdFwY9bVsbOYjxQQ@i##31Y
zwjq_N`AY#sWQH-wbQYOL1^-kegwl?%93Y#K{wD<r{U2E>^Y1ck7R;DUpc|VSnfy%Y
z7Z8j6|DhDhKWHY)oA}>&|4(72Z#<o7>`i3SjxfSD8yBJZ(-j?tWDp4~8pD@Hi~dzb
z9ErxFF-bH!80ljP#uCEF)SvcWcq|s?MrE=H)G(qO$^o*eU_>T|!)$G=oh^`-2!sj3
z$<%b8iH*6b3Btn4$rNFYvPL3Mzqlw`*bxem%KF6(|1TH$uiT%bK%sAXMiCk0SYo&{
zgGK@Wl`@R{@3GkatKQ$-@PCiR>0i0Vo52|WZ0!GP^sl4M>G`?+XKXi(e+HjO-JEvD
z=2#b)t<`K^wfk-;Ctvo9_Xnlxcz(*k;55096{j_zp8Fo-6nD5unu_k`1ww6dFDmNz
zRt17=JyaC-4#s%jEQVuIx7>OF?RA3)8A*gY4!CsY&h!u57~);nb<M2ayK_f2nCm|l
zH`XFro5p%SjV62v9&cL-PH+H8I2GnK2t9;Mo{K^9mGAkT2%xN=Fw<6Gj<Vg?gl-zK
z@q3<)bOFjX8tkswr*yY4jCby)pkPvVCSDDe1|(M}KFx@UdODB*y%4ZayAQr&%)fW-
zc0lmu_t)<P$JZ>W%9_iY)fMkC^NPkb_?DI>x;L3;rO?&Cwcd5HBRb9)^Og&*M#+z#
z6Z+VUqO$KDuGj8;w%Fho9xp561YYK)7Y69->N!66^etNUb-rTxWFE-5)!WweBoJH?
z$1^r4QihgBClz&iWQek-Ge<(F?WBPn>NB+p;^M6rquVES5r8`}l^7*NO~%LjI26iN
z)z3-fnopijQt2iqV^SG7;5-u^Q`Df#e83$vx$NHYytbq|5oZf8d07HZ6Kv-NX(|n@
z2`>qnT7#sK>DfwUH*FeYeMOrw&mXI8J;Wpy+>&F6z1Tl!gSN%uS+Pnf%Ya8RS;g!L
z=WgP{ftc-lAgE&dEVKw}9V3+u#F4GzzEo3g+Z3(b7J4%Eg*n~4IQ@Ys94hZ>n1UAt
zPp(+#A#>Gpd5aI$C%WH$`SWmJd5yKlX)z`zaY|-JxxqmT0@r+r8Bu$q+@PIu=`CH>
z$4&0CUg`165qw-o>Ep`w6ZYv2L93bx9SR%*NfcFx74IqSAz$6S4(5!X*$7@$uJyJ}
zbxj+VRP@%_I-k{0te{<1n9t)(4VBx)e3gZZ^;{60w7VqPc^utA{H)4)B764G;-f-j
zld;_q8URo1m#B~^gY;dL*pl3Oz8Y4=QuC4~IDrwOj{fUsm!N7{&lu{%;?ZU&$2odC
zyX{03ysVNtnLd-M_)JN-%AEU5qt^HE8+oyT<2#{V?QdL#T8??VA;yNZ_Pq3We8-V;
zNBO#Jvl4ex<;(;FlO5Tms@LzpJDSApUGOpY@9IsUV7#TuTz+;YdRUI_g*WOWNUEEo
zf<4jPY_r7C{$Z5ts9L80JiVdg7Qtf3EmJ>WcPv);GQ^xt+zc%)IXvSULyRp*)6-M(
z$`sQp8hulN-~C$rnrYFyNQd2*O1+O#nt=SS{w$QN%+jHXiL>zahpVM|j|56N&`xW?
z=WqyPLc~)?TA5LL>W%m9N`TS1I3L%wuTg02jrg}-Cv{}16XlOBAmz&Dpk-oTErr_F
z`9`K=H{CkXDe8z<VfILBC0n+c9ywku>VMHx-9ugWn`bvY6NH_7BJ?UmCs|mG{HZRd
zOK*|9q7Vt?&syUwj_4$nI@c&|@$K3__ZGEKH(XItuxc))qucET;fQ5^JKbF%*=P&e
z(U|*{saY4N*L8Y@@RXyVr*?U7MwRh}D8;gET8Dus<$C*k#N-uUqg$riS6$RS-=E0F
z&zeI|rw#m3@2iDIz(lCmPntK}q$nQ9vas4J=$eZ2a^qjk>RsOw(k0qnb6w(Ho3d2&
zwJf?S%ELG5AfDAJEo^iMIU=QP<bBeZV1HjCpg1&}RpRO8%o%CMKsK(u_n$@*cXfGL
z(6V3W-M4-y`BfwJ@>0zd?4@!VO@j6T(+=>Yv{bw)PSc%L?+KwwX?QR5n+x$+{m&d7
z0({xWY*KEH&G@3^96yqk{<!sadQlV_tq%HVG`UcD<xFymN8p9By>B`-=+;ljLcp>5
z%(D|?A%=Lr`In0gq1@zF^#`*TNq(Y6W-IL3z3&y8>F;vS2yYsEOqh^4JasctY&bNw
ziZqqL#b_)BW(1tPyfe4zPJJ9bVq$4!NlV5Vv`icGq0T(rqp)|^r-f~HTSmPcqL>+W
zt*Amq=Mo;94t^KoG4C(8wswO5rG(_25+P@~+}?UVo}e(*IC0ErpI59l7%k#2TUGhG
zBDwzB*Pt7MeA}^mrm3z9;>b#mM7tnL@yMsv0{8HQ0t;1K66osj(@Bg|Pb3OGgbrP8
zg;BgBsmd}gJ2fxuhr2shQQ@O!3=g*^VXV((<0$IG&ovTN-(!lH2~PfJZ}zPMmFUZk
zr3D!O6n^h_&W-&KFos5*sv6icIgh)3le;A9qL-yVJ}D@W|3sXz>?-L(E~WTAUwsRU
z`C#aC;n_YV&PH*{ef<#S?G}b)C2y;KU;zHdRiO_jH<2q=-#z+l!>8Xur0@0xUWUbJ
zPuYaSf%38!IO|&9nl40)DTD94zXq>UyM9QEq%@I2$jLgui2S`p;nPt*hw3R`4U$-U
zO9`@i(iQ}oIhS<{Qf@Bro9&6(_XrrD;`)0W1+#L7-}_X#;ck!tr+ZLC{rY|h1ni(~
zM?W%`v>WA6w;vxVo%kx^rDLLlAZg1z%nAO$#fDy|gSl%3>+Nm2pR8y)kFkH?w`=c*
zf9!bG&D9E<#!G_3-^6-o?a)lttyTG<>pGwMeRqSWb~ajc#bYF=<<F4wKjhr7F7Pv&
zqc0BHHllt5Y!#O}U*<VH9+lv9`fe;VfP>5PD2c3aPZ^<>P-awSjuM7mjb{g*{lh+u
z>4D0y{F35KzU9a@V4vQuF{(*u+SR$Liw2->2>nZ&bjqv++IcD*9Asyv-eUPd;BCO?
zy}-ibe3-=_=><~6W~=A(Vj7fLlMmhCn8rcY!0G27n6+gV$G1Z6TqVP+-Y*tBxuTG{
z{lFpJW>}&Ve$74YL6tksRU5E2zCNX}7V+qecdjF*L%;l+ls$A%<5<NmXwxe<Ij<{x
zX0?nV)(`V2Q;c_Dz_MXrd3Ev?K|?q#N(i6xn=h)?OWx{+mwS<1X{(ebYX?2KJ-~j~
zs`i7DQDVhAJ<EAJMQ(?<tW)AWsn23F$$U$+MSZR#Z&pq2D0KUvMEZm@Z*N0gZEC0G
zY`#q{QeOQ2P*6bp#B74~g{gL6pWuo<1w{@ym7n&>;OJbM=(qdSihTW?pspE9c>+N6
z8%3?nrVnx0P=+M4%@ZxD2UPO@L3dV5AXh}E^sY_vlj4gx0;X4B$|b5P$2T6Vl4CSP
z?{}8#THRW;-_=!bJ;h2@+&M>D<n<SwE#Px1cS$XeWEHnf?>y#%2ieLi0_&PlZ0_&j
zW3J|3!~#$GKLRWEj1*=KW&CKL6I5$IwkbeH_qD8r!dW7AhxQ@PXPuwwSUksYy|eWW
zD-5c&ky6zfQ0U2hM}LLFPicZMmJ=V@oJQWri;{Q|kSi5@LSm*Q&q^)?xh(tYT6FIu
z_cy3W%4~4*=MQp~XO9Q9U#Rbyw$)b8`#5a#?fAPCm+39@F!xIu-RN7swhsfu-X0F(
zRbJ-7QdP2+Ne}87x3$WKr{OP|rLKKy85jXa;nCUG#PKTChnln3<~=?nrk&$(R*y|k
z+{{4ygbm1o5m90QxwgO~2|h6s6?TQXw)7WPAr=x^l#WXTNj$y1oSs}Dt{YOJHEgy9
z=6~AAyXIeBnY-i#x*jl`q7d>{<?jB*@MD*M7mlS$y`j(GVh-*h-Ae-6r5)0*md#IZ
zxlrE8EQ0UdZ4}`3JzQnmh(WDi>FyVgK~3tGv`_Mo<+DpA8A%uK3zMddR!ID$n7d1u
z^3q+@Q_X7wWyih|PoE%>*;88#<{lrqtL$}sP;N?dNk(*j_X*!pvS(sQ3Mn_Ik6V{^
zfBti9ZRCN`4ozuQU`b^JbWv&K)nvBndVg5gk+(?Wszy@P7}HMzqW`7ho%&3jXh=)1
zzetr>8+FC!fhPBcg3b^Krtf)UxGwAbtH4Z~9dNB}M}PEV&gBd6U2=tAH!7xjVKLPO
z_YTh_%-(x;_H*G2Qt)m4pqczbBcrX3?HTE{N8j+X`V$OE1za)jwd-e8b70>9_@RYt
zHrJ)$wG}gT&rR**mSb%NL1kq&sV$j5_;>E>BTjRG6jm{A?^e-+l{<=@RS?nRSva#J
zufv(p!N3R2*-SbOt?f7=&Q9BceA?l7{3;2flo}+Q$N(4gT#NPVn1X4G);!0MU2Aj}
zIA_VbMDkraWFG%1KcZAw*auC0GdOt1;vD%<%>>@fX^>n3f75RPI#4G_U()ShP?bdv
z(8?eK2SCBN#Nc?VzLq6;YMZ3RJ;5@Tm|V>K4hOA?g2Jb=n^mkOUyiXkvki?A%03%S
z&Ui*7rubSL94$cpxe$M@Nh&UOYcZLT@}<D@IOcqre0T5Rpj2p?xY$hV;1Jzm8%#yF
zBX_ie!|^Fx;bO3tP8C_}P;V@u38lC}__WE;%aBWtTuNWi+ivW{?l}m*)UbD|So?Y<
z5IwbJhAF)IFbZ9zM#?zREKka7;E49P*|UPZ$G~sj8+prT<Qoh<_rGF%ZtkS#fjH}x
zD~v0ASbC1FmXde9tkjbRq;;<J!?h<Szb$8nqm?>Qj^)4WR190tr1YfJ!VHu$IQN7`
z3Le7cEFnino%I-w1SkcKdK6sD7v}m;9mjkz@tV9*fA?!h$hH-7uRHW6k6D-_82<6n
zS@B|iB7Cc&s_f*YoG2>iitB@GPG{y$O?ktG+=C4r_sD6mRE(f{KCCM>2SmIuK6e<Y
zp)K#HQ}_CY1mSkwb(@4^(c_Uq{SnL7KrgFj`?q<doP7T-BFOLQ%lL>UF4q;jZhQ}r
Y^Q^Ub`tV@r&%YdQ`#ey!h(l@r1Ll6X%K!iX

diff --git a/docs/assets/img/browsers.png b/docs/assets/img/browsers.png
index 369a7f838fbc8bb95f38ee576f9409276aea488f..73b668d9140ee4371928d95f084ba6fc9b1149be 100644
GIT binary patch
literal 19776
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

literal 21805
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
X($g=_6}I?+00000NkvXXu0mjfJ28C?

diff --git a/docs/assets/img/example-diagram-01.png b/docs/assets/img/example-diagram-01.png
index 0cece3b3eadb7de46b803b42b42304093ae268c5..2c07bf7ff77c3b49ad74088052837ce0eb049cdb 100644
GIT binary patch
literal 486
zcmeAS@N?(olHy`uVBq!ia0vp^mw>p3gBeKL9cKRyq-+9wLR|m<{|{tBz|*HsVN3)K
z6vPEMinGrH6$+OG`2{oVcW7W>uo4imG<wC>-rMrzdDpl7=MOM2FuHlVIEGZjy*baw
z%fP_Hv|xXIX0`=8?~eJ4uef>wL8jl0=42+IIW3Og{Byf%4+JqBxVg1hn;}twD@l4n
zWo^Un_fzfuT`pNrGjGSL?>imm-ZjmS*z6{id8L<|6CG$Or~tu|851zTBd<BD(xqOm
zj>{K%5gY3tWB<Fj0B9|fp-;j8xv>ZP4>=k+EG*?>c(JslOVxXtPA$W-y+z)P0&R^8
zL}uB&t54t;c+)24`u0pcn|Rx-u*#{d9Q_{}KFnk1;0H4rJ^-n_bLGdJ5-QJhB|i!_
zsrJ*djlJYu67=#@*kj#$k`r&8NWAE|EZ_9rqq&to*LL{{Z8t2M^u}ssFORO(%9qi-
z+bhytqSzUud;M0a<(r;+G*`az$WQ&hk_-$MjLZ|SS@#;ePy+@OgQu&X%Q~loCIAYw
B#N_}0

literal 1641
zcmeAS@N?(olHy`uVBq!ia0vp^mw>p3gAGV>%6>lzq$EpRBT9nv(@M${i&7aJQ}UBi
z6+Ckj(^G>|6H_V+Po~;1FfeCihD4M^`1)8S=jZArg4F0$<Q4#RGcefLR}>^BXQ!4Z
zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di
zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%ftjI#nTejE
ziGihwrH+D;fuVuEp^?6Uxvrssm8rRvfuRBvC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR
zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW
zlwVq6s|0i@#0$9vzP@mS^NOJX1q?F%io^naLp=li++2{qz^aQ&f>IIAz^b}9q_QAY
zKPa_0zqBYB7$0fMFwMZQ!*3BtA<#8e{zaL<NJ-3b$xklLP0cIubg@+e%IKwJrT~M;
z!obkb+{D1#$iU3P(9p@r!qwH#(Z#^c)X~Do)fHw2HoX=umX@wgF3v87#x912t_DtS
zZf33)hQ=0-uI6qg2F5VGo_WP3iFwJXFncqB_CobK;ni#9T$Gwvl3x^(pPvIu0Rb8L
zCHch}`2`Bj!KQkK3ciWSnRy@)Py|8z>ylcOS(cjOR+OKs01jcROe`*NGdFib_PK?N
zlarf)p{22fnW=@TrGXMuZwfh~rVn(CJ}7x0B^Q_wFb#s3@Wc<~z_U+k9x%@o0W*i0
zug_}+2BztrE{-7;x8B^b_PY}x((rI+$`hfB3W^t(p3#b651l61+2Q`J(Pe7x0ke!3
zHeE)%i=?HBbpjPU43Ct*sZQVLzpLZikB<79ie)!*%B-2$ZW=QQ2yt+>uz;`=lOm&2
z(^-$$>ob`ke6U#K1O~-}Y-hx~TQv_{nDEG?@Z95?{^A^!4cpAl`Ob;2^$0Jlo55KV
z_5Xoo_h;3uxxdZtS(*s{$Uki>crc;;Uk{TJ#0n=SxN(gW96S_MKo}&2Rk{JJL_i3l
z1j&I+iXh#X(x*5wGkFY7Y~p`;OD18$?8-emJ1!rw>@7}F+px{Pu<rQJnYXr?@=0iv
z#-?+j+dG>>^IYml`Ggj`lgFnA8HpE1&bD970JTU#`~E*RF#Evl36JKy`6ck^=#zJc
z6Ts@~_2zjbY-L_OSM*rSnzDuo2eQ&z4aHZ>M!aQ!ios;h9L-`6v)*tkG7-dzc#BZk
zkQuhS-uBfhc^_5nGdDJ`Pt*&pv8z&YT&8|$%6b`9yUwy#b>1_5-x`1Q|DxDjIj7ko
z{_&gslC#S#_zUH@=libPd8KH7^7+)&&u-dJ+}CR}<?r?EX?oXVvUc9z_<U37=Qqw-
zYCH0R532iYPW~Q!d9R6T8%qjDrs=`baM3eqTft&$ym(&Po%`Hzy{2w&+RLJ|OQ-#o
zt=5Y+^|yDgvKO#-pOs>^_579V9upqB9$U|W9Dh0U#TnTc67-GbLXS>f2P*tMUHx3v
IIVCg!09710q5uE@

diff --git a/docs/assets/img/example-diagram-02.png b/docs/assets/img/example-diagram-02.png
index 557edd3112250f67e8491d68ab97acb31105c27d..416d157e6de14bb77caa7511615b8fa29225b688 100644
GIT binary patch
literal 564
zcmeAS@N?(olHy`uVBq!ia0vp^mw>p3gBeKL9cKRyq-+9wLR|m<{|{tBz|*Hs;S4w%
zSp+DE40btly8@+!OM?7@8TLCgFfdrLy%G?zG-~f{dGfsL@Z9K63=E7@JY5_^D&pRp
zXXIsI;9**@zdkeDf}MBA{KZ#XJ%J$8??!Vn6VRL%$8Y|*U9|^-7!KUrnk?IvDA3R(
zr*)ItFX;dO{b5P#XRlS-wf)e6w|l-lbz2){f9~tj&o4YrO%-~2R`=R6kDxVPuF|_d
zdR)?QmCCjEzqCs9(tanRLDj3^(kV)N-%t3p=TyVGo9`!deeM2|xV$frp}|psgY69e
zpa1c}Y-`@Q%y_$g#<O$#woRM>28$wD&*V(3^YHNSt5H%}a{Zj-8U-F^$B-uB++fzP
z|Nn>D==bg3>v5|3yLn>53B~rBmTmo)=ig!G)Bkw?aLJAG<IkrYHh$mN|NCjp5&68n
z<2{FGvnEs=_#h!?V3Sb6)BkX4jQ_2#b}z(J%dc;=>-0K(ZQmx{N#%<tt`Uiu9OAN9
za#u)6^`@W#-ylKL?vT>SQ=48-T46FP(ZjV|MVs}yis;2Gx4YpdcVF}f<I3}SBs72h
dr9TV|2c)xmz8{+9knt51yPmFoF6*2UngAG5_a^`V

literal 1742
zcmbVNdrT8|9Iuav#mAhQi756cW@ZL@cP)KFm6q$R)fHIFlx+;D?X^8=d-ZyKAeIP2
zjTtz}43bURCN3jUAWYCKR8Thq&P>FpI2<rVW%9-Zi4$;FN*yM|KX%FQe&73jAD_?n
z@yi`bNqT=tXm}`t!C0bFA{u(XNw30%3+Oj9V(bdNt)>)dl$J13ZXJm+WCmg<2B@q$
z6Q;p*hV0!}v3Le!o*7R~qtetLNc4o2qx0KvJXSmH&0xfD_Skj$EQ|tnVkX=sWe?Ri
zvH{#6WpC%JA+<dbGvmrVB&OYyl&as8r5796n>PXR9tj=5icvbiW3|{E5|5NU6<0#b
z{$r30OqozwQg(n;nmPqYBuEV4bD$VKB!B@yEC-H-#IfRNfD6G82y;P57z0BRzEA?e
z!1TkW(MW?)qCwDUEc#2zHdB;c0)lS0o8#tj2+{<?VzC&6xFDAsLtDf+vTc;k6Jv8k
z1tTDsLr>y%3MXuUKca3Y;iRN&nrR>ft6i;r71-vOE)-od(4(`1Fb4vyR)1bo)(%R8
z{YPU~Ye#Cf9RoF(gK(01x*x`<pfg>&Hv{<%X*QB%5~rJ@vmk`tX~k@m3X!sD4aa~R
z=n{z_7#7AtLM|i_!LVE|QYc^<0-=1Fh^tTpW6b6&Ld0T)Tmd044}oC?Bu7z!LIm?f
zGKCP0g?K?<mCZrvY<et+i_^FPUj%)luOyMgbQD3R5`-l<0V!sJA{=JI4kT*%92ijR
z^tjD`;%`tOUj!p@7iK_7!U{}PSc1>O02K<+nVE|axg3RHF;67mi}+%QJ?(4wKUD*1
zGN6AvW{gYlh@L^e_-gp+k5|_Rv(a~kq%TKgA?p%@F?U>r$WlG+{eRZ%S}6;=IP$6V
z++sn<Pp*<p`&)E5UuJ&wUFQ5tKQ7Ze4}Z+JoFNY$LHh^4-n}%bM)bvBgZ)BBBdbsu
z?J@~p_PbR+TTR;Dj~Oo?6>nw8=SJooVbCi<39L_0LPeY(9&X&XVfjL4!F>Os^>gI;
z%;@v?1}q`01NU3Hdg9*->ppa=XEd_9-gooYzCq8KNmh^cX?k>4ZA%X}+3n3Zw*RuX
zr0pBux*n(VLD$x@MTO6v@Aa@NO`^Qfd7GCOSH2ZlX%r3j=CKYoZ)?a3iSnMEv+Q+9
zKdl7izA0MEmILc&RdeP9C{EFwnMS}q;3J<qLp|vlDoOeNg*nnoCRg0}oqLyg;o9kz
zzK=4JJ6QQI%G!E-o#-O`+qS;${9Of1JZypc^IgxYB3^^pr<G3_6Wg3^#o)FrPug<_
z+Ey?NU4BSleQEmnKP)%Xo1X31FpT(t^D|FQ7=O984Wza_xs!XZqnZ$0RF-$FC4T$6
z2*7Q%alZGuvHRVfVFUf=>skkg4-~RiVVy@u#@6(H_NY$S-l|cajYwC<uF&MpZxXLA
zKRgl2ync+;e0kw`!kr3zBN_*_=e1rpn{L(YD31smxM()jo~5PC+Ii(CK5WV@a?#Rt
zOKluqQxFkiT<6@f<FvWFqx6NaUA8s()cEa<m$z5+j;$G4q%X*c8+ASnXMU1XbX0n^
zFFRw^{=;LuY9f20VsE2kD5`fN#&zPPv^ZmBL-VR8{hfxcpU2)FoqVT0sa4+F@~~99
zw!RuT)o|M}9L@}1jJw}$I{x5pedwkxS7ljZ?U9DZb)d&LF;ZGL<R0`Q7aFfrX-iqn
y|A;l-oQfx%N!}AaG{2-wnZiq+(e2jp<(Z7*8;fq7t1`9v|1c^=5>h44%>Ng&!-)C-

diff --git a/docs/assets/img/example-diagram-03.png b/docs/assets/img/example-diagram-03.png
index acf819d408cdd36bdfaa1a14657fadc9a6146be0..df13fd5fbab725cd529f60788d8b16cc02cff8bb 100644
GIT binary patch
literal 369
zcmeAS@N?(olHy`uVBq!ia0vp^mw>p3gBeKL9cKRyq>KZ6LR^6~8u<PDH&8@HMdjD8
zUl6JL_wPRdga7~k+uPgk5G{2AO7NEi`2|ZUXv<5>zSGotqbj#>?kw>?hEsr2_dH!3
zLn`9loM+@^VBld|;9l{6%e4YNsRDcVmEDto;L@B8_U!5m%?=DK%I)q<S-;+!iT?Od
zKH(-;*}B-bx^cJX{-4%DQy>x<J*ChuYOCkxIal6)yuw=h_TWKY1_cgghb^jFJO1xE
zcYuHLy}7&Zu9~qiEn0h0m>auWaKq&~1tq0V3`&--iwcDV!a$+p>FVdQ&MBb@0BT>9
AO8@`>

literal 1428
zcmb_cUuYaf9NwN%+iHoFg0*PeZ1Nz|yPes)z1v-LO>S>@y%X;mE{7%$hVJc7a@%D8
zWOtLhODi;?6{;5Mi--^^N}mLYk4<S>3KfLX2Ze^Vrc#3lRU04r$G)`A-k%uZ$b+~r
zJF_#t@B4o9&2RR^K>m%LJNE7%2x4b8BNcG}J#HUu+lt@YUw(KQcQ5+#kUwaT`W4kh
zL`t_yh|HSm7%CuDuT6f3dI{pGvQZrJhjMQTnr%kZASO~Z9gHT3-oC1%YU9W!OK8ln
zlGNI{3lwSSN$MRo2Xamtm5t1diw0-%MQvtW<8`WUKiOLqFoB7Dm8_Z*mM2t`RGnAA
z<6xSm$a;uBo}?N{4dn*NwCy62jexKQ;*gBTA}|K{7{8BX00cB-Xpjg)Ag~DmK(hHz
zSk2W(g@U9sweVMxD*L`8&~&9ziBzHy+a04J&+{~3Xod;nh_F|)e6<?3yzUl*ggnhP
z9N(}lGGJ6o_LQHbaHfqdm`*OYPHcHiqp)RkRdr|>0kmlb`>IEKegXZHM%!qwSaT3v
zK%PD2YWO@xyIWxF-R43;AkIcO;2QW))CtMfrc7k{St&{3m56TW*dh)<n23P{1L7Qn
zqR7cIOi4gtQye49Esl0rY<f)QC0>G22|^i&iV~MO80AuOLWzNB3!Ak(U$r#U(lxMd
z6U%Li71AzJecLVC_C%`!2FkW?du7`p(}QdTk~vi~tY9WMpvHbB<QmgRS6tg9>kbP>
zn+%jhLfN=;P7*~0Kt9UFS&roa)x_%m#WflyLkH!tp<G&1xCVpadhz3r_3MKyd}myI
zIj-DYd4?diT*^wRV)e%F%ka>#{@q7!&!5!S7T(R5R_}-S^qu3$!o<Gxjh@BVYjd;r
zRAtXnN9QMBEWN_sfA4h1#S1U3gr48EZTqpOgC>T$wuo~~;mX-R`A+YuZL#OVwKoq;
z{`Ei!ot`Fp`ZHut5ZyqCp*mvr6wx(%sy}lSw_v#uvVkzvX1OiH|0&SY|5u8e2&8`N
z`UMT||MAd+g+E5DpHIeeKV0rc9p4;Ye*0GDp}J?}+sPyIzdl;|^33~F%h%>VTsb^a
zS-AHITXl)=Eal<+6Xvzy)#1`o$vV@wwz&66=H~Guk59Z>ySn?<*`GeW%Rc^i@q-tp
oZ*Ki;HTrDR>A;xJQ+=W5h>O>S(pSmzcY^<9R?bUbiwEca1_@Ha#{d8T

diff --git a/docs/assets/img/example-sites/bartop.png b/docs/assets/img/example-sites/bartop.png
index 9628516367fcc933e1285e727d0b888da68d82c5..ab483aa67df7e5c6d4f943a89466f08416e2bfc5 100644
GIT binary patch
literal 78189
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
LNkvXXu0mjfmod|g

literal 86214
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

diff --git a/docs/assets/img/example-sites/fleetio.png b/docs/assets/img/example-sites/fleetio.png
index b48d6f010475d1620c5fa40c93e6fccc87073782..8d975079bd458630169c5f2cbcb8f526a079fdef 100644
GIT binary patch
literal 41932
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

literal 47275
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

diff --git a/docs/assets/img/example-sites/jshint.png b/docs/assets/img/example-sites/jshint.png
index e532320a3ca4ecef52a3a34fe9a690b2a4619657..ac7086de1d41dda2e67698aa300963b332a0f52c 100644
GIT binary patch
literal 7258
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
a;n@V~du&xQx&2c}0cr@OQjOx9i2n!s6rPy?

literal 8886
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
MsAwyfLabl>AFniQHUIzs

diff --git a/docs/assets/img/example-sites/kippt.png b/docs/assets/img/example-sites/kippt.png
index af15baa115fe37f40f92390a9d72c03ca3246be4..b2bb236d990907372630f08379480474d0f56440 100644
GIT binary patch
literal 52306
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
T3MR8x00000NkvXXu0mjfJK)_%

literal 57064
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

diff --git a/docs/assets/img/example-sites/railwayjs.png b/docs/assets/img/example-sites/railwayjs.png
index 2480dd68e7208a42842dc85615641691ce17262a..23fb1cf3ef805c6accfd71339c7a95550d8f3024 100644
GIT binary patch
literal 30550
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

literal 34839
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
LNkvXXu0mjfU{cQ|

diff --git a/docs/assets/img/example-sites/totalwireframe.png b/docs/assets/img/example-sites/totalwireframe.png
index b6256138e58df4ca43b4fd3bb8eab75cd044d7bc..66a4e8509d27ec46d977cddd92a93e67578e5729 100644
GIT binary patch
literal 43364
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
Qy#N3J07*qoM6N<$f=W!D)c^nh

literal 47095
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

diff --git a/docs/assets/img/glyphicons-halflings-sprite.png b/docs/assets/img/glyphicons-halflings-sprite.png
index 525acee6dc1ae5bbf86f5dbd3c4332366beadebc..2d783eefef24c35a2051757a756486d4e9d03ff9 100644
GIT binary patch
literal 5249
zcmYjVWmr^Q+a0<~x*2ICL>lQXsTopAkrX6{aE68l5Tyh}=^B_BLRvsdDWy~#Kt)P&
zXok-3Jg?vPUGMpE?{(H$d+l}aA7`KIB%7P+(@=6yf<Pb|LjxU45QqQ^;3wonK-J?8
z9|VXia}%iU^?xpMa&mwNAW#Vj39G8A{^GwCAeot&feKvzk^ft0XlO`DN&hl3GBN;Q
zV`F>p;K5(PztaCRbaQk2iy0Xi&CSgLOiN1(27>`5uoe*!5db(jIqB)?0W2yi3XpMe
zaRdYeP$)DuHWmP(p`j!sB!G;EheuUam5PdrjEwBYjT=A!Ko2}pS68>QvjYSg8XA<8
zlmG+Fdh_ND9UUFeT4`x1aI2)Gq@$x_VqyaL1FI7g69ZO2rJ$g2baVt{Qc_ZYKj2ec
zT@CmH8XzhF06pNtz`$_l&K;miNJs#k0zT~Q?7(zxZf*eq0eyXa;1*aH5dUR>7(hEL
zEG&ROU;+Sfad9CbAt1AsmKLA^NT33#fNg1NY68T7QczG(TU#6G0@xx+Nl7>y&dSPK
zP*4D14h{~01d;#_fH?#L0rb?=)UvX&z+7HlULcH^m>9tD@$mthX<=aj$bdY+c6oSs
z*xTD@W@Z9PUteEfUBDLTPXE9v3m8zrmZlJp(BwEF-JUpG5t-CZ4X-l^E$^qLZh=sB
zD-$lTSro;bX&Pg)LtRxSb@3u|aYt{!g2t|%`WNMo91NaASWIJlrk4Q&(_rbmP<y#(
zkGqEU*Ov{DKLbV&AEdKN_R0GN`h$~0l9Zm?>wV*Qxb<QpS}rEu#WUz-iizWQ&&N#>
z7CJKZmVRQ;wqTV4;d@1|v}0W*vvSPLeLe)f%RsYarz2%=^Owlm*(9j93xhxm$%Z<b
z&@iX1f<!o%?wiDJoa}E^l(4}YNN$Fnh;2@vy%w##kB?8BA(gnxv|!NSw#2FY@0DPs
z)qMQr)i4A*Ve%M<X}I5%>cKkom~FnM(C-X27u=xEeDI@}K^`QVwJY5#toKg#sHCm;
zEYLMVqw>R<AwrR8B>o_Xx`=mM$(OL|o;(PN8(3G5rzbS}uCf#+_eM`h?CTN1vqwfh
zySZy%vIDX{E}gp1m2+|%&nrRmqW4NcBdxi}nHF&;O`#70`7Fs%0$S?e;ft(;5;{Wi
zNLyv>?$!C}fCwKYv|8+Y&pXF>Q6&vo;XeEF<p<{>@vY_dIbFTSOB{tRW7{R3UY7G@
zl;nlp1KOW`-H(o-+Rk~$#QKXvH|s~uM9tJx2#4aF?_dY0K_jxB92Ocny@v(~p{n!C
zUpm_Fq==q!MOJ9bo>{3FLwuO$QYFN~7)ksx$Lw_OcyFt|OuXs3|B4CenjL1)CYWNA
zt4-39nzuu=TXCtD#~VGG2Alo4+fHmgrQP9xrqkLhK6J6VS&$a(skXd4+4tc^Rx!!f
z3|D?S`+Lk7N@nP;JmoCXwTY8)&Qm6;AiVU8;xc_Wn!du4S<B?gU2X6N`Z#xeX$gC9
znvpY_HtO65W9D)k)Lt<lh~RkN*~vqX%Zrr0)(x+Y217p>P)cCQ%imR3q90n7#8O5k
z#qxfWRwi?*?K~Z8+Hqz^<)#FxFWe@KPBIOyw(hQ-oYH0&>(KdR%-YHnQ|^v;J+v?q
zAhzHrka&rk7oFG2QKe9^nv%a<zOa$B<P)SFO2_?SGqBTlHiPk3g*!=1=NdInXwyEO
z0K5I>t_W>Mtz3hA?LY87E{wGU<t`6;r-C|0mg=l(F^8lVEL2v3VeBAD-b^)hLVDOi
z8*A)&By{P%5O(Sb(asHS!qzBnGb@603GA86(@o=PUi#*-Kg0H;?)g4g@B4-``C>;)
zOX-MA*+T0pc;Dsq$VFW*BZzH=j%ffskDJ2IMaL#`oSC11^LWA27q+Wg4Brhc6dXmv
z(I^$8kGrDtpS}v4%EicsAYac3Y)(~PSXA{)viLLIx@%EyXW>9}*2DN{SBmdp<XdXc
za2%t9O(S5c-n7*vRl{}Qi-&xUqCI}O7>TGgK{Fi`uaN}rLto`&FWEGNjS-#YF>oA;
z7VrrtC--|(W{*7#+7l}cRO90J;EH@UWp%#ooMBDtR6l0MKDT!}NB}3Zt2|&}r<n1q
znf0r%0gTsZ`ygbsIm6T@sULev{(^;BAUB;p1<T}pnUHPOUcV@jy+54$*5Qih-98>2
zar|c`LzTm4;OJEJ&tsl1o^Rn^aC9S;`o>{o%We1|RKm=Q$3Hu%g;lbm&thDA_MTW$
ze|#>ILh?Y0xbLLd=FxJ~QMM%y$=j3tam*#pA-pql9HUtys_oYIo1Zh-wPD<hoi}*(
zsYO(1E$1`@OCGrz6V1lJlvMs!r2>}lPBZkTY844I)kj)}nLLa9o23(1S(7l*@JBz1
zy@RdD`FoB&g6x=aGo?AZT*vp{!8G7!-NAaI0q%G%4-}=HM(Pbbp1nvR@#BKOA{Xu7
zAyqzN#b3bSUDL67i$@Npj4x8#MUhy`RTN&(5J{nAyu2ZsGxaMg7gyJ+JvSS!)NkGf
z&PH~s$u!O)C*lS_95WIt85GY5gKik3XA;%ub>}ZJbHv*nbSFqbD|kWRl~e}4?-Nee
z<w&Cqsx8S}-0N@qYGM%nHD+Q%-=m;GE1K^*U=Ye^a3cskbG}wHGFE$FdyTu>1K%Oo
zv9)ZT5?vkF67fIMf!!?5Pds7s<leJoc#MP|6NrzWR9~$W(!=w14J*|wMp}Kk66Dv{
zW8x9@m1r$1fdS}izp~c!*l!7iM*$K`P1UG<Wph|AZ`y0WUjBqcWsLTtTI~Z7(4rc&
z(Ck$_l8lhAg24>?O--e5##=9|W~~0@5q<i4^U%CB-<{I|KlyPl6lE;sWT7{MSc;j_
z!zj{72D)_gar9*O8EJI09LUcWvJC6N8K{Fu+oOnV3<5~z++i2(^`=*er+pE{DtVIN
z*QSTIzXDOvak;zYYbJvPx>Q^8_A?V>L6-j4X>_V_%J|rAgyTJsarKb&VO?z4HBJds
z*GW2`zbEXExPy&Bm!0mi_}}_|k+$n<dBMg?1N-M`0c*JeJ$vV+t*#~ty2tqWG`Yl7
zo@~TzX2My21$s>`8u?k0Nk>bA{4u&-gI34KF#EWU@XNW)1}Gf~GOrZf50PAiA$nfH
zWO>C2Q({(Pb}|<`q8~(E>C{1>zT&*cjg5?Rw|Ozb_nOsfoRRsjXkcsids>I)yIC06
zRmq+2Zj+RFMm3jv8=K*uUZd%?cAPu^p_m%^?fHHTHs4<T5l2)G2eHx9fTDfpoPSMj
zsMsF-xRMNjUV0CDPs77@77Av!Qzn!_<sib`v7Vry0h!%8^;+WN4%qvF_w<6m8#&7a
zJKOz~MZ-BsExK{S4M-e~HB?Z5*d=1gY$HG?q+b;P^Xt!5(}g>$e(Mw2OXtp8wlpkb
zk34K!c|^>ZiEE_18HbLP3p$^}e?~b`ZjVQ<e~tWH<U`&tUjWH&fTEACu!5kl_%(*h
zV~Xha1yu7eYa1)>l>`?a5*HZZB5X6F<*Q6vU6`X>gI#$$il(MEEGy$8<vfld<J0w(
zpMLjX=*#IyYeOLD88K)^sJ-S|jeybzW)#j;Y{abvJ@KBh;>YNsG36N{LA?>~_#c{y
zTS5k)*uH?eD~Lf`OUMW4)+L4kgwQx30O=e-w_xvDk@oGT>Nx4S{DNO@hg*BPjGWm<
z+0US6i6it>C=Y`*qSFT|pE)1kr$lXENo+W~jaFfFFi-W-B5$#x%l*<uQ+D}|E^5dz
zLF>7$vPQ<c7+*7%co8QvUNBgigPpU$FdfPLzwd$nABZyhkc_UYp0rYZhvmruuT6XC
zVUi_mjFrA?#fC}SEh<AE%2;=XTN8VvoO@-=B_ajh<-sYRgJ`GTIS@_q9NiYsTNMlG
znDBnS_sOzZm}bL#*m`#D{>W-{ZfP>%kNPOdrvYjG_MSYq0;_z`FcGJQP4a-8o0~y*
z3H3a@Ptp~m5?19JU-<4%#)IN*@m0}3C{gahMsjzvp*6aF#PkF*7Xl8R?2r4Q-8B8$
z6D=_mG~dFiyd1<?`IL2Z@@@7SYBj!dqmI8+-S^BBETQjX2<3kGc`f;rYe>`StQI8%
zDZD`~?AK;ISM{vf2;Gxb{Ep`BokB7MgNtyBM^|d%bJS$(u3|uRv?w0!XPrWrM|StT
zaFRWDBe|jSjfPZUsz^SHG3m{UZJvEKv!&`SCaGQMs-#2ipPgcbvvp^X#BiUw*>mNm
z2VRwLG%YTvRl4q@U56Kt*h--;lae$&^3rLp$JPDzU@YM%e1~WUu7VA+A&tT<j8oes
zbz;Kg1q##$)vZjem~Q)VS4EOq@1-}ZFx&tkp$Z33*LsdK5W-}+Rg(nr)b-D`Aa;0%
zaL36VMO&=s@%d&)eO#Kss`GBa#9eFSIf-V|Kh)xVrqqke!jyZd^vJUSh_M`3%N6Of
zKc`+P9xTc~l7=gATj9cn%u-uhoqekt7G~u2WYo{?E+m`;3+VP{lP!ITws0u-${^BN
z<lRc6Upbf0^B`Sa)EC@L;gKrPiWGC>3LLiK4H;6G){J>|9Dho=cO3XRWUmU0wTAOv
zYar%t2^%rb|C~jHPQ~DkdmO}Iui!2`#-<s(R95RZp@rU%lyMA+x3nXRE>R}S#*l35
zqbCayN>^4#c;!0Rz>YrBE4xtF=MwtMibc{KHuq6SvO6(bF!GA72o<YrUOKs{Efr`X
zdd00uz!iI3O51N-%|9`nsT6O&**;d}TC!I6g4(!3>g7O4P#$--4-99ffUUMfhin#c
z;?0A8CmR>0duz@*+~Yu*2Ujs+v__CRs1gF3dc~VBYMT&K!aH9tQipyd->Owd*n7BW
z9w|c&ZXJ!+m}+#h`7}nMp8fY}N}I^<W8pTrzDlXTrhxk=;mOq2#&IC2?ajLjH>?B=
z*N7EAv`Usez>VoWw4Y*)=FJ>yR2*FXb_aB_A3?O@QROz<Wl;&nWcR#RY5sXDWm#Lk
zTcsG%Lx)ZI-3n4G7Z*0s8V2X)2A8_sI9rtp<Jn+a^W7%&{dm@HuIWWhaDfS@cv8p0
z<Fw~Ai3o<p>?+Si*0PUQQXqKHqShKh#Q!?dRksd-Kw9gCY$p${wA_p8Efd@pK7q^h
zKfnl2N?LxLQprWsOwE44RX94xR@YHQ_p9EnEsCVg(@NSd*-@XQkyVG66@WItUR{ji
zND6;lDmj+uB)jV9pHcs@FP5$@L{n>ZruP%AfFWUlLz@ao^(FE}vzz<(TB^U3p@j+l
zIfUJd_|=*<Lw6{K!7=)urk^6D@e;q&HnP@!vo9z^q4BUI3h(PrE-!$*$?8@4Vi&i~
zK5p8fJ~Zrpr$6=%WDAg)dq4fWj*<h_RcEunJ~@@JR2@RUBX*v#cSc$lGIXK8`&0uj
zJ(~8_*5iE3HMXv@WMIhi)VwNOwL+l!jrY~3lKw`^gyoWbEfpvaMiu&$E0=u?WOH)X
z^Jq<>efk28`onml2rW8|`n4gc6BJN<TFKu$=c_!%Z1V1*N!;@sI$y8CiY5m+Y`#R}
zYK81@*MQou>qry5#mK9+N%Qq^k=-3cgiEHAv-9!YW6fSj1Z48K7m?4v9sIN1Y?Yr~
z>|m#aKAL_LP8lY4vus&A&C6-L?9>Pg#hXQrEZT`SZaqs|-@h~)GRTaoMU+b?8kKPy
z$jf{@>j4$l)Nw|f@MZ{NTUUX=Akl{S^WaEfq39-CLnT!xp*IhxaalX2pHX1eo(p;p
zi$T5W0UR+_xyS1D|Da0|5VdbZ=1SM=1Zy>KCdsTBzkD^FzCJAeuKK1l4O|lv>z|~C
z*Uyb;A62o)2Wi~E|FF`0T^%sAf-SQSh3-8uTz;MCeN>&*&yucW4X-*#MU+zv>G-Q^
zT^ru1q4Tjdyzb^VC?!K4vZlvLLHCbZ+%!ns>JdXLF~8$Dvx|J7h2d51<3_J*MCQ-^
z;0>R&eS6Q(Mx#f{@t3SWa(z{2H;dT`M&p9*i^AX08D1~QWWVq9WjEKf6X&%QTk7f#
z5p6tpWVt>Wkx7xD0$s*Z4X4@BreQB0y-YMxIBr)UY{-yAj@V888C|pkKa`jDU`cqi
zXCmk4ci(z~BUmDbPL$bS>h23nnb<JvHl8(PQ~Lf*Yy8W5JYpp5mx~MJM!1Q=|N2J$
z&)L|Nv!O>9ZEExo4v8=+5=zA@@)la7$89ZZ6mHjAtNSo$)TD1)*sIy?-tS{4nihK{
zR`>BE(L2*r#6fU26iep}I{YUpZJ_--$WFsG*^kz+!vy`FmQK#zi{q9q-m3yS_v{OZ
zBWbo2o>8w#eMfwA?q}koZYwox??yQHfE>G%Pqlz{O{TXzuV#c&1AKoI-YPfR)VO-;
zP$ZRydn=9lI6eF6<DYCEi61RGEOaY7;3o@DP>VUUy%ZWrwH3}&QwYoN(lg6X@aBwG
zPJNPCv$2%f-<F3?;xH4ZB)()xlMMpQ$L&Cg(0*nJ^R0}mOJ>bu9<LgTo|Y$k(e5=f
zj>bpf25Lq3HdepP+1+=AiHEiwbu1$Mbk?sI5SSS9q%WRdRSoFJb@`~iL}~ODiWU4I
zcpIeGIPEaQ^TL)p<kj%@GmIMD+(Bu$i`xE^Z>okKv;0)Eh{}u2C-B`CSX<j?+-`?M
zq>Y0rwm2l6a9vZP82++JkHvf4(Ea%7HDM6uJ#F{!a%evmQo+X$7NK(Z<JLw1j<0Z3
nzU8R@dpU60QTlr3B|b`GyzJyA)#<-K8$pJ;raHA+F0uau^Vpx7

literal 9944
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

diff --git a/docs/assets/img/glyphicons/glyphicons_009_magic.png b/docs/assets/img/glyphicons/glyphicons_009_magic.png
index ef048aaaae38a1a4758df72aaaf87f33d13e2be5..f1cfb3785f3b1a76a3bdb87d9a34345d27705950 100644
GIT binary patch
literal 316
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wtpJ}8*Z=?j1DV8tXThFbKy|z&
zL4Lsu{O9G@&(Dwd@2}tgJ~Y315l~`_r;B4qMVxD&E!QCjf!6d+`-@qeN@kitk*wQ<
zbcz`i#RYWsG#oK=|G?2CzVR!=O_c=0@{dnh&DTqm{hX0MPhqLSY$oMTHM92|jQPUS
z$u~dJn(3@V(AF6n&BD&aZr$6t(eyxM`xH;HX7}(3Tv~f}I*T&ohV*WqZrk|r5F5+!
za~p3nTw8Uwq~`b1CWjt=h0;&Im@8vc8tzux=W4__mY%Tpb6P#iTAhK#?1`sB@u{%Z
amOl)_8=TB`9G_bS3II=6KbLh*2~7ZAGiXKt

literal 1426
zcmaJ>ZEVzJ9Pbzz8;nI3h|HZy?IggmyFTsh+Ph{4-g<ZLCO7Bp(94iO*FJYw)@y6q
z<L(xnyeNtAL6(5QNCGjyhb;`1AdZ>Mmqb9~%OFugd|77H4`>#3iPI0pr?<PY4}>Od
zpXcfC_xr#1weGGbSFe0zC5B<EBOSpQdat+d>MHb{&iUujtHBB-tR5|C<pcv_0ZHqF
zcqAjFU<?XU;f3q44Z|w`mg5O45#7d#TE->V7*{@{BQ}P$ZO!X~*bgnd52j?*Pt1-_
z61Xh+iRU~~5Y>5@mOBOv*fY=-7YF)9pG0ikg16;4B#?oYfaf!cYI1o$QPkzo+CC-;
zya=)S{ltP(iD);@YX-zUF5naa18|0NQSMfjWm|9>P=Ew9NzqP<<=iv}0A9KXWX+J0
zTr3za*+M%%k+v+IBgtGY=gPTVnvo(YpU-D&(6kdFoMu6_guGKVo5~77Xo`lcTe7C&
zwxZCdWi3B}JY5JOqer8Q!m3$H6iOMH7j%+x0Wy=Z<0_&}D+cemabL6<FX)hrK~u{b
zBC1ESsZ2(>d$6H0P!bn$de%^iaY`Zy6_|mlWg@4jqDRPc?rB3t1r(H^CT8ugk)WT*
zW@U+EJR!#I1B{p9!xR;44=^D*==HLED8RS30@gNW3oIp~6PJXzfMt0P@VMK(Zib>l
zz#E{$K?;Q23;;}k36!}J)wBdvgtk$eE8pYN59D&Z0R>Al;+m$ETcta#S(=&Fbe!+;
z;88)8ReNvOvE(T<<h@V|8(Ic07J`%SXP@!{iegcOGzy-gykUk82RuFx<8B3Xm?lbG
zX-UG$aff*p<!T8Rc->)&_3^05*bs0NByvU)IZL(_SnAM#VwF~kY<CH#2x<zY!zsa}
zkX0;VOG+u|X<5`%bC;PB6lIqr82xRe-HeKixW(0i47o(Sc)X;0%Sbd5_HuC+(PnX)
zp^8S>K(oqR`J)rVDyT>>5YOK^vwhW?PeASWpt~lttX>C>+7-w5y%Jep*IePKtvS7q
z4@5pVcDM7^xedA5_lM>-v`&8M`}QnGn^zo9to^8dZR$+L{M(J!9_EfDn4P_KQx`YA
z^kdUM>)zS1`9w!cXm?{%ZtlGIr?0zf9JQPOeBFgVdhnW<xH%F8hkv+w;^g3L^3btQ
z9XoH-dm9E1R1bev{onpyhF=~3ysvIgeY0_Ngs3Teclu=IDbN!covB)veebB_t8Ehx
zO{AW>*wHaK(>yxHH|*e<Tf<Ym*D2%NvLn89XZogm_tNseu1XiiDC6<T<^R5WJN@#r
zH}-U$O+FL7G(Yz9@2BR@zxm=fU%c`BWwTCk7Df;EO?OSKXq>CMeQ;*`osT8+(63G7
pBU7tdl;1vdPH%eb!q8=`65AMit9Sq2p}75*jD)&^qwTv7{10K9<ZA!`

diff --git a/docs/assets/img/glyphicons/glyphicons_042_group.png b/docs/assets/img/glyphicons/glyphicons_042_group.png
index 29393dda1da3e71e88b4b44f2acc77a634076590..be5c6f94b560661d614e9f1f30b89bdca347bb40 100644
GIT binary patch
literal 305
zcmeAS@N?(olHy`uVBq!ia0vp^%0Mi}!VDyLI9QYbDXjpX5ZC|z{{xxCfM>y;T|jlb
zB|(0{4EOEp`QOK%pP#S4UtXzq`X`{oN>3NZkczmur);?nIf%4ge9o`T)pW#9qGRgX
zro4npH?*5v5A@!+xr@bdd%}C67D?CS;_r`C{dqJ)J~T(4nW?^>?L?AhC~JXcaPt(=
z3!4(}vrT5M@)BLJI7M*Ek1t+#!ma-A$zsyxE5BJNb%1f+_kY4y-5t!A&vKREp3PvP
zwq&(6<MxFf^MzD3Z=6}%D8QYXsPk!BTl~B)1tPk$w9am?*zW1MMxge;w}0S;-QPCs
RcpU-qwWq6}%Q~loCIGmYXmJ1l

literal 1386
zcmaJ>eQ4Zd7|&LxUAu~tQoDgJq&S%FE^m@vau<7@_m%dhsr7nb9UU`G-n+}1FO&Cr
zABwo@lwlR845cWd7R3*SIGAXs(=x@*4fltjj{3)NL(w|t7aK#IZ?1P;{}>A-dEO__
z@ArIX&)`5`Tg&<uf*{(`{mBe|cj3FE`C9zkYTeq0U+Yk67!BDuR8m|>#58*pl4(=P
z!wgik%7b&Thaj5H>)By6EZ;4vwi#4>n_$^=Fq$BGwv-)39fOD*g?ZhIQoqj}rbu0j
zQul>qAUg?I(EF<{9I6gv)#{iU(WouGWKUVd1SUiZSvC#J6U$Mm#w%jkSJM<(GeKif
zYB8u`d5}!lE+j)i5KsXRNS+BYT(=+yn@JWhfCenhumMI8IaUOKtX~xN=4v@Hla%Vd
z@F_|a5OPGCE|p5b5*M`HJk3NR5ubx)1K1+qRV<{G1D4m-U`Rqwb#({nwnh4k%BWpL
zQ3^-8n1boZ@)EJ-)eD77Mwb<bW`ck=O+T-iwTCkBau`>%_OcZR(i!O4MOVfB$aOWq
zxOP`})G*Z4B|E3+8nrw%m4*g1p@lpg6jO@`M=svu>bQZ5k+jvK|23VAQpKXKiF_!<
za}mIY`GmwU$#{%UvB_{)NTgzkcsCGyXFkDlAl3vmj15bm8vtI4hq(m9q(C^vN=XK!
zI38<be5`>@TOLv@75YwntbQ4rx++#oxKKg1o3(ADF)D)v8`)mLcF4p~h?EsoxBRo;
z$9kmD)yJVGxwc8x8X@Xe@DG?UU>E^s$l~M~CM@x+6bnT{Jl73aiKXgTZCSw@c}oca
z*J>FSggJ>3A_+WXLJDvcjf2rt5$VW)^$Cp`s4f}0KP94}Sb1EIfCh6)(Lhvh-l#YQ
zU9~N5hi58=u|rebu^!qVMnlKgnzTqmFC(w1mrZZO60d|WF6|;dENwHi@Cv(lSK-T_
zy-N@)R;QD(Z29EEzNgksfHhCN)e0uMK)i2P8)}l2_P(E+*X>%n^X=cZKRz|RDtd@3
zUAp;T<>A#M#-a1_(<e3`eYNM_3+6kXMf@?jASf>pKaM{Z`*rZn=brrOnfZs(Cr8$I
ze%b!$)=vJWeS22Wxyk!C^xoci_LC#R4?}l^u6uv9bK&oQH@)~uS^oCe_vHKw7q0(h
z?zFgVd{*xJ^SFHGyA5Fc#A{N!wsF;|{pZxYx4Zh)-Z##)w;Vr4&3t}on!o7YWluiB
zfAR5Ot^Y`~=bDL)M8^#Wa!qf>uQ|GD=X-M(`{!Ffz44pfr%z4I-7+x!`nG0k_W6!n
u$I64Zg+7{kw)*vge)xm@f8fa3m1~FtliO!FIP#(Y_e-Y+lKbNiO#Bax<<`vr

diff --git a/docs/assets/img/glyphicons/glyphicons_079_podium.png b/docs/assets/img/glyphicons/glyphicons_079_podium.png
index f5544545182313acaad4c785762642963b357ac8..20b7c99b9d44a8c1e61ad0e26e263ff61dd4c1e8 100644
GIT binary patch
delta 197
zcmdnMb(L{~L_G^L0|Ucyoyqw?N;JSH#P$FG|3D@hux)!&2oz!~3GxeO@NFmzFnD#=
z=`2tr)6>N<q#`c#>_Nc>1s<1+GC2y59T+1Rr#Y~0nb7@r`U5quu<zfVr8^`=XTP0r
zhhcYf;Qxtx46g3^Q`8W4P&Cl)psk&BxB898lIbqKZYs50vv!HkeC1p{n^k#}TZ-x0
ilS&*m^Ay6L9M?4W>2R8~lH+_X$Z4LgelF{r5}E*``9_og

literal 1328
zcmaJ>Ux?du9FNy=%wro98SLc1m=mY4Hoqio(uV8RG=Hvz>+S4ScAMgwCckTQ%|DZ0
zZSQd6rUQ%OtWUnl3c?{G^KIZj1%245=N?3554r~t-^N66h%kTYwYNTu1(N)JzkEKQ
z@Beg{mlh6AJvK!U#KB@gDdYDHzK`sm#Lwp^-hC0jrjfdeR=hRT)&odLrdNYx(b4O$
z40Utk<!f+`AY%Vml~uG_S`-b>N$3$K(Q$mtCWyIQ$JdP}L}U%tEjLTu`uq!uw9G7Z
zGF1X4Uxp2<uo=LW&83R5*)%dHm76E$IwBTuAkxW>W4oc)$x;Jd5wD|Tnj!}f)XY-5
zPOX-fN!be^nM#1T0eC?2OoHK(f*>3xS-=1qur$NQ8A0S&5dd;{QP^5wu8Czu8`{FV
zEY(2B7iqfPZYSDY!VBs&lgVTv4VH~#L_FMZk=}{B;p|93fuRvtKC(QQj1={n*Fsqe
zd%7Ef<CjW%!frTB6iyl4(S4dp0NQb)xCZDDmEk=%?u!m98$P7VF!Wl1f$On0J0j!U
zJ=o9)Xc~JszZKYnI8B3wHguqiLhKYX@CbV@o(L>lK;2e6qZNHEDp{)4vP_XrsXUhf
ze43XvhEehoud+%yEy$`Q=aWE)j70+DM0}DkF_+B<a!Sf``E)YLFe*q(tfnwP<#+&i
ziI+y)q8lRJHDF{k;#&8(>;t)?96%j;LB;dzQL8LBJmiH9&nM-T6j{;@%Z>I?9fzL6
zz<LFmTHrb4pb(;UANznw1BMZBge(r8VbU7UYEmkb;<+SXHI^E3&9Q`y;?`sV=W2`#
z(wxQ!85uX3paPDfu`{M2A`97Y*rAe*hAZ2Ox<s^fw~o^hH{qJzvJo|3w>SKTWq59Q
zCUkV$K4a=ZbB>Oh(Y7#mu-cWO$HWK6W8FJK;*p4!d$Wi)d(#YEJi-B<)$XaM96aYg
z6cwq`xl#M??%iDMv)6k)hA2$meD1GD8ZYJMxevCi>BGN0VIF!k8=u|Iub-ZrIIe7+
zI`QnU7tihcGT--}o?LwL^dAc!U%dS9d;30gsOqJu>z_=%di#6jn`-5u+H3jl+ZWza
zq|~>C?K?kSe&-ik+W&X&edp-8JGn#GN|o)0J8|XYmG0sjLT~-j;}_<YpKdK|HD-Ti
z`~BDpGj6|pwfDQcer)Dw=ezSC{n^*nzh2uhs?D1dv1GyOo|V*NThGLrJJ)aIuR!v^
a;VN<V&0y!N1M2PQA68VCluz^3^Zx^<@v~_F

diff --git a/docs/assets/img/glyphicons/glyphicons_082_roundabout.png b/docs/assets/img/glyphicons/glyphicons_082_roundabout.png
index bbda0935c54e2601092be9ad2619ecb658b8dcef..e3a6487a01f6a41b1edf9687b2db5e0c960add4a 100644
GIT binary patch
literal 345
zcmeAS@N?(olHy`uVBq!ia0vp^(jd&i3?z4Pv7`ej;{cx!*Z=?j1DPa&j}1ONKn(&V
zL4Lsu_wDEFzu(`V@6Ug}UVeRicYcF5Q0}Owi(^PdT<L|Ec}Em@S}(qC)%C8v|38y^
z#YQ2c;(sm|+jW>3T(A4w=rp~P+RWAbVsGG&fOokQ7R3sd>E8PD_u&3nWv&lOVm`J^
ze|vM&<06Br89xIa>}=R#>9o;9W|PyWohr{$_$KwWpGstQi*A!@Rk7Rl>Q~;wEGID?
zF3lG?HR4WEyWBSI6VJWA@W}ze{1=*Trsp(%i)mhK?u|Gp8R)L%a3s-9ysWK3C{USI
w)Nk1m4KeGJU%0ooO+O>DJ>sHY&F7VW80%Phop;D~2!KMz)78&qol`;+0A00u82|tP

literal 1516
zcmaJ>TWr%-7<OnWgS8rn4RO&X<BGuwiI1JcNlXGbHyR+NN<vpvNZ{HhiC4!qwnLLj
zn<%hN3@Y&gOh^pSn9wGHs%_8-Cg^}saT%i9G#G=83f>qnE`p6+*l|co9}t#opL6_u
z-+%Xp=B9;p<ED<oFsv@t7*3$~H0yq$20eRzyuS>+rkIgdGpVM{PF{x?C#vlbkLCCb
zOh8^Nt~v$%7*_RAO0}A;@g=OF<{Z3*aTIbIVq=(penI1f4rt=-Fe51e;`ZUA1TKjI
z;!SrP#I+F2N{wAQOm;P;gsu+3Cld4L;r;@P1ai>i@j^~k47Ly;O1dmsTgN1Ummp?G
zfOz6mYrGi`sXD~n4qz7m18|0NP)?V}<C%lgfC40-Ns6{p9@a^-0N~||K-P3I%_hRp
zvMsa=5LwgISd#4Q>~wTG9jcxoDWA`0Y0$JCA?!v`G5LaBG3qM{VQ2`tq?wYc;Fcoa
zuI9}EfjoT@LQadvhlLfRoG6qsvcPL3<p5+ZXT?=Q8)gDNb>o?6BURKOnSh3x*9BCM
zbbW=4a`${g6`&{#<Fvdkm*Nx!63Q?K71KaYQ6-O%=j>8lLIvdIuqx!Oud#4|$mb=I
zW!w?Q=>v?H2}LO?9ORe?9rk)Xp$HcWx`4+rW(kZWq7#RRxFHwE(ZNV4=yka$DgwM5
z9Su_;;$#3|IEJfmV~Sz&iU2L67FT-84L+C4hIGiAs-99+xzZ}lS=CgHtg7Lmq#KX(
zf}~h`tBz$)p)Re4VpLaic&QMq^bGre@&bzTpa^LcJVkk<3?1d%J~!iZ0Xj+(Wv)0P
zVU@U}ArH#c2rlqCqm;)NLQUq004G5rXGDQDB~ymw4&`LCypkoWOIVp#GAJE(5vKXP
zY!dS_a#71lf~puRj2th^D@0!J@RL?E$`az1R!?Ne5#pue5#3usqLHwc!?TDs!_y2E
zG{QQX)$|SgIEL9a#==~xaOumfgR9no+V|?VJrviORflZ#AJ(y>uI#G6PIoWN&b7%4
z=Gtyn@0sYmyW{H1(}k-2xBpvTeP-v3Gh4SDXz_8g2Qqhe)=X)B>GLIlBR^a|H<Q(_
zZCcnn=4z6RGu2<rp1yqBjEmfNzfAo5->OFo23vM#A77Yrrfu?{$yiU}_2T{4YI_py
zESBHhoTy)s{gqgg`Ny$*7B{dD^lgo#4t{gu{K;b5K>t)%gOF@%q_=;v{p+2<-Y(6?
z%n9#3JM{6pwQqqNjA!!keHTvMyVUdcwT@-K|MA&_f_ui|b7}3;&}HYHwaUJucmCS-
z{Q<K2(Ad7j`~FwP`oCIxWZR?bXKyyx`r0?#!8#sKU|!st{y91GY-3<9cX7J^ynW5y
zQ`D$bZ~V%}fh||BRG-*jE?!_0zdgOQb`!RTpU}PMMD@m59#{7wzin{Zr#0JG2I~74
z*N(sa#vndnQgMi?J$UQbweHo&*dv>Pa`^P<4~E7c9{r&I<mMd@C$;>x?AB1*m>usV
eU;U}mR)c-CsNvrFp5-^J|8FeP6y6_Px%PkgwiJ*6

diff --git a/docs/assets/img/glyphicons/glyphicons_155_show_thumbnails.png b/docs/assets/img/glyphicons/glyphicons_155_show_thumbnails.png
index 1062f4844e326ad2ebe81ee5eb0edab6d99d6c3e..751e3b7184e58edcd7c05beee1d0f227104f10bc 100644
GIT binary patch
delta 99
zcmbQuSvo-?mXVo(f#F}(zX~A57T^=&`v3obAT#vP<vJk6SQ6wH%;50sMjDVK>*?Yc
yQV}=z<U(Es2A;zk{?>0k=#dzx%=$CHf3>~xep5{gBN<VkLIzJ)KbLh*2~7ZCi6Djm

literal 1179
zcmaJ>J#5oJ7&YQYs8S_ZkU#>AD>f3}*@>N)rmbtoG!iLQ8i{W0)xIQ0ZJ)6(#O+j7
zVqijIVnAYJgoTZPr9xt%J1a9F7GOXscWF{GpjxthcYg1E|9-Nvd}n&<%9JEY(~Tv!
z#ow32ef}JO?!OIh^VeloUt_DZ!v-kDk{!@ZEH@(5#Vw42?S~)ntR$WOMcQj@t$Ek-
zX;ef4Q_Q1;vn6SEK2MOpg_*pGyCkkD-`~AgWD?Yr`{gERCJyeArJWS7?ku<coh`o_
zDD!jjY;JLZ2s0$-Q5a`dUQ>p;7GH~FRgs4fwpCM(oLXzH$PP`hTrPrw4-6n1un6^%
zX_~iW4M3m*O@&$knwG9v0LY_D;nvciW3^mwWQ*@=N{_L`Qq{p=P#ow*ns!xKtyYDG
zrWH7%kZs2d<%Kw#87sIr^HY*ALStDdqD|UoHHCY66hf3Vo5#X&HcAvvnVO?Sg+-u7
zk%()E&R7fobK}40ti7FJwS_a<PkmmG&diw1b9b_#F);9taY;W7hj9kJibEXXm}T54
zIP{2nZrw`>FCYqC>i5OhhFeqmeG*tkxo+rHU{nmpgV0^Hjk@MmDyCDnoy8I`g)t#8
zN#rNRfOAX0HVkN&7As{P!aAtfn&(1L*9`y++px#nMw~Ge`&bwiT=I{rpUAbG6eC8{
zHl^XXRaSbG(X2-k*;y^iP2`hU>_r_%p5l}|!hx64NFEl#BLA@uU<E*E@(48^JcJd`
z&^)_bEgO0XXr88wxWPoi#&LU&$#XTq1r^<cX4T<MX4ZkOsN9*rw-{j|9(AZ4ve7Ce
zqD!n0#a*6`LV!D{A2MaG8*V2(;?p==&mt6t>j6r)W>wLQA>rKN>PSYN5FZ{-bnh6+
zM?x%*XOVA?ry0k5gi}7N&p$o>$>-c^xOO}Lycuk4{65${`{(fR<waN5v}ZRD_7`Tr
x1MqdabLPXh3)zpJb*-G2u0DPB1re~YdrErq;>PvHUdb1~i$;CfeZ9D`_ZP-jb4&mL

diff --git a/docs/assets/img/glyphicons/glyphicons_163_iphone.png b/docs/assets/img/glyphicons/glyphicons_163_iphone.png
index bbb71dceb17f06c6de5a51ae65d0f8dd3af28174..926df7e5506172b27b22895137b5a1058005ffc4 100644
GIT binary patch
delta 156
zcmcc2xrT9qL_G^L0|SG_%Zn*MN+Q4~#1%-Rf&c&i14WiiDw_?Y*h_-^f_>lHpXbkK
zC_c082~fz!)5S5QBJSw%jl2wsJV!6sJI}h}Q^<XXFULV%@yXXfr-K|jDmO{ZJb7AR
r`RYyVP0m*T*T*bw-eY$~;ee>wIyLoT>A<}oL6&;D`njxgN@xNA3j{Qp

literal 1235
zcmaJ>&u`OK9QOdhR1GwQR0@ag$xIv=iQjW-JF${d$Bt<vQo1w}y|pj)Yhr5qdG^ba
z_Amj{#5Re)VTXysI3TzoF$9N-pW9*A?XYUwangh|!~vx8oF;7!sFrNM_x$;MzQ6t5
z{M`A&V<*Q1K{#BUwd(wRgx?b%9^}vGPky<?Unf{)kuA^_*2OUq43{<us0O%2>IA!M
zUpym4LD>J=Yb>(G+6CRAK^CW&Y%hp7TM&xpdJ%S32?I^i^1_n%-~ERo@Z6GkNvXkF
zWRkWwyB?E;^|^+#zUmZQ@!T{h_H-@~5Qaf7@WVv!mBhZT&e!R&B!WJKt(L@Xrxt7T
zz@#w&N)~1us6wEkEXqx3nsye*5J3sb5|T4W({r*8AsAdDw-&oAdfl=Iw)n0jwi%0b
zN$PgH*={aN<CcU9g+i(!%NdTyBx@nVy-b*#8Y);MabhoG9t}aNh?}&-N+S1kJA@#r
z)pmr#WRNJHGO33n31y)a1ZiA-bi(Rn*Nyk0lg3&^q&i7xCw6!}R!$AcJa>B=8UkHs
z2N!i>zaOXTNW>=r30cCOLVb_8=laFi;|0XNMV(IiwQ7~bPRDa~RjH`C0#x&=X(MEn
z4YeX$`MhRU46{51wbWQDFiPYnS(kHV%}^CvM&-PsAXI^QL$)mhD>)TH)liKgw;Co4
zhYm@Nrd)5A3-{#eW=t@naf4ES*edgF%4pK25il1NP{WQFru(#x15ZipeMww9rUB>|
zLigTdAEG=&NaGR8Ja~liwkq3(Qc%>~6qIdQ9B|!{gbm}iO^xSjgbVXI8)*fTH<?y}
zIZ@)yxQ@;|=958(8a^AWd@t=1-N#{zrz7K%72NTeINkEsqPFMIFj-0h?E6bDj#rCP
z+Kj%(x&76)j5H$NKOX7cA(D?oy4;yXzS)^(67ms_`K*3(x%xey^SEjmjo$Cg=JN8L
zLw~)VdHcic+sRwkKdnW-UYIFgxyrz!jhWNSM)S?lpIXPh1%EvL{Kk(buRpNI|Nr;e
zf$7Z`|J?I`7B<G_ZycZf?cV0r*48J+#Kz;BFZYkXJYd`QS05j|d-v(ruQorM{PXWK
clOOE+NTA2H6GxsFAEv*VYGuy4U0%NS4g%4SdjJ3c

diff --git a/docs/assets/img/glyphicons/glyphicons_214_resize_small.png b/docs/assets/img/glyphicons/glyphicons_214_resize_small.png
index 5ecaa72b2f363bd51d4f83670acce3fd30aed692..707d9e03e3148636d89aa67a346dd9963be91766 100644
GIT binary patch
literal 301
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*Z=?j1DV7F{ksdQfvWjS
zg8YIR=JV^nmp^acU+=$v{r&hYB7FToskxpmjv*Csu^0AoG6f2-Jg7aTsPwOab<V`5
ziHAxHSnrf7+&Iw58_~datSv3AZCXMG=d=e0KTGyWpSdTj{#!z<ZR(7}Eg4fEZBVn?
zxrF1$0sY2VFPw~(WRev3&UgCN)tb2C1h00hey8lAw<+AuqBov7x9!!Y^&b=`F&&sa
z!RMpV7E%7@;27SQ_v2)e4fW=^v_@^>HN4uq<mc(wSv8D@Z+RH3l77np^0B9@pUXO@
GgeCwxyk)}x

literal 1406
zcmaJ>duZHr98bGzk(PC<o33*kgcKZO-sN$<<SzEs<??7xceT5gTIXX;lV7i~c`f<f
z?ykaChhq<>J4FO>!X^$xbU2h@eJcoVqJxRxYMC2!D8gQ#Or$=3x!!gCV=R#5_xt7h
z`Fua$R}S>`b}wzZuL;AjrRg3ii{5R)eODuTUMwX4La)_O9)kVOC@iQRzy#eH0eIR{
zb07;;y|m*r=)|xkH;sWIIF#AKYmOCB1Di<EauFKCI=hOls*MAPkAR$ECy8qxe@@_r
zo+KWPWvGlRf-$3K!UO#iy#w0BxR%g~u1$Dnkw*j;fGS?JOxx#+Nut8bqjhjh5_rV~
zjwgwEQA3$NTy#8u$0Af%qgV=O=?ER|;5hC9oS|rnq!^NB!ZgQ68J?o>>O~-Lo<7QF
zC8g>M?UKY8gf35#g+d`xh(;VQN79KzBH&<{FtP~yB^#>6u<f_k7$o3pp5a2nvGIUW
z9dYt7Ng$>3Ay{rEvp{V7)kL9`kww)d=?FzyRuEUk+J{+iOU7-j{ehAT$Sm-kyr-dh
zjJDUnD0g>uR5R4I1v@wInUy$ojRYpJfDL^limoU^%K1k;0~Js;B}dB#U(-^O$mb26
zXJaxOO;Bu{6&0G6QUWV8QasLyvLL29C@ydo5G)3wlZcM6ObWs1sE~@Y6iv%iTwoN5
zrsOC~QLMlUHEi1Up=xU&a2jBZTiC=MvApO36*}I4<CwKp=^JyP<BvHmF80UpjH(%S
zun+23RSG;~C(sqovG7VEc;hzyDLRfcb0|Uv1y9p)g=G{WmWZ*@4vJA2qKefQC9D>=
zB628Ki?CEYs?c0QL`}xYRFoi*7+vF`0ZmZtP{D-Nm1zWB!kem{L+J?XU{uYUkl2(n
zOYWGVIkvyuw^Y;IuB+a7CmA%OX&`K6HBUn>BCi}T>fV|q8i`=JFpFrjFwMY5BkZAB
zUAqs@VOZU|v?L4^r#~3H)Vc>>*?9K9Q_tF)*Zg$<`No*g-jTAinc+3RHBN{AxOlX@
zqP%Ly&2<N_eYUK4c-e+ukGyHVe6AVZbF}X2s@D3GlY`iqy*D;aZiGzBhQ1{V=9hQN
z<@#r2TwXi-#0%{W-?x0VdTRf7<*9e-e|a45`eyxXlYQ*f-6Jp7f7(5HeEIb&|9tY%
z^4ZG=Lx=x9GJD|exzLv8<gt^3b%S{CjouaM2d{s<FSPQ~z3<h{h|lf(_T9$};(hM5
z{Us@UzGvn`q6Fa9wjaMt5pTV8>Y;KeG;wJ1irjtHZfX1B%%P`SU-@}X9&SiH^@Vuh
zZRYh|t@!U(;kFZ7pNySryWDVLYHlXJzCqc%Z7+X%<l)9**YUaMOU)D(*QVe2cUS1o
P;E$M=d!-Yp;XVHY3r^Ts

diff --git a/docs/assets/img/glyphicons/glyphicons_266_book_open.png b/docs/assets/img/glyphicons/glyphicons_266_book_open.png
index de084d47227396df76e176a105008f69a94bdb78..ab04b4a1b3f47fc15d890af14d510fbd6f876395 100644
GIT binary patch
literal 292
zcmeAS@N?(olHy`uVBq!ia0vp^5<o1@!3-qT{@2R`DdPa25ZC|z{{xvMfsYM7JU|Ts
zB|(0{3=R9==lk39>#vW$FF(Kk{Dqnc|A2B6JY5_^D&p4m-{v}GAi{FJxM=T|yZ`@3
z`Ok_n<p?d1J2b&S=b#_g$&_o8Zr+UP$-8YT&aiUU$_)FjS7t4kBE)z^sV0!Mv)R-0
z4x7L0_18?ne@?UQyM18G$My9w_FFDAczUY8>8K9=V9Zkb(T?T)b+2osKNh)^&2-N{
uQLwuuVq!yD>nc%Rk1&p+Bh5j6y+8R*nee(jv{(@d@~Ee)pUXO@geCx`LSohc

literal 1405
zcmaJ>TWs4@7<N0_P2DQC3A92-<+|);CGj~<V<%qHk;E~}w6vuSZ3<|eYo8`oe8YA~
zT8ikphiOpS4Iw~W_A*Tx9h>?Fh)G+;E+AEc7o=$#5`zbXrm6^#CIJ;3r%Bg`X_joC
zbNqeZfA@*Lp68mIo@^orqB(Uy=*RCCeDB)Qh@U&!=Y06}gqzH|1Ll}pl59l86mt}j
zDP78;ek3X5uY8Ll1hMI!n#sD^^dVk0b-(0c{AJz3Y=VgFFI$paKrT6oa;g!fR=&DS
zk*X4<hJtC3wh}0>9+<Gvz(h|*o+!v+h1%auM#?-E(2*;VWnD8Iz8s}0x;$Qc$23J&
zAZ{T_tvQuV_mK(HMr6<rd@^7G$wEI2ba5Q_49NfpXu!~r@j;FcFgyTc^`fvfTN&f~
z1+i)i@1j)RbuFHzOQn*(6!4pNj)viI*wbJbA4d3`al@6$KEvs#DG11sZPjvB(;z)X
zY1AybQ3`vy7J_c2)9b>9Q%w|38C{kv8u|gP>t0+HwBz=p`))iC?PSI+ME4`dEZQ=z
z$5=;=jC1#JLp7ixuj8zutySVwWEyEmM~3TQr(ne+>^a|StGIxYCYW;3`<fD>RI#Wk
zJR3~1fiPf0Y(j)kh{xC@BZNX+A{k4>y8!1I^8_{$@rhr-++>i2@va0H53z9wlOPmh
zL;-?ifCYe!v9TIAWjL;6$jCG5an<`=_Mu!pVI#>k?Tl$^wN~lNo382PO^Zwn1j)1{
ztA@At>R9y@+3KrE5p7c^D}~_I2iONN1R&&agbWTI!jQ-^Vk{UAvVktZhzwQbDjO13
zi(5=^I9D6EAQTWG7f#?N<B}ji(byS9=3Uj*P_;v2np<6Is@EmFCK)-L4xfU?q@w0h
z-8pUC%B!+zI3tcOY1)V)*@X!0HKV3tZe_J5LvIkT9B=5}8WN9$w_Kk^yjh=SWZ)6D
z@vNR}o4iX9b-PnSEK|O9d+@F1>1Vesr-{~Y8kzczg}RP~`qtkX7mkMNLUr1d{>SXQ
zTW{PDp8x35?!VezUk)A)ehp3*u741q+t2*Ey3coW@6aRUJJA30hl_8Y3e=Ow&Dl=K
zJpTUE$F8>*XLg>yyTaP7SKGLQnH|}pvi-`){M_gEzGIu)TV90SD?i>oLA-S5pQ(FW
zeLwxu^j)WwZ7>F3n_s=qcJtun^P8RFRrAr=|DKvWG{yB^5@z08o!fIX=>N2pDH%(P
zUq=5N`a*74VLHDLTqN#%0-CPv6yH3vy|8#8^6z6?n#GsTPA?6gy_#xBMJ78>w|qSO
z+1~u}@8TwTPuu*Ae)1N(>kWc>A(lROg!y~&N@$6-(d6ON_1lQv<GS&KZ}6J;Lrf)m
Kgp2Vb)Bgke)zRYs

diff --git a/docs/assets/img/grid-18px-masked.png b/docs/assets/img/grid-18px-masked.png
index e531d5bc47b957b0ec8618482b27c1df0563188c..1bc82b03ab97f8173d664744abf93e831fe92a07 100644
GIT binary patch
literal 405
zcmeAS@N?(olHy`uVBq!ia0vp^Q49=>Ml8%gR!7*aO+ZRFz$e5NNaF|p|Nn<8;5jP$
z6v*K(3GxeOVCQ9IW@TdIX5nGr;^b(LY)J%Kz~SlQ7*Y}U_J)1lAp?nHiSmkf8osei
ztYYL}Q9SM4G%dsG2Mj&3whAiS`a+k>H1<wa-cZDSX8zmB4~jVi)c2QHwYyK79zHGS
zo*SoOa<S(^joND&Cbu(JTzv6;$_6%*S>^1#Y1ZdKVvdV%@=2YIXOud-d-8TSFsJN7
z#<s^x|Ai_{{kAr9y+-rZ7yoDMm-khwdExtv`RY^+|7%kh@wlv?{N<UpVrROytjozz
z_La`Rt8ORex}FS;Ub)uoefV-6wd=)UY150!+Dkr4y*0V@HK4k+ENJ(hFF8V=E%(k{
zoc&&H>6NK2T)lcr^-Qhqth{*IqWe9+uab|=?QKi5d)G;4n(WG3#vf$gY2)X%O9&Kp
Mp00i_>zopr02z0cQvd(}

literal 1621
zcmcIkZA=?=96kzTIPKz$!2#KJ=|mHty}Q2OjWSAKpg;+MCU(_0kM?LgxEJpZT8bbq
z5wZlf5Orb8GSQhB!)8#L=!CH?WI-asHX6-f0w#+?l;MYk8E2gTD=#w<_Rah9e|w(i
z_xxUR$15v}<-0O>K@cQ&lvu04>Vcpnby_OeMZy#9V95||Zn2uJ6+<LXL1rIYL%|N3
z^ix$7>1%p@lFEmm<mZDfx9E136JC~9krGA~ra8cdp!~yOj`Y@1B3wiHgN#YBGIB)$
z2Yn{ROFAd&<SbMmSQ6o>>PUsl8>#c+KE>ezI6q7P0h$s?I84_w0ueST61oJ~OV@}3
zPC&#ulVZ)3+gS-)Se}A)Dpcu3^%$(zsxU2zYw<i-jbbQ*sS(tm#85(KAW#fm{}dn^
z@2e%MtoHR-;ABz+M3Ey9Boqp%LK+pz`w<MsaRgN(YPAv|ltL3Dl3^ty9NbW_Qi7Kc
za$=BWU`dgzVH-q~0yteuf#x=48DYIlpkPRt<Pc1SN-1psozBNYX?hbah*i`hzgr3m
zt|pE`swjbN;Ju)6wFjk89AV)pQe=4-%hqpHu`<AltPo&1*ix-iVX%|*1{vul!EibW
z2P23i<E0!{lLBa{f<Yf)G2#}DUZ=LBMjeLPP_q_CZAGZYhNDGA8ogzMYh}F+G{uM;
zT;C(EW?QZ_3^WHKTPZ%+NcrqMOT&qziQpDqbUL%$XtiP6>aBBqTX<RLZl4DN%pg*0
z|JCY^D=<IOc5`sSVRQ5;2FyDT2D^WRazl`8!eKSL!ZW}97%$Dmp6!bFeD5iJ@b^m2
zlF>Xm_*Tu&hPRI#2xpOdLbErEzj2jbQXOS&gCSa+9u!(vCQV<bWNHKLsq)OEKujjj
zj23pL2V#fV9DUxW^={dnz58na`#kXOqJR8@LVaGl(6d`3aZ-Ds1k5vFeo`BVmEI1y
zJ8ll8Ok>1ULRKq_4eUq+QpN_%xqb37H0#t=+}@ob2b4}bln?=L5-9sK@`>8<XN(hz
z==p?PTEY}~lOkQT>hrEW#@bg8#RF4a+1!aZX_s;t*wdCO1qHr9nx5l-?fxHQcV+j>
z%NEY|6;Irn?K!t|$C=T+ckkKjys_c;o-)iVLhBi}14j>EX?Z8?XqlVu`{jnJckEgm
zw--OBnQ{MKlO~nq?uARk!mWV8Gg$QCPAU_PCxP2v3!)!|+L!bTqi<YJK6*tsFT8qo
z_+rNLk#10-#l;Kv?@jlvPF6CY1qB&j#u-qr)yde4<0TE_e9nAU`WGi>P2YVSH?%gM
z$XLGqbo7j+`SS&P=iH5*y?yWd4N~`__v6W9#^&;4Vq5xR>)^{Be@>h(nEL63Q=vnR
ztKVX`@%=f=f3!rqOJ#}9&H2yG(aZK^HBl%vUS=w9$mQH)1(%DNW0B$Unfa@D!BBtv
z&DQ-xDG^H{a3(cjZAxVF$cG+NbJD)0vbH3M_t}0JIemRZ`q4XV71mFRUhDV={me)y

diff --git a/docs/assets/img/grid-18px.png b/docs/assets/img/grid-18px.png
index 68f9fe1b70c40b25278613599bb593a0cb6acc0b..b2f88799b8cd0c5a6aeedd92ae6e000888cc51f7 100644
GIT binary patch
delta 150
zcmcb|v5awoL_HHT0|SHWv6T~n6i<Lph%1o(4+9nltXBZ}EG0pH!3?|%Qf`_&n?cGw
zT^vIy;@)0dD9E6|!*Wnqvq#9Fq{B<p#8FtoilJ4>?pb_l*`q$;yv=v^GK(Cz=eX%~
rdUu#)!{7fi^}^Rbf2A6(|C4od^5teReg-uGpot8gu6{1-oD!M<obfhM

literal 1118
zcmaJ=O=uHA6y8=^`a>>O0;Uv}tsscmosCJ;U7EIOw$-3pN*ZWdMBMI9nx);Hb$4o#
z3RbNs9t0`atHC0A(O!BJ6|Gw9L82gNj~)twVh>*Q<ZS-x!MHFxGjG1{dvD%*b7O4u
zxTnq6Mp2X}enLu+dCDCv&E((vAlgW#gLpWF$59$*6&q4f4NXHjZYVP_0TnHOZVUEN
z)V@P{GKEv}DN#iRtGF08XIO+yQGEkBOHpSbrl;YIZbq0NkDoELu0@!MkPKui1~dAJ
z1sjepj3(8ESyj-OfquF#ClUbzVuj8bbEYHaB1}nFBx~2qF?0!nXCq8GsFXZL$B+%_
z5DWY&=;7&}Aj=1V5EPEm0l))}4{#vt=Ybdsi-4yqA49y^T3Sp<BNbm{7hy6OTO!A0
zvspHKj79bg#|whMfdCf>_zA-A<V~#P{HD`gRgj>g+PZ~xWYVspGL7bOgdvfZuV7d;
zS<|Vci6o56DHg}Gz`arxD9itc8b%H6-~`-@_n*Q}GH*dH0Ub1NtE6!0Zr7D1#%!oy
zWG4}tt7dU5gD`S3$f9H8A(p3QMb%B$Qew!m7&jfPm@14*5r$~6x~_=;#KI)cVL=!f
z;`w1P6bi)zDI5-mc!>ufP~}QUoj0I~t6Xi5+gq3GHiKai&l0rt^H3YHkwKR(E$a1S
z3DwoBaJBle^wi~YBpA*u?O&y?nn?e+%Ua`-O|A8zN&4L;joozk!zOtY#kdqr=C;3m
ze%^W&92kE8@`>lu;&t!t>e<$<j-RKk&TAXH;kAj6@7JGp{{Fpv72WxHq5s#rowb$L
zV5ZpU@dX=;g(hDxbGg}HEG(W`^saQg`jVC>z25s9H(gupFxpN~7YEu;9%(<h(^WZ*
zc2l0ILUhSn5?kLtnMzEi0zZ1YOjpw5Ybe_XT|nXXn-|M(Uo7W0zgnxVTCt^UZ}P1V
fE;T=tVwW1ITk`Vvdxg8N-4`Dp9+e&qoxSo0_nvI3

diff --git a/docs/assets/img/icon-css3.png b/docs/assets/img/icon-css3.png
index eb3651bacd68575d4a5be5bd3e098031f3e4aed3..58e107235a8e805f20c87f28d58d9d0614c0b79f 100644
GIT binary patch
literal 370
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3-p~d(N!@Qq=)IA+AaT2l`4Lu>+l<Q4-`A
z%rGaj>&&hX=eK-LJ~_dF|KTfLm4u&cu^Y`i+Cxg8Gas(DnRdHTo##pRmrM(wo;pt#
z$B>G+sb{bA9aa!vy?As7%k~>D_fG%$U!TWula7M^&VKh>kw15`<j+-o8l0y2HB;Qh
z=mz_hgF35b2Zz`n|7zvon;>^Vq-vt*8urY@jUpEpu<vqub<QyBbL-kujysDR9tFrV
zdgx3Qeca{!n(M4?c|pC+@%!sHRlRomcZ=Qpk@&}Y{gr({moRv``njxgN@xNAE<tpx

literal 1145
zcmaJ>O=uKX9G@g+l@O^$V?GY@n3TF=cD}N++ZnS-HaolSiWAn!f=fYkcIG8JP3FUy
zm+mGWk|sH%U=KMoo(hXlsyW0`q?Zy6lpfRs{J4lh{lJ6Zp?H%j=$n|09^4Mhy!Zb6
ze!u_cn;)`6$96Y$HW37|JCl|aytd$X|E>W3&RjH)<D~;7^Jv%}K_%6NL|nHE5M)es
z6e>{FC(qr4y#&$lrIE{{ynI5`Y?D%b3{^HA%qEE5{<5QLV-SG?95t*M`R|`MNMPtO
z@)R#KvXg*CBR%E9;i;jVHZ`URI@#X`ddngfFd<Sw*&Me#u^b~ebw#}Q%`^!%A!sZ{
zeh4ZrXF<YtA>b({q%jc|M8XssW`wZN4LF8nXqKayXozJ*J}NRS*m_9p&DBRlMM`b?
z!lxKnM92|ox>PDrr5?(5M`>0N1e)P!jtgN#$eXl~S`JxWS5-lRp5_`3GHeU@ifX~0
zKrs?W`XL3=*_O4utuo<)(Ph=4S&H#fssd&C|DmS2jrNcNKgRo6VJ|o7Kw5#GJ>hD&
zaU)&6D@RPYP(`+zv+eO}6|+Sf*<R6hKw_AuSRkvKVfmI#hAfL2%R{QA!Hg6mu?A%r
zy4Vxuqwz%Y>y*H=ESqHFe3Tz#qv4)-G8~U{Qk5&&+Jp%$RORX)xk62@KMbaWJxkCv
zzJq$owN0>@v}n|hB~nvwi>ud;C0dh9<6vmNwV$-QYQpp5Z?^{*AGSvyT6o@FJlM+@
zuP@_E@iHUDbLEGHoT3yefwO~!(fU`@+^Zw{+=au=oko4GImo=|{yqNHz<Rp=pC4}n
z<@>tG)x~{xE@fBG%)IW~$Jci*yyH%GRTl5>y;8T@x{+*t9{7WbwEaysK1q?yPj?oC
z;G4ERkLNq)$N!UCPJ12Swm$%&Yi}bv7dC!te^U3;quGOfU~P7!;fp<o5^VY|2bKcQ
z9I&+3s)4ocVDNRva=KIAn_h2S2vrVLe*O9IKyTZ^^z4rI#amt3Z;m%S3l?WC%^l6Q
zQGXp+x{z;*9K3w$US(z8xIRM%+KrQg$_}EwnfN7@gsF3x^Zw5ulN^#(2G7pE2hk92
AO8@`>

diff --git a/docs/assets/img/icon-github.png b/docs/assets/img/icon-github.png
index 8afcce9cbad95d92521ac14da65ded7f6d8aa232..1a5fb781e46f35a545f636f6e1039cca61690a2f 100644
GIT binary patch
literal 312
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3-p~d(N!@Qf2`@A+A9B|Ns9$k|gl-bJBL8
z2EmdbzhDN2_YDaS1?L6sE3Dr?-yooWqQR*-K*<H3E{-7;ajEA|_Axthuv|0|xpJ-h
z@&Ed3^BikGS+`B`c=6S_-mR=*p0n%r#M`yf*H)S6eAVY&f9d^-+TGT^Qfa4WJ};DM
z)8DM9{#4|iSIpfdCzDU^y1^y4#O#o^=yc_C88#M=UCxx3$(8$Dk$i2X6>)ii_Qwrd
z)h?)5t~A_vr*GF<Zt0+e@T#S!JF0}@8J1uFp{>>`S+ynCpnUa*UmqC*gSfW~{=eV}
O^0}w0pUXO@geCx--fSEI

literal 1191
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3HE7rssMADajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49qH-ArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8
zNvY|XdA3ULckfqH$V{<S3ODsN@GWpo&B*kqDoPEm@(W3>%1*XSQL?vFu&J;D8jzb>
zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}mUbW};_k
zVqj@vsiR<IU}&IkXrymou4`yuWom9^V5k5EN<iC+Qqrt~T-=~`0eQAc86_nJR{Hwo
z<>h+i#(Mch>H3D2mX`VkM*2oZx<D1W#g%y_i50qe#mX=fTvCgZi!uvJGV}8kKqe+8
z<(HP&Dgj*z@j`9^+}ONgXfOc-Our(rK;KZ$0OTc@LSJ9}N^^7Js*6j4QW5UOYH)E#
zWkITbP-=00X;CsT;?k5sRuxz|7o{ea<QIkH=jXseF(4zqB)>Q#zd*q`*i_F@!8b8E
zGY=#J*5T`G<(XGpl9-pA>gi&u1T;f0Gc(1?$k4#d($Uq>&C=A!(9qSu(bU}3$<W-y
z*wNL*(b32Srq?AuximL5uLPzy1)<jnr(RHE$SnZc?2=lPS(cjOR+OKs0QR(1CQi4w
zxZyMpsy79<TMTgO)dxC89~8AnQ4JFUrXLU!o^XL2c+yYJ1E%*PV8T}P)y`&MV3hQ9
zaSW-rwI!sHx5+?&<uSuu2e$;4ISzLj%oAA53Rv6}{2p*z<&<DFUlCuV>b_94*UYl>
z?ftL&{^n=(c>Xh;vOp-K@#BJx%kFi`u-bZjyUmrg;On(h6FfW}LsK?)vAmwp(Y9J?
zQdy_O^s1BHwi6P?r7v(w9qc{eXY`0S{aJ_J+^UBYYGX9c8oKg^n(q>IV(SwsSbNOi
zX40kz%|ntA>ux?c|M+y3^iIDFcJrI;PJNq`6|D;o=zX8+6#ht!^J;U`VwrGRE9rGv
zu3yb}9%_1}8NI`CzpmQS#T^rpH}dazH0{L6g||+f4=z~t>Ta^1Yt+%D`NugwZmxSQ
z_CeM(?kRhGLsDvLx#0HA*BkE3yXQIUU5dBes?W&A(71ngd$V%cY*5kR>FVdQ&MBb@
E09?P6761SM

diff --git a/docs/assets/img/icon-html5.png b/docs/assets/img/icon-html5.png
index e9066c67268f25a393cfb2add703aaaac755c09c..1e8788313acfded4f571e27bfdf1a09973323af9 100644
GIT binary patch
literal 452
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3-p~d(N!@QgZ@)LR^&wF<9rn${FZR<B}l1
zV1}8-(=rdwueRZT+nB%3sjhw3$$Q`S`i1-qS3G0crLHT=d7$^$mfK4Mwf;PeGD|a1
zdCsHzZJ#nw`w~wV$B>G+*mFnoSPU5s1Z<bQCmXfQ$oR+q|7+VlCR)9JwEE=S6Pa@}
zIQ>}Cc3F6f-J1N8_2k^NoUIC#m(sOlSNhr%u5^!>Srh!4KW46b@4W-(WKXWve&E|(
zF`;m6|AD~t`P)~q>R0jGWE@{$bs>{mWY_b6zU0b;^^6iFen(=`4WHGrhR$Ct`C;8E
zU*X-XR{vKr*qz!s@%5+fjw<14r#Jj$eZa4MUG3`{$pwKx_cD08`njxgN@xNAiqVg)

literal 1230
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3HE7rssMADajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49qH-ArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8
zNvY|XdA3ULckfqH$V{<S3ODsN@GWpo&B*kqDoPEm@(W3>%1*XSQL?vFu&J;D8jzb>
zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}mUbW};_k
zVqj@vsiR<IU}&IkXrymou4`yuWom9^V5k5EN<iC+Qqrt~T-=~`0eQAc86_nJR{Hwo
z<>h+i#(Mch>H3D2mX`VkM*2oZx<D1W#g%y_i50qe#mX=fTvCgZi!uvJGV}8kKqe+8
z<(HP&Dgj*z@j`9^+}ONgXfOc-Our(rK;KZ$0OTc@LSJ9}N^^7Js*6j4QW5UOYH)E#
zWkITbP-=00X;CsT;?k5sRuxz|7o{ea<QIkH=jXseF(4zqB)>Q#zd*q`*i_F@!8b8E
zGY=#J*5T`G<(XGpl9-pA>gi&u1T;f0Gc(1?#L3*k+}Op`&C=As(9qSu(bU}3$<W-y
z*wNL*(b32Srq?AuximL5uLPzy1)<jrr(RHE$SnZc?2=lPS(cjOR+OKs0QR(1CT_PF
z<1`PdHwCv_OmOPe2RcR{6tzfE4HE*U9}p9saDg0n(of9;ruQOX!gksE_9+7cql2f5
zV@SoVq>!K>t1|}<Bph~-v^d0~5@#I17uU>F<;dC`w_(A~7a{`j3PGD01!gNsx4c=@
z>=5I&#Br|&+g>+*<v^i5%8l<#Q^Y-;GwT%oIe1Ad-0i{PRnPM1{gNY6dg6@@mI9j}
zUfjcd^3iggfZO$srkskJdwdRv{t1wJ^69;ffj!eknJXK91~hME47fCduU8~(Mz#aX
znFZGanjIbph8S^myuHX1)sP~<JSmP%O+{RB`O-*-8ky)f3EfpC;tQ9nPDqTO5W~7D
zL2}xcwxkQ(I-GCq1hzXF?mO~BYPzFvg9S@RIrB%m06|7kc2QG5hc{heZytP+@)71R
zXZmQp<w(~=iNc*6vK)e^<P@4B0|ErZ<Zd_qPz(v0*pN11`g5j2!!0io6IjHy?g-M=
p*k-dpf~Cyiqg_VMB8CPAW`;jseEc<!orngNFrKb{F6*2UngECum7o9s

diff --git a/docs/assets/img/icon-twitter.png b/docs/assets/img/icon-twitter.png
index 98241d098d9f021642f1ecda4b115bb411a4a70c..a4716545fa6ff394c3b56e52236870268cfb5bc1 100644
GIT binary patch
literal 264
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!3-p~d(N!@Qf2`@A+G=b{|7Qj1@8Kb*8%ki
zmIV0)GcfFbFOaa_;JkuE!~FXJ{RNxvG-v=N3p`yMLn`9dp7Z2mR^)NHxaFXOaoOGf
zn?4FeM!Nr$K5~0UoPD|L&nfHH2keiPy7WV!IU>VhmY+Cd_H&k8i<`?2MwM!ZZq(Q)
zxNo-EqU{aK#J36^adHnYYzi-NiFM)9yIJ;B^0*x1{Zf0Cxw;8oj^Fzk$^N;i+UOq0
NGoG$~F6*2UngAZ3Q2GD>

literal 1096
zcmaJ=OH9;27%r>=t`LZiM2(SJj0fZP#TIPCx>>f1EK-8YCX#ru+YV6KcDn807NQAJ
z58_2*;v*h>#e*lso6#7Jaxoq}C?3$0CMG5(#0Q2biqnN%J-9ZR&di_x`~KHA6TLlq
z>Vlhs1VPj#JLMGK*Wk6TrV9VZFPL3;+lUhVs1FXHyy^fVro#*%lcqWdQb5&5b5B7V
zK?JrL>3-C&bW0jEY1Q|kJ=4Z$f@q6+wyF&SL}tLCVMVCf`wuD7&?D4-L17g;4u*`*
zF$eUG^`y12VNKMj=x(yjlQ4k^kV<-H)^a5;LKS!=eD=)@MHXDpaD-Y)s$c0P<In-5
zK(ir@ZQ;n4FwKQoF)Z#Rd6r`tj%V1`5XVYFtHg5T@<-uljy@oz<c{T7_!gmt5V9qP
z$>;NQzL|#3Aj65G$gn)a^C9dJaz`zsdLhegDl*8x)f~e{2DC_@QO&>+6rpgYOC^|g
ziPmzL+k_j&c&g2CH0zgCbX1i8yP9Un+eInxC*OY(yXjFIFe%`|5l6#=8)))F*;3pA
zDuPZL!fdgNy+aT|cL>^KyicGxQc*R-@+}2~qDV>0MXIHNq#U6z2W=R-#B*$m7?b4=
zQQ$c)!N!DEp`B|DH^&m;Sd5p8SQ%;~Ca_QutN+0!%3^&nm^O|q1IIWF^bQA_WT9xu
zD4$DvS-xegUOtz2SuBH-Vf@klHR_@X>&HKqgo`gF=>rSv-NC~CwfOl1eiZkTaxCr5
zWEK_|qXB_f8#qTy*HSBMh+MScc6FxuNHBIb=+%n#Q&)+j^;328wO!*o-qeGp<5f2|
z^OsLQpZwVwoDJlNm%{9w4PP6tJexFjoqp1A5mfcA-Zx&c<#kRy^L@qk%@unOWoO=<
zdhkWQ_r7iGfmdsdhOUp_v}AOZd}4YmTXCdu)7+1V+K+R0AE$^*k4{cptISrh*FUYl
uYCLXK7AhMWSG=veTX`-we|}H8xrTg1#7+33J8)yff7{7Kk9@2B;IZF)A7U^7

diff --git a/docs/assets/img/less-logo-large.png b/docs/assets/img/less-logo-large.png
index 1a739b3e9903d8c023ade58af038277b60719d5a..cb56637cbf644ede9beee81798343b7116a3480c 100644
GIT binary patch
literal 13078
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

literal 13831
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
JPDHLkV1g`~`5XWM

diff --git a/docs/assets/img/less-small.png b/docs/assets/img/less-small.png
index 763b847e85440003b1fcf6d20cb83a89b21de707..93ea597cb707b6c3f0d9c331459388fa8bdd0848 100644
GIT binary patch
literal 1181
zcmX9+3pCqj6#ol0a}sY7Z|Nw<YoZ=yB2!7dQw!P1@m#Hk)gy$3CDnL^YR?hvtT^-9
z%xR4g@0bnkPB}uAm4h`4vW5{9#g^vO?vC%A|NY<Z_uc!u_xs)NRwOkDqiv>*AP6QT
zm`sDe1AI6wb+Dt1D+dUI(u)j_rktLhqS0tNogN$<3{FZ)%G%nRQmF*IsHn)x%L_p8
zmzS62ayj^LG&D2>$jQkGSRRiD_H1o!ZGi)LNl6J<p->3+@bEAxDG6{RBctx_Zk0*}
zBxku$NFWgC>gw+8?LqDt|MBs$R4Rokkhrq40>QJhvo$p};OOY+OifKea7#-I27|G-
zwvLI3F)%OyPB;n+3&Y`X5C*ki3n0V*`N6?~v9U2^VX;_qb8|gCJs?*o6ecDnkgKn+
z&*5;O7PKc8i><7z3=Iu|M<$a&lk@ZQ1OlPHzFs1cSXx>_^}xVDXtl4e&&S6H8m3Sv
z0|Nv0_V(f7;R_23PEJl^V`H_owd3RCBO@cRv9WwUAG!q@MIw=%on2vJA&bQ#5{Wb#
z&EMbO+1WWDARsC#s<E+gV`GC#rJ9<Wl1L;_J1Z*-E)H`^PELlad3$?zc6OSXnWd$r
zxx2fAlKJ`h>FMdIsi~lIL_`FG!I+tu@$>U@bab?}wS~F3y1Lrf*mQJs;PLp3j0}*=
z!@~n+>gnl8CX=~bE=-)wW@lz*g1p(;*%cKP@$vE7>zpHaBA0V%)F_0bu3?}l`9`Rr
zjuQ8->oz%HGkg7+9bM(qC+c$VKV@$V4DwD4vBoccxh&-D6KbUQ?@9Ed2Q@Xy4xf6v
zU1P6sSkWeer3do}qIMiY4v5ZA=zm7fvLG1o*V5)Qe*d}-*5AEEw0PR+n*9IW>1V|H
z&aZkobsO@@11GWXBMrt{PK2!e`i~a<3#z|zMD1_w4;Nh$BBKsn{^|L4_0`=USPhwC
zbfo$NoLP)0w0ovp{{)rT$9~Cumhi@nHEc;Ov%QJpKOWEV*qJv@Z`dhqQ)%O(`+J@<
z-){^5@)BiNQ`y-~M+egsZEcb-=-leW#mM+Y?Ecj0BcDnBuc+D23x4CR2YN`q=Y?)!
zu!`zeagRG9M*iTM3{pN2u&-<T<~iNkEpNu`p5OLm26kO3@a^Wd*f=xzybcmF{5pH}
zhCJs&kF@BCT9^fLcc<N|CnxuanvB_G#BY4s^lz_@ECLx@nuv5lF39HIz2Ts>?VVnF
z|Mk8=h2)S7U0g<qyCgy-VbI^8S)ihX4rXjLy(p@<s1s+G-CW{!z7kKmn&(!`y@Pt_
zrC4!ca+){UXq@n8$w#f7B4*e42+0v&M_|2oFR@KH*cTLKU-eycL*v9dh_Y2TE`SrN
zRvV~@O{;p7R9QMnG{KX19G}q7wJC2Ooips`?w3sl4;$?UJ)hM|zEeIeN7Ky0oma;K
zKJ+73e`5NOCz7JdtCrU0u1?G)_@o!-uD7mU%u`OcRz7VQWqw?%byH2pO;K5S@RA2_
O3JIZ5$v<66D*g`$g+KrR

literal 2235
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

diff --git a/docs/assets/img/responsive-illustrations.png b/docs/assets/img/responsive-illustrations.png
index c980da77addecefd57a8294a828fdae2370d1d2e..6ca0f07888b8d7ee1a1691d2daa9030d5dae63c0 100644
GIT binary patch
literal 1077
zcmeAS@N?(olHy`uVBq!ia0y~yVAKJ!Cvq?YNxz2D2q5)5z$e7@|Ns9p2RC@|;K9$I
zKNl@p1a#`DQ>X6TySHoCuD5UBZr{HB;lqb7Uc8t;fBv>@+jj2U`Rv)VjT<-4o;`cV
zjvbF4J$mxw$)7)eo<DyM^q)cJo+&^to0SCl1v4<bm0rE>`I8k|AO6^Xwy99}{u!9C
z@yy`^mqg|2@^8mZGuVEW`QDs|CspPz<v-TKX8dZGpW+tJsjcM<3{1y8T^vIy;@({7
z<YZ9bVLo8zwOYX<;@kY=hE4~hAD-FFZMEw1-H1E~Z=JYn4YN+3z7<eh5qUv*%Gb?u
z)+G+W&_BfBk-WG0@8=nhrCk(cyEdhqoTTbKO(zl;<J#tIb#(@&Kmpd+LdJt7XA;=d
z{#W=MJS_e(Sk^)Q)t|batNS<XiP)%kZ&TmQjf<T3BzpIV$~`*Ux$%(m9%aL8!Oc<g
zvkqo0HHpxzd7pf+iIqF-grQEvhJ=GnU*7@=R&Fr}k4(nvwB>O@5-d#$4QYQ`KTcl5
zH1CMN&>0sK?#F-63kNuDx+Ix7A#YXK-b}80i*hzvv}%iOXxJ)oF(NiNuvAWeWzHJy
z+_#ZN*LruDS#lnG^}l}J?Co!+#~57emeQWq9oly#LU}_2t4_jN_J{*aVjIpdN0`lw
z_s-VIxwiX9($P0-HvKizPH7i?*S^#?Eo@%d!K||hQJWgW>jVrJbuq<TCYWBXRG0eU
zzq9PpEd!pGL<_Im6SmyU+U=Q}et-8n?nVij8jdCR|Npl=YT0g-%&X+|-qZYGvw)M2
zr{@*Mt=UUu*|jZogf(@_UU|gYt`Rb}y7q6wo%teR$91ONRo7-Qy{~hvuONNqF{y@I
z7j(onmCQ}M)gKhN#%RS?)eSxSH@j?H=dkv<O&Cj&a-fcrdb=sx&d$#fb|-x29?xo=
zV_q!#TIS2Gb;)NP^$TRQ*%r4dTwB^2QEL#zl@uG%v6X50E}5{kIkMMeBkrC~d@4VE
zTB2>kRPpY_zw_05uU<Hw)f5@Z+^u|b>akr{k5%y;)HP^++I@b?t0Y%{)-v9ngq7(p
zGgEcfOuv3ly6elokC_bKSNCfPteSNG;D5&T;!Fiv=2uPuGX;aEtDnm{r-UW|29*qX

literal 2249
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
Ud-sVBh4JSif)PbO6UNW~H==`gcmMzZ

-- 
GitLab


From e0238bfb08b67c089c1c609e9e68e5252e0ba992 Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Sat, 21 Jan 2012 15:24:06 -0800
Subject: [PATCH 329/576] clean up variable usage with colors

---
 lib/breadcrumbs.less   |  2 +-
 lib/button-groups.less |  2 +-
 lib/buttons.less       |  4 ++--
 lib/carousel.less      | 10 +++++-----
 lib/dropdowns.less     |  4 ++--
 lib/navbar.less        | 10 +++++-----
 lib/navs.less          | 22 +++++++++++-----------
 lib/tables.less        |  4 ++--
 lib/tooltip.less       |  2 +-
 lib/type.less          |  6 +++---
 lib/variables.less     |  5 +++--
 11 files changed, 36 insertions(+), 35 deletions(-)

diff --git a/lib/breadcrumbs.less b/lib/breadcrumbs.less
index 2fa9921ac8..19b8081e1b 100644
--- a/lib/breadcrumbs.less
+++ b/lib/breadcrumbs.less
@@ -4,7 +4,7 @@
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 @baseLineHeight;
-  #gradient > .vertical(#ffffff, #f5f5f5);
+  #gradient > .vertical(@white, #f5f5f5);
   border: 1px solid #ddd;
   .border-radius(3px);
   .box-shadow(inset 0 1px 0 @white);
diff --git a/lib/button-groups.less b/lib/button-groups.less
index e9724ba8c2..253469f88a 100644
--- a/lib/button-groups.less
+++ b/lib/button-groups.less
@@ -110,7 +110,7 @@
 .info,
 .success {
   .caret {
-    border-top-color: #fff;
+    border-top-color: @white;
     .opacity(75);
   }
 }
diff --git a/lib/buttons.less b/lib/buttons.less
index e53dce7af5..5da34a5257 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -34,9 +34,9 @@
   padding: 5px 10px 6px;
   font-size: @baseFontSize;
   line-height: normal;
-  color: #333;
+  color: @grayDark;
   text-shadow: 0 1px 1px rgba(255,255,255,.75);
-  #gradient > .vertical-three-colors(#ffffff, #ffffff, 25%, darken(#ffffff, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
+  #gradient > .vertical-three-colors(@white, @white, 25%, darken(@white, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
   .border-radius(4px);
diff --git a/lib/carousel.less b/lib/carousel.less
index a9399ef63c..1a18d44b6a 100644
--- a/lib/carousel.less
+++ b/lib/carousel.less
@@ -70,7 +70,7 @@
   line-height: 30px;
   color: #ccc;
   text-align: center;
-  background: #999;
+  background: @grayLight;
   background: rgba(0,0,0,.5);
   .border-radius(20px);
 
@@ -82,9 +82,9 @@
 
   // Hover state
   &:hover {
-    color: #fff;
+    color: @white;
     text-decoration: none;
-    background: #333;
+    background: @grayDark;
     background: rgba(0,0,0,.75);
   }
 }
@@ -98,10 +98,10 @@
   right: 0;
   bottom: 0;
   padding: 10px 15px 5px;
-  background: #333;
+  background: @grayDark;
   background: rgba(0,0,0,.75);
 }
 .carousel-caption h4,
 .carousel-caption p {
-  color: #fff;
+  color: @white;
 }
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index 08054713ce..40b4d7e875 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -14,7 +14,7 @@
   vertical-align: top;
   border-left:  4px solid transparent;
   border-right: 4px solid transparent;
-  border-top:   4px solid #000;
+  border-top:   4px solid @black;
   .opacity(30);
   content: "\2193";
 }
@@ -79,7 +79,7 @@
 .dropdown-menu li > a:hover,
 .dropdown-menu .active > a,
 .dropdown-menu .active > a:hover {
-  color: #fff;
+  color: @white;
   text-decoration: none;
   background-color: @linkColor;
 }
diff --git a/lib/navbar.less b/lib/navbar.less
index 94bc652410..8064490f76 100644
--- a/lib/navbar.less
+++ b/lib/navbar.less
@@ -164,7 +164,7 @@
 .navbar .nav .active > a {
   color: @white;
   text-decoration: none;
-  background-color: #222;
+  background-color: @grayDarker;
   background-color: rgba(0,0,0,.5);
 }
 
@@ -174,7 +174,7 @@
   width: 1px;
   margin: 0 5px;
   overflow: hidden;
-  background-color: #222;
+  background-color: @grayDarker;
   border-right: 1px solid #444;
 }
 
@@ -209,7 +209,7 @@
     display: inline-block;
     border-left:   6px solid transparent;
     border-right:  6px solid transparent;
-    border-bottom: 6px solid #fff;
+    border-bottom: 6px solid @white;
     position: absolute;
     top: -6px;
     left: 10px;
@@ -219,7 +219,7 @@
 // Dropdown toggle caret
 .navbar .nav .dropdown-toggle .caret,
 .navbar .nav .open.dropdown .caret {
-  border-top-color: #fff;
+  border-top-color: @white;
 }
 .navbar .nav .active .caret {
   .opacity(100);
@@ -234,7 +234,7 @@
 
 // Dropdown link on hover
 .navbar .nav .active > .dropdown-toggle:hover {
-  color: #fff;
+  color: @white;
 }
 
 // Right aligned menus need alt position
diff --git a/lib/navs.less b/lib/navs.less
index 432ab3cbd1..4db77af4f2 100644
--- a/lib/navs.less
+++ b/lib/navs.less
@@ -18,7 +18,7 @@
 }
 .nav > li > a:hover {
   text-decoration: none;
-  background-color: #eee;
+  background-color: @grayLighter;
 }
 
 
@@ -97,7 +97,7 @@
   border: 1px solid transparent;
   .border-radius(4px 4px 0 0);
   &:hover {
-    border-color: #eee #eee #ddd;
+    border-color: @grayLighter @grayLighter #ddd;
   }
 }
 // Active state, and it's :hover to override normal :hover
@@ -201,13 +201,13 @@
 // -------------------------
 .tabs .active .dropdown-toggle .caret,
 .pills .active .dropdown-toggle .caret {
-  border-top-color: #333;
+  border-top-color: @grayDark;
 }
 
 // Active:hover dropdown links
 // -------------------------
 .nav > .dropdown.active > a:hover {
-  color: #000;
+  color: @black;
   cursor: pointer;
 }
 
@@ -216,20 +216,20 @@
 .tabs .open .dropdown-toggle,
 .pills .open .dropdown-toggle,
 .nav > .open.active > a:hover {
-  color: #fff;
-  background-color: #999;
-  border-color: #999;
+  color: @white;
+  background-color: @grayLight;
+  border-color: @grayLight;
 }
 .nav .open .caret,
 .nav .open.active .caret,
 .nav .open a:hover .caret {
-  border-top-color: #fff;
+  border-top-color: @white;
   .opacity(100);
 }
 
 // Dropdowns in stacked tabs
 .tabs.stacked .open > a:hover {
-  border-color: #999;
+  border-color: @grayLight;
 }
 
 
@@ -312,7 +312,7 @@
   .border-radius(4px 0 0 4px);
 }
 .tabs-left .tabs > li > a:hover {
-  border-color: #eee #ddd #eee #eee;
+  border-color: @grayLighter #ddd @grayLighter @grayLighter;
 }
 .tabs-left .tabs .active > a,
 .tabs-left .tabs .active > a:hover {
@@ -330,7 +330,7 @@
   .border-radius(0 4px 4px 0);
 }
 .tabs-right .tabs > li > a:hover {
-  border-color: #eee #eee #eee #ddd;
+  border-color: @grayLighter @grayLighter @grayLighter #ddd;
 }
 .tabs-right .tabs .active > a,
 .tabs-right .tabs .active > a:hover {
diff --git a/lib/tables.less b/lib/tables.less
index 5dad3e896f..14e4ea44a3 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -144,7 +144,7 @@ table {
       margin-top: 7px;
       border-width: 0 4px 4px;
       border-style: solid;
-      border-color: #000 transparent;
+      border-color: @black transparent;
       visibility: hidden;
     }
   }
@@ -174,7 +174,7 @@ table {
       border-bottom: none;
       border-left: 4px solid transparent;
       border-right: 4px solid transparent;
-      border-top: 4px solid #000;
+      border-top: 4px solid @black;
       visibility:visible;
       .box-shadow(none); //can't add boxshadow to downward facing arrow :(
       .opacity(60);
diff --git a/lib/tooltip.less b/lib/tooltip.less
index b21c6bb7a5..5111a193f0 100644
--- a/lib/tooltip.less
+++ b/lib/tooltip.less
@@ -22,7 +22,7 @@
 .tooltip-inner {
   max-width: 200px;
   padding: 3px 8px;
-  color: white;
+  color: @white;
   text-align: center;
   text-decoration: none;
   background-color: @black;
diff --git a/lib/type.less b/lib/type.less
index 707d2215de..a94a4956ed 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -119,7 +119,7 @@ hr {
   margin: @baseLineHeight 0;
   border: 0;
   border-top: 1px solid #e5e5e5;
-  border-bottom: 1px solid #fff;
+  border-bottom: 1px solid @white;
 }
 
 // Emphasis
@@ -148,7 +148,7 @@ abbr {
 blockquote {
   padding-left: 15px;
   margin-bottom: @baseLineHeight;
-  border-left: 5px solid #eee;
+  border-left: 5px solid @grayLighter;
   p {
     margin-bottom: 0;
     #font > .shorthand(16px,300,@baseLineHeight * 1.25);
@@ -168,7 +168,7 @@ blockquote {
     padding-left: 0;
     padding-right: 15px;
     border-left: 0;
-    border-right: 5px solid #eee;
+    border-right: 5px solid @grayLighter;
     p,
     small {
       text-align: right;
diff --git a/lib/variables.less b/lib/variables.less
index 807a9ea0d5..df0d2255d7 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -13,6 +13,7 @@
 
 // Grays
 @black:                 #000;
+@grayDarker:			#222;
 @grayDark:              #333;
 @gray:                  #555;
 @grayLight:             #999;
@@ -65,7 +66,7 @@
 
 // Navbar
 @navBarHeight:                    40px;
-@navbarBackground:                #222;
-@navbarBackgroundHighlight:       #333;
+@navbarBackground:                @grayDarker;
+@navbarBackgroundHighlight:       @grayDark;
 
 
-- 
GitLab


From 2187e0838f522c102a8b5104970a9f129cdd001a Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 21 Jan 2012 21:35:20 -0800
Subject: [PATCH 330/576] change scrollspy offset to be option + fix typo in
 scrollspy

---
 docs/javascript.html      | 23 +++++++++++++++++++++--
 js/bootstrap-scrollspy.js | 19 +++++++++++++------
 2 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index fb854d2814..1b8af662af 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -549,7 +549,7 @@ $('#myModal').on('hidden', function () {
               </div>
             </div>
           </div>
-          <div data-spy="scroll" data-target="#navbarExample" class="scrollspy-example">
+          <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
             <h4 id="fat">@fat</h4>
             <p>
             Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
@@ -576,11 +576,30 @@ $('#myModal').on('hidden', function () {
           <hr>
           <h2>Using bootstrap-scrollspy.js</h2>
           <p>Call the scrollspy via javascript:</p>
-          <pre class="prettyprint linenums">$('#navbar').dropdown()</pre>
+          <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
           <h3>Markup</h3>
           <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
           <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
            <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 100px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>offset</td>
+               <td>number</td>
+               <td>10</td>
+               <td>Pixels to offset from top when calculating position of scroll.</td>
+             </tr>
+            </tbody>
+          </table>
         </div>
       </div>
     </section>
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 63195b4bdf..5049bfdf95 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -24,15 +24,14 @@
   /* SCROLLSPY CLASS DEFINITION
    * ========================== */
 
-  function ScrollSpy( element ) {
+  function ScrollSpy( element, options) {
     var process = $.proxy(this.process, this)
-
+    this.options = $.extend({}, $.fn.scrollspy.defaults, options)
     this.$scrollElement = $(element).on('scroll.scroll.data-api', process)
     this.selector = (this.$scrollElement.attr('data-target')
       || this.$scrollElement.attr('href')
       || '') + ' .nav li > a'
     this.$body = $('body').on('click.scroll.data-api', this.selector, process)
-
     this.refresh()
     this.process()
   }
@@ -55,7 +54,7 @@
       }
 
     , process: function () {
-        var scrollTop = this.$scrollElement.scrollTop() + 10
+        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
           , offsets = this.offsets
           , targets = this.targets
           , activeTarget = this.activeTarget
@@ -98,17 +97,25 @@
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('scrollspy')
-      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this)))
+        , options = typeof option == 'object' && 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"]').scrollspy() })
+  $(function () {
+    var $spy = $('[data-spy="scroll"]')
+    $spy.scrollspy($spy.data())
+  })
 
 }( window.jQuery )
\ No newline at end of file
-- 
GitLab


From 4fe11342d049f708c3416e5b29fa3ed5bfc3b393 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 21 Jan 2012 21:46:47 -0800
Subject: [PATCH 331/576] make case lookahead case insensitive

---
 js/bootstrap-typeahead.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index b4957c3f61..16539fefbf 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -35,7 +35,8 @@
     constructor: Typeahead
 
   , matcher: function (item, query) {
-      return ~item.indexOf(query)
+      // ;_; http://jsperf.com/asdfdfasdfa
+      return ~item.toLowerCase().indexOf(query.toLowerCase())
     }
 
   , select: function () {
-- 
GitLab


From 6e490628d1be1a165d95ecf9817fdc7070069947 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 21 Jan 2012 22:06:36 -0800
Subject: [PATCH 332/576] more efficient matcher + bold matched query in item

---
 js/bootstrap-typeahead.js | 50 +++++++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 20 deletions(-)

diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index 16539fefbf..b8ff5aab00 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -36,7 +36,7 @@
 
   , matcher: function (item, query) {
       // ;_; http://jsperf.com/asdfdfasdfa
-      return ~item.toLowerCase().indexOf(query.toLowerCase())
+      return ~item.toLowerCase().indexOf(query)
     }
 
   , select: function () {
@@ -67,16 +67,20 @@
     }
 
   , lookup: function (event) {
-      var query = this.$element.val()
-        , that = this
+      var that = this
         , items
+        , q
+
+      this.query = this.$element.val()
 
-      if (!query) {
+      if (!this.query) {
         return this.shown ? this.hide() : this
       }
 
+      q = this.query.toLowerCase()
+
       items = this.data.filter(function (item) {
-        if (that.matcher(item, query)) return item
+        if (that.matcher(item, q)) return item
       })
 
       if (!items.length) {
@@ -88,10 +92,15 @@
 
   , render: function (items) {
       var that = this
+        , QUERY = new RegExp('(' + this.query + ')', 'ig')
 
       items = $(items).map(function (i, item) {
         i = $(that.options.item).attr('data-value', item)
-        i.find('a').text(item)
+
+        i.find('a').html(item.replace(QUERY, function ($1, match) {
+          return '<strong>' + match + '</strong>'
+        }))
+
         return i[0]
       })
 
@@ -122,6 +131,21 @@
       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) {
       e.stopPropagation()
       e.preventDefault()
@@ -188,20 +212,6 @@
       $(e.currentTarget).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))
-    }
   }
 
 
-- 
GitLab


From 0f2dd75c975b56f082b82a464065c3b2ccc7af86 Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Sat, 21 Jan 2012 22:35:03 -0800
Subject: [PATCH 333/576] remove tabs

---
 lib/variables.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/variables.less b/lib/variables.less
index df0d2255d7..0a67521dfc 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -13,7 +13,7 @@
 
 // Grays
 @black:                 #000;
-@grayDarker:			#222;
+@grayDarker:            #222;
 @grayDark:              #333;
 @gray:                  #555;
 @grayLight:             #999;
-- 
GitLab


From 373a54187ed5d1f5d00d725e6ef6b84d506f07a8 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 21 Jan 2012 23:02:29 -0800
Subject: [PATCH 334/576] add ability to cycle carousel to a particular frame

---
 docs/javascript.html     |  2 ++
 js/bootstrap-carousel.js | 32 +++++++++++++++++++++++++++-----
 2 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 1b8af662af..7f589de4c2 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1323,6 +1323,8 @@ $('.myCarousel').carousel({
           <p>Cycles through the carousel items from left to right.</p>
           <h4>.carousel('pause')</h4>
           <p>Stops the carousel from cycling through items.</p>
+          <h4>.carousel(number)</h4>
+          <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
           <h4>.carousel('prev')</h4>
           <p>Cycles to the previous item.</p>
           <h4>.carousel('next')</h4>
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index f2d5110a4e..4e12e31b54 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -38,6 +38,27 @@
       return this
     }
 
+  , to: function (pos) {
+      var $active = this.$element.find('.active')
+        , children = $active.parent().children()
+        , activePos = children.index($active)
+        , that = this
+
+      if (pos > (children.length - 1) || pos < 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 > activePos ? 'next' : 'prev', $(children[pos]))
+    }
+
   , pause: function () {
       clearInterval(this.interval)
       return this
@@ -53,9 +74,9 @@
       return this.slide('prev')
     }
 
-  , slide: function (type) {
+  , slide: function (type, next) {
       var $active = this.$element.find('.active')
-        , $next = $active[type]()
+        , $next = next || $active[type]()
         , isCycling = this.interval
         , direction = type == 'next' ? 'left' : 'right'
         , fallback  = type == 'next' ? 'first' : 'last'
@@ -71,8 +92,8 @@
         this.$element.trigger('slide')
         $active.removeClass('active')
         $next.addClass('active')
-        this.$element.trigger('slid')
         this.sliding = false
+        this.$element.trigger('slid')
       } else {
         $next.addClass(type)
         $next[0].offsetWidth // force reflow
@@ -82,8 +103,8 @@
         this.$element.one($.support.transition.end, function () {
           $next.removeClass([type, direction].join(' ')).addClass('active')
           $active.removeClass(['active', direction].join(' '))
-          that.$element.trigger('slid')
           that.sliding = false
+          setTimeout(function () { that.$element.trigger('slid') }, 0)
         })
       }
 
@@ -104,7 +125,8 @@
         , data = $this.data('carousel')
         , options = typeof option == 'object' && option
       if (!data) $this.data('carousel', (data = new Carousel(this, options)))
-      if (typeof option == 'string' || (option = options.slide)) data[option]()
+      if (typeof option == 'number') data.to(option)
+      else if (typeof option == 'string' || (option = options.slide)) data[option]()
       else data.cycle()
     })
   }
-- 
GitLab


From 6a9f169fd6cd2203dee3f6230cc78f5dbbeafdab Mon Sep 17 00:00:00 2001
From: Nicklas Ansman Giertz <nicklas@ansman.se>
Date: Sun, 22 Jan 2012 12:06:59 +0100
Subject: [PATCH 335/576] Make the popove respect custom classes

---
 js/bootstrap-popover.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index e908998952..a0de0f08dc 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -41,7 +41,7 @@
       $tip.find('.title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
       $tip.find('.content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
 
-      $tip[0].className = 'popover'
+      $tip.removeClass('fade top bottom left right in')
     }
 
   , hasContent: function () {
@@ -92,4 +92,4 @@
   , template: '<div class="popover"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>'
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
-- 
GitLab


From 05fdd43e41bae02c8d4006c075b6360599b4467c Mon Sep 17 00:00:00 2001
From: Nicklas Ansman Giertz <nicklas@ansman.se>
Date: Sun, 22 Jan 2012 12:32:37 +0100
Subject: [PATCH 336/576] Add testcase to popover

This test case verifies that custom classes are respected.
---
 js/tests/unit/bootstrap-popover.js | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js
index 9180c043e9..462db8b3e1 100644
--- a/js/tests/unit/bootstrap-popover.js
+++ b/js/tests/unit/bootstrap-popover.js
@@ -70,5 +70,24 @@ $(function () {
         ok(!$('.popover').length, 'popover was removed')
         $('#qunit-fixture').empty()
       })
+    
+      test("should respect custom classes", function() {
+        $.support.transition = false
+        var popover = $('<a href="#">@fat</a>')
+          .appendTo('#qunit-fixture')
+          .popover({
+            title: 'Test'
+          , content: 'Test'
+          , template: '<div class="popover foobar"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>'
+          })
+        
+        popover.popover('show')
+        console.log(popover)
+        ok($('.popover').length, 'popover was inserted')
+        ok($('.popover').hasClass('foobar'), 'custom class is present')
 
+        popover.popover('hide')
+        ok(!$('.popover').length, 'popover was removed')
+        $('#qunit-fixture').empty()
+      })
 })
\ No newline at end of file
-- 
GitLab


From 4882e6da2f887c1e8baad96f777b151882adaed8 Mon Sep 17 00:00:00 2001
From: Nicklas Ansman Giertz <nicklas@ansman.se>
Date: Sun, 22 Jan 2012 12:33:30 +0100
Subject: [PATCH 337/576] Rename the tooltip test file

It had not been renamed when twipsys became tooltips.
---
 js/tests/unit/{bootstrap-twipsy.js => bootstrap-tooltip.js} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename js/tests/unit/{bootstrap-twipsy.js => bootstrap-tooltip.js} (100%)

diff --git a/js/tests/unit/bootstrap-twipsy.js b/js/tests/unit/bootstrap-tooltip.js
similarity index 100%
rename from js/tests/unit/bootstrap-twipsy.js
rename to js/tests/unit/bootstrap-tooltip.js
-- 
GitLab


From c3625ebb238edbfc4b352a97b964727a919b8599 Mon Sep 17 00:00:00 2001
From: Chris Gunther <chris@room118solutions.com>
Date: Sun, 22 Jan 2012 11:46:44 -0500
Subject: [PATCH 338/576] Move placement of ID in docs example for dropdowns

The ID specified by an href or data-target attribute should match the
li.dropdown, not the ul.dropdown-menu
---
 docs/javascript.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 7f589de4c2..9c7b217798 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -489,12 +489,12 @@ $('#myModal').on('hidden', function () {
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
   &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
-  &lt;li class="dropdown"&gt;
+  &lt;li class="dropdown" id="menu1"&gt;
     &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
       Dropdown
       &lt;b class="caret"&gt;&lt;/b&gt;
     &lt;/a&gt;
-    &lt;ul id="menu1" class="dropdown-menu"&gt;
+    &lt;ul class="dropdown-menu"&gt;
       &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
       &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
       &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
-- 
GitLab


From 88596797f061f97255bb7ed9442ac43a41787405 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 22 Jan 2012 12:19:22 -0800
Subject: [PATCH 339/576] rename tooltip test file

---
 js/tests/unit/{bootstrap-twipsy.js => bootstrap-tooltip.js} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename js/tests/unit/{bootstrap-twipsy.js => bootstrap-tooltip.js} (100%)

diff --git a/js/tests/unit/bootstrap-twipsy.js b/js/tests/unit/bootstrap-tooltip.js
similarity index 100%
rename from js/tests/unit/bootstrap-twipsy.js
rename to js/tests/unit/bootstrap-tooltip.js
-- 
GitLab


From 0523c053a79430b3dab775fab2d572841f743c5a Mon Sep 17 00:00:00 2001
From: Olivier Laviale <contact@weirdog.com>
Date: Sun, 22 Jan 2012 21:45:20 +0100
Subject: [PATCH 340/576] Fixed typo

---
 docs/components.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 mode change 100644 => 100755 docs/components.html

diff --git a/docs/components.html b/docs/components.html
old mode 100644
new mode 100755
index 7d05938746..984e8c76d8
--- a/docs/components.html
+++ b/docs/components.html
@@ -1128,7 +1128,7 @@
       <h3>Rewritten base class</h3>
       <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
       <h3>Single alert message</h3>
-      <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that com with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
+      <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
       <hr>
       <h3>Goes great with javascript</h3>
       <p>Bootstrap comes with a great jQuery plugin that supports alert messages, making dismissing them quick and easy.</p>
-- 
GitLab


From a583f055b382ae2f721e49dea61340257e1482d0 Mon Sep 17 00:00:00 2001
From: Olivier Laviale <contact@weirdog.com>
Date: Sun, 22 Jan 2012 22:32:16 +0100
Subject: [PATCH 341/576] Using variables rather than numeric values

---
 lib/scaffolding.less | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index a0d54a8865..7ad8a7b164 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -24,9 +24,9 @@ body {
 // Fluid layouts (left aligned, with sidebar, min- & max-width content)
 .fluid-container {
   position: relative;
-  min-width: 940px;
-  padding-left: 20px;
-  padding-right: 20px;
+  min-width: @siteWidth;
+  padding-left: @gridGutterWidth;
+  padding-right: @gridGutterWidth;
   .clearfix();
 }
 
@@ -35,17 +35,17 @@ body {
   width: @fluidSidebarWidth;
   margin: 0 20px 18px;
 }
-.sidebar-left   { padding-left: @fluidSidebarWidth + 40; }
-.sidebar-right  { padding-right: @fluidSidebarWidth + 40; }
+.sidebar-left   { padding-left: @fluidSidebarWidth + @gridGutterWidth * 2; }
+.sidebar-right  { padding-right: @fluidSidebarWidth + @gridGutterWidth * 2; }
 
 // Float the sidebars accordingly
 .sidebar-left .fluid-sidebar {
   float: left;
-  margin-left: (@fluidSidebarWidth + 20) * -1;
+  margin-left: (@fluidSidebarWidth + @gridGutterWidth) * -1;
 }
 .sidebar-right .fluid-sidebar {
   float: right;
-  margin-right: (@fluidSidebarWidth + 20) * -1;
+  margin-right: (@fluidSidebarWidth + @gridGutterWidth) * -1;
 }
 
 // The main content area
-- 
GitLab


From 155b72e8730e9b8badb5fa80c8d7f8990f10cc82 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 22 Jan 2012 20:02:56 -0800
Subject: [PATCH 342/576] share -> share-alt

---
 bootstrap.css      | 4 ++--
 bootstrap.min.css  | 2 +-
 docs/base-css.html | 2 +-
 lib/sprites.less   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 959eb24214..b27045169b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu 19 Jan 2012 22:27:04 GMT
+ * Date: Sun Jan 22 20:02:42 PST 2012
  */
 html, body {
   margin: 0;
@@ -1391,7 +1391,7 @@ i {
 .arrow-down {
   background-position: -312px -96px;
 }
-.share {
+.share-alt {
   background-position: -336px -96px;
 }
 .resize-full {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f71a05e047..7d12bcc35f 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -291,7 +291,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .arrow-right{background-position:-264px -96px;}
 .arrow-up{background-position:-288px -96px;}
 .arrow-down{background-position:-312px -96px;}
-.share{background-position:-336px -96px;}
+.share-alt{background-position:-336px -96px;}
 .resize-full{background-position:-360px -96px;}
 .resize-small{background-position:-384px -96px;}
 .plus{background-position:-408px -96px;}
diff --git a/docs/base-css.html b/docs/base-css.html
index fa60204a84..8ac9134773 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1458,7 +1458,7 @@
         <i class="arrow-right"></i>
         <i class="arrow-up"></i>
         <i class="arrow-down"></i>
-        <i class="share"></i>
+        <i class="share-alt"></i>
         <i class="resize-full"></i>
         <i class="resize-small"></i>
         <i class="plus"></i>
diff --git a/lib/sprites.less b/lib/sprites.less
index aec08a5a27..4a49bb8b44 100644
--- a/lib/sprites.less
+++ b/lib/sprites.less
@@ -109,7 +109,7 @@ i {
 .arrow-right        { background-position: -264px -96px; }
 .arrow-up           { background-position: -288px -96px; }
 .arrow-down         { background-position: -312px -96px; }
-.share              { background-position: -336px -96px; }
+.share-alt          { background-position: -336px -96px; }
 .resize-full        { background-position: -360px -96px; }
 .resize-small       { background-position: -384px -96px; }
 .plus               { background-position: -408px -96px; }
-- 
GitLab


From b8c0388f8af8ae93a514efaa352f63ecdffde279 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 22 Jan 2012 20:07:17 -0800
Subject: [PATCH 343/576] fix sans-serif order in forms.less and rebuild

---
 bootstrap.css     | 68 +++++++++++++++++++++++------------------------
 bootstrap.min.css | 58 ++++++++++++++++++++--------------------
 lib/forms.less    |  2 +-
 3 files changed, 64 insertions(+), 64 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index b27045169b..fcfcf02f7f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 22 20:02:42 PST 2012
+ * Date: Sun Jan 22 20:06:46 PST 2012
  */
 html, body {
   margin: 0;
@@ -425,7 +425,7 @@ hr {
   margin: 18px 0;
   border: 0;
   border-top: 1px solid #e5e5e5;
-  border-bottom: 1px solid #fff;
+  border-bottom: 1px solid #ffffff;
 }
 strong {
   font-style: inherit;
@@ -448,7 +448,7 @@ abbr {
 blockquote {
   padding-left: 15px;
   margin-bottom: 18px;
-  border-left: 5px solid #eee;
+  border-left: 5px solid #eeeeee;
 }
 blockquote p {
   margin-bottom: 0;
@@ -469,7 +469,7 @@ blockquote.pull-right {
   padding-left: 0;
   padding-right: 15px;
   border-left: 0;
-  border-right: 5px solid #eee;
+  border-right: 5px solid #eeeeee;
 }
 blockquote.pull-right p, blockquote.pull-right small {
   text-align: right;
@@ -533,8 +533,8 @@ input,
 select,
 textarea {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: normal;
-  font-weight: 13px;
+  font-size: 13px;
+  font-weight: normal;
   line-height: 18px;
 }
 label {
@@ -1101,7 +1101,7 @@ table .header:after {
   margin-top: 7px;
   border-width: 0 4px 4px;
   border-style: solid;
-  border-color: #000 transparent;
+  border-color: #000000 transparent;
   visibility: hidden;
 }
 table .headerSortUp, table .headerSortDown {
@@ -1121,7 +1121,7 @@ table .headerSortUp:after {
   border-bottom: none;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
-  border-top: 4px solid #000;
+  border-top: 4px solid #000000;
   visibility: visible;
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
@@ -1420,7 +1420,7 @@ i {
   vertical-align: top;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
-  border-top: 4px solid #000;
+  border-top: 4px solid #000000;
   filter: alpha(opacity=30);
   -moz-opacity: 0.3;
   opacity: 0.3;
@@ -1483,7 +1483,7 @@ i {
   white-space: nowrap;
 }
 .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
-  color: #fff;
+  color: #ffffff;
   text-decoration: none;
   background-color: #0088cc;
 }
@@ -1572,7 +1572,7 @@ i {
 }
 .nav > li > a:hover {
   text-decoration: none;
-  background-color: #eee;
+  background-color: #eeeeee;
 }
 .nav.list {
   padding-left: 14px;
@@ -1638,7 +1638,7 @@ i {
   border-radius: 4px 4px 0 0;
 }
 .tabs > li > a:hover {
-  border-color: #eee #eee #ddd;
+  border-color: #eeeeee #eeeeee #dddddd;
 }
 .tabs > .active > a, .tabs > .active > a:hover {
   color: #555555;
@@ -1712,25 +1712,25 @@ i {
   border-top-color: #005580;
 }
 .tabs .active .dropdown-toggle .caret, .pills .active .dropdown-toggle .caret {
-  border-top-color: #333;
+  border-top-color: #333333;
 }
 .nav > .dropdown.active > a:hover {
-  color: #000;
+  color: #000000;
   cursor: pointer;
 }
 .tabs .open .dropdown-toggle, .pills .open .dropdown-toggle, .nav > .open.active > a:hover {
-  color: #fff;
-  background-color: #999;
-  border-color: #999;
+  color: #ffffff;
+  background-color: #999999;
+  border-color: #999999;
 }
 .nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {
-  border-top-color: #fff;
+  border-top-color: #ffffff;
   filter: alpha(opacity=100);
   -moz-opacity: 1;
   opacity: 1;
 }
 .tabs.stacked .open > a:hover {
-  border-color: #999;
+  border-color: #999999;
 }
 .tabbable {
   *zoom: 1;
@@ -1790,7 +1790,7 @@ i {
   border-radius: 4px 0 0 4px;
 }
 .tabs-left .tabs > li > a:hover {
-  border-color: #eee #ddd #eee #eee;
+  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
 }
 .tabs-left .tabs .active > a, .tabs-left .tabs .active > a:hover {
   border-color: #ddd transparent #ddd #ddd;
@@ -1807,7 +1807,7 @@ i {
   border-radius: 0 4px 4px 0;
 }
 .tabs-right .tabs > li > a:hover {
-  border-color: #eee #eee #eee #ddd;
+  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
 }
 .tabs-right .tabs .active > a, .tabs-right .tabs .active > a:hover {
   border-color: #ddd #ddd #ddd transparent;
@@ -1961,7 +1961,7 @@ i {
 .navbar .nav .active > a {
   color: #ffffff;
   text-decoration: none;
-  background-color: #222;
+  background-color: #222222;
   background-color: rgba(0, 0, 0, 0.5);
 }
 .navbar .vertical-divider {
@@ -1969,7 +1969,7 @@ i {
   width: 1px;
   margin: 0 5px;
   overflow: hidden;
-  background-color: #222;
+  background-color: #222222;
   border-right: 1px solid #444;
 }
 .navbar .nav.pull-right {
@@ -1998,13 +1998,13 @@ i {
   display: inline-block;
   border-left: 6px solid transparent;
   border-right: 6px solid transparent;
-  border-bottom: 6px solid #fff;
+  border-bottom: 6px solid #ffffff;
   position: absolute;
   top: -6px;
   left: 10px;
 }
 .navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
-  border-top-color: #fff;
+  border-top-color: #ffffff;
 }
 .navbar .nav .active .caret {
   filter: alpha(opacity=100);
@@ -2015,7 +2015,7 @@ i {
   background-color: transparent;
 }
 .navbar .nav .active > .dropdown-toggle:hover {
-  color: #fff;
+  color: #ffffff;
 }
 .navbar .nav.pull-right .dropdown-menu {
   right: 0;
@@ -2299,7 +2299,7 @@ i {
 .tooltip-inner {
   max-width: 200px;
   padding: 3px 8px;
-  color: white;
+  color: #ffffff;
   text-align: center;
   text-decoration: none;
   background-color: #000000;
@@ -2460,7 +2460,7 @@ i {
   padding: 5px 10px 6px;
   font-size: 13px;
   line-height: normal;
-  color: #333;
+  color: #333333;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
   background-color: #e6e6e6;
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
@@ -2650,7 +2650,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .danger .caret,
 .info .caret,
 .success .caret {
-  border-top-color: #fff;
+  border-top-color: #ffffff;
   filter: alpha(opacity=75);
   -moz-opacity: 0.75;
   opacity: 0.75;
@@ -2993,7 +2993,7 @@ a.thumbnail:hover {
   line-height: 30px;
   color: #ccc;
   text-align: center;
-  background: #999;
+  background: #999999;
   background: rgba(0, 0, 0, 0.5);
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
@@ -3004,9 +3004,9 @@ a.thumbnail:hover {
   right: 15px;
 }
 .carousel-control:hover {
-  color: #fff;
+  color: #ffffff;
   text-decoration: none;
-  background: #333;
+  background: #333333;
   background: rgba(0, 0, 0, 0.75);
 }
 .carousel-caption {
@@ -3015,11 +3015,11 @@ a.thumbnail:hover {
   right: 0;
   bottom: 0;
   padding: 10px 15px 5px;
-  background: #333;
+  background: #333333;
   background: rgba(0, 0, 0, 0.75);
 }
 .carousel-caption h4, .carousel-caption p {
-  color: #fff;
+  color: #ffffff;
 }
 .pull-right {
   float: right;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 7d12bcc35f..bb57456694 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -77,14 +77,14 @@ dl{margin-bottom:18px;}
 dt,dd{line-height:18px;}
 dt{font-weight:bold;}
 dd{margin-left:9px;}
-hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff;}
+hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #ffffff;}
 strong{font-style:inherit;font-weight:bold;}
 em{font-style:italic;font-weight:inherit;line-height:inherit;}
 .muted{color:#999999;}
 abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-blockquote{padding-left:15px;margin-bottom:18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
+blockquote{padding-left:15px;margin-bottom: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;border-right:5px solid #eee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
+blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
 address{display:block;margin-bottom:18px;line-height:18px;}
 code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:1px 3px;background-color:#fee9cc;}
@@ -92,7 +92,7 @@ pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;b
 pre code{padding:0;background-color:transparent;}
 form{margin-bottom:18px;}
 legend{display:block;width:100%;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
-label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:18px;}
+label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
 input,textarea,select,.uneditable-input{display:block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
@@ -201,11 +201,11 @@ 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 .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
+table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000000 transparent;visibility:hidden;}
 table .headerSortUp,table .headerSortDown{background-color:#f7f7f9;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
 table .header:hover:after{visibility:visible;}
 table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
-table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
+table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
 i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
 .glass{background-position:0 0;}
 .music{background-position:-24px 0;}
@@ -298,12 +298,12 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .minus{background-position:-432px -96px;}
 .asterisk{background-position:-456px -96px;}
 .dropdown{position:relative;}
-.caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
+.caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
-.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0088cc;}
+.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
 .typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
@@ -313,7 +313,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .close{float:right;font-size:20px;font-weight:bold;line-height:12px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
 .nav{margin-left:0;margin-bottom:18px;list-style:none;}
 .nav>li>a{display:block;}
-.nav>li>a:hover{text-decoration:none;background-color:#eee;}
+.nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
 .nav.list{padding-left:14px;padding-right:14px;margin-bottom:0;}
 .nav.list>li>a,.nav.list .nav-header{display:block;padding:3px 15px;margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
 .nav.list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-transform:uppercase;}
@@ -325,7 +325,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs>li>a,.pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
 .tabs{border-bottom:1px solid #ddd;}
 .tabs>li{margin-bottom:-1px;}
-.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eee #eee #ddd;}
+.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
 .tabs>.active>a,.tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
 .pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .pills .active>a,.pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
@@ -342,11 +342,11 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
 .tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
-.tabs .active .dropdown-toggle .caret,.pills .active .dropdown-toggle .caret{border-top-color:#333;}
-.nav>.dropdown.active>a:hover{color:#000;cursor:pointer;}
-.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#fff;background-color:#999;border-color:#999;}
-.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#fff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.tabs.stacked .open>a:hover{border-color:#999;}
+.tabs .active .dropdown-toggle .caret,.pills .active .dropdown-toggle .caret{border-top-color:#333333;}
+.nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;}
+.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
+.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.tabs.stacked .open>a:hover{border-color:#999999;}
 .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";}
 .tabbable:after{clear:both;}
 .tabs-below .tabs,.tabs-right .tabs,.tabs-left .tabs{border-bottom:0;}
@@ -360,11 +360,11 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs-left .tabs>li>a,.tabs-right .tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
 .tabs-left .tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
 .tabs-left .tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
-.tabs-left .tabs>li>a:hover{border-color:#eee #ddd #eee #eee;}
+.tabs-left .tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
 .tabs-left .tabs .active>a,.tabs-left .tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;}
 .tabs-right .tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
 .tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
-.tabs-right .tabs>li>a:hover{border-color:#eee #eee #eee #ddd;}
+.tabs-right .tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
 .tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
 .navbar{overflow:visible;}
 .navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
@@ -386,15 +386,15 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .nav>li{display:block;float:left;}
 .navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
 .navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
-.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
-.navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222;border-right:1px solid #444;}
+.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222222;background-color:rgba(0, 0, 0, 0.5);}
+.navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222222;border-right:1px solid #444;}
 .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
 .navbar .dropdown-menu{top:41px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
-.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:10px;}
-.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#fff;}
+.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;}
+.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;}
 .navbar .nav .active .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
 .navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
-.navbar .nav .active>.dropdown-toggle:hover{color:#fff;}
+.navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;}
 .navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
 .navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
 .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
@@ -435,7 +435,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;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;}
 .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;}
-.tooltip-inner{max-width:200px;padding:3px 8px;color:white;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .tooltip-arrow{position:absolute;width:0;height:0;}
 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
@@ -453,7 +453,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .btn.danger{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
+.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
 .btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .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);}
@@ -477,7 +477,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group.open .dropdown-menu{display:block;top:30px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}.btn-group.open .dropdown-menu.large{top:40px;}
 .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);}
 .btn .caret{margin-top:6px;margin-left:0;}
-.primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#fff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
+.primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
 .alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .alert,.alert-heading{color:#c09853;}
 .alert .close{*margin-top:3px;position:relative;right:-21px;}
@@ -528,10 +528,10 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel .next.left,.carousel .prev.right{left:0;}
 .carousel .active.left{left:-100%;}
 .carousel .active.right{left:100%;}
-.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ccc;text-align:center;background:#999;background:rgba(0, 0, 0, 0.5);-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}.carousel-control.right{left:auto;right:15px;}
-.carousel-control:hover{color:#fff;text-decoration:none;background:#333;background:rgba(0, 0, 0, 0.75);}
-.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333;background:rgba(0, 0, 0, 0.75);}
-.carousel-caption h4,.carousel-caption p{color:#fff;}
+.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ccc;text-align:center;background:#999999;background:rgba(0, 0, 0, 0.5);-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}.carousel-control.right{left:auto;right:15px;}
+.carousel-control:hover{color:#ffffff;text-decoration:none;background:#333333;background:rgba(0, 0, 0, 0.75);}
+.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);}
+.carousel-caption h4,.carousel-caption p{color:#ffffff;}
 .pull-right{float:right;}
 .pull-left{float:left;}
 .hide{display:none;}
diff --git a/lib/forms.less b/lib/forms.less
index e956b0046f..e728b9d72b 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -28,7 +28,7 @@ label,
 input,
 select,
 textarea {
-  #font > .sans-serif(normal,@baseFontSize,@baseLineHeight);
+  #font > .sans-serif(@baseFontSize,normal,@baseLineHeight);
 }
 
 // Identify controls by their labels
-- 
GitLab


From 36d56fb1ba803358e8244189fbef883290af87d0 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 22 Jan 2012 20:12:26 -0800
Subject: [PATCH 344/576] don't use negative margin - use first child to set to
 0

---
 bootstrap.css        | 6 ++++--
 bootstrap.min.css    | 3 ++-
 lib/scaffolding.less | 8 ++++++--
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index fcfcf02f7f..d96c2277b7 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 22 20:06:46 PST 2012
+ * Date: Sun Jan 22 20:11:39 PST 2012
  */
 html, body {
   margin: 0;
@@ -238,7 +238,6 @@ a:hover {
   text-decoration: underline;
 }
 .row {
-  margin-left: -20px;
   *zoom: 1;
 }
 .row:before, .row:after {
@@ -248,6 +247,9 @@ a:hover {
 .row:after {
   clear: both;
 }
+[class*="span"]:first-child {
+  margin-left: 0;
+}
 [class*="span"] {
   float: left;
   margin-left: 20px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index bb57456694..ccc0f1e421 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -32,8 +32,9 @@ body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:
 .sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
 .fluid-content{float:left;width:100%;}
 a{font-weight:inherit;line-height:inherit;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{*zoom:1;}.row:before,.row:after{display:table;content:"";}
 .row:after{clear:both;}
+[class*="span"]:first-child{margin-left:0;}
 [class*="span"]{float:left;margin-left:20px;}
 .span1{width:60px;}
 .span2{width:140px;}
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 7ad8a7b164..66e5cc32f3 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -75,11 +75,15 @@ a {
 // -----------
 // To customize the grid system, bring up the variables.less file and change the column count, size, and gutter there
 .row {
-  margin-left: -@gridGutterWidth;
   .clearfix();
 }
 
-// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7)
+[class*="span"]:first-child{
+  margin-left: 0;
+}
+
+// Find all .span# classes within .row and give them the necessary properties for grid columns 
+// (supported by all browsers back to IE7)
 // Credit to @dhg for the idea
 [class*="span"] {
   .gridColumn();
-- 
GitLab


From 36d2679f8358f91d8a2c746e0f14b3500b73c163 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 22 Jan 2012 20:31:58 -0800
Subject: [PATCH 345/576] give default valuse for border-radius-custom

---
 bootstrap.css   | 2 +-
 lib/mixins.less | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index d96c2277b7..c401723047 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 22 20:11:39 PST 2012
+ * Date: Sun Jan 22 20:31:51 PST 2012
  */
 html, body {
   margin: 0;
diff --git a/lib/mixins.less b/lib/mixins.less
index 5a3952f3a4..a54f6762fb 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -137,7 +137,7 @@
      -moz-border-radius: @radius;
           border-radius: @radius;
 }
-.border-radius-custom(@topLeft, @topRight, @bottomRight, @bottomLeft) {
+.border-radius-custom(@topLeft: 0, @topRight: 0, @bottomRight: 0, @bottomLeft: 0) {
   -webkit-border-top-left-radius: @topLeft;
       -moz-border-radius-topleft: @topLeft;
           border-top-left-radius: @topLeft;
-- 
GitLab


From 2355ea034b2d2c46dde5faf01fd53aa324d13cae Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 22 Jan 2012 20:47:24 -0800
Subject: [PATCH 346/576] rebuild

---
 bootstrap.css     | 10 +++++-----
 bootstrap.min.css |  8 ++++----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c401723047..732e0afc85 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 22 20:31:51 PST 2012
+ * Date: Sun Jan 22 20:42:19 PST 2012
  */
 html, body {
   margin: 0;
@@ -1440,7 +1440,7 @@ i {
 }
 .dropdown-menu {
   position: absolute;
-  top: 40px;
+  top: 100%;
   z-index: 1000;
   float: left;
   display: none;
@@ -1698,7 +1698,7 @@ i {
   margin-bottom: 1px;
 }
 .pills .dropdown-menu, .tabs .dropdown-menu {
-  top: 33px;
+  margin-top: 1px;
   border-width: 1px;
 }
 .pills .dropdown-menu {
@@ -1979,7 +1979,7 @@ i {
   margin-right: 0;
 }
 .navbar .dropdown-menu {
-  top: 41px;
+  margin-top: 1px;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
@@ -2630,7 +2630,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .btn-group.open .dropdown-menu {
   display: block;
-  top: 30px;
+  margin-top: 1px;
   -webkit-border-radius: 5px;
   -moz-border-radius: 5px;
   border-radius: 5px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index ccc0f1e421..e1077234dc 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -302,7 +302,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:40px;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
+.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
 .dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
@@ -339,7 +339,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .tabs.stacked>li>a:hover{border-color:#ddd;z-index:2;}
 .pills.stacked>li>a{margin-bottom:3px;}
 .pills.stacked>li:last-child>a{margin-bottom:1px;}
-.pills .dropdown-menu,.tabs .dropdown-menu{top:33px;border-width:1px;}
+.pills .dropdown-menu,.tabs .dropdown-menu{margin-top:1px;border-width:1px;}
 .pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
 .tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
@@ -390,7 +390,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222222;background-color:rgba(0, 0, 0, 0.5);}
 .navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222222;border-right:1px solid #444;}
 .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
-.navbar .dropdown-menu{top:41px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
+.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
 .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;}
 .navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;}
 .navbar .nav .active .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
@@ -475,7 +475,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);}
-.btn-group.open .dropdown-menu{display:block;top:30px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}.btn-group.open .dropdown-menu.large{top:40px;}
+.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-menu.large{top:40px;}
 .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);}
 .btn .caret{margin-top:6px;margin-left:0;}
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
-- 
GitLab


From 1209a3756c88043008950f74dd287b837e00f7d8 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 22 Jan 2012 20:50:35 -0800
Subject: [PATCH 347/576] :focus:required:invalid:
 http://www.alistapart.com/articles/forward-thinking-form-validation

---
 bootstrap.css     | 6 +++---
 bootstrap.min.css | 2 +-
 lib/forms.less    | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 732e0afc85..aa68f04b99 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 22 20:42:19 PST 2012
+ * Date: Sun Jan 22 20:50:28 PST 2012
  */
 html, body {
   margin: 0;
@@ -812,11 +812,11 @@ textarea[readonly] {
   background-color: #bcddbc;
   border-color: #468847;
 }
-input:invalid, textarea:invalid, select:invalid {
+input:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid {
   color: #b94a48;
   border-color: #ee5f5b;
 }
-input:invalid:focus, textarea:invalid:focus, select:invalid:focus {
+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;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e1077234dc..216c786f07 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -153,7 +153,7 @@ input[disabled],select[disabled],textarea[disabled],input[readonly],select[reado
 .control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
 .control-group.success input,.control-group.success textarea{color:#468847;border-color:#57a957;}.control-group.success input:focus,.control-group.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
-input:invalid,textarea:invalid,select:invalid{color:#b94a48;border-color:#ee5f5b;}input:invalid:focus,textarea:invalid:focus,select: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;}
+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;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{display:block;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-placeholder{color:#999999;}
diff --git a/lib/forms.less b/lib/forms.less
index e728b9d72b..bdc6e3e078 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -302,9 +302,9 @@ textarea[readonly] {
 
 // HTML5 invalid states
 // Shares styles with the .control-group.error above
-input:invalid,
-textarea:invalid,
-select:invalid {
+input:focus:required:invalid,
+textarea:focus:required:invalid,
+select:focus:required:invalid {
   color: #b94a48;
   border-color: #ee5f5b;
   &:focus {
-- 
GitLab


From 00d925819405ef46fb09d4bef83761ea121a9364 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 23 Jan 2012 11:35:39 -0800
Subject: [PATCH 348/576] revert to negative margin on grid row

---
 bootstrap.css        | 8 +++-----
 bootstrap.min.css    | 5 ++---
 lib/scaffolding.less | 5 +----
 lib/thumbnails.less  | 2 +-
 4 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 85a3edb6f7..fc0337f6dc 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan 23 11:25:06 PST 2012
+ * Date: Mon Jan 23 11:35:22 PST 2012
  */
 article,
 aside,
@@ -160,6 +160,7 @@ a:hover {
   text-decoration: underline;
 }
 .row {
+  margin-left: -20px;
   *zoom: 1;
 }
 .row:before, .row:after {
@@ -169,9 +170,6 @@ a:hover {
 .row:after {
   clear: both;
 }
-[class*="span"]:first-child {
-  margin-left: 0;
-}
 [class*="span"] {
   float: left;
   margin-left: 20px;
@@ -2673,7 +2671,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .thumbnails > li {
   float: left;
-  margin: 0 0 20px 20px;
+  margin: 0 0 18px 20px;
 }
 .thumbnail {
   display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 172e7961be..bee4eb82a2 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -27,9 +27,8 @@ body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:
 .sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
 .fluid-content{float:left;width:100%;}
 a{color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:underline;}
-.row{*zoom:1;}.row:before,.row:after{display:table;content:"";}
+.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
 .row:after{clear:both;}
-[class*="span"]:first-child{margin-left:0;}
 [class*="span"]{float:left;margin-left:20px;}
 .span1{width:60px;}
 .span2{width:140px;}
@@ -493,7 +492,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-block p+p{margin-top:5px;}
 .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";}
 .thumbnails:after{clear:both;}
-.thumbnails>li{float:left;margin:0 0 20px 20px;}
+.thumbnails>li{float:left;margin:0 0 18px 20px;}
 .thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
 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);}
 .thumbnail>img{display:block;max-width:100%;}
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 13f55026d7..ff029e841b 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -73,13 +73,10 @@ a {
 // -----------
 // To customize the grid system, bring up the variables.less file and change the column count, size, and gutter there
 .row {
+  margin-left: @gridGutterWidth * -1;
   .clearfix();
 }
 
-[class*="span"]:first-child{
-  margin-left: 0;
-}
-
 // Find all .span# classes within .row and give them the necessary properties for grid columns 
 // (supported by all browsers back to IE7)
 // Credit to @dhg for the idea
diff --git a/lib/thumbnails.less b/lib/thumbnails.less
index 4f9c5f76d3..0ba749059d 100644
--- a/lib/thumbnails.less
+++ b/lib/thumbnails.less
@@ -8,7 +8,7 @@
 }
 .thumbnails > li {
   float: left;
-  margin: 0 0 20px 20px;
+  margin: 0 0 @baseLineHeight 20px;
 }
 .thumbnail {
   display: block;
-- 
GitLab


From a7bf0295fbf3ce9abc1ca44680f4a6eaf17339b5 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 23 Jan 2012 11:55:04 -0800
Subject: [PATCH 349/576] remove dropdowns, add in sub nav instead

---
 docs/base-css.html    | 76 +++++++++------------------------------
 docs/components.html  | 80 +++++++++++------------------------------
 docs/index.html       | 69 +++++------------------------------
 docs/javascript.html  | 83 ++++++++++++-------------------------------
 docs/less.html        | 69 +++++------------------------------
 docs/scaffolding.html | 74 ++++++++------------------------------
 6 files changed, 91 insertions(+), 360 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 8ac9134773..df0c9c7ce9 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -34,71 +34,20 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li>
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown active">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li class="active">
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li>
+              <a href="./components.html">Components</a>
             </li>
-            <li class="dropdown">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li>
+              <a href="./javascript.html">Javascript plugins</a>
             </li>
             <li>
-              <a href="./less.html">
-                Using LESS
-              </a>
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
@@ -112,6 +61,13 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Base CSS</h1>
         <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
+        <ul class="nav pills">
+          <li><a href="./base-css.html#typography">Typography</a></li>
+          <li><a href="./base-css.html#tables">Tables</a></li>
+          <li><a href="./base-css.html#forms">Forms</a></li>
+          <li><a href="./base-css.html#buttons">Buttons</a></li>
+          <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+        </ul>
       </header>
 
 
diff --git a/docs/components.html b/docs/components.html
index 984e8c76d8..47efee5ac7 100755
--- a/docs/components.html
+++ b/docs/components.html
@@ -34,71 +34,20 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li>
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li>
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown active">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li class="active">
+              <a href="./components.html">Components</a>
             </li>
-            <li class="dropdown">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li>
+              <a href="./javascript.html">Javascript plugins</a>
             </li>
             <li>
-              <a href="./less.html">
-                Using LESS
-              </a>
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
@@ -112,6 +61,17 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Components</h1>
         <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+        <ul class="nav pills">
+          <li><a href="./components.html#buttonGroups">Button groups</a></li>
+          <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+          <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+          <li><a href="./components.html#navbar">Navbar</a></li>
+          <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+          <li><a href="./components.html#pagination">Pagination</a></li>
+          <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+          <li><a href="./components.html#alerts">Alert messages</a></li>
+          <li><a href="./components.html#progress">Progress bars</a></li>
+        </ul>
       </header>
 
 
diff --git a/docs/index.html b/docs/index.html
index ce56a04ef6..eee32e0d48 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -35,71 +35,20 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li class="active"><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li>
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li>
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li>
+              <a href="./components.html">Components</a>
             </li>
-            <li class="dropdown">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li>
+              <a href="./javascript.html">Javascript plugins</a>
             </li>
             <li>
-              <a href="./less.html">
-                Using LESS
-              </a>
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
diff --git a/docs/javascript.html b/docs/javascript.html
index 6a240c4d4b..0a0a0c9efd 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -35,71 +35,20 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li>
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li>
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li>
+              <a href="./components.html">Components</a>
             </li>
-            <li class="dropdown active">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li class="active">
+              <a href="./javascript.html">Javascript plugins</a>
             </li>
             <li>
-              <a href="./less.html">
-                Using LESS
-              </a>
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
@@ -112,6 +61,20 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Javascript for Bootstrap</h1>
         <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
+        <ul class="nav pills">
+          <li><a href="./javascript.html#javascript">Overview</a></li>
+          <li><a href="./javascript.html#modals">Modal</a></li>
+          <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
+          <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+          <li><a href="./javascript.html#tabs">Tab</a></li>
+          <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+          <li><a href="./javascript.html#popovers">Popover</a></li>
+          <li><a href="./javascript.html#alerts">Alert</a></li>
+          <li><a href="./javascript.html#buttons">Button</a></li>
+          <li><a href="./javascript.html#collapse">Collapse</a></li>
+          <li><a href="./javascript.html#carousel">Carousel</a></li>
+          <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+        </ul>
       </header>
 
 
diff --git a/docs/less.html b/docs/less.html
index 09ff3e8e10..0348c0cafa 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -34,71 +34,20 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li>
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li>
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li>
+              <a href="./components.html">Components</a>
             </li>
-            <li class="dropdown">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li>
+              <a href="./javascript.html">Javascript plugins</a>
             </li>
             <li class="active">
-              <a href="./less.html">
-                Using LESS
-              </a>
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index f068c837c7..4a27104c33 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -34,71 +34,20 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown active">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li class="active">
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li>
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li>
+              <a href="./components.html">Components</a>
             </li>
-            <li class="dropdown">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li>
+              <a href="./javascript.html">Javascript plugins</a>
             </li>
             <li>
-              <a href="./less.html">
-                Using LESS
-              </a>
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
@@ -112,6 +61,11 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Scaffolding</h1>
         <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
+        <ul class="nav pills">
+          <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
+          <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+          <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+        </ul>
       </header>
 
 
-- 
GitLab


From ea8f5883fd58ff5e356944e4a93543c05abf2220 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 23 Jan 2012 12:04:48 -0800
Subject: [PATCH 350/576] clean up subnav aesthetics

---
 docs/assets/css/docs.css | 34 ++++++++++++++++++++++++++++++++--
 docs/components.html     |  4 ++--
 2 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 416b1830cd..e7714fd5c4 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -115,8 +115,8 @@ section {
 ------------------------- */
 /* supporting docs pages */
 .subhead {
-  padding-bottom: 14px;
-  border-bottom: 3px solid #e5e5e5;
+  padding-bottom: 0;
+  border-bottom: 0;
 }
 .subhead h1,
 .subhead p {
@@ -126,6 +126,36 @@ section {
   font-size: 45px;
 }
 
+/* Subnav */
+.subhead .nav {
+  padding: 0 10px;
+  background-color: #eeeeee; /* Old browsers */
+  background-repeat: repeat-x; /* Repeat the gradient */
+  background-image: -moz-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* FF3.6+ */
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#eeeeee)); /* Chrome,Safari4+ */
+  background-image: -webkit-linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* Chrome 10+,Safari 5.1+ */
+  background-image: -ms-linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* IE10+ */
+  background-image: -o-linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* Opera 11.10+ */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
+  background-image: linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* W3C */
+  border: 1px solid #eee;
+  -webkit-border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
+}
+.subhead .nav a {
+  margin: 0;
+  padding-top: 11px;
+  padding-bottom: 11px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+}
+.subhead .nav .active a {
+  background-color: #fff;
+  color: #333;
+}
+
 
 /* Quick links
 -------------------------------------------------- */
diff --git a/docs/components.html b/docs/components.html
index 47efee5ac7..8cd76bedc8 100755
--- a/docs/components.html
+++ b/docs/components.html
@@ -63,13 +63,13 @@
         <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
         <ul class="nav pills">
           <li><a href="./components.html#buttonGroups">Button groups</a></li>
-          <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+          <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
           <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
           <li><a href="./components.html#navbar">Navbar</a></li>
           <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
           <li><a href="./components.html#pagination">Pagination</a></li>
           <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-          <li><a href="./components.html#alerts">Alert messages</a></li>
+          <li><a href="./components.html#alerts">Alerts</a></li>
           <li><a href="./components.html#progress">Progress bars</a></li>
         </ul>
       </header>
-- 
GitLab


From ff113acba88806380b995fba894d77b562ca0e0a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 23 Jan 2012 12:21:00 -0800
Subject: [PATCH 351/576] cut margin in half on default forms

---
 bootstrap.css     | 5 ++++-
 bootstrap.min.css | 3 ++-
 lib/forms.less    | 5 ++++-
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index fc0337f6dc..6f2a8c7518 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan 23 11:35:22 PST 2012
+ * Date: Mon Jan 23 12:20:49 PST 2012
  */
 article,
 aside,
@@ -896,6 +896,9 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   display: inline-block;
 }
 .control-group {
+  margin-bottom: 9px;
+}
+.form-horizontal .control-group {
   margin-bottom: 18px;
 }
 .form-horizontal .control-group > label {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index bee4eb82a2..3f6c6a825c 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -171,7 +171,8 @@ input:focus:required:invalid,textarea:focus:required:invalid,select:focus:requir
 .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
-.control-group{margin-bottom:18px;}
+.control-group{margin-bottom:9px;}
+.form-horizontal .control-group{margin-bottom:18px;}
 .form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
 .form-horizontal .controls{margin-left:160px;}
 .form-horizontal .form-actions{padding-left:160px;}
diff --git a/lib/forms.less b/lib/forms.less
index 85bf261633..bf3dbe64c8 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -463,13 +463,16 @@ select:focus:required:invalid {
 
 // Margin to space out fieldsets
 .control-group {
-  margin-bottom: @baseLineHeight;
+  margin-bottom: @baseLineHeight / 2;
 }
 
 // Horizontal-specific styles
 // --------------------------
 
 .form-horizontal {
+  .control-group {
+    margin-bottom: @baseLineHeight;
+  }
   // Float the labels left
   .control-group > label {
     float: left;
-- 
GitLab


From 1fa2801c2f8ad1e3c319fd6fc0d2e8baddccf6cc Mon Sep 17 00:00:00 2001
From: Olivier Laviale <contact@weirdog.com>
Date: Mon, 23 Jan 2012 21:22:08 +0100
Subject: [PATCH 352/576] .alert-message no longer exists

---
 lib/buttons.less | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/buttons.less b/lib/buttons.less
index 5da34a5257..f13a9acbfd 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -102,7 +102,6 @@
   }
 }
 // Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons
-:root .alert-message,
 :root .btn {
   border-radius: 0 \0;
 }
-- 
GitLab


From cf716bbeccf3ea94dc16d65a3b5800bc22e1472d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotrek=20Oko=C5=84ski?= <piotrek@okonski.org>
Date: Mon, 23 Jan 2012 22:03:09 +0100
Subject: [PATCH 353/576] Set matching line-height for .close inside .alert

---
 lib/alerts.less | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/alerts.less b/lib/alerts.less
index 53a43c6e4f..da585af31f 100644
--- a/lib/alerts.less
+++ b/lib/alerts.less
@@ -20,6 +20,7 @@
   *margin-top: 3px; /* IE7 spacing */
   position: relative;
   right: -21px;
+  line-height: 18px;
 }
 
 // Alternate styles
-- 
GitLab


From 1954cf001926a94f7a4d51f16beaf9f2ba671d13 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 23 Jan 2012 13:46:26 -0800
Subject: [PATCH 354/576] comment in forms'

---
 docs/assets/css/docs.css | 13 +++++++++++++
 lib/forms.less           |  1 +
 2 files changed, 14 insertions(+)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index e7714fd5c4..69d9dac568 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -448,6 +448,7 @@ h2 + .row {
   margin: -18px 0 27px;
   font-size: 18px;
   font-weight: 300;
+  line-height: 24px;
   color: #999;
   text-align: center;
 }
@@ -563,6 +564,18 @@ form.well {
     margin: 0 auto 10px;
   }
 
+  /* Subnav */
+  .subhead .nav {
+    padding: 0;
+    background: none;
+  }
+  .subhead .nav > li {
+    float: none;
+  }
+  .subhead .nav li + li a {
+    border-top: 1px solid #eee;
+  }
+
   /* Don't space out quick links so much */
   .quick-links {
     margin: 40px 0 0;
diff --git a/lib/forms.less b/lib/forms.less
index bf3dbe64c8..be53c60cbc 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -470,6 +470,7 @@ select:focus:required:invalid {
 // --------------------------
 
 .form-horizontal {
+  // Increase spacing between groups
   .control-group {
     margin-bottom: @baseLineHeight;
   }
-- 
GitLab


From cd5ffbe39626303a395448a6c9a507f3ad04ff5e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Mon, 23 Jan 2012 13:50:55 -0800
Subject: [PATCH 355/576] fix up the modals in responsive a bit

---
 bootstrap.css       | 3 ++-
 bootstrap.min.css   | 2 +-
 lib/responsive.less | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6f2a8c7518..91c4ca7012 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan 23 12:20:49 PST 2012
+ * Date: Mon Jan 23 13:48:03 PST 2012
  */
 article,
 aside,
@@ -3068,6 +3068,7 @@ a.thumbnail:hover {
     left: 20px;
     right: 20px;
     width: auto;
+    margin: 0;
   }
   .modal.fade.in {
     top: auto;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 3f6c6a825c..733ad5d11e 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -539,4 +539,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .show{display:block;}
 .invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/lib/responsive.less b/lib/responsive.less
index f5c23df3cd..416a8da7b7 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -97,11 +97,12 @@
 
   // Modals
   .modal {
-    position: fixed;
+    position: absolute;
     top: 20px;
     left: 20px;
     right: 20px;
     width: auto;
+    margin: 0;
     &.fade.in { top: auto; }
   }
   .modal-header .close {
-- 
GitLab


From f764aee4b919c28974dba7b91edac9a04172ba25 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 23 Jan 2012 14:14:16 -0800
Subject: [PATCH 356/576] add templates for doc generation

---
 Makefile                                      |   35 +-
 bootstrap.css                                 |    2 +-
 docs/assets/js/application.js                 |   87 +-
 docs/base-css.html                            |   61 +-
 docs/build/index.js                           |   27 +
 docs/build/node_modules/.bin/hulk             |    1 +
 docs/build/node_modules/hogan.js/.git_ignore  |    1 +
 docs/build/node_modules/hogan.js/.gitmodules  |    3 +
 docs/build/node_modules/hogan.js/LICENSE      |  177 ++
 docs/build/node_modules/hogan.js/Makefile     |   62 +
 docs/build/node_modules/hogan.js/README.md    |   93 +
 docs/build/node_modules/hogan.js/bin/hulk     |   93 +
 .../node_modules/hogan.js/lib/compiler.js     |  348 +++
 docs/build/node_modules/hogan.js/lib/hogan.js |   20 +
 .../node_modules/hogan.js/lib/template.js     |  233 ++
 docs/build/node_modules/hogan.js/package.json |   20 +
 .../node_modules/hogan.js/test/html/list.html |    8 +
 .../node_modules/hogan.js/test/index.html     |   13 +
 .../build/node_modules/hogan.js/test/index.js |  848 ++++++
 .../node_modules/hogan.js/test/mustache.js    |   90 +
 docs/build/node_modules/hogan.js/test/spec.js |   77 +
 .../node_modules/hogan.js/test/spec/Changes   |   31 +
 .../node_modules/hogan.js/test/spec/README.md |   65 +
 .../node_modules/hogan.js/test/spec/Rakefile  |   27 +
 .../hogan.js/test/spec/TESTING.md             |   46 +
 .../hogan.js/test/spec/specs/comments.json    |    1 +
 .../hogan.js/test/spec/specs/comments.yml     |  103 +
 .../hogan.js/test/spec/specs/delimiters.json  |    1 +
 .../hogan.js/test/spec/specs/delimiters.yml   |  158 ++
 .../test/spec/specs/interpolation.json        |    1 +
 .../test/spec/specs/interpolation.yml         |  230 ++
 .../hogan.js/test/spec/specs/inverted.json    |    1 +
 .../hogan.js/test/spec/specs/inverted.yml     |  193 ++
 .../hogan.js/test/spec/specs/partials.json    |    1 +
 .../hogan.js/test/spec/specs/partials.yml     |  109 +
 .../hogan.js/test/spec/specs/sections.json    |    1 +
 .../hogan.js/test/spec/specs/sections.yml     |  256 ++
 .../hogan.js/test/spec/specs/~lambdas.json    |    1 +
 .../hogan.js/test/spec/specs/~lambdas.yml     |  149 +
 .../hogan.js/test/templates/list.mustache     |    8 +
 .../node_modules/hogan.js/tools/release.js    |   74 +
 .../hogan.js/tools/web_templates.js           |   32 +
 .../node_modules/hogan.js/web/1.0.0/hogan.js  |  500 ++++
 .../hogan.js/web/1.0.0/hogan.min.js           |   14 +
 .../hogan.js/web/builds/1.0.0/hogan.js        |  500 ++++
 .../hogan.js/web/builds/1.0.0/hogan.min.js    |   14 +
 .../hogan.js/web/builds/1.0.3/hogan.js        |  545 ++++
 .../hogan.js/web/builds/1.0.3/hogan.min.js    |    5 +
 .../web/builds/1.0.5/hogan-1.0.5.amd.js       |  576 ++++
 .../web/builds/1.0.5/hogan-1.0.5.common.js    |  576 ++++
 .../hogan.js/web/builds/1.0.5/hogan-1.0.5.js  |  572 ++++
 .../web/builds/1.0.5/hogan-1.0.5.min.amd.js   |    5 +
 .../builds/1.0.5/hogan-1.0.5.min.common.js    |    5 +
 .../web/builds/1.0.5/hogan-1.0.5.min.js       |    5 +
 .../builds/1.0.5/hogan-1.0.5.min.mustache.js  |    5 +
 .../web/builds/1.0.5/hogan-1.0.5.mustache.js  |  619 +++++
 .../web/builds/1.0.5/template-1.0.5.js        |  233 ++
 .../web/builds/1.0.5/template-1.0.5.min.js    |    5 +
 .../node_modules/hogan.js/web/favicon.ico     |  Bin 0 -> 1150 bytes
 .../node_modules/hogan.js/web/images/logo.png |  Bin 0 -> 3389 bytes
 .../hogan.js/web/images/noise.png             |  Bin 0 -> 10378 bytes
 .../hogan.js/web/images/small-hogan-icon.png  |  Bin 0 -> 472 bytes
 .../hogan.js/web/images/stripes.png           |  Bin 0 -> 115 bytes
 .../hogan.js/web/index.html.mustache          |  139 +
 .../hogan.js/web/stylesheets/layout.css       |  206 ++
 .../hogan.js/web/stylesheets/skeleton.css     |  236 ++
 .../hogan.js/wrappers/amd.js.mustache         |   21 +
 .../hogan.js/wrappers/common.js.mustache      |   21 +
 .../hogan.js/wrappers/js.mustache             |   17 +
 .../hogan.js/wrappers/mustache.js.mustache    |   64 +
 docs/build/package.json                       |    6 +
 docs/components.html                          |   51 +-
 docs/index.html                               |  402 +--
 docs/javascript.html                          | 2426 ++++++++---------
 docs/less.html                                |   41 +-
 docs/scaffolding.html                         |   53 +-
 docs/templates/layout.mustache                |  144 +
 docs/templates/pages/base-css.mustache        | 1427 ++++++++++
 docs/templates/pages/components.mustache      | 1176 ++++++++
 docs/templates/pages/index.mustache           |  188 ++
 docs/templates/pages/javascript.mustache      | 1299 +++++++++
 docs/templates/pages/less.mustache            |  406 +++
 docs/templates/pages/scaffolding.mustache     |  311 +++
 docs/templates/pages/upgrading.mustache       |   86 +
 docs/upgrading.html                           |   60 +-
 85 files changed, 15165 insertions(+), 1581 deletions(-)
 create mode 100644 docs/build/index.js
 create mode 120000 docs/build/node_modules/.bin/hulk
 create mode 100644 docs/build/node_modules/hogan.js/.git_ignore
 create mode 100644 docs/build/node_modules/hogan.js/.gitmodules
 create mode 100644 docs/build/node_modules/hogan.js/LICENSE
 create mode 100644 docs/build/node_modules/hogan.js/Makefile
 create mode 100644 docs/build/node_modules/hogan.js/README.md
 create mode 100755 docs/build/node_modules/hogan.js/bin/hulk
 create mode 100644 docs/build/node_modules/hogan.js/lib/compiler.js
 create mode 100644 docs/build/node_modules/hogan.js/lib/hogan.js
 create mode 100644 docs/build/node_modules/hogan.js/lib/template.js
 create mode 100644 docs/build/node_modules/hogan.js/package.json
 create mode 100644 docs/build/node_modules/hogan.js/test/html/list.html
 create mode 100644 docs/build/node_modules/hogan.js/test/index.html
 create mode 100644 docs/build/node_modules/hogan.js/test/index.js
 create mode 100644 docs/build/node_modules/hogan.js/test/mustache.js
 create mode 100644 docs/build/node_modules/hogan.js/test/spec.js
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/Changes
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/README.md
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/Rakefile
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/TESTING.md
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/comments.json
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/comments.yml
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/delimiters.json
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/delimiters.yml
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/interpolation.json
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/interpolation.yml
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/inverted.json
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/inverted.yml
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/partials.json
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/partials.yml
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/sections.json
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/sections.yml
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.json
 create mode 100644 docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.yml
 create mode 100644 docs/build/node_modules/hogan.js/test/templates/list.mustache
 create mode 100644 docs/build/node_modules/hogan.js/tools/release.js
 create mode 100644 docs/build/node_modules/hogan.js/tools/web_templates.js
 create mode 100644 docs/build/node_modules/hogan.js/web/1.0.0/hogan.js
 create mode 100644 docs/build/node_modules/hogan.js/web/1.0.0/hogan.min.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.min.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.min.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.amd.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.common.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.amd.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.common.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.mustache.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.mustache.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.js
 create mode 100644 docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.min.js
 create mode 100644 docs/build/node_modules/hogan.js/web/favicon.ico
 create mode 100644 docs/build/node_modules/hogan.js/web/images/logo.png
 create mode 100644 docs/build/node_modules/hogan.js/web/images/noise.png
 create mode 100644 docs/build/node_modules/hogan.js/web/images/small-hogan-icon.png
 create mode 100644 docs/build/node_modules/hogan.js/web/images/stripes.png
 create mode 100755 docs/build/node_modules/hogan.js/web/index.html.mustache
 create mode 100755 docs/build/node_modules/hogan.js/web/stylesheets/layout.css
 create mode 100755 docs/build/node_modules/hogan.js/web/stylesheets/skeleton.css
 create mode 100644 docs/build/node_modules/hogan.js/wrappers/amd.js.mustache
 create mode 100644 docs/build/node_modules/hogan.js/wrappers/common.js.mustache
 create mode 100644 docs/build/node_modules/hogan.js/wrappers/js.mustache
 create mode 100644 docs/build/node_modules/hogan.js/wrappers/mustache.js.mustache
 create mode 100644 docs/build/package.json
 mode change 100755 => 100644 docs/components.html
 create mode 100644 docs/templates/layout.mustache
 create mode 100644 docs/templates/pages/base-css.mustache
 create mode 100644 docs/templates/pages/components.mustache
 create mode 100644 docs/templates/pages/index.mustache
 create mode 100644 docs/templates/pages/javascript.mustache
 create mode 100644 docs/templates/pages/less.mustache
 create mode 100644 docs/templates/pages/scaffolding.mustache
 create mode 100644 docs/templates/pages/upgrading.mustache

diff --git a/Makefile b/Makefile
index 0dddb13dd0..05ac491684 100644
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,10 @@ LESS_COMPESSOR ?= `which lessc`
 UGLIFY_JS ?= `which uglifyjs`
 WATCHR ?= `which watchr`
 
+#
+# Build less files
+#
+
 build:
 	@@if test ! -z ${LESS_COMPESSOR}; then \
 		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_LESS} >${BOOTSTRAP_LESS}.tmp; \
@@ -18,24 +22,9 @@ build:
 		echo "You can install it by running: npm install less -g"; \
 	fi
 
-uglify:
-	@@if test ! -z ${UGLIFY_JS}; then \
-		mkdir -p js/min; \
-		uglifyjs -o js/min/bootstrap-alerts.js js/bootstrap-alert.js;\
-		uglifyjs -o js/min/bootstrap-buttons.js js/bootstrap-button.js;\
-		uglifyjs -o js/min/bootstrap-carousel.js js/bootstrap-carousel.js;\
-		uglifyjs -o js/min/bootstrap-collapse.js js/bootstrap-collapse.js;\
-		uglifyjs -o js/min/bootstrap-dropdown.js js/bootstrap-dropdown.js;\
-		uglifyjs -o js/min/bootstrap-modal.js js/bootstrap-modal.js;\
-		uglifyjs -o js/min/bootstrap-popover.js js/bootstrap-popover.js;\
-		uglifyjs -o js/min/bootstrap-scrollspy.js js/bootstrap-scrollspy.js;\
-		uglifyjs -o js/min/bootstrap-tabs.js js/bootstrap-tab.js;\
-		uglifyjs -o js/min/bootstrap-transitions.js js/bootstrap-transition.js;\
-		uglifyjs -o js/min/bootstrap-tooltip.js js/bootstrap-tooltip.js;\
-	else \
-		echo "You must have the UGLIFYJS minifier installed in order to minify Bootstrap's js."; \
-		echo "You can install it by running: npm install uglify-js -g"; \
-	fi
+#
+# Watch less files
+#
 
 watch:
 	@@if test ! -z ${WATCHR}; then \
@@ -46,4 +35,12 @@ watch:
 		echo "You can install it by running: gem install watchr"; \
 	fi
 
-.PHONY: build watch
\ No newline at end of file
+#
+# Build docs from templates
+#
+
+docs:
+	@ node docs/build
+
+
+.PHONY: build watch docs
\ No newline at end of file
diff --git a/bootstrap.css b/bootstrap.css
index aa68f04b99..b911730eb4 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Sun Jan 22 20:50:28 PST 2012
+ * Date: Mon Jan 23 14:12:25 PST 2012
  */
 html, body {
   margin: 0;
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index ba5a269475..93f7ea719c 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -117,37 +117,66 @@ $(function(){
 
 })
 
+// JS for javascript demos
+$(function () {
+  // tooltip demo
+  $('.tooltip-demo.well').tooltip({
+    selector: "a[rel=tooltip]"
+  })
+  $('.tooltip-test').tooltip()
+
+  // popover demo
+  $("a[rel=popover]")
+    .popover()
+    .click(function(e) {
+      e.preventDefault()
+    })
+
+  // button state demo
+  $('#fat-btn')
+    .click(function () {
+      var btn = $(this)
+      btn.button('loading')
+      setTimeout(function () {
+        btn.button('reset')
+      }, 3000)
+    })
+
+  // carousel demo
+  $('#myCarousel').carousel()
+})
+
 
 // Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
 // by the talented Ben Vinegar
 !function($) {
-    $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
-        var url = opts.url;
-
-        return {
-            send: function(_, completeCallback) {
-                var name = 'jQuery_iframe_' + jQuery.now(),
-                    iframe, form;
-
-                iframe = $('<iframe>')
-                    .attr('name', name)
-                    .appendTo('head');
-
-                form = $('<form>')
-                    .attr('method', opts.type) // GET or POST
-                    .attr('action', url)
-                    .attr('target', name);
-
-                $.each(opts.params, function(k, v) {
-                    $('<input>')
-                        .attr('type', 'hidden')
-                        .attr('name', k)
-                        .attr('value', v)
-                        .appendTo(form);
-                });
-
-                form.appendTo('body').submit();
-            }
-       };
-    });
+  $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
+    var url = opts.url;
+
+    return {
+      send: function(_, completeCallback) {
+        var name = 'jQuery_iframe_' + jQuery.now()
+          , iframe, form
+
+        iframe = $('<iframe>')
+          .attr('name', name)
+          .appendTo('head')
+
+        form = $('<form>')
+          .attr('method', opts.type) // GET or POST
+          .attr('action', url)
+          .attr('target', name)
+
+        $.each(opts.params, function(k, v) {
+          $('<input>')
+            .attr('type', 'hidden')
+            .attr('name', k)
+            .attr('value', v)
+            .appendTo(form)
+        });
+
+        form.appendTo('body').submit()
+      }
+    }
+  })
 }(jQuery);
\ No newline at end of file
diff --git a/docs/base-css.html b/docs/base-css.html
index 8ac9134773..a3e8cc85a4 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
     <!--[if lt IE 9]>
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
@@ -18,10 +18,11 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
   </head>
 
   <body>
@@ -33,8 +34,8 @@
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
+            <li class=""><a href="./index.html">Overview</a></li>
+            <li class="dropdown ">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
                 Scaffolding
                 <b class="caret"></b>
@@ -58,7 +59,7 @@
                 <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
                 Components
                 <b class="caret"></b>
@@ -75,7 +76,7 @@
                 <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
                 Javascript plugins
                 <b class="caret"></b>
@@ -95,7 +96,7 @@
                 <li><a href="./javascript.html#typeahead">Typeahead</a></li>
               </ul>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">
                 Using LESS
               </a>
@@ -107,12 +108,12 @@
 
     <div class="container">
 
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Base CSS</h1>
-        <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
-      </header>
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Base CSS</h1>
+  <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
+</header>
 
 
 <!-- Typography
@@ -1534,9 +1535,6 @@
     </div>
   </div>
 </section>
-
-
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1545,20 +1543,27 @@
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
+
     </div><!-- /container -->
 
+
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-    <script src="assets/js/jquery.tablesorter.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script src="assets/js/application.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
-    <script>
-      $(function () {
-        $(".tablesorter-example").tablesorter({ sortList: [[1,0]] });
-        $('.dropdown-toggle').dropdown();
-      })
-    </script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
+    <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/build/index.js b/docs/build/index.js
new file mode 100644
index 0000000000..4536238c41
--- /dev/null
+++ b/docs/build/index.js
@@ -0,0 +1,27 @@
+#!/usr/bin/env node
+var hogan = require('hogan.js')
+  , fs    = require('fs')
+
+var layout, pages
+
+// compile layout template
+layout = fs.readFileSync(__dirname + '/../templates/layout.mustache', 'utf-8')
+layout = hogan.compile(layout)
+
+// retrieve pages
+pages = fs.readdirSync(__dirname + '/../templates/pages')
+
+// iterate over pages
+pages.forEach(function (name) {
+
+  var page = fs.readFileSync(__dirname  + '/../templates/pages/' + name, 'utf-8')
+    , context = {}
+
+  context[name.replace(/\.mustache$/, '')] = 'active'
+  page = hogan.compile(page)
+  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/docs/build/node_modules/.bin/hulk b/docs/build/node_modules/.bin/hulk
new file mode 120000
index 0000000000..b1a9816534
--- /dev/null
+++ b/docs/build/node_modules/.bin/hulk
@@ -0,0 +1 @@
+../hogan.js/bin/hulk
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/.git_ignore b/docs/build/node_modules/hogan.js/.git_ignore
new file mode 100644
index 0000000000..3c3629e647
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/.git_ignore
@@ -0,0 +1 @@
+node_modules
diff --git a/docs/build/node_modules/hogan.js/.gitmodules b/docs/build/node_modules/hogan.js/.gitmodules
new file mode 100644
index 0000000000..6bfdc18eb1
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "test/spec"]
+	path = test/spec
+	url = https://github.com/mustache/spec.git
diff --git a/docs/build/node_modules/hogan.js/LICENSE b/docs/build/node_modules/hogan.js/LICENSE
new file mode 100644
index 0000000000..4947287f7b
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/LICENSE
@@ -0,0 +1,177 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "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/docs/build/node_modules/hogan.js/Makefile b/docs/build/node_modules/hogan.js/Makefile
new file mode 100644
index 0000000000..922fdead1d
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/Makefile
@@ -0,0 +1,62 @@
+REPO = git@github.com:twitter/hogan.js.git
+BUILD := build
+VERSION = ${shell node -e 'var s = JSON.parse(require("fs").readFileSync("package.json").toString()).version; console.log(s.substring(0, s.indexOf("-")));'}
+
+#
+# Run command line tests
+#
+test:
+	@ node test/index.js
+
+#
+# Run Mustache spec tests
+#
+spec:
+	@ node test/spec.js
+
+#
+# Run benchmark
+#
+benchmark:
+	@ node benchmark/console/index.js
+
+clean:
+	@ rm -rf dist/*
+#
+# Make a new version of Hogan from the current dev version.
+#
+release: clean
+	@ echo "Creating a new version of Hogan."
+	@ mkdir -p dist/nodejs
+	@ cp -R lib dist/nodejs/lib
+	@ node tools/release.js
+	@ mkdir -p web/builds/$(VERSION)
+	@ cp dist/*.* web/builds/$(VERSION)/.
+#
+# Make the gh-pages website
+#
+# This target builds the hogan.js github website using hogan.js.
+#
+# cd into build/gh-pages to check in the new site.
+#
+GH_PAGES = $(BUILD)/gh-pages
+web: | pages
+	@cp -R web/* $(GH_PAGES)
+	@@ node tools/web_templates.js
+	@echo
+	@echo "Website built in $(GH_PAGES)."
+
+#
+# Checkout the gh-pages branch.
+#
+pages: | $(BUILD)
+	@if [ ! -d "$(GH_PAGES)" ]; then \
+	git clone -b gh-pages $(REPO) $(GH_PAGES); \
+	rm -rf $(GH_PAGES)/*; \
+	fi;
+	@mkdir -p $(GH_PAGES)/images
+
+$(BUILD):
+	mkdir -p $(BUILD)
+
+.PHONY: test spec benchmark web release
diff --git a/docs/build/node_modules/hogan.js/README.md b/docs/build/node_modules/hogan.js/README.md
new file mode 100644
index 0000000000..e879894b69
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/README.md
@@ -0,0 +1,93 @@
+## Hogan.js - A mustache compiler.
+
+[Hogan.js](http://twitter.github.com/hogan.js/) is a compiler for the
+[Mustache](http://mustache.github.com/) templating language. For information
+on Mustache, see the [manpage](http://mustache.github.com/mustache.5.html) and
+the [spec](https://github.com/mustache/spec).
+
+## Basics
+
+Hogan compiles templates to HoganTemplate objects, which have a render method.
+
+```js
+var data = {
+  screenName: "dhg",
+};
+
+var template = Hogan.compile("Follow @{{screenName}}.");
+var output = template.render(data);
+
+// prints "Follow @dhg."
+console.log(output);
+```
+
+## Features
+
+Hogan is fast--try it on your workload.
+
+Hogan has separate scanning, parsing and code generation phases. This way it's
+possible to add new features without touching the scanner at all, and many
+different code generation techniques can be tried without changing the parser.
+
+Hogan exposes scan and parse methods. These can be useful for
+pre-processing templates on the server.
+
+```js
+var text = "{{^check}}{{i18n}}No{{/i18n}}{{/check}}";
+text +=  "{{#check}}{{i18n}}Yes{{/i18n}}{{/check}}";
+var tree = Hogan.parse(Hogan.scan(text));
+
+// outputs "# check"
+console.log(tree[0].tag + " " + tree[0].name);
+
+// outputs "Yes"
+console.log(tree[1].nodes[0].nodes[0]);
+```
+
+It's also possible to use HoganTemplate objects without the Hogan compiler
+present. That means you can pre-compile your templates on the server, and
+avoid shipping the compiler. However, the optional lambda features from the
+Mustache spec do require the compiler to be present.
+
+## Why Hogan.js?
+
+Why another templating library?
+
+Hogan.js was written to meet three templating library requirements: good
+performance, standalone template objects, and a parser API.
+
+## Issues
+
+Have a bug? Please create an issue here on GitHub!
+
+https://github.com/twitter/hogan.js/issues
+
+## Versioning
+
+For transparency and insight into our release cycle, releases will be numbered with the follow format:
+
+`<major>.<minor>.<patch>`
+
+And constructed with the following guidelines:
+
+* Breaking backwards compatibility bumps the major
+* New additions without breaking backwards compatibility bumps the minor
+* Bug fixes and misc changes bump the patch
+
+For more information on semantic versioning, please visit http://semver.org/.
+
+## Authors
+
+**Robert Sayre**
+
++ http://github.com/sayrer
+
+**Jacob Thornton**
+
++ http://github.com/fat
+
+## License
+
+Copyright 2011 Twitter, Inc.
+
+Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/bin/hulk b/docs/build/node_modules/hogan.js/bin/hulk
new file mode 100755
index 0000000000..dd5c4a60d0
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/bin/hulk
@@ -0,0 +1,93 @@
+#!/usr/bin/env node
+
+/*
+ *  Copyright 2011 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.
+ */
+
+var hogan = require('../lib/hogan.js'),
+    path = require('path'),
+    fs = require('fs');
+
+var specials = ['/', '.', '*', '+', '?', '|','(', ')', '[', ']', '{', '}', '\\'],
+    specialsRegExp = new RegExp('(\\' + specials.join('|\\') + ')', 'g'),
+    templates;
+
+
+// Escape special regexp characters
+function esc(text) {
+  return text.replace(specialsRegExp, '\\$1');
+}
+
+
+// Check for dirs and correct ext (<3 for windows)
+function extractFiles(args) {
+  var usage = 'USAGE: hulk ./templates/*.mustaches\n' +
+              'NOTE:  hulk supports the "*" wildcard and allows you to target specific extensions too',
+      files = [];
+
+  if (!args.length) {
+    console.log(usage);
+    process.exit(-1);
+  }
+
+  args.forEach(function (arg) {
+
+    if (/\*/.test(arg)) {
+      arg = arg.split('*');
+      return files = files.concat(
+        fs.readdirSync(arg[0] || '.')
+          .map(function (f) {
+            return new RegExp(esc(arg[1]) + '$').test(f) && path.join(arg[0], f);
+          })
+          .filter(function (f) {
+            return f;
+          })
+      );
+    }
+
+    files.push(arg);
+
+  })
+
+  return files;
+}
+
+
+// Remove utf-8 byte order mark, http://en.wikipedia.org/wiki/Byte_order_mark
+function removeByteOrderMark(text) {
+  if (text.charCodeAt(0) === 0xfeff) {
+    return text.substring(1);
+  }
+  return text;
+}
+
+
+// Write a template foreach file that matches template extension
+templates = extractFiles(process.argv.slice(2))
+  .map(function (file) {
+    var openedFile = fs.readFileSync(file, 'utf-8'), name;
+    if (!openedFile) return;
+    name = file.replace(/\..*$/, '');
+    openedFile = removeByteOrderMark(openedFile.trim());
+    return 'templates.' + name + ' = new Hogan.Template(' + hogan.compile(openedFile, { asString: 1 }) + ');';
+  })
+  .filter(function (t) {
+    return t;
+  });
+
+
+// Output templates
+if (!templates.length) return;
+console.log('var templates = {};');
+console.log(templates.join('\n'));
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/lib/compiler.js b/docs/build/node_modules/hogan.js/lib/compiler.js
new file mode 100644
index 0000000000..2cd65f6fdf
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/lib/compiler.js
@@ -0,0 +1,348 @@
+/*
+ *  Copyright 2011 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 (Hogan) {
+  // Setup regex  assignments
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/,
+      rQuot = /\"/g,
+      rNewline =  /\n/g,
+      rCr = /\r/g,
+      rSlash = /\\/g,
+      tagTypes = {
+        '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+        '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+      };
+
+  Hogan.scan = function scan(text, delimiters) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        tag = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+          (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart, next; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            if ((next = tokens[j+1]) && next.tag == '>') {
+              // set indent to token value
+              next.indent = tokens[j].toString()
+            }
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'});
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag,
+          closeIndex = text.indexOf(close, index),
+          delimiters = trim(
+            text.substring(text.indexOf('=', index) + 1, closeIndex)
+          ).split(' ');
+
+      otag = delimiters[0];
+      ctag = delimiters[1];
+
+      return closeIndex + close.length - 1;
+    }
+
+    if (delimiters) {
+      delimiters = delimiters.split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text.charAt(i) == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text.charAt(i);
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        tag = tagTypes[text.charAt(i + 1)];
+        tagType = tag ? text.charAt(i + 1) : '_v';
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+        seenTag = i;
+      } else {
+        if (tagChange(ctag, text, i)) {
+          tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag,
+                       i: (tagType == '/') ? seenTag - ctag.length : i + otag.length});
+          buf = '';
+          i += ctag.length - 1;
+          state = IN_TEXT;
+          if (tagType == '{') {
+            if (ctag == '}}') {
+              i++;
+            } else {
+              cleanTripleStache(tokens[tokens.length - 1]);
+            }
+          }
+        } else {
+          buf += text.charAt(i);
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function cleanTripleStache(token) {
+    if (token.n.substr(token.n.length - 1) === '}') {
+      token.n = token.n.substring(0, token.n.length - 1);
+    }
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  function tagChange(tag, text, index) {
+    if (text.charAt(index) != tag.charAt(0)) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text.charAt(index + i) != tag.charAt(i)) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length === 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function writeCode(tree) {
+    return 'i = i || "";var b = i + "";var _ = this;' + walk(tree) + 'return b;';
+  }
+
+  Hogan.generate = function (code, text, options) {
+    if (options.asString) {
+      return 'function(c,p,i){' + code + ';}';
+    }
+
+    return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan);
+  }
+
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r');
+  }
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i]);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i'));
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text('"' + esc(tree[i]) + '"');
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end, tags) {
+    return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' +
+           'c,p,0,' + start + ',' + end + ', "' + tags + '")){' +
+           'b += _.rs(c,p,' +
+           'function(c,p){ var b = "";' +
+           walk(nodes) +
+           'return b;});c.pop();}' +
+           'else{b += _.b; _.b = ""};';
+  }
+
+  function invertedSection(nodes, id, method) {
+    return 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' +
+           walk(nodes) +
+           '};';
+  }
+
+  function partial(tok) {
+    return 'b += _.rp("' +  esc(tok.n) + '",c,p,"' + (tok.indent || '') + '");';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += ' + id + ';';
+  }
+
+  Hogan.parse = function(tokens, options) {
+    options = options || {};
+    return buildTree(tokens, '', [], options.sectionTags || []);
+  },
+
+  Hogan.cache = {};
+
+  Hogan.compile = function(text, options) {
+    // options
+    //
+    // asString: false (default)
+    //
+    // sectionTags: [{o: '_foo', c: 'foo'}]
+    // An array of object with o and c fields that indicate names for custom
+    // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+    //
+    // delimiters: A string that overrides the default delimiters.
+    // Example: "<% %>"
+    //
+    options = options || {};
+
+    var key = text + '||' + !!options.asString;
+
+    var t = this.cache[key];
+
+    if (t) {
+      return t;
+    }
+
+    t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), options)), text, options);
+    return this.cache[key] = t;
+  };
+})(typeof exports !== 'undefined' ? exports : Hogan);
diff --git a/docs/build/node_modules/hogan.js/lib/hogan.js b/docs/build/node_modules/hogan.js/lib/hogan.js
new file mode 100644
index 0000000000..f0119b5291
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/lib/hogan.js
@@ -0,0 +1,20 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+// This file is for use with Node.js. See dist/ for browser files.
+
+var Hogan = require('./compiler');
+Hogan.Template = require('./template').Template;
+module.exports = Hogan; 
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/lib/template.js b/docs/build/node_modules/hogan.js/lib/template.js
new file mode 100644
index 0000000000..8958a70a16
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/lib/template.js
@@ -0,0 +1,233 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var Hogan = {};
+
+(function (Hogan) {
+  Hogan.Template = function constructor(renderFunc, text, compiler) {
+    if (renderFunc) {
+      this.r = renderFunc;
+    }
+    this.c = compiler;
+    this.text = text || '';
+  }
+
+  Hogan.Template.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials, indent) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials, indent) {
+      return this.ri([context], partials || {}, indent);
+    },
+
+    // render internal -- a hook for overrides that catches partials too
+    ri: function (context, partials, indent) {
+      return this.r(context, partials, indent);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      if (this.c && typeof partial == 'string') {
+        partial = this.c.compile(partial);
+      }
+
+      return partial.ri(context, partials, indent);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '',
+          tail = context[context.length - 1];
+
+      if (!isArray(tail)) {
+        return buf = section(context, partials);
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end, tags) {
+      var pass;
+
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (typeof val == 'function') {
+        val = this.ls(val, ctx, partials, inverted, start, end, tags);
+      }
+
+      pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      var names = key.split('.'),
+          val = this.f(names[0], ctx, partials, returnFound),
+          cx = null;
+
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false,
+          v = null,
+          found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text, tags) {
+      var compiler = this.c;
+      var t = val.call(cx, text, function(t) {
+        return compiler.compile(t, {delimiters: tags}).render(cx, partials);
+      });
+      var s = compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, inverted, start, end, tags) {
+      var cx = ctx[ctx.length - 1],
+          t = null;
+
+      if (!inverted && this.c && val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      t = val.call(cx);
+
+      if (typeof t == 'function') {
+        if (inverted) {
+          return true;
+        } else if (this.c) {
+          return this.ho(t, cx, partials, this.text.substring(start, end), tags);
+        }
+      }
+
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      var result = val.call(cx);
+      if (typeof result == 'function') {
+        result = result.call(cx);
+      }
+      result = result.toString();
+
+      if (this.c && ~result.indexOf("{{")) {
+        return this.c.compile(result).render(cx, partials);
+      }
+
+      return result;
+    }
+
+  };
+
+  var rAmp = /&/g,
+      rLt = /</g,
+      rGt = />/g,
+      rApos =/\'/g,
+      rQuot = /\"/g,
+      hChars =/[&<>\"\']/;
+
+  function hoganEscape(str) {
+    str = String((str === null || str === undefined) ? '' : str);
+    return hChars.test(str) ?
+      str
+        .replace(rAmp,'&amp;')
+        .replace(rLt,'&lt;')
+        .replace(rGt,'&gt;')
+        .replace(rApos,'&#39;')
+        .replace(rQuot, '&quot;') :
+      str;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  };
+
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
diff --git a/docs/build/node_modules/hogan.js/package.json b/docs/build/node_modules/hogan.js/package.json
new file mode 100644
index 0000000000..a09dede094
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/package.json
@@ -0,0 +1,20 @@
+{
+  "name": "hogan.js"
+  , "description": "A mustache compiler."
+  , "version": "1.0.5-dev"
+  , "keywords": ["mustache", "template"]
+  , "main": "./lib/hogan.js"
+  , "homepage": "http://twitter.github.com/hogan.js/"
+  , "author": "Twitter Inc."
+  , "repository": {
+    "type": "git"
+    , "url": "https://github.com/twitter/hogan.js.git"
+  }
+  , "licenses": [
+    { "type": "Apache-2.0"
+      , "url": "http://www.apache.org/licenses/LICENSE-2.0"
+    }
+  ]
+  , "devDependencies": { "uglify-js": "*" }
+  , "bin" : { "hulk" : "./bin/hulk" }
+}
diff --git a/docs/build/node_modules/hogan.js/test/html/list.html b/docs/build/node_modules/hogan.js/test/html/list.html
new file mode 100644
index 0000000000..9bb653a3be
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/html/list.html
@@ -0,0 +1,8 @@
+<ul>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+</ul>
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/index.html b/docs/build/node_modules/hogan.js/test/index.html
new file mode 100644
index 0000000000..6f0e7438b7
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/index.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+	<title>test</title>
+	<script src="https://raw.github.com/douglascrockford/JSON-js/master/json2.js"></script>
+</head>
+<body>
+  <code id="console"></code>
+  <script>var Hogan = {};</script>
+  <script src="../lib/template.js"></script>
+  <script src="../lib/compiler.js"></script>
+  <script src="./index.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/index.js b/docs/build/node_modules/hogan.js/test/index.js
new file mode 100644
index 0000000000..9b235ebe7e
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/index.js
@@ -0,0 +1,848 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var Hogan = Hogan || require('../lib/hogan')
+  , doc = this["document"]
+
+function testScanTextNoTags() {
+  var text = "<h2>hi</h2>";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0]+'', text, "text is equal to first token");
+}
+
+function testScanOneTag() {
+  var text = "{{hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+}
+
+function testScanMultipleTags() {
+  var text = "asdf{{hmm}}asdf2{{hmm2}}asdf3";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 5, "3 text tokens, 2 tag tokens.");
+  is(tokens[0]+'', "asdf", "first token is text");
+  is(tokens[1].n, "hmm", "second token is tag");
+  is(tokens[1].tag, "_v", "second token is a variable");
+  is(tokens[2]+'', "asdf2", "third token is text");
+  is(tokens[3].n, "hmm2", "fourth token is tag");
+  is(tokens[3].tag, "_v", "fourth token is a variable");
+  is(tokens[4]+'', "asdf3", "Fifth token is text");
+}
+
+function testScanSectionOpen() {
+  var text = "{{#hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, "#", "First token is a section.");
+}
+
+function testScanSectionClose() {
+  var text = "{{/hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, "/", "First token is a section.");
+}
+
+function testScanSection() {
+  var text = "{{#hmm}}{{/hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 2, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, "#", "First token is a section.");
+  is(tokens[1].n, "hmm", "Second token content is variable name.");
+  is(tokens[1].tag, "/", "Second token is a section.");
+}
+
+function testScanSectionInContent() {
+  var text = "abc{{#hmm}}def{{/hmm}}ghi";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 5, "3 text tokens, 2 tag tokens.");
+  is(tokens[0]+'', "abc", "first token is text");
+  is(tokens[1].n, "hmm", "second token is tag");
+  is(tokens[1].tag, "#", "second token is a variable");
+  is(tokens[2]+'', "def", "third token is text");
+  is(tokens[3].n, "hmm", "fourth token is tag");
+  is(tokens[3].tag, "/", "fourth token is a variable");
+  is(tokens[4]+'', "ghi", "Fifth token is text");
+}
+
+function testScanNegativeSection() {
+  var text = "{{^hmm}}{{/hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 2, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, "^", "First token is a negative section.");
+  is(tokens[1].n, "hmm", "First token content is variable name.");
+  is(tokens[1].tag, "/", "Second token is a section.");
+}
+
+function testScanPartial() {
+  var text = "{{>hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, ">", "First token is a partial.");
+}
+
+
+function testScanBackwardPartial() {
+  var text = "{{<hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, "<", "First token is a backward partial.");
+}
+
+function testScanAmpersandNoEscapeTag() {
+  var text = "{{&hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, "&", "First token is an ampersand no-escape.");
+}
+
+function testScanTripleStache() {
+  var text = "{{{hmm}}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 1, "One token");
+  is(tokens[0].n, "hmm", "First token content is variable name.");
+  is(tokens[0].tag, "{", "First token is a triple-stache.");
+}
+
+function testScanSectionWithTripleStacheInside() {
+  var text = "a{{#yo}}b{{{hmm}}}c{{/yo}}d";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 7, "One token");
+  is(tokens[0]+'', "a", "First token content is correct text.");
+  is(tokens[1].n, "yo", "Second token content is correct text.");
+  is(tokens[1].tag, "#", "Second token is a section.");
+  is(tokens[2]+'', "b", "Third token content is correct text.");
+  is(tokens[3].n, "hmm", "Fourth token content is correct text.");
+  is(tokens[3].tag, "{", "Fourth token is a triple stache.");
+  is(tokens[4]+'', "c", "Fifth token content is correct text.");
+  is(tokens[5].n, "yo", "Sixth token content is correct text.");
+  is(tokens[5].tag, "/", "Sixth token is a close.");
+  is(tokens[6]+'', "d", "Seventh token content is correct text.");
+}
+
+function testScanSetDelimiter() {
+  var text = "a{{=<% %>=}}b";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 2, "change delimiter doesn't appear as token.");
+  is(tokens[0]+'', "a", "text before change delimiter is processed.");
+  is(tokens[1]+'', "b", "text after change delimiter is processed.");
+}
+
+function testScanResetDelimiter() {
+  var text = "a{{=<% %>=}}b<%hmm%>c<%={{ }}=%>d{{hmm}}";
+  var tokens = Hogan.scan(text);
+  is(tokens.length, 6, "8 tokens, delimiter changes don't count.");
+  is(tokens[0]+'', "a", "first token is correct.");
+  is(tokens[1]+'', "b", "third token is correct.");
+  is(tokens[2].tag, "_v", "third token is correct tag.");
+  is(tokens[2].n, "hmm", "third token is correct name.");
+  is(tokens[3]+'', "c", "fifth token is correct.");
+  is(tokens[4]+'', "d", "seventh token is correct.");
+  is(tokens[5].tag, "_v", "eighth token is correct tag.");
+  is(tokens[5].n, "hmm", "eighth token is correct name.");
+}
+
+function testSingleCharDelimiter() {
+  var text = '({{foo}} {{=[ ]=}}[text])';
+  var tokens = Hogan.scan(text);
+
+  var t = Hogan.compile(text);
+  s = t.render({foo: "bar", text: 'It worked!'});
+  is(s, '(bar It worked!)', "Hogan substitution worked after custom delimiters.");
+}
+
+function testSetDelimiterWithWhitespace() {
+  var text = "{{= | | =}}|foo|";
+  var t = Hogan.compile(text);
+  s = t.render({foo: "bar"});
+  is(s, 'bar', "custom delimiters with whitespace works.")
+}
+
+function testParseBasic() {
+  var text = "test";
+  var tree = Hogan.parse(Hogan.scan(text));
+  is(tree.length, 1, "one parse node");
+  is(tree[0]+'', "test", "text is correct");
+}
+
+function testParseVariables() {
+  var text = "test{{foo}}test!{{bar}}test!!{{baz}}test!!!";
+  var tree = Hogan.parse(Hogan.scan(text));
+  is(tree.length, 7, "one parse node");
+  is(tree[0]+'', "test", "first text is correct");
+  is(tree[2]+'', "test!", "second text is correct")
+  is(tree[4]+'', "test!!", "third text is correct")
+  is(tree[6]+'', "test!!!", "last text is correct")
+  is(tree[1].n, "foo", "first var is correct");
+  is(tree[3].n, "bar", "second var is correct");
+  is(tree[5].n, "baz", "third var is correct");
+}
+
+function testParseSection() {
+  var text = "a{{#foo}}b{{/foo}}c";
+  var tree = Hogan.parse(Hogan.scan(text));
+  is(tree.length, 3, "three nodes at base");
+  is(tree[0]+'', "a", "correct text in first node");
+  is(tree[1].hasOwnProperty('nodes'), true, "second node is a section");
+  is(tree[1].tag, '#', "second node is a section");
+  is(tree[1].n, "foo", "correct name for section");
+  is(tree[1].nodes[0]+'', "b", "correct text in section");
+  is(tree[2]+'', "c", "correct text in last node");
+}
+
+function testParseIndexes() {
+  var text = "abc{{#foo}}asdf{{bar}}asdf{{/foo}}def";
+  var tree = Hogan.parse(Hogan.scan(text));
+  is(text.substring(tree[1].i, tree[1].end), "asdf{{bar}}asdf", "section text indexes are correct");
+}
+
+function testParseNegativeSection() {
+  var text = "a{{^foo}}b{{/foo}}c";
+  var tree = Hogan.parse(Hogan.scan(text));
+
+  is(tree.length, 3, "three nodes at base");
+  is(tree[0]+'', "a", "correct text in first node");
+  is(tree[1].hasOwnProperty('nodes'), true, "second node is a section");
+  is(tree[1].tag, '^', "second node is a negative section");
+  is(tree[1].n, "foo", "correct name for section");
+  is(tree[1].nodes[0]+'', "b", "correct text in section");
+  is(tree[2]+'', "c", "correct text in last node");
+}
+
+function testParseNestedSections() {
+  var text = "{{#bar}}{{#foo}}c{{/foo}}{{/bar}}"
+  var tree = Hogan.parse(Hogan.scan(text));
+
+  is(tree.length, 1, "one node at base");
+  is(tree[0].tag, "#", "open section is first node");
+  is(tree[0].n, "bar", "first section name is 'bar'");
+  is(tree[0].nodes.length, 1, "first section contains one node.");
+  is(tree[0].nodes[0].n, "foo", "correct name for nested section");
+  is(tree[0].nodes[0].nodes[0]+'', "c", "correct text in nested section");
+}
+
+function testMissingClosingTag() {
+  var text = "a{{#foo}}bc";
+  var msg = '';
+  try {
+    var tree = Hogan.parse(Hogan.scan(text));
+  } catch (e) {
+    msg = e.message;
+  }
+  is(msg, "missing closing tag: foo", "Error is generated");
+}
+
+function testBadNesting() {
+  var text = "a{{#foo}}{{#bar}}b{{/foo}}{{/bar}}c";
+  var msg = '';
+  try {
+    var tree = Hogan.parse(Hogan.scan(text));
+  } catch (e) {
+    msg = e.message;
+  }
+  is(msg, "Nesting error: bar vs. foo", "Error is generated");
+}
+
+function testBasicOutput() {
+  var text = "test";
+  var t = Hogan.compile(text);
+  is(t.render(), text, "template renders one text node");
+}
+
+function testBasicOutputAsString() {
+  var text = "test";
+  var textFunc = Hogan.compile(text, true);
+  is(textFunc, "function(context, partials){this.buffer.push('test');};", "template renders correct text function.");
+}
+
+function testOneVariable() {
+  var text = "test {{foo}} test";
+  var t = Hogan.compile(text);
+  var s = t.render({foo:'bar'});
+  is(s, "test bar test", "basic variable substitution works.");
+}
+
+function testOneVariableAsString() {
+  var text = "test {{foo}} test";
+  var funcText = Hogan.compile(text, true);
+  is(funcText, "function(context, partials){this.buffer.push('test ');\nthis.buffer.push(this.find('foo', context));\nthis.buffer.push(' test');};",
+     "Function text is correct with variable substitution.");
+}
+
+function testRenderWithWhitespace() {
+  var text = "{{ string }}";
+  var t = Hogan.compile(text);
+  is(t.render({string: "---" }), "---", "tags with whitespace render correctly.");
+}
+
+function testRenderWithWhitespaceAroundTripleStache() {
+  var text = "  {{{string}}}\n";
+  var t = Hogan.compile(text);
+  is(t.render({string: "---" }), "  ---\n", "triple stache surrounded by whitespace render correctly.");
+}
+
+function testRenderWithWhitespaceAroundAmpersand() {
+  var text = "  {{& string }}\n";
+  var t = Hogan.compile(text);
+  is(t.render({string: "---" }), "  ---\n", "ampersand surrounded by whitespace render correctly.");
+}
+
+function testMultipleVariables() {
+  var text = "test {{foo}} test {{bar}} test {{baz}} test {{foo}} test";
+  var t = Hogan.compile(text);
+  var s = t.render({foo:'42', bar: '43', baz: '44'});
+  is(s, "test 42 test 43 test 44 test 42 test", "all variables render correctly.");
+}
+
+function testNumberValues() {
+  var text = "integer: {{foo}} float: {{bar}} negative: {{baz}}";
+  var t = Hogan.compile(text);
+  var s = t.render({foo: 42, bar: 42.42, baz: -42});
+  is(s, "integer: 42 float: 42.42 negative: -42", "numbers render correctly");
+}
+
+function testObjectRender() {
+  var text = "object: {{foo}}";
+  var t = Hogan.compile(text);
+  var s = t.render({foo: {}});
+  is(s, "object: [object Object]", "objects render default toString.");
+}
+
+function testObjectToStringRender() {
+  var text = "object: {{foo}}";
+  var t = Hogan.compile(text);
+  var s = t.render({foo: {toString: function(){ return "yo!"}}});
+  is(s, "object: yo!", "objects render supplied toString.");
+}
+
+function testArrayRender() {
+  var text = "array: {{foo}}";
+  var t = Hogan.compile(text);
+  var s = t.render({foo: ["a","b","c"]});
+  is(s, "array: a,b,c", "arrays render default toString.");
+}
+
+function testEscaping() {
+  var text = "{{foo}}";
+  var t = Hogan.compile(text);
+  var s = t.render();
+  var s = t.render({foo: "< > <div> \' \" &"});
+  is(s, "&lt; &gt; &lt;div&gt; &#39; &quot; &amp;", "input correctly escaped.");
+
+  var ec ={ "'": "&#39;", '"': "&quot;", "<": "&lt;", ">": "&gt;", "&": "&amp;"}
+  for (var char in ec) {
+    var s = t.render({foo: char + " just me"});
+    is(s, ec[char] + " just me", "input correctly escaped.");
+  }
+
+}
+
+function testMustacheInjection() {
+  var text = "{{foo}}";
+  var t = Hogan.compile(text);
+  s = t.render({foo:"{{{<42}}}"})
+  is(s, "{{{&lt;42}}}", "Can't inject mustache");
+}
+
+function testTripleStache() {
+  var text = "{{{foo}}}";
+  var t = Hogan.compile(text);
+  var s = t.render({foo: "< > <div> \' \" &"});
+  is(s, "< > <div> \' \" &", "input correctly not-escaped.");
+}
+
+function testAmpNoEscaping() {
+  var text = "{{&foo}}";
+  var t = Hogan.compile(text);
+  var s = t.render({foo: "< > <div> \' \" &"});
+  is(s, "< > <div> \' \" &", "input correctly not-escaped.");
+}
+
+function testPartial() {
+  var partialText = "this is text from the partial--the magic number {{foo}} is from a variable";
+  var p = Hogan.compile(partialText);
+
+  var text = "This template contains a partial ({{>testPartial}})."
+  var t = Hogan.compile(text);
+
+  var s = t.render({foo: 42}, {testPartial: p});
+  is(s, "This template contains a partial (this is text from the partial--the magic number 42 is from a variable).", "partials work");
+}
+
+function testNestedPartials() {
+  var partialText = "this is text from the partial--the magic number {{foo}} is from a variable";
+  var p = Hogan.compile(partialText);
+
+  var partialText2 = "This template contains a partial ({{>testPartial}})."
+  var p2 = Hogan.compile(partialText2);
+
+  var text = "This template contains a partial that contains a partial [{{>testPartial2}}]."
+  var t = Hogan.compile(text);
+
+  var s = t.render({foo: 42}, {testPartial: p, testPartial2: p2});
+  is(s, "This template contains a partial that contains a partial [This template contains a partial (this is text from the partial--the magic number 42 is from a variable).].", "nested partials work");
+}
+
+function testNegativeSection() {
+  var text = "This template {{^foo}}BOO {{/foo}}contains an inverted section."
+  var t = Hogan.compile(text);
+  var s = t.render();
+  is(s, "This template BOO contains an inverted section.", "inverted sections with no context work");
+
+  s = t.render({foo:[]});
+  is(s, "This template BOO contains an inverted section.", "inverted sections with empty list context work");
+
+  s = t.render({ foo:false });
+  is(s, "This template BOO contains an inverted section.", "inverted sections with false context work");
+
+  s = t.render({foo:''});
+  is(s, "This template contains an inverted section.", "inverted sections with empty string context work");
+
+  s = t.render({foo:true});
+  is(s, "This template contains an inverted section.", "inverted sections with true context work");
+
+  s = t.render({foo: function() { return false; }});
+  is(s, "This template BOO contains an inverted section.", "inverted sections with false returning method in context work");
+}
+
+function testSectionElision() {
+  var text = "This template {{#foo}}BOO {{/foo}}contains a section."
+  var t = Hogan.compile(text);
+  var s = t.render();
+  is(s, "This template contains a section.", "sections with no context work");
+
+  s = t.render({foo:[]});
+  is(s, "This template contains a section.", "sections with empty list context work");
+
+  s = t.render({foo:false});
+  is(s, "This template contains a section.", "sections with false context work");
+}
+
+function testSectionObjectContext() {
+  var text = "This template {{#foo}}{{bar}} {{/foo}}contains a section."
+  var t = Hogan.compile(text);
+  var s = t.render({foo:{bar:42}});
+  is(s, "This template 42 contains a section.", "sections with object context work");
+}
+
+function testSectionArrayContext() {
+  var text = "This template {{#foo}}{{bar}} {{/foo}}contains a section."
+  var t = Hogan.compile(text);
+  var s = t.render({foo:[{bar:42}, {bar:43}, {bar:44}]});
+  is(s, "This template 42 43 44 contains a section.", "sections with object ctx and array values work");
+}
+
+function testFalsyVariableNoRender() {
+  var text = "I ({{cannot}}) be seen!";
+  var t = Hogan.compile(text);
+  var s = t.render();
+  is(s, "I () be seen!", "missing value doesn't render.");
+}
+
+function testSectionExtensions() {
+  var text = "Test {{_//|__foo}}bar{{/foo}}";
+  var options = {sectionTags:[{o:'_//|__foo', c:'foo'}]};
+  var tree = Hogan.parse(Hogan.scan(text), options);
+  is(tree[1].tag, "#", "_//|__foo node transformed to section");
+  is(tree[1].n, "_//|__foo", "_//|__foo node transformed to section");
+
+  var t = Hogan.compile(text, options );
+  var s = t.render({'_//|__foo':true});
+  is(s, "Test bar", "Custom sections work");
+}
+
+function testMisnestedSectionExtensions() {
+  var text = "Test {{__foo}}bar{{/bar}}";
+  var options = {sectionTags:[{o:'__foo', c:'foo'}, {o:'__bar', c:'bar'}]};
+  var msg = '';
+  try {
+    var tree = Hogan.parse(Hogan.scan(text), options);
+  } catch (e) {
+    msg = e.message;
+  }
+  is(msg, "Nesting error: __foo vs. bar", "Error is generated");
+}
+
+function testNestedSection() {
+  var text = "{{#foo}}{{#bar}}{{baz}}{{/bar}}{{/foo}}";
+  var t = Hogan.compile(text);
+  var s = t.render({foo: 42, bar: 42, baz:42});
+  is(s, "42", "can reach up context stack");
+}
+
+function testDottedNames() {
+  var text = '"{{person.name}}" == "{{#person}}{{name}}{{/person}}"';
+  var t = Hogan.compile(text);
+  var s = t.render({person:{name:'Joe'}});
+  is(s, '"Joe" == "Joe"', "dotted names work");
+}
+
+function testImplicitIterator() {
+  var text = '{{#stuff}} {{.}} {{/stuff}}';
+  var t = Hogan.compile(text);
+  var s = t.render({stuff:[42,43,44]});
+  is(s, " 42  43  44 ", "implicit iterators work");
+}
+
+function testPartialsAndDelimiters() {
+  var text = '{{>include}}*\n{{= | | =}}\n*|>include|';
+  var partialText = ' .{{value}}. ';
+  var partial = Hogan.compile(partialText);
+  var t = Hogan.compile(text);
+  var s = t.render({value:"yes"}, {'include':partial});
+  is(s, " .yes. *\n* .yes. ", "partials work around delimiters");
+}
+
+function testStringPartials() {
+  var text = "foo{{>mypartial}}baz";
+  var partialText = " bar ";
+  var t = Hogan.compile(text);
+  var s = t.render({}, {'mypartial': partialText});
+  is(s, "foo bar baz", "string partial works.");
+}
+
+function testMissingPartials() {
+  var text = "foo{{>mypartial}} bar";
+  var t = Hogan.compile(text);
+  var s = t.render({});
+  is(s, "foo bar", "missing partial works.");
+}
+
+function testIndentedStandaloneComment() {
+  var text = 'Begin.\n {{! Indented Comment Block! }}\nEnd.';
+  var t = Hogan.compile(text);
+  var s = t.render();
+  is(s, 'Begin.\nEnd.', "Standalone comment blocks are removed.");
+}
+
+function testNewLineBetweenDelimiterChanges() {
+  var data = { section: true, data: 'I got interpolated.' };
+  var text = '\n{{#section}}\n {{data}}\n |data|\n{{/section}}x\n\n{{= | | =}}\n|#section|\n {{data}}\n |data|\n|/section|';
+  var t = Hogan.compile(text);
+  var s = t.render(data);
+  is(s, '\n I got interpolated.\n |data|\nx\n\n {{data}}\n I got interpolated.\n', 'render correct')
+}
+
+function testMustacheJSApostrophe() {
+  var text = '{{apos}}{{control}}';
+  var t = Hogan.compile(text);
+  var s = t.render({'apos':"'", 'control':"X"});
+  is(s, '&#39;X', 'Apostrophe is escaped.');
+}
+
+function testMustacheJSArrayOfImplicitPartials() {
+  var text = 'Here is some stuff!\n{{#numbers}}\n{{>partial}}\n{{/numbers}}\n';
+  var partialText = '{{.}}\n';
+  var t = Hogan.compile(text);
+  var s = t.render({numbers:[1,2,3,4]}, {partial: partialText});
+  is(s, 'Here is some stuff!\n1\n2\n3\n4\n', 'Partials with implicit iterators work.');
+}
+
+function testMustacheJSArrayOfPartials() {
+  var text = 'Here is some stuff!\n{{#numbers}}\n{{>partial}}\n{{/numbers}}\n';
+  var partialText = '{{i}}\n';
+  var t = Hogan.compile(text);
+  var s = t.render({numbers:[{i:1},{i:2},{i:3},{i:4}]}, {partial: partialText});
+  is(s, 'Here is some stuff!\n1\n2\n3\n4\n', 'Partials with arrays work.');
+}
+
+function testMustacheJSArrayOfStrings() {
+  var text = '{{#strings}}{{.}} {{/strings}}';
+  var t = Hogan.compile(text);
+  var s = t.render({strings:['foo', 'bar', 'baz']});
+  is(s, 'foo bar baz ', 'array of strings works with implicit iterators.');
+}
+
+function testMustacheJSUndefinedString() {
+  var text = 'foo{{bar}}baz';
+  var t = Hogan.compile(text);
+  var s = t.render({bar:undefined});
+  is(s, 'foobaz', 'undefined value does not render.');
+}
+
+function testMustacheJSTripleStacheAltDelimiter() {
+  var text = '{{=<% %>=}}<% foo %> {{foo}} <%{bar}%> {{{bar}}}';
+  var t = Hogan.compile(text);
+  var s = t.render({foo:'yeah', bar:'hmm'});
+  is(s, 'yeah {{foo}} hmm {{{bar}}}', 'triple stache inside alternate delimiter works.');
+}
+
+/* shootout benchmark tests */
+
+function testShootOutString() {
+  var text = "Hello World!";
+  var expected = "Hello World!"
+  var t = Hogan.compile(text)
+  var s = t.render({})
+  is(s, expected, "Shootout String compiled correctly");
+}
+
+function testShootOutReplace() {
+  var text = "Hello {{name}}! You have {{count}} new messages.";
+  var expected = "Hello Mick! You have 30 new messages.";
+  var t = Hogan.compile(text)
+  var s = t.render({ name: "Mick", count: 30 })
+  is(s, expected, "Shootout Replace compiled correctly");
+}
+
+function testShootOutArray() {
+  var text = "{{#names}}{{name}}{{/names}}";
+  var expected = "MoeLarryCurlyShemp";
+  var t = Hogan.compile(text);
+  var s = t.render({ names: [{name: "Moe"}, {name: "Larry"}, {name: "Curly"}, {name: "Shemp"}] })
+  is(s, expected, "Shootout Array compiled correctly");
+}
+
+function testShootOutObject() {
+  var text = "{{#person}}{{name}}{{age}}{{/person}}";
+  var expected = "Larry45";
+  var t = Hogan.compile(text)
+  var s = t.render({ person: { name: "Larry", age: 45 } })
+  is(s, expected, "Shootout Object compiled correctly");
+}
+
+function testShootOutPartial() {
+  var text = "{{#peeps}}{{>replace}}{{/peeps}}";
+  var t = Hogan.compile(text);
+  var partial = Hogan.compile(" Hello {{name}}! You have {{count}} new messages.");
+  var s = t.render({ peeps: [{name: "Moe", count: 15}, {name: "Larry", count: 5}, {name: "Curly", count: 2}] }, { replace: partial });
+  var expected = " Hello Moe! You have 15 new messages. Hello Larry! You have 5 new messages. Hello Curly! You have 2 new messages.";
+  is(s, expected, "Shootout Partial compiled correctly");
+}
+
+function testShootOutRecurse() {
+  var text = "{{name}}{{#kids}}{{>recursion}}{{/kids}}";
+  var t = Hogan.compile(text);
+  var partial = Hogan.compile("{{name}}{{#kids}}{{>recursion}}{{/kids}}");
+  var s = t.render({
+                name: '1',
+                kids: [
+                  {
+                    name: '1.1',
+                    kids: [
+                      { name: '1.1.1', kids: [] }
+                    ]
+                  }
+                ]
+              }, { recursion: partial });
+  var expected = "11.11.1.1";
+  is(s, expected, "Shootout Recurse compiled correctly");
+}
+
+function testShootOutFilter() {
+  var text = "{{#filter}}foo {{bar}}{{/filter}}";
+  var t = Hogan.compile(text);
+  var s = t.render({
+    filter: function() {
+      return function(text, render) {
+        return render(text).toUpperCase();
+      }
+    },
+    bar: "bar"
+  });
+  var expected = "FOO BAR"
+  is(s, expected, "Shootout Filter compiled correctly");
+}
+
+function testShootOutComplex() {
+  var text =
+    "<h1>{{header}}</h1>" +
+    "{{#hasItems}}" +
+    "<ul>" +
+      "{{#items}}" +
+        "{{#current}}" +
+          "<li><strong>{{name}}</strong></li>" +
+        "{{/current}}" +
+        "{{^current}}" +
+          "<li><a href=\"{{url}}\">{{name}}</a></li>" +
+        "{{/current}}" +
+      "{{/items}}" +
+    "</ul>" +
+    "{{/hasItems}}" +
+    "{{^hasItems}}" +
+      "<p>The list is empty.</p>" +
+    "{{/hasItems}}";
+
+  var expected = "<h1>Colors</h1><ul><li><strong>red</strong></li><li><a href=\"#Green\">green</a></li><li><a href=\"#Blue\">blue</a></li></ul>";
+  var t = Hogan.compile(text)
+  var s = t.render({
+     header: function() {
+       return "Colors";
+     },
+     items: [
+       {name: "red", current: true, url: "#Red"},
+       {name: "green", current: false, url: "#Green"},
+       {name: "blue", current: false, url: "#Blue"}
+     ],
+     hasItems: function() {
+       return this.items.length !== 0;
+     },
+     empty: function() {
+       return this.items.length === 0;
+     }
+  })
+
+  is(s, expected, "Shootout Complex compiled correctly");
+}
+
+function testRenderOutput() {
+  if (doc) return
+  var fs = require('fs');
+  var inPath = 'test/templates';
+  var outPath = 'test/html';
+
+  fs.readdirSync(inPath).forEach(function (file) {
+    var i = fs.readFileSync([inPath, file].join('/'), 'utf-8');
+    var t = Hogan.compile(i);
+    var r = t.render({});
+    var o = fs.readFileSync([outPath, file].join('/').replace(/mustache$/, 'html')).toString();
+    is(r === o, true, file + ' should correctly render html')
+  })
+}
+
+function testDefaultRenderImpl() {
+  var ht = new Hogan.Template();
+  is(ht.render() === '', true, 'default renderImpl returns an array.');
+}
+
+
+function appendText(el, text) {
+  var textNode = document.createTextNode(text);
+  el.appendChild(textNode);
+  el.appendChild(document.createElement('br'));
+}
+
+if (!this["output"]) {
+  var output = function (s) {
+    return doc ? appendText(doc.getElementById('console'), s) : console.log(s);
+  };
+}
+var passed = 0;
+var failed = 0;
+
+function is(got, expected, msg) {
+  if (got === expected) {
+    output("OK:   " + msg);
+    ++passed;
+  } else {
+    output("FAIL: " + msg);
+    output("Expected |" + expected + "|");
+    output("     Got |" + got + "|");
+    ++failed;
+  }
+}
+
+function complete() {
+  output("\nTests Complete");
+  output("--------------");
+  output("Passed: " + passed);
+  output("Failed: " + failed);
+  output("\n");
+}
+
+function runTests() {
+  output("Tests Starting");
+  output("--------------");
+  testScanTextNoTags();
+  testScanOneTag();
+  testScanMultipleTags();
+  testScanSectionOpen();
+  testScanSectionClose();
+  testScanSection();
+  testScanSectionInContent();
+  testScanNegativeSection();
+  testScanPartial();
+  testScanBackwardPartial();
+  testScanAmpersandNoEscapeTag();
+  testScanTripleStache();
+  testScanSectionWithTripleStacheInside();
+  testScanSetDelimiter();
+  testScanResetDelimiter();
+  testSetDelimiterWithWhitespace();
+  testSingleCharDelimiter();
+  testParseBasic();
+  testParseVariables();
+  testParseSection();
+  testParseIndexes();
+  testParseNegativeSection();
+  testParseNestedSections();
+  testMissingClosingTag();
+  testBadNesting();
+  testBasicOutput();
+ //testBasicOutputAsString();
+  testOneVariable();
+ //testOneVariableAsString();
+  testMultipleVariables();
+  testNumberValues();
+  testObjectRender();
+  testObjectToStringRender();
+  testArrayRender();
+  testEscaping();
+  testMustacheInjection();
+  testTripleStache();
+  testAmpNoEscaping();
+  testPartial();
+  testNestedPartials();
+  testNegativeSection();
+  testSectionElision();
+  testSectionObjectContext();
+  testSectionArrayContext();
+  testRenderWithWhitespace();
+  testRenderWithWhitespaceAroundTripleStache();
+  testRenderWithWhitespaceAroundAmpersand();
+  testFalsyVariableNoRender();
+  testRenderOutput();
+  testDefaultRenderImpl();
+  testSectionExtensions();
+  testMisnestedSectionExtensions();
+  testNestedSection();
+  testShootOutString();
+  testShootOutReplace();
+  testShootOutArray();
+  testShootOutObject();
+  testShootOutPartial();
+  testShootOutRecurse();
+  testShootOutFilter();
+  testShootOutComplex();
+  testDottedNames();
+  testImplicitIterator();
+  testPartialsAndDelimiters();
+  testStringPartials();
+  testMissingPartials();
+  testIndentedStandaloneComment();
+  testNewLineBetweenDelimiterChanges();
+  testMustacheJSApostrophe();
+  testMustacheJSArrayOfImplicitPartials();
+  testMustacheJSArrayOfPartials();
+  testMustacheJSArrayOfStrings();
+  testMustacheJSUndefinedString();
+  testMustacheJSTripleStacheAltDelimiter();
+  complete();
+}
+
+if (doc) {
+  window.onload = runTests;
+} else {
+  runTests();
+}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/mustache.js b/docs/build/node_modules/hogan.js/test/mustache.js
new file mode 100644
index 0000000000..b2d8ebc51a
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/mustache.js
@@ -0,0 +1,90 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var doc = this['document'];
+var fs = require('fs');
+
+var passed = 0;
+var failed = 0;
+
+if (!this['output']) {
+  var output = function (string) {
+    return doc ? doc.write(string + '<br/>') : console.log(string);
+  };
+}
+
+var Hogan = require(__dirname + '/../lib/hogan');
+var template = fs.readFileSync(__dirname + '/../lib/template.js').toString();
+var compiler = fs.readFileSync(__dirname + '/../lib/compiler.js').toString();
+var mustache_wrapper = fs.readFileSync(__dirname + '/../wrappers/mustache.js.mustache').toString();
+
+// Create a Mustache.js emulator from the distribution template
+var engines = (new Function(Hogan.compile(mustache_wrapper).render({template: template, compiler: compiler}) +
+                                          '; return {Hogan: Hogan, Mustache: Mustache};'))();
+
+var Mustache = engines.Mustache;
+var Hogan2 = engines.Hogan;
+
+
+// sanity check
+is(Mustache.hasOwnProperty('to_html'), true, 'Mustache has to_html method.');
+
+// Check for Mustache.js partial resolution behavior.
+var context = {
+  foo: 'bar',
+  mypartial: {
+  	baz: 'qux'
+  }
+}
+var text = 'abc {{foo}} def {{>mypartial}} ghi';
+var partialText = '{{baz}}';
+var s = Mustache.to_html(text, context, {'mypartial': partialText});
+is(s, 'abc bar def qux ghi', 'Correct emulation of Mustache.js partial-name-in-context resolution.');
+
+// Now check to see that the Hogan resolution is unaffected.
+var t = Hogan2.compile(text);
+s = t.render(context, {'mypartial': partialText});
+is(s, 'abc bar def  ghi', 'Hogan behavior not changed by Mustache.js emulation.');
+
+// Check for sendFun behavior
+var buf = "";
+function send(s) {
+  buf += "-FOO " + s + " FOO-";
+}
+var s = Mustache.to_html(text, context, {'mypartial': partialText}, send);
+is(buf, '-FOO abc bar def qux ghi FOO-', 'Correct emulation of Mustache.js sendFun.');
+
+
+function is(got, expected, msg) {
+  if (got === expected) {
+    output("OK:   " + msg);
+    ++passed;
+  } else {
+    output("FAIL: " + msg);
+    output("Expected |" + expected + "|");
+    output("     Got |" + got + "|");
+    ++failed;
+  }
+}
+
+function complete() {
+  output("\nTests Complete");
+  output("--------------");
+  output("Passed: " + passed);
+  output("Failed: " + failed);
+  output("\n");
+}
+
+complete();
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec.js b/docs/build/node_modules/hogan.js/test/spec.js
new file mode 100644
index 0000000000..15b4d8e19a
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec.js
@@ -0,0 +1,77 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var Hogan = Hogan || require('../lib/hogan');
+var doc = this["document"];
+var fs = require('fs');
+
+var passed = 0;
+var failed = 0;
+
+if (!this["output"]) {
+  var output = function (string) {
+    return doc ? doc.write(string + '<br/>') : console.log(string);
+  };
+}
+
+function runTest(tests) {
+  tests.forEach(function(test) {
+    var partials = {};
+    for (var i in test.partials) {
+      partials[i] = Hogan.compile(test.partials[i]);
+    }
+    var t = Hogan.compile(test.template);
+
+    if (test.data.lambda) {
+      var func = (new Function ('return ' + test.data.lambda.js)());
+      test.data.lambda = function() { return func; };
+    }
+
+    var s = t.render(test.data, partials);
+    is(s, test.expected, test.name + ': ' + test.desc);
+  });
+}
+
+var testDir = './test/spec/specs';
+var files = fs.readdirSync(testDir)
+              .filter(function(f) { return f.indexOf('.json') > 0; })
+              .map(function(f) { return testDir + '/' + f});
+
+for (var i = 0; i < files.length; i++) {
+  var test = JSON.parse(fs.readFileSync(files[i]).toString());
+  runTest(test.tests);
+}
+
+function is(got, expected, msg) {
+  if (got === expected) {
+    output("OK:   " + msg);
+    ++passed;
+  } else {
+    output("FAIL: " + msg);
+    output("Expected |" + expected + "|");
+    output("     Got |" + got + "|");
+    ++failed;
+  }
+}
+
+function complete() {
+  output("\nTests Complete");
+  output("--------------");
+  output("Passed: " + passed);
+  output("Failed: " + failed);
+  output("\n");
+}
+
+complete();
diff --git a/docs/build/node_modules/hogan.js/test/spec/Changes b/docs/build/node_modules/hogan.js/test/spec/Changes
new file mode 100644
index 0000000000..bb39b9823e
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/Changes
@@ -0,0 +1,31 @@
+2011-03-20: v1.1.2
+  Added tests for standalone tags at string boundaries.
+  Added tests for rendering lambda returns after delimiter changes.
+
+2011-03-20: v1.0.3
+  Added tests for standalone tags at string boundaries.
+  Added tests for rendering lambda returns after delimiter changes.
+
+2011-03-05: v1.1.1
+  Added tests for indented inline sections.
+  Added tests for Windows-style newlines.
+
+2011-03-05: v1.0.2
+  Added tests for indented inline sections.
+  Added tests for Windows-style newlines.
+
+2011-03-04: v1.1.0
+  Implicit iterators.
+    A single period (`.`) may now be used as a name in Interpolation tags,
+    which represents the top of stack (cast as a String).
+  Dotted names.
+    Names containing one or more periods should be resolved as chained
+    properties; naïvely, this is like nesting section tags, but with some
+    built-in scoping protections.
+
+2011-03-02: v1.0.1
+  Clarifying a point in the README about version compliance.
+  Adding high-level documentation to each spec file.
+
+2011-02-28: v1.0.0
+  Initial Release
diff --git a/docs/build/node_modules/hogan.js/test/spec/README.md b/docs/build/node_modules/hogan.js/test/spec/README.md
new file mode 100644
index 0000000000..b01b1bbdb7
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/README.md
@@ -0,0 +1,65 @@
+The repository at https://github.com/mustache/spec is the formal standard for
+Mustache.  It defines both normal usage and edge-case behavior for libraries
+parsing the Mustache templating language (or a superset thereof).
+
+The specification is developed as a series of YAML files, under the `specs`
+directory.
+
+Versioning
+----------
+This specification is being [semantically versioned](http://semver.org).
+Roughly described, major version changes will always represent backwards
+incompatible changes, minor version changes will always represent new language
+features and will be backwards compatible, and patch ('tiny') version changes
+will always be bug fixes.  For the purposes of semantic versioning, the public
+API is the contents of the `specs` directory and the algorithm for testing
+against it.
+
+Mustache implementations SHOULD report the most recent version of the spec
+(major and minor version numbers).  If an implementation has support for any
+optional modules, they SHOULD indicate so with a remark attached to the
+version number (e.g. "vX.Y, including lambdas" or "v.X.Y+λ").  It is
+RECOMMENDED that implementations not supporting at least v1.0.0 of this spec
+refer to themselves as "Mustache-like", or "Mustache-inspired".
+
+Alternate Formats
+-----------------
+
+Since YAML is a reasonably complex format that not every language has good
+tools for working with, we also provide JSON versions of the specs on a
+best-effort basis.
+
+These should be identical to the YAML specifications, but if you find the need
+to regenerate them, they can be trivially rebuilt by invoking `rake build`.
+
+It is also worth noting that some specifications (notably, the lambda module)
+rely on YAML "tags" to denote special types of data (e.g. source code).  Since
+JSON offers no way to denote this, a special key ("`__tag__`") is injected
+with the name of the tag as its value.  See `TESTING.md` for more information
+about handling tagged data.
+
+Optional Modules
+----------------
+
+Specification files beginning with a tilde (`~`) describe optional modules.
+At present, the only module being described as optional is regarding support
+for lambdas.  As a guideline, a module may be a candidate for optionality
+when:
+
+  * It does not affect the core syntax of the language.
+  * It does not significantly affect the output of rendered templates.
+  * It concerns implementation language features or data types that are not
+    common to or core in every targeted language.
+  * The lack of support by an implementation does not diminish the usage of
+    Mustache in the target language.
+
+As an example, the lambda module is primarily concerned with the handling of a
+particular data type (code).  This is a type of data that may be difficult to
+support in some languages, and users of those languages will not see the lack
+as an 'inconsistency' between implementations.
+
+Support for specific pragmas or syntax extensions, however, are best managed
+outside this core specification, as adjunct specifications.
+
+Implementors are strongly encouraged to support any and all modules they are
+reasonably capable of supporting.
diff --git a/docs/build/node_modules/hogan.js/test/spec/Rakefile b/docs/build/node_modules/hogan.js/test/spec/Rakefile
new file mode 100644
index 0000000000..5254ce65ad
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/Rakefile
@@ -0,0 +1,27 @@
+require 'json'
+require 'yaml'
+
+# Our custom YAML tags must retain their magic.
+%w[ code ].each do |tag|
+  YAML::add_builtin_type(tag) { |_,val| val.merge(:__tag__ => tag) }
+end
+
+desc 'Build all alternate versions of the specs.'
+multitask :build => [ 'build:json' ]
+
+namespace :build do
+  note = 'Do not edit this file; changes belong in the appropriate YAML file.'
+
+  desc 'Build JSON versions of the specs.'
+  task :json do
+    rm(Dir['specs/*.json'], :verbose => false)
+    Dir.glob('specs/*.yml').each do |filename|
+      json_file = filename.gsub('.yml', '.json')
+
+      File.open(json_file, 'w') do |file|
+        doc = YAML.load_file(filename)
+        file << doc.merge(:__ATTN__ => note).to_json()
+      end
+    end
+  end
+end
diff --git a/docs/build/node_modules/hogan.js/test/spec/TESTING.md b/docs/build/node_modules/hogan.js/test/spec/TESTING.md
new file mode 100644
index 0000000000..d2ca374953
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/TESTING.md
@@ -0,0 +1,46 @@
+Testing your Mustache implementation against this specification should be
+relatively simple.  If you have a readily available testing framework on your
+platform, your task may be even simpler.
+
+In general, the process for each `.yml` file is as follows:
+
+1. Use a YAML parser to load the file.
+
+2. For each test in the 'tests' array:
+
+  1. Ensure that each element of the 'partials' hash (if it exists) is
+     stored in a place where the interpreter will look for it.
+
+  2. If your implementation will not support lambdas, feel free to skip over
+     the optional '~lambdas.yml' file.
+
+  2.1. If your implementation will support lambdas, ensure that each member of
+       'data' tagged with '!code' is properly processed into a language-
+       specific lambda reference.
+
+      *   e.g. Given this YAML data hash:
+
+          `{ x: !code { ruby: 'proc { "x" }', perl: 'sub { "x" }' } }`
+
+          a Ruby-based Mustache implementation would process it such that it
+          was equivalent to this Ruby hash:
+
+          `{ 'x' => proc { "x" } }`
+
+      *   If your implementation language does not currently have lambda
+          examples in the spec, feel free to implement them and send a pull
+          request.
+
+      *   The JSON version of the spec represents these tagged values as a hash
+          with a '`__tag__`' key of 'code'.
+
+  3. Render the template (stored in the 'template' key) with the given 'data'
+     hash.
+
+  4. Compare the results of your rendering against the 'expected' value; any
+     differences should be reported, along with any useful debugging
+     information.
+
+     *  Of note, the 'desc' key contains a rough one-line description of the
+        behavior being tested -- this is most useful in conjunction with the
+        file name and test 'name'.
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/comments.json b/docs/build/node_modules/hogan.js/test/spec/specs/comments.json
new file mode 100644
index 0000000000..30cb927e62
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/comments.json
@@ -0,0 +1 @@
+{"__ATTN__":"Do not edit this file; changes belong in the appropriate YAML file.","overview":"Comment tags represent content that should never appear in the resulting\noutput.\n\nThe tag's content may contain any substring (including newlines) EXCEPT the\nclosing delimiter.\n\nComment tags SHOULD be treated as standalone when appropriate.\n","tests":[{"name":"Inline","data":{},"expected":"1234567890","template":"12345{{! Comment Block! }}67890","desc":"Comment blocks should be removed from the template."},{"name":"Multiline","data":{},"expected":"1234567890\n","template":"12345{{!\n  This is a\n  multi-line comment...\n}}67890\n","desc":"Multiline comments should be permitted."},{"name":"Standalone","data":{},"expected":"Begin.\nEnd.\n","template":"Begin.\n{{! Comment Block! }}\nEnd.\n","desc":"All standalone comment lines should be removed."},{"name":"Indented Standalone","data":{},"expected":"Begin.\nEnd.\n","template":"Begin.\n  {{! Indented Comment Block! }}\nEnd.\n","desc":"All standalone comment lines should be removed."},{"name":"Standalone Line Endings","data":{},"expected":"|\r\n|","template":"|\r\n{{! Standalone Comment }}\r\n|","desc":"\"\\r\\n\" should be considered a newline for standalone tags."},{"name":"Standalone Without Previous Line","data":{},"expected":"!","template":"  {{! I'm Still Standalone }}\n!","desc":"Standalone tags should not require a newline to precede them."},{"name":"Standalone Without Newline","data":{},"expected":"!\n","template":"!\n  {{! I'm Still Standalone }}","desc":"Standalone tags should not require a newline to follow them."},{"name":"Multiline Standalone","data":{},"expected":"Begin.\nEnd.\n","template":"Begin.\n{{!\nSomething's going on here...\n}}\nEnd.\n","desc":"All standalone comment lines should be removed."},{"name":"Indented Multiline Standalone","data":{},"expected":"Begin.\nEnd.\n","template":"Begin.\n  {{!\n    Something's going on here...\n  }}\nEnd.\n","desc":"All standalone comment lines should be removed."},{"name":"Indented Inline","data":{},"expected":"  12 \n","template":"  12 {{! 34 }}\n","desc":"Inline comments should not strip whitespace"},{"name":"Surrounding Whitespace","data":{},"expected":"12345  67890","template":"12345 {{! Comment Block! }} 67890","desc":"Comment removal should preserve surrounding whitespace."}]}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/comments.yml b/docs/build/node_modules/hogan.js/test/spec/specs/comments.yml
new file mode 100644
index 0000000000..7b14c7f327
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/comments.yml
@@ -0,0 +1,103 @@
+overview: |
+  Comment tags represent content that should never appear in the resulting
+  output.
+
+  The tag's content may contain any substring (including newlines) EXCEPT the
+  closing delimiter.
+
+  Comment tags SHOULD be treated as standalone when appropriate.
+tests:
+  - name: Inline
+    desc: Comment blocks should be removed from the template.
+    data: { }
+    template: '12345{{! Comment Block! }}67890'
+    expected: '1234567890'
+
+  - name: Multiline
+    desc: Multiline comments should be permitted.
+    data: { }
+    template: |
+      12345{{!
+        This is a
+        multi-line comment...
+      }}67890
+    expected: |
+      1234567890
+
+  - name: Standalone
+    desc: All standalone comment lines should be removed.
+    data: { }
+    template: |
+      Begin.
+      {{! Comment Block! }}
+      End.
+    expected: |
+      Begin.
+      End.
+
+  - name: Indented Standalone
+    desc: All standalone comment lines should be removed.
+    data: { }
+    template: |
+      Begin.
+        {{! Indented Comment Block! }}
+      End.
+    expected: |
+      Begin.
+      End.
+
+  - name: Standalone Line Endings
+    desc: '"\r\n" should be considered a newline for standalone tags.'
+    data: { }
+    template: "|\r\n{{! Standalone Comment }}\r\n|"
+    expected: "|\r\n|"
+
+  - name: Standalone Without Previous Line
+    desc: Standalone tags should not require a newline to precede them.
+    data: { }
+    template: "  {{! I'm Still Standalone }}\n!"
+    expected: "!"
+
+  - name: Standalone Without Newline
+    desc: Standalone tags should not require a newline to follow them.
+    data: { }
+    template: "!\n  {{! I'm Still Standalone }}"
+    expected: "!\n"
+
+  - name: Multiline Standalone
+    desc: All standalone comment lines should be removed.
+    data: { }
+    template: |
+      Begin.
+      {{!
+      Something's going on here...
+      }}
+      End.
+    expected: |
+      Begin.
+      End.
+
+  - name: Indented Multiline Standalone
+    desc: All standalone comment lines should be removed.
+    data: { }
+    template: |
+      Begin.
+        {{!
+          Something's going on here...
+        }}
+      End.
+    expected: |
+      Begin.
+      End.
+
+  - name: Indented Inline
+    desc: Inline comments should not strip whitespace
+    data: { }
+    template: "  12 {{! 34 }}\n"
+    expected: "  12 \n"
+
+  - name: Surrounding Whitespace
+    desc: Comment removal should preserve surrounding whitespace.
+    data: { }
+    template: '12345 {{! Comment Block! }} 67890'
+    expected: '12345  67890'
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/delimiters.json b/docs/build/node_modules/hogan.js/test/spec/specs/delimiters.json
new file mode 100644
index 0000000000..fcf95888db
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/delimiters.json
@@ -0,0 +1 @@
+{"__ATTN__":"Do not edit this file; changes belong in the appropriate YAML file.","overview":"Set Delimiter tags are used to change the tag delimiters for all content\nfollowing the tag in the current compilation unit.\n\nThe tag's content MUST be any two non-whitespace sequences (separated by\nwhitespace) EXCEPT an equals sign ('=') followed by the current closing\ndelimiter.\n\nSet Delimiter tags SHOULD be treated as standalone when appropriate.\n","tests":[{"name":"Pair Behavior","data":{"text":"Hey!"},"expected":"(Hey!)","template":"{{=<% %>=}}(<%text%>)","desc":"The equals sign (used on both sides) should permit delimiter changes."},{"name":"Special Characters","data":{"text":"It worked!"},"expected":"(It worked!)","template":"({{=[ ]=}}[text])","desc":"Characters with special meaning regexen should be valid delimiters."},{"name":"Sections","data":{"section":true,"data":"I got interpolated."},"expected":"[\n  I got interpolated.\n  |data|\n\n  {{data}}\n  I got interpolated.\n]\n","template":"[\n{{#section}}\n  {{data}}\n  |data|\n{{/section}}\n\n{{= | | =}}\n|#section|\n  {{data}}\n  |data|\n|/section|\n]\n","desc":"Delimiters set outside sections should persist."},{"name":"Inverted Sections","data":{"section":false,"data":"I got interpolated."},"expected":"[\n  I got interpolated.\n  |data|\n\n  {{data}}\n  I got interpolated.\n]\n","template":"[\n{{^section}}\n  {{data}}\n  |data|\n{{/section}}\n\n{{= | | =}}\n|^section|\n  {{data}}\n  |data|\n|/section|\n]\n","desc":"Delimiters set outside inverted sections should persist."},{"name":"Partial Inheritence","data":{"value":"yes"},"expected":"[ .yes. ]\n[ .yes. ]\n","template":"[ {{>include}} ]\n{{= | | =}}\n[ |>include| ]\n","desc":"Delimiters set in a parent template should not affect a partial.","partials":{"include":".{{value}}."}},{"name":"Post-Partial Behavior","data":{"value":"yes"},"expected":"[ .yes.  .yes. ]\n[ .yes.  .|value|. ]\n","template":"[ {{>include}} ]\n[ .{{value}}.  .|value|. ]\n","desc":"Delimiters set in a partial should not affect the parent template.","partials":{"include":".{{value}}. {{= | | =}} .|value|."}},{"name":"Surrounding Whitespace","data":{},"expected":"|  |","template":"| {{=@ @=}} |","desc":"Surrounding whitespace should be left untouched."},{"name":"Outlying Whitespace (Inline)","data":{},"expected":" | \n","template":" | {{=@ @=}}\n","desc":"Whitespace should be left untouched."},{"name":"Standalone Tag","data":{},"expected":"Begin.\nEnd.\n","template":"Begin.\n{{=@ @=}}\nEnd.\n","desc":"Standalone lines should be removed from the template."},{"name":"Indented Standalone Tag","data":{},"expected":"Begin.\nEnd.\n","template":"Begin.\n  {{=@ @=}}\nEnd.\n","desc":"Indented standalone lines should be removed from the template."},{"name":"Standalone Line Endings","data":{},"expected":"|\r\n|","template":"|\r\n{{= @ @ =}}\r\n|","desc":"\"\\r\\n\" should be considered a newline for standalone tags."},{"name":"Standalone Without Previous Line","data":{},"expected":"=","template":"  {{=@ @=}}\n=","desc":"Standalone tags should not require a newline to precede them."},{"name":"Standalone Without Newline","data":{},"expected":"=\n","template":"=\n  {{=@ @=}}","desc":"Standalone tags should not require a newline to follow them."},{"name":"Pair with Padding","data":{},"expected":"||","template":"|{{= @   @ =}}|","desc":"Superfluous in-tag whitespace should be ignored."}]}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/delimiters.yml b/docs/build/node_modules/hogan.js/test/spec/specs/delimiters.yml
new file mode 100644
index 0000000000..ce80b17cd1
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/delimiters.yml
@@ -0,0 +1,158 @@
+overview: |
+  Set Delimiter tags are used to change the tag delimiters for all content
+  following the tag in the current compilation unit.
+
+  The tag's content MUST be any two non-whitespace sequences (separated by
+  whitespace) EXCEPT an equals sign ('=') followed by the current closing
+  delimiter.
+
+  Set Delimiter tags SHOULD be treated as standalone when appropriate.
+tests:
+  - name: Pair Behavior
+    desc: The equals sign (used on both sides) should permit delimiter changes.
+    data: { text: 'Hey!' }
+    template: '{{=<% %>=}}(<%text%>)'
+    expected: '(Hey!)'
+
+  - name: Special Characters
+    desc: Characters with special meaning regexen should be valid delimiters.
+    data: { text: 'It worked!' }
+    template: '({{=[ ]=}}[text])'
+    expected: '(It worked!)'
+
+  - name: Sections
+    desc: Delimiters set outside sections should persist.
+    data: { section: true, data: 'I got interpolated.' }
+    template: |
+      [
+      {{#section}}
+        {{data}}
+        |data|
+      {{/section}}
+
+      {{= | | =}}
+      |#section|
+        {{data}}
+        |data|
+      |/section|
+      ]
+    expected: |
+      [
+        I got interpolated.
+        |data|
+
+        {{data}}
+        I got interpolated.
+      ]
+
+  - name: Inverted Sections
+    desc: Delimiters set outside inverted sections should persist.
+    data: { section: false, data: 'I got interpolated.' }
+    template: |
+      [
+      {{^section}}
+        {{data}}
+        |data|
+      {{/section}}
+
+      {{= | | =}}
+      |^section|
+        {{data}}
+        |data|
+      |/section|
+      ]
+    expected: |
+      [
+        I got interpolated.
+        |data|
+
+        {{data}}
+        I got interpolated.
+      ]
+
+  - name: Partial Inheritence
+    desc: Delimiters set in a parent template should not affect a partial.
+    data: { value: 'yes' }
+    partials:
+      include: '.{{value}}.'
+    template: |
+      [ {{>include}} ]
+      {{= | | =}}
+      [ |>include| ]
+    expected: |
+      [ .yes. ]
+      [ .yes. ]
+
+  - name: Post-Partial Behavior
+    desc: Delimiters set in a partial should not affect the parent template.
+    data: { value: 'yes' }
+    partials:
+      include: '.{{value}}. {{= | | =}} .|value|.'
+    template: |
+      [ {{>include}} ]
+      [ .{{value}}.  .|value|. ]
+    expected: |
+      [ .yes.  .yes. ]
+      [ .yes.  .|value|. ]
+
+  # Whitespace Sensitivity
+
+  - name: Surrounding Whitespace
+    desc: Surrounding whitespace should be left untouched.
+    data: { }
+    template: '| {{=@ @=}} |'
+    expected: '|  |'
+
+  - name: Outlying Whitespace (Inline)
+    desc: Whitespace should be left untouched.
+    data: { }
+    template: " | {{=@ @=}}\n"
+    expected: " | \n"
+
+  - name: Standalone Tag
+    desc: Standalone lines should be removed from the template.
+    data: { }
+    template: |
+      Begin.
+      {{=@ @=}}
+      End.
+    expected: |
+      Begin.
+      End.
+
+  - name: Indented Standalone Tag
+    desc: Indented standalone lines should be removed from the template.
+    data: { }
+    template: |
+      Begin.
+        {{=@ @=}}
+      End.
+    expected: |
+      Begin.
+      End.
+
+  - name: Standalone Line Endings
+    desc: '"\r\n" should be considered a newline for standalone tags.'
+    data: { }
+    template: "|\r\n{{= @ @ =}}\r\n|"
+    expected: "|\r\n|"
+
+  - name: Standalone Without Previous Line
+    desc: Standalone tags should not require a newline to precede them.
+    data: { }
+    template: "  {{=@ @=}}\n="
+    expected: "="
+
+  - name: Standalone Without Newline
+    desc: Standalone tags should not require a newline to follow them.
+    data: { }
+    template: "=\n  {{=@ @=}}"
+    expected: "=\n"
+
+  # Whitespace Insensitivity
+
+  - name: Pair with Padding
+    desc: Superfluous in-tag whitespace should be ignored.
+    data: { }
+    template: '|{{= @   @ =}}|'
+    expected: '||'
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/interpolation.json b/docs/build/node_modules/hogan.js/test/spec/specs/interpolation.json
new file mode 100644
index 0000000000..d1a1a32897
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/interpolation.json
@@ -0,0 +1 @@
+{"__ATTN__":"Do not edit this file; changes belong in the appropriate YAML file.","overview":"Interpolation tags are used to integrate dynamic content into the template.\n\nThe tag's content MUST be a non-whitespace character sequence NOT containing\nthe current closing delimiter.\n\nThis tag's content names the data to replace the tag.  A single period (`.`)\nindicates that the item currently sitting atop the context stack should be\nused; otherwise, name resolution is as follows:\n  1) Split the name on periods; the first part is the name to resolve, any\n  remaining parts should be retained.\n  2) Walk the context stack from top to bottom, finding the first context\n  that is a) a hash containing the name as a key OR b) an object responding\n  to a method with the given name.\n  3) If the context is a hash, the data is the value associated with the\n  name.\n  4) If the context is an object, the data is the value returned by the\n  method with the given name.\n  5) If any name parts were retained in step 1, each should be resolved\n  against a context stack containing only the result from the former\n  resolution.  If any part fails resolution, the result should be considered\n  falsey, and should interpolate as the empty string.\nData should be coerced into a string (and escaped, if appropriate) before\ninterpolation.\n\nThe Interpolation tags MUST NOT be treated as standalone.\n","tests":[{"name":"No Interpolation","data":{},"expected":"Hello from {Mustache}!\n","template":"Hello from {Mustache}!\n","desc":"Mustache-free templates should render as-is."},{"name":"Basic Interpolation","data":{"subject":"world"},"expected":"Hello, world!\n","template":"Hello, {{subject}}!\n","desc":"Unadorned tags should interpolate content into the template."},{"name":"HTML Escaping","data":{"forbidden":"& \" < >"},"expected":"These characters should be HTML escaped: &amp; &quot; &lt; &gt;\n","template":"These characters should be HTML escaped: {{forbidden}}\n","desc":"Basic interpolation should be HTML escaped."},{"name":"Triple Mustache","data":{"forbidden":"& \" < >"},"expected":"These characters should not be HTML escaped: & \" < >\n","template":"These characters should not be HTML escaped: {{{forbidden}}}\n","desc":"Triple mustaches should interpolate without HTML escaping."},{"name":"Ampersand","data":{"forbidden":"& \" < >"},"expected":"These characters should not be HTML escaped: & \" < >\n","template":"These characters should not be HTML escaped: {{&forbidden}}\n","desc":"Ampersand should interpolate without HTML escaping."},{"name":"Basic Integer Interpolation","data":{"mph":85},"expected":"\"85 miles an hour!\"","template":"\"{{mph}} miles an hour!\"","desc":"Integers should interpolate seamlessly."},{"name":"Triple Mustache Integer Interpolation","data":{"mph":85},"expected":"\"85 miles an hour!\"","template":"\"{{{mph}}} miles an hour!\"","desc":"Integers should interpolate seamlessly."},{"name":"Ampersand Integer Interpolation","data":{"mph":85},"expected":"\"85 miles an hour!\"","template":"\"{{&mph}} miles an hour!\"","desc":"Integers should interpolate seamlessly."},{"name":"Basic Decimal Interpolation","data":{"power":1.21},"expected":"\"1.21 jiggawatts!\"","template":"\"{{power}} jiggawatts!\"","desc":"Decimals should interpolate seamlessly with proper significance."},{"name":"Triple Mustache Decimal Interpolation","data":{"power":1.21},"expected":"\"1.21 jiggawatts!\"","template":"\"{{{power}}} jiggawatts!\"","desc":"Decimals should interpolate seamlessly with proper significance."},{"name":"Ampersand Decimal Interpolation","data":{"power":1.21},"expected":"\"1.21 jiggawatts!\"","template":"\"{{&power}} jiggawatts!\"","desc":"Decimals should interpolate seamlessly with proper significance."},{"name":"Basic Context Miss Interpolation","data":{},"expected":"I () be seen!","template":"I ({{cannot}}) be seen!","desc":"Failed context lookups should default to empty strings."},{"name":"Triple Mustache Context Miss Interpolation","data":{},"expected":"I () be seen!","template":"I ({{{cannot}}}) be seen!","desc":"Failed context lookups should default to empty strings."},{"name":"Ampersand Context Miss Interpolation","data":{},"expected":"I () be seen!","template":"I ({{&cannot}}) be seen!","desc":"Failed context lookups should default to empty strings."},{"name":"Dotted Names - Basic Interpolation","data":{"person":{"name":"Joe"}},"expected":"\"Joe\" == \"Joe\"","template":"\"{{person.name}}\" == \"{{#person}}{{name}}{{/person}}\"","desc":"Dotted names should be considered a form of shorthand for sections."},{"name":"Dotted Names - Triple Mustache Interpolation","data":{"person":{"name":"Joe"}},"expected":"\"Joe\" == \"Joe\"","template":"\"{{{person.name}}}\" == \"{{#person}}{{{name}}}{{/person}}\"","desc":"Dotted names should be considered a form of shorthand for sections."},{"name":"Dotted Names - Ampersand Interpolation","data":{"person":{"name":"Joe"}},"expected":"\"Joe\" == \"Joe\"","template":"\"{{&person.name}}\" == \"{{#person}}{{&name}}{{/person}}\"","desc":"Dotted names should be considered a form of shorthand for sections."},{"name":"Dotted Names - Arbitrary Depth","data":{"a":{"b":{"c":{"d":{"e":{"name":"Phil"}}}}}},"expected":"\"Phil\" == \"Phil\"","template":"\"{{a.b.c.d.e.name}}\" == \"Phil\"","desc":"Dotted names should be functional to any level of nesting."},{"name":"Dotted Names - Broken Chains","data":{"a":{}},"expected":"\"\" == \"\"","template":"\"{{a.b.c}}\" == \"\"","desc":"Any falsey value prior to the last part of the name should yield ''."},{"name":"Dotted Names - Broken Chain Resolution","data":{"a":{"b":{}},"c":{"name":"Jim"}},"expected":"\"\" == \"\"","template":"\"{{a.b.c.name}}\" == \"\"","desc":"Each part of a dotted name should resolve only against its parent."},{"name":"Dotted Names - Initial Resolution","data":{"a":{"b":{"c":{"d":{"e":{"name":"Phil"}}}}},"b":{"c":{"d":{"e":{"name":"Wrong"}}}}},"expected":"\"Phil\" == \"Phil\"","template":"\"{{#a}}{{b.c.d.e.name}}{{/a}}\" == \"Phil\"","desc":"The first part of a dotted name should resolve as any other name."},{"name":"Interpolation - Surrounding Whitespace","data":{"string":"---"},"expected":"| --- |","template":"| {{string}} |","desc":"Interpolation should not alter surrounding whitespace."},{"name":"Triple Mustache - Surrounding Whitespace","data":{"string":"---"},"expected":"| --- |","template":"| {{{string}}} |","desc":"Interpolation should not alter surrounding whitespace."},{"name":"Ampersand - Surrounding Whitespace","data":{"string":"---"},"expected":"| --- |","template":"| {{&string}} |","desc":"Interpolation should not alter surrounding whitespace."},{"name":"Interpolation - Standalone","data":{"string":"---"},"expected":"  ---\n","template":"  {{string}}\n","desc":"Standalone interpolation should not alter surrounding whitespace."},{"name":"Triple Mustache - Standalone","data":{"string":"---"},"expected":"  ---\n","template":"  {{{string}}}\n","desc":"Standalone interpolation should not alter surrounding whitespace."},{"name":"Ampersand - Standalone","data":{"string":"---"},"expected":"  ---\n","template":"  {{&string}}\n","desc":"Standalone interpolation should not alter surrounding whitespace."},{"name":"Interpolation With Padding","data":{"string":"---"},"expected":"|---|","template":"|{{ string }}|","desc":"Superfluous in-tag whitespace should be ignored."},{"name":"Triple Mustache With Padding","data":{"string":"---"},"expected":"|---|","template":"|{{{ string }}}|","desc":"Superfluous in-tag whitespace should be ignored."},{"name":"Ampersand With Padding","data":{"string":"---"},"expected":"|---|","template":"|{{& string }}|","desc":"Superfluous in-tag whitespace should be ignored."}]}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/interpolation.yml b/docs/build/node_modules/hogan.js/test/spec/specs/interpolation.yml
new file mode 100644
index 0000000000..2237b55f8d
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/interpolation.yml
@@ -0,0 +1,230 @@
+overview: |
+  Interpolation tags are used to integrate dynamic content into the template.
+
+  The tag's content MUST be a non-whitespace character sequence NOT containing
+  the current closing delimiter.
+
+  This tag's content names the data to replace the tag.  A single period (`.`)
+  indicates that the item currently sitting atop the context stack should be
+  used; otherwise, name resolution is as follows:
+    1) Split the name on periods; the first part is the name to resolve, any
+    remaining parts should be retained.
+    2) Walk the context stack from top to bottom, finding the first context
+    that is a) a hash containing the name as a key OR b) an object responding
+    to a method with the given name.
+    3) If the context is a hash, the data is the value associated with the
+    name.
+    4) If the context is an object, the data is the value returned by the
+    method with the given name.
+    5) If any name parts were retained in step 1, each should be resolved
+    against a context stack containing only the result from the former
+    resolution.  If any part fails resolution, the result should be considered
+    falsey, and should interpolate as the empty string.
+  Data should be coerced into a string (and escaped, if appropriate) before
+  interpolation.
+
+  The Interpolation tags MUST NOT be treated as standalone.
+tests:
+  - name: No Interpolation
+    desc: Mustache-free templates should render as-is.
+    data: { }
+    template: |
+      Hello from {Mustache}!
+    expected: |
+      Hello from {Mustache}!
+
+  - name: Basic Interpolation
+    desc: Unadorned tags should interpolate content into the template.
+    data: { subject: "world" }
+    template: |
+      Hello, {{subject}}!
+    expected: |
+      Hello, world!
+
+  - name: HTML Escaping
+    desc: Basic interpolation should be HTML escaped.
+    data: { forbidden: '& " < >' }
+    template: |
+      These characters should be HTML escaped: {{forbidden}}
+    expected: |
+      These characters should be HTML escaped: &amp; &quot; &lt; &gt;
+
+  - name: Triple Mustache
+    desc: Triple mustaches should interpolate without HTML escaping.
+    data: { forbidden: '& " < >' }
+    template: |
+      These characters should not be HTML escaped: {{{forbidden}}}
+    expected: |
+      These characters should not be HTML escaped: & " < >
+
+  - name: Ampersand
+    desc: Ampersand should interpolate without HTML escaping.
+    data: { forbidden: '& " < >' }
+    template: |
+      These characters should not be HTML escaped: {{&forbidden}}
+    expected: |
+      These characters should not be HTML escaped: & " < >
+
+  - name: Basic Integer Interpolation
+    desc: Integers should interpolate seamlessly.
+    data: { mph: 85 }
+    template: '"{{mph}} miles an hour!"'
+    expected: '"85 miles an hour!"'
+
+  - name: Triple Mustache Integer Interpolation
+    desc: Integers should interpolate seamlessly.
+    data: { mph: 85 }
+    template: '"{{{mph}}} miles an hour!"'
+    expected: '"85 miles an hour!"'
+
+  - name: Ampersand Integer Interpolation
+    desc: Integers should interpolate seamlessly.
+    data: { mph: 85 }
+    template: '"{{&mph}} miles an hour!"'
+    expected: '"85 miles an hour!"'
+
+  - name: Basic Decimal Interpolation
+    desc: Decimals should interpolate seamlessly with proper significance.
+    data: { power: 1.210 }
+    template: '"{{power}} jiggawatts!"'
+    expected: '"1.21 jiggawatts!"'
+
+  - name: Triple Mustache Decimal Interpolation
+    desc: Decimals should interpolate seamlessly with proper significance.
+    data: { power: 1.210 }
+    template: '"{{{power}}} jiggawatts!"'
+    expected: '"1.21 jiggawatts!"'
+
+  - name: Ampersand Decimal Interpolation
+    desc: Decimals should interpolate seamlessly with proper significance.
+    data: { power: 1.210 }
+    template: '"{{&power}} jiggawatts!"'
+    expected: '"1.21 jiggawatts!"'
+
+  # Context Misses
+
+  - name: Basic Context Miss Interpolation
+    desc: Failed context lookups should default to empty strings.
+    data: { }
+    template: "I ({{cannot}}) be seen!"
+    expected: "I () be seen!"
+
+  - name: Triple Mustache Context Miss Interpolation
+    desc: Failed context lookups should default to empty strings.
+    data: { }
+    template: "I ({{{cannot}}}) be seen!"
+    expected: "I () be seen!"
+
+  - name: Ampersand Context Miss Interpolation
+    desc: Failed context lookups should default to empty strings.
+    data: { }
+    template: "I ({{&cannot}}) be seen!"
+    expected: "I () be seen!"
+
+  # Dotted Names
+
+  - name: Dotted Names - Basic Interpolation
+    desc: Dotted names should be considered a form of shorthand for sections.
+    data: { person: { name: 'Joe' } }
+    template: '"{{person.name}}" == "{{#person}}{{name}}{{/person}}"'
+    expected: '"Joe" == "Joe"'
+
+  - name: Dotted Names - Triple Mustache Interpolation
+    desc: Dotted names should be considered a form of shorthand for sections.
+    data: { person: { name: 'Joe' } }
+    template: '"{{{person.name}}}" == "{{#person}}{{{name}}}{{/person}}"'
+    expected: '"Joe" == "Joe"'
+
+  - name: Dotted Names - Ampersand Interpolation
+    desc: Dotted names should be considered a form of shorthand for sections.
+    data: { person: { name: 'Joe' } }
+    template: '"{{&person.name}}" == "{{#person}}{{&name}}{{/person}}"'
+    expected: '"Joe" == "Joe"'
+
+  - name: Dotted Names - Arbitrary Depth
+    desc: Dotted names should be functional to any level of nesting.
+    data:
+      a: { b: { c: { d: { e: { name: 'Phil' } } } } }
+    template: '"{{a.b.c.d.e.name}}" == "Phil"'
+    expected: '"Phil" == "Phil"'
+
+  - name: Dotted Names - Broken Chains
+    desc: Any falsey value prior to the last part of the name should yield ''.
+    data:
+      a: { }
+    template: '"{{a.b.c}}" == ""'
+    expected: '"" == ""'
+
+  - name: Dotted Names - Broken Chain Resolution
+    desc: Each part of a dotted name should resolve only against its parent.
+    data:
+      a: { b: { } }
+      c: { name: 'Jim' }
+    template: '"{{a.b.c.name}}" == ""'
+    expected: '"" == ""'
+
+  - name: Dotted Names - Initial Resolution
+    desc: The first part of a dotted name should resolve as any other name.
+    data:
+      a: { b: { c: { d: { e: { name: 'Phil' } } } } }
+      b: { c: { d: { e: { name: 'Wrong' } } } }
+    template: '"{{#a}}{{b.c.d.e.name}}{{/a}}" == "Phil"'
+    expected: '"Phil" == "Phil"'
+
+  # Whitespace Sensitivity
+
+  - name: Interpolation - Surrounding Whitespace
+    desc: Interpolation should not alter surrounding whitespace.
+    data: { string: '---' }
+    template: '| {{string}} |'
+    expected: '| --- |'
+
+  - name: Triple Mustache - Surrounding Whitespace
+    desc: Interpolation should not alter surrounding whitespace.
+    data: { string: '---' }
+    template: '| {{{string}}} |'
+    expected: '| --- |'
+
+  - name: Ampersand - Surrounding Whitespace
+    desc: Interpolation should not alter surrounding whitespace.
+    data: { string: '---' }
+    template: '| {{&string}} |'
+    expected: '| --- |'
+
+  - name: Interpolation - Standalone
+    desc: Standalone interpolation should not alter surrounding whitespace.
+    data: { string: '---' }
+    template: "  {{string}}\n"
+    expected: "  ---\n"
+
+  - name: Triple Mustache - Standalone
+    desc: Standalone interpolation should not alter surrounding whitespace.
+    data: { string: '---' }
+    template: "  {{{string}}}\n"
+    expected: "  ---\n"
+
+  - name: Ampersand - Standalone
+    desc: Standalone interpolation should not alter surrounding whitespace.
+    data: { string: '---' }
+    template: "  {{&string}}\n"
+    expected: "  ---\n"
+
+  # Whitespace Insensitivity
+
+  - name: Interpolation With Padding
+    desc: Superfluous in-tag whitespace should be ignored.
+    data: { string: "---" }
+    template: '|{{ string }}|'
+    expected: '|---|'
+
+  - name: Triple Mustache With Padding
+    desc: Superfluous in-tag whitespace should be ignored.
+    data: { string: "---" }
+    template: '|{{{ string }}}|'
+    expected: '|---|'
+
+  - name: Ampersand With Padding
+    desc: Superfluous in-tag whitespace should be ignored.
+    data: { string: "---" }
+    template: '|{{& string }}|'
+    expected: '|---|'
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/inverted.json b/docs/build/node_modules/hogan.js/test/spec/specs/inverted.json
new file mode 100644
index 0000000000..c9b550b964
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/inverted.json
@@ -0,0 +1 @@
+{"__ATTN__":"Do not edit this file; changes belong in the appropriate YAML file.","overview":"Inverted Section tags and End Section tags are used in combination to wrap a\nsection of the template.\n\nThese tags' content MUST be a non-whitespace character sequence NOT\ncontaining the current closing delimiter; each Inverted Section tag MUST be\nfollowed by an End Section tag with the same content within the same\nsection.\n\nThis tag's content names the data to replace the tag.  Name resolution is as\nfollows:\n  1) Split the name on periods; the first part is the name to resolve, any\n  remaining parts should be retained.\n  2) Walk the context stack from top to bottom, finding the first context\n  that is a) a hash containing the name as a key OR b) an object responding\n  to a method with the given name.\n  3) If the context is a hash, the data is the value associated with the\n  name.\n  4) If the context is an object and the method with the given name has an\n  arity of 1, the method SHOULD be called with a String containing the\n  unprocessed contents of the sections; the data is the value returned.\n  5) Otherwise, the data is the value returned by calling the method with\n  the given name.\n  6) If any name parts were retained in step 1, each should be resolved\n  against a context stack containing only the result from the former\n  resolution.  If any part fails resolution, the result should be considered\n  falsey, and should interpolate as the empty string.\nIf the data is not of a list type, it is coerced into a list as follows: if\nthe data is truthy (e.g. `!!data == true`), use a single-element list\ncontaining the data, otherwise use an empty list.\n\nThis section MUST NOT be rendered unless the data list is empty.\n\nInverted Section and End Section tags SHOULD be treated as standalone when\nappropriate.\n","tests":[{"name":"Falsey","data":{"boolean":false},"expected":"\"This should be rendered.\"","template":"\"{{^boolean}}This should be rendered.{{/boolean}}\"","desc":"Falsey sections should have their contents rendered."},{"name":"Truthy","data":{"boolean":true},"expected":"\"\"","template":"\"{{^boolean}}This should not be rendered.{{/boolean}}\"","desc":"Truthy sections should have their contents omitted."},{"name":"Context","data":{"context":{"name":"Joe"}},"expected":"\"\"","template":"\"{{^context}}Hi {{name}}.{{/context}}\"","desc":"Objects and hashes should behave like truthy values."},{"name":"List","data":{"list":[{"n":1},{"n":2},{"n":3}]},"expected":"\"\"","template":"\"{{^list}}{{n}}{{/list}}\"","desc":"Lists should behave like truthy values."},{"name":"Empty List","data":{"list":[]},"expected":"\"Yay lists!\"","template":"\"{{^list}}Yay lists!{{/list}}\"","desc":"Empty lists should behave like falsey values."},{"name":"Doubled","data":{"two":"second","bool":false},"expected":"* first\n* second\n* third\n","template":"{{^bool}}\n* first\n{{/bool}}\n* {{two}}\n{{^bool}}\n* third\n{{/bool}}\n","desc":"Multiple inverted sections per template should be permitted."},{"name":"Nested (Falsey)","data":{"bool":false},"expected":"| A B C D E |","template":"| A {{^bool}}B {{^bool}}C{{/bool}} D{{/bool}} E |","desc":"Nested falsey sections should have their contents rendered."},{"name":"Nested (Truthy)","data":{"bool":true},"expected":"| A  E |","template":"| A {{^bool}}B {{^bool}}C{{/bool}} D{{/bool}} E |","desc":"Nested truthy sections should be omitted."},{"name":"Context Misses","data":{},"expected":"[Cannot find key 'missing'!]","template":"[{{^missing}}Cannot find key 'missing'!{{/missing}}]","desc":"Failed context lookups should be considered falsey."},{"name":"Dotted Names - Truthy","data":{"a":{"b":{"c":true}}},"expected":"\"\" == \"\"","template":"\"{{^a.b.c}}Not Here{{/a.b.c}}\" == \"\"","desc":"Dotted names should be valid for Inverted Section tags."},{"name":"Dotted Names - Falsey","data":{"a":{"b":{"c":false}}},"expected":"\"Not Here\" == \"Not Here\"","template":"\"{{^a.b.c}}Not Here{{/a.b.c}}\" == \"Not Here\"","desc":"Dotted names should be valid for Inverted Section tags."},{"name":"Dotted Names - Broken Chains","data":{"a":{}},"expected":"\"Not Here\" == \"Not Here\"","template":"\"{{^a.b.c}}Not Here{{/a.b.c}}\" == \"Not Here\"","desc":"Dotted names that cannot be resolved should be considered falsey."},{"name":"Surrounding Whitespace","data":{"boolean":false},"expected":" | \t|\t | \n","template":" | {{^boolean}}\t|\t{{/boolean}} | \n","desc":"Inverted sections should not alter surrounding whitespace."},{"name":"Internal Whitespace","data":{"boolean":false},"expected":" |  \n  | \n","template":" | {{^boolean}} {{! Important Whitespace }}\n {{/boolean}} | \n","desc":"Inverted should not alter internal whitespace."},{"name":"Indented Inline Sections","data":{"boolean":false},"expected":" NO\n WAY\n","template":" {{^boolean}}NO{{/boolean}}\n {{^boolean}}WAY{{/boolean}}\n","desc":"Single-line sections should not alter surrounding whitespace."},{"name":"Standalone Lines","data":{"boolean":false},"expected":"| This Is\n|\n| A Line\n","template":"| This Is\n{{^boolean}}\n|\n{{/boolean}}\n| A Line\n","desc":"Standalone lines should be removed from the template."},{"name":"Standalone Indented Lines","data":{"boolean":false},"expected":"| This Is\n|\n| A Line\n","template":"| This Is\n  {{^boolean}}\n|\n  {{/boolean}}\n| A Line\n","desc":"Standalone indented lines should be removed from the template."},{"name":"Standalone Line Endings","data":{"boolean":false},"expected":"|\r\n|","template":"|\r\n{{^boolean}}\r\n{{/boolean}}\r\n|","desc":"\"\\r\\n\" should be considered a newline for standalone tags."},{"name":"Standalone Without Previous Line","data":{"boolean":false},"expected":"^\n/","template":"  {{^boolean}}\n^{{/boolean}}\n/","desc":"Standalone tags should not require a newline to precede them."},{"name":"Standalone Without Newline","data":{"boolean":false},"expected":"^\n/\n","template":"^{{^boolean}}\n/\n  {{/boolean}}","desc":"Standalone tags should not require a newline to follow them."},{"name":"Padding","data":{"boolean":false},"expected":"|=|","template":"|{{^ boolean }}={{/ boolean }}|","desc":"Superfluous in-tag whitespace should be ignored."}]}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/inverted.yml b/docs/build/node_modules/hogan.js/test/spec/specs/inverted.yml
new file mode 100644
index 0000000000..5f8e2b2f3c
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/inverted.yml
@@ -0,0 +1,193 @@
+overview: |
+  Inverted Section tags and End Section tags are used in combination to wrap a
+  section of the template.
+
+  These tags' content MUST be a non-whitespace character sequence NOT
+  containing the current closing delimiter; each Inverted Section tag MUST be
+  followed by an End Section tag with the same content within the same
+  section.
+
+  This tag's content names the data to replace the tag.  Name resolution is as
+  follows:
+    1) Split the name on periods; the first part is the name to resolve, any
+    remaining parts should be retained.
+    2) Walk the context stack from top to bottom, finding the first context
+    that is a) a hash containing the name as a key OR b) an object responding
+    to a method with the given name.
+    3) If the context is a hash, the data is the value associated with the
+    name.
+    4) If the context is an object and the method with the given name has an
+    arity of 1, the method SHOULD be called with a String containing the
+    unprocessed contents of the sections; the data is the value returned.
+    5) Otherwise, the data is the value returned by calling the method with
+    the given name.
+    6) If any name parts were retained in step 1, each should be resolved
+    against a context stack containing only the result from the former
+    resolution.  If any part fails resolution, the result should be considered
+    falsey, and should interpolate as the empty string.
+  If the data is not of a list type, it is coerced into a list as follows: if
+  the data is truthy (e.g. `!!data == true`), use a single-element list
+  containing the data, otherwise use an empty list.
+
+  This section MUST NOT be rendered unless the data list is empty.
+
+  Inverted Section and End Section tags SHOULD be treated as standalone when
+  appropriate.
+tests:
+  - name: Falsey
+    desc: Falsey sections should have their contents rendered.
+    data: { boolean: false }
+    template: '"{{^boolean}}This should be rendered.{{/boolean}}"'
+    expected: '"This should be rendered."'
+
+  - name: Truthy
+    desc: Truthy sections should have their contents omitted.
+    data: { boolean: true }
+    template: '"{{^boolean}}This should not be rendered.{{/boolean}}"'
+    expected: '""'
+
+  - name: Context
+    desc: Objects and hashes should behave like truthy values.
+    data: { context: { name: 'Joe' } }
+    template: '"{{^context}}Hi {{name}}.{{/context}}"'
+    expected: '""'
+
+  - name: List
+    desc: Lists should behave like truthy values.
+    data: { list: [ { n: 1 }, { n: 2 }, { n: 3 } ] }
+    template: '"{{^list}}{{n}}{{/list}}"'
+    expected: '""'
+
+  - name: Empty List
+    desc: Empty lists should behave like falsey values.
+    data: { list: [ ] }
+    template: '"{{^list}}Yay lists!{{/list}}"'
+    expected: '"Yay lists!"'
+
+  - name: Doubled
+    desc: Multiple inverted sections per template should be permitted.
+    data: { bool: false, two: 'second' }
+    template: |
+      {{^bool}}
+      * first
+      {{/bool}}
+      * {{two}}
+      {{^bool}}
+      * third
+      {{/bool}}
+    expected: |
+      * first
+      * second
+      * third
+
+  - name: Nested (Falsey)
+    desc: Nested falsey sections should have their contents rendered.
+    data: { bool: false }
+    template: "| A {{^bool}}B {{^bool}}C{{/bool}} D{{/bool}} E |"
+    expected: "| A B C D E |"
+
+  - name: Nested (Truthy)
+    desc: Nested truthy sections should be omitted.
+    data: { bool: true }
+    template: "| A {{^bool}}B {{^bool}}C{{/bool}} D{{/bool}} E |"
+    expected: "| A  E |"
+
+  - name: Context Misses
+    desc: Failed context lookups should be considered falsey.
+    data: { }
+    template: "[{{^missing}}Cannot find key 'missing'!{{/missing}}]"
+    expected: "[Cannot find key 'missing'!]"
+
+  # Dotted Names
+
+  - name: Dotted Names - Truthy
+    desc: Dotted names should be valid for Inverted Section tags.
+    data: { a: { b: { c: true } } }
+    template: '"{{^a.b.c}}Not Here{{/a.b.c}}" == ""'
+    expected: '"" == ""'
+
+  - name: Dotted Names - Falsey
+    desc: Dotted names should be valid for Inverted Section tags.
+    data: { a: { b: { c: false } } }
+    template: '"{{^a.b.c}}Not Here{{/a.b.c}}" == "Not Here"'
+    expected: '"Not Here" == "Not Here"'
+
+  - name: Dotted Names - Broken Chains
+    desc: Dotted names that cannot be resolved should be considered falsey.
+    data: { a: { } }
+    template: '"{{^a.b.c}}Not Here{{/a.b.c}}" == "Not Here"'
+    expected: '"Not Here" == "Not Here"'
+
+  # Whitespace Sensitivity
+
+  - name: Surrounding Whitespace
+    desc: Inverted sections should not alter surrounding whitespace.
+    data: { boolean: false }
+    template: " | {{^boolean}}\t|\t{{/boolean}} | \n"
+    expected: " | \t|\t | \n"
+
+  - name: Internal Whitespace
+    desc: Inverted should not alter internal whitespace.
+    data: { boolean: false }
+    template: " | {{^boolean}} {{! Important Whitespace }}\n {{/boolean}} | \n"
+    expected: " |  \n  | \n"
+
+  - name: Indented Inline Sections
+    desc: Single-line sections should not alter surrounding whitespace.
+    data: { boolean: false }
+    template: " {{^boolean}}NO{{/boolean}}\n {{^boolean}}WAY{{/boolean}}\n"
+    expected: " NO\n WAY\n"
+
+  - name: Standalone Lines
+    desc: Standalone lines should be removed from the template.
+    data: { boolean: false }
+    template: |
+      | This Is
+      {{^boolean}}
+      |
+      {{/boolean}}
+      | A Line
+    expected: |
+      | This Is
+      |
+      | A Line
+
+  - name: Standalone Indented Lines
+    desc: Standalone indented lines should be removed from the template.
+    data: { boolean: false }
+    template: |
+      | This Is
+        {{^boolean}}
+      |
+        {{/boolean}}
+      | A Line
+    expected: |
+      | This Is
+      |
+      | A Line
+
+  - name: Standalone Line Endings
+    desc: '"\r\n" should be considered a newline for standalone tags.'
+    data: { boolean: false }
+    template: "|\r\n{{^boolean}}\r\n{{/boolean}}\r\n|"
+    expected: "|\r\n|"
+
+  - name: Standalone Without Previous Line
+    desc: Standalone tags should not require a newline to precede them.
+    data: { boolean: false }
+    template: "  {{^boolean}}\n^{{/boolean}}\n/"
+    expected: "^\n/"
+
+  - name: Standalone Without Newline
+    desc: Standalone tags should not require a newline to follow them.
+    data: { boolean: false }
+    template: "^{{^boolean}}\n/\n  {{/boolean}}"
+    expected: "^\n/\n"
+
+  # Whitespace Insensitivity
+
+  - name: Padding
+    desc: Superfluous in-tag whitespace should be ignored.
+    data: { boolean: false }
+    template: '|{{^ boolean }}={{/ boolean }}|'
+    expected: '|=|'
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/partials.json b/docs/build/node_modules/hogan.js/test/spec/specs/partials.json
new file mode 100644
index 0000000000..e5f21a2a48
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/partials.json
@@ -0,0 +1 @@
+{"__ATTN__":"Do not edit this file; changes belong in the appropriate YAML file.","overview":"Partial tags are used to expand an external template into the current\ntemplate.\n\nThe tag's content MUST be a non-whitespace character sequence NOT containing\nthe current closing delimiter.\n\nThis tag's content names the partial to inject.  Set Delimiter tags MUST NOT\naffect the parsing of a partial.  The partial MUST be rendered against the\ncontext stack local to the tag.  If the named partial cannot be found, the\nempty string SHOULD be used instead, as in interpolations.\n\nPartial tags SHOULD be treated as standalone when appropriate.  If this tag\nis used standalone, any whitespace preceding the tag should treated as\nindentation, and prepended to each line of the partial before rendering.\n","tests":[{"name":"Basic Behavior","data":{},"expected":"\"from partial\"","template":"\"{{>text}}\"","desc":"The greater-than operator should expand to the named partial.","partials":{"text":"from partial"}},{"name":"Failed Lookup","data":{},"expected":"\"\"","template":"\"{{>text}}\"","desc":"The empty string should be used when the named partial is not found.","partials":{}},{"name":"Context","data":{"text":"content"},"expected":"\"*content*\"","template":"\"{{>partial}}\"","desc":"The greater-than operator should operate within the current context.","partials":{"partial":"*{{text}}*"}},{"name":"Recursion","data":{"content":"X","nodes":[{"content":"Y","nodes":[]}]},"expected":"X<Y<>>","template":"{{>node}}","desc":"The greater-than operator should properly recurse.","partials":{"node":"{{content}}<{{#nodes}}{{>node}}{{/nodes}}>"}},{"name":"Surrounding Whitespace","data":{},"expected":"| \t|\t |","template":"| {{>partial}} |","desc":"The greater-than operator should not alter surrounding whitespace.","partials":{"partial":"\t|\t"}},{"name":"Inline Indentation","data":{"data":"|"},"expected":"  |  >\n>\n","template":"  {{data}}  {{> partial}}\n","desc":"Whitespace should be left untouched.","partials":{"partial":">\n>"}},{"name":"Standalone Line Endings","data":{},"expected":"|\r\n>|","template":"|\r\n{{>partial}}\r\n|","desc":"\"\\r\\n\" should be considered a newline for standalone tags.","partials":{"partial":">"}},{"name":"Standalone Without Previous Line","data":{},"expected":"  >\n  >>","template":"  {{>partial}}\n>","desc":"Standalone tags should not require a newline to precede them.","partials":{"partial":">\n>"}},{"name":"Standalone Without Newline","data":{},"expected":">\n  >\n  >","template":">\n  {{>partial}}","desc":"Standalone tags should not require a newline to follow them.","partials":{"partial":">\n>"}},{"name":"Standalone Indentation","data":{"content":"<\n->"},"expected":"\\\n |\n <\n->\n |\n/\n","template":"\\\n {{>partial}}\n/\n","desc":"Each line of the partial should be indented before rendering.","partials":{"partial":"|\n{{{content}}}\n|\n"}},{"name":"Padding Whitespace","data":{"boolean":true},"expected":"|[]|","template":"|{{> partial }}|","desc":"Superfluous in-tag whitespace should be ignored.","partials":{"partial":"[]"}}]}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/partials.yml b/docs/build/node_modules/hogan.js/test/spec/specs/partials.yml
new file mode 100644
index 0000000000..8c415439f2
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/partials.yml
@@ -0,0 +1,109 @@
+overview: |
+  Partial tags are used to expand an external template into the current
+  template.
+
+  The tag's content MUST be a non-whitespace character sequence NOT containing
+  the current closing delimiter.
+
+  This tag's content names the partial to inject.  Set Delimiter tags MUST NOT
+  affect the parsing of a partial.  The partial MUST be rendered against the
+  context stack local to the tag.  If the named partial cannot be found, the
+  empty string SHOULD be used instead, as in interpolations.
+
+  Partial tags SHOULD be treated as standalone when appropriate.  If this tag
+  is used standalone, any whitespace preceding the tag should treated as
+  indentation, and prepended to each line of the partial before rendering.
+tests:
+  - name: Basic Behavior
+    desc: The greater-than operator should expand to the named partial.
+    data: { }
+    template: '"{{>text}}"'
+    partials: { text: 'from partial' }
+    expected: '"from partial"'
+
+  - name: Failed Lookup
+    desc: The empty string should be used when the named partial is not found.
+    data: { }
+    template: '"{{>text}}"'
+    partials: { }
+    expected: '""'
+
+  - name: Context
+    desc: The greater-than operator should operate within the current context.
+    data: { text: 'content' }
+    template: '"{{>partial}}"'
+    partials: { partial: '*{{text}}*' }
+    expected: '"*content*"'
+
+  - name: Recursion
+    desc: The greater-than operator should properly recurse.
+    data: { content: "X", nodes: [ { content: "Y", nodes: [] } ] }
+    template: '{{>node}}'
+    partials: { node: '{{content}}<{{#nodes}}{{>node}}{{/nodes}}>' }
+    expected: 'X<Y<>>'
+
+  # Whitespace Sensitivity
+
+  - name: Surrounding Whitespace
+    desc: The greater-than operator should not alter surrounding whitespace.
+    data: { }
+    template: '| {{>partial}} |'
+    partials: { partial: "\t|\t" }
+    expected: "| \t|\t |"
+
+  - name: Inline Indentation
+    desc: Whitespace should be left untouched.
+    data: { data: '|' }
+    template: "  {{data}}  {{> partial}}\n"
+    partials: { partial: ">\n>" }
+    expected: "  |  >\n>\n"
+
+  - name: Standalone Line Endings
+    desc: '"\r\n" should be considered a newline for standalone tags.'
+    data: { }
+    template: "|\r\n{{>partial}}\r\n|"
+    partials: { partial: ">" }
+    expected: "|\r\n>|"
+
+  - name: Standalone Without Previous Line
+    desc: Standalone tags should not require a newline to precede them.
+    data: { }
+    template: "  {{>partial}}\n>"
+    partials: { partial: ">\n>"}
+    expected: "  >\n  >>"
+
+  - name: Standalone Without Newline
+    desc: Standalone tags should not require a newline to follow them.
+    data: { }
+    template: ">\n  {{>partial}}"
+    partials: { partial: ">\n>" }
+    expected: ">\n  >\n  >"
+
+  - name: Standalone Indentation
+    desc: Each line of the partial should be indented before rendering.
+    data: { content: "<\n->" }
+    template: |
+      \
+       {{>partial}}
+      /
+    partials:
+      partial: |
+        |
+        {{{content}}}
+        |
+    expected: |
+      \
+       |
+       <
+      ->
+       |
+      /
+
+  # Whitespace Insensitivity
+
+  - name: Padding Whitespace
+    desc: Superfluous in-tag whitespace should be ignored.
+    data: { boolean: true }
+    template: "|{{> partial }}|"
+    partials: { partial: "[]" }
+    expected: '|[]|'
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/sections.json b/docs/build/node_modules/hogan.js/test/spec/specs/sections.json
new file mode 100644
index 0000000000..b0aa352e10
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/sections.json
@@ -0,0 +1 @@
+{"__ATTN__":"Do not edit this file; changes belong in the appropriate YAML file.","overview":"Section tags and End Section tags are used in combination to wrap a section\nof the template for iteration\n\nThese tags' content MUST be a non-whitespace character sequence NOT\ncontaining the current closing delimiter; each Section tag MUST be followed\nby an End Section tag with the same content within the same section.\n\nThis tag's content names the data to replace the tag.  Name resolution is as\nfollows:\n  1) Split the name on periods; the first part is the name to resolve, any\n  remaining parts should be retained.\n  2) Walk the context stack from top to bottom, finding the first context\n  that is a) a hash containing the name as a key OR b) an object responding\n  to a method with the given name.\n  3) If the context is a hash, the data is the value associated with the\n  name.\n  4) If the context is an object and the method with the given name has an\n  arity of 1, the method SHOULD be called with a String containing the\n  unprocessed contents of the sections; the data is the value returned.\n  5) Otherwise, the data is the value returned by calling the method with\n  the given name.\n  6) If any name parts were retained in step 1, each should be resolved\n  against a context stack containing only the result from the former\n  resolution.  If any part fails resolution, the result should be considered\n  falsey, and should interpolate as the empty string.\nIf the data is not of a list type, it is coerced into a list as follows: if\nthe data is truthy (e.g. `!!data == true`), use a single-element list\ncontaining the data, otherwise use an empty list.\n\nFor each element in the data list, the element MUST be pushed onto the\ncontext stack, the section MUST be rendered, and the element MUST be popped\noff the context stack.\n\nSection and End Section tags SHOULD be treated as standalone when\nappropriate.\n","tests":[{"name":"Truthy","data":{"boolean":true},"expected":"\"This should be rendered.\"","template":"\"{{#boolean}}This should be rendered.{{/boolean}}\"","desc":"Truthy sections should have their contents rendered."},{"name":"Falsey","data":{"boolean":false},"expected":"\"\"","template":"\"{{#boolean}}This should not be rendered.{{/boolean}}\"","desc":"Falsey sections should have their contents omitted."},{"name":"Context","data":{"context":{"name":"Joe"}},"expected":"\"Hi Joe.\"","template":"\"{{#context}}Hi {{name}}.{{/context}}\"","desc":"Objects and hashes should be pushed onto the context stack."},{"name":"Deeply Nested Contexts","data":{"a":{"one":1},"b":{"two":2},"c":{"three":3},"d":{"four":4},"e":{"five":5}},"expected":"1\n121\n12321\n1234321\n123454321\n1234321\n12321\n121\n1\n","template":"{{#a}}\n{{one}}\n{{#b}}\n{{one}}{{two}}{{one}}\n{{#c}}\n{{one}}{{two}}{{three}}{{two}}{{one}}\n{{#d}}\n{{one}}{{two}}{{three}}{{four}}{{three}}{{two}}{{one}}\n{{#e}}\n{{one}}{{two}}{{three}}{{four}}{{five}}{{four}}{{three}}{{two}}{{one}}\n{{/e}}\n{{one}}{{two}}{{three}}{{four}}{{three}}{{two}}{{one}}\n{{/d}}\n{{one}}{{two}}{{three}}{{two}}{{one}}\n{{/c}}\n{{one}}{{two}}{{one}}\n{{/b}}\n{{one}}\n{{/a}}\n","desc":"All elements on the context stack should be accessible."},{"name":"List","data":{"list":[{"item":1},{"item":2},{"item":3}]},"expected":"\"123\"","template":"\"{{#list}}{{item}}{{/list}}\"","desc":"Lists should be iterated; list items should visit the context stack."},{"name":"Empty List","data":{"list":[]},"expected":"\"\"","template":"\"{{#list}}Yay lists!{{/list}}\"","desc":"Empty lists should behave like falsey values."},{"name":"Doubled","data":{"two":"second","bool":true},"expected":"* first\n* second\n* third\n","template":"{{#bool}}\n* first\n{{/bool}}\n* {{two}}\n{{#bool}}\n* third\n{{/bool}}\n","desc":"Multiple sections per template should be permitted."},{"name":"Nested (Truthy)","data":{"bool":true},"expected":"| A B C D E |","template":"| A {{#bool}}B {{#bool}}C{{/bool}} D{{/bool}} E |","desc":"Nested truthy sections should have their contents rendered."},{"name":"Nested (Falsey)","data":{"bool":false},"expected":"| A  E |","template":"| A {{#bool}}B {{#bool}}C{{/bool}} D{{/bool}} E |","desc":"Nested falsey sections should be omitted."},{"name":"Context Misses","data":{},"expected":"[]","template":"[{{#missing}}Found key 'missing'!{{/missing}}]","desc":"Failed context lookups should be considered falsey."},{"name":"Implicit Iterator - String","data":{"list":["a","b","c","d","e"]},"expected":"\"(a)(b)(c)(d)(e)\"","template":"\"{{#list}}({{.}}){{/list}}\"","desc":"Implicit iterators should directly interpolate strings."},{"name":"Implicit Iterator - Integer","data":{"list":[1,2,3,4,5]},"expected":"\"(1)(2)(3)(4)(5)\"","template":"\"{{#list}}({{.}}){{/list}}\"","desc":"Implicit iterators should cast integers to strings and interpolate."},{"name":"Implicit Iterator - Decimal","data":{"list":[1.1,2.2,3.3,4.4,5.5]},"expected":"\"(1.1)(2.2)(3.3)(4.4)(5.5)\"","template":"\"{{#list}}({{.}}){{/list}}\"","desc":"Implicit iterators should cast decimals to strings and interpolate."},{"name":"Dotted Names - Truthy","data":{"a":{"b":{"c":true}}},"expected":"\"Here\" == \"Here\"","template":"\"{{#a.b.c}}Here{{/a.b.c}}\" == \"Here\"","desc":"Dotted names should be valid for Section tags."},{"name":"Dotted Names - Falsey","data":{"a":{"b":{"c":false}}},"expected":"\"\" == \"\"","template":"\"{{#a.b.c}}Here{{/a.b.c}}\" == \"\"","desc":"Dotted names should be valid for Section tags."},{"name":"Dotted Names - Broken Chains","data":{"a":{}},"expected":"\"\" == \"\"","template":"\"{{#a.b.c}}Here{{/a.b.c}}\" == \"\"","desc":"Dotted names that cannot be resolved should be considered falsey."},{"name":"Surrounding Whitespace","data":{"boolean":true},"expected":" | \t|\t | \n","template":" | {{#boolean}}\t|\t{{/boolean}} | \n","desc":"Sections should not alter surrounding whitespace."},{"name":"Internal Whitespace","data":{"boolean":true},"expected":" |  \n  | \n","template":" | {{#boolean}} {{! Important Whitespace }}\n {{/boolean}} | \n","desc":"Sections should not alter internal whitespace."},{"name":"Indented Inline Sections","data":{"boolean":true},"expected":" YES\n GOOD\n","template":" {{#boolean}}YES{{/boolean}}\n {{#boolean}}GOOD{{/boolean}}\n","desc":"Single-line sections should not alter surrounding whitespace."},{"name":"Standalone Lines","data":{"boolean":true},"expected":"| This Is\n|\n| A Line\n","template":"| This Is\n{{#boolean}}\n|\n{{/boolean}}\n| A Line\n","desc":"Standalone lines should be removed from the template."},{"name":"Indented Standalone Lines","data":{"boolean":true},"expected":"| This Is\n|\n| A Line\n","template":"| This Is\n  {{#boolean}}\n|\n  {{/boolean}}\n| A Line\n","desc":"Indented standalone lines should be removed from the template."},{"name":"Standalone Line Endings","data":{"boolean":true},"expected":"|\r\n|","template":"|\r\n{{#boolean}}\r\n{{/boolean}}\r\n|","desc":"\"\\r\\n\" should be considered a newline for standalone tags."},{"name":"Standalone Without Previous Line","data":{"boolean":true},"expected":"#\n/","template":"  {{#boolean}}\n#{{/boolean}}\n/","desc":"Standalone tags should not require a newline to precede them."},{"name":"Standalone Without Newline","data":{"boolean":true},"expected":"#\n/\n","template":"#{{#boolean}}\n/\n  {{/boolean}}","desc":"Standalone tags should not require a newline to follow them."},{"name":"Padding","data":{"boolean":true},"expected":"|=|","template":"|{{# boolean }}={{/ boolean }}|","desc":"Superfluous in-tag whitespace should be ignored."}]}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/sections.yml b/docs/build/node_modules/hogan.js/test/spec/specs/sections.yml
new file mode 100644
index 0000000000..f62d9cb30a
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/sections.yml
@@ -0,0 +1,256 @@
+overview: |
+  Section tags and End Section tags are used in combination to wrap a section
+  of the template for iteration
+
+  These tags' content MUST be a non-whitespace character sequence NOT
+  containing the current closing delimiter; each Section tag MUST be followed
+  by an End Section tag with the same content within the same section.
+
+  This tag's content names the data to replace the tag.  Name resolution is as
+  follows:
+    1) Split the name on periods; the first part is the name to resolve, any
+    remaining parts should be retained.
+    2) Walk the context stack from top to bottom, finding the first context
+    that is a) a hash containing the name as a key OR b) an object responding
+    to a method with the given name.
+    3) If the context is a hash, the data is the value associated with the
+    name.
+    4) If the context is an object and the method with the given name has an
+    arity of 1, the method SHOULD be called with a String containing the
+    unprocessed contents of the sections; the data is the value returned.
+    5) Otherwise, the data is the value returned by calling the method with
+    the given name.
+    6) If any name parts were retained in step 1, each should be resolved
+    against a context stack containing only the result from the former
+    resolution.  If any part fails resolution, the result should be considered
+    falsey, and should interpolate as the empty string.
+  If the data is not of a list type, it is coerced into a list as follows: if
+  the data is truthy (e.g. `!!data == true`), use a single-element list
+  containing the data, otherwise use an empty list.
+
+  For each element in the data list, the element MUST be pushed onto the
+  context stack, the section MUST be rendered, and the element MUST be popped
+  off the context stack.
+
+  Section and End Section tags SHOULD be treated as standalone when
+  appropriate.
+tests:
+  - name: Truthy
+    desc: Truthy sections should have their contents rendered.
+    data: { boolean: true }
+    template: '"{{#boolean}}This should be rendered.{{/boolean}}"'
+    expected: '"This should be rendered."'
+
+  - name: Falsey
+    desc: Falsey sections should have their contents omitted.
+    data: { boolean: false }
+    template: '"{{#boolean}}This should not be rendered.{{/boolean}}"'
+    expected: '""'
+
+  - name: Context
+    desc: Objects and hashes should be pushed onto the context stack.
+    data: { context: { name: 'Joe' } }
+    template: '"{{#context}}Hi {{name}}.{{/context}}"'
+    expected: '"Hi Joe."'
+
+  - name: Deeply Nested Contexts
+    desc: All elements on the context stack should be accessible.
+    data:
+      a: { one: 1 }
+      b: { two: 2 }
+      c: { three: 3 }
+      d: { four: 4 }
+      e: { five: 5 }
+    template: |
+      {{#a}}
+      {{one}}
+      {{#b}}
+      {{one}}{{two}}{{one}}
+      {{#c}}
+      {{one}}{{two}}{{three}}{{two}}{{one}}
+      {{#d}}
+      {{one}}{{two}}{{three}}{{four}}{{three}}{{two}}{{one}}
+      {{#e}}
+      {{one}}{{two}}{{three}}{{four}}{{five}}{{four}}{{three}}{{two}}{{one}}
+      {{/e}}
+      {{one}}{{two}}{{three}}{{four}}{{three}}{{two}}{{one}}
+      {{/d}}
+      {{one}}{{two}}{{three}}{{two}}{{one}}
+      {{/c}}
+      {{one}}{{two}}{{one}}
+      {{/b}}
+      {{one}}
+      {{/a}}
+    expected: |
+      1
+      121
+      12321
+      1234321
+      123454321
+      1234321
+      12321
+      121
+      1
+
+  - name: List
+    desc: Lists should be iterated; list items should visit the context stack.
+    data: { list: [ { item: 1 }, { item: 2 }, { item: 3 } ] }
+    template: '"{{#list}}{{item}}{{/list}}"'
+    expected: '"123"'
+
+  - name: Empty List
+    desc: Empty lists should behave like falsey values.
+    data: { list: [ ] }
+    template: '"{{#list}}Yay lists!{{/list}}"'
+    expected: '""'
+
+  - name: Doubled
+    desc: Multiple sections per template should be permitted.
+    data: { bool: true, two: 'second' }
+    template: |
+      {{#bool}}
+      * first
+      {{/bool}}
+      * {{two}}
+      {{#bool}}
+      * third
+      {{/bool}}
+    expected: |
+      * first
+      * second
+      * third
+
+  - name: Nested (Truthy)
+    desc: Nested truthy sections should have their contents rendered.
+    data: { bool: true }
+    template: "| A {{#bool}}B {{#bool}}C{{/bool}} D{{/bool}} E |"
+    expected: "| A B C D E |"
+
+  - name: Nested (Falsey)
+    desc: Nested falsey sections should be omitted.
+    data: { bool: false }
+    template: "| A {{#bool}}B {{#bool}}C{{/bool}} D{{/bool}} E |"
+    expected: "| A  E |"
+
+  - name: Context Misses
+    desc: Failed context lookups should be considered falsey.
+    data: { }
+    template: "[{{#missing}}Found key 'missing'!{{/missing}}]"
+    expected: "[]"
+
+  # Implicit Iterators
+
+  - name: Implicit Iterator - String
+    desc: Implicit iterators should directly interpolate strings.
+    data:
+      list: [ 'a', 'b', 'c', 'd', 'e' ]
+    template: '"{{#list}}({{.}}){{/list}}"'
+    expected: '"(a)(b)(c)(d)(e)"'
+
+  - name: Implicit Iterator - Integer
+    desc: Implicit iterators should cast integers to strings and interpolate.
+    data:
+      list: [ 1, 2, 3, 4, 5 ]
+    template: '"{{#list}}({{.}}){{/list}}"'
+    expected: '"(1)(2)(3)(4)(5)"'
+
+  - name: Implicit Iterator - Decimal
+    desc: Implicit iterators should cast decimals to strings and interpolate.
+    data:
+      list: [ 1.10, 2.20, 3.30, 4.40, 5.50 ]
+    template: '"{{#list}}({{.}}){{/list}}"'
+    expected: '"(1.1)(2.2)(3.3)(4.4)(5.5)"'
+
+  # Dotted Names
+
+  - name: Dotted Names - Truthy
+    desc: Dotted names should be valid for Section tags.
+    data: { a: { b: { c: true } } }
+    template: '"{{#a.b.c}}Here{{/a.b.c}}" == "Here"'
+    expected: '"Here" == "Here"'
+
+  - name: Dotted Names - Falsey
+    desc: Dotted names should be valid for Section tags.
+    data: { a: { b: { c: false } } }
+    template: '"{{#a.b.c}}Here{{/a.b.c}}" == ""'
+    expected: '"" == ""'
+
+  - name: Dotted Names - Broken Chains
+    desc: Dotted names that cannot be resolved should be considered falsey.
+    data: { a: { } }
+    template: '"{{#a.b.c}}Here{{/a.b.c}}" == ""'
+    expected: '"" == ""'
+
+  # Whitespace Sensitivity
+
+  - name: Surrounding Whitespace
+    desc: Sections should not alter surrounding whitespace.
+    data: { boolean: true }
+    template: " | {{#boolean}}\t|\t{{/boolean}} | \n"
+    expected: " | \t|\t | \n"
+
+  - name: Internal Whitespace
+    desc: Sections should not alter internal whitespace.
+    data: { boolean: true }
+    template: " | {{#boolean}} {{! Important Whitespace }}\n {{/boolean}} | \n"
+    expected: " |  \n  | \n"
+
+  - name: Indented Inline Sections
+    desc: Single-line sections should not alter surrounding whitespace.
+    data: { boolean: true }
+    template: " {{#boolean}}YES{{/boolean}}\n {{#boolean}}GOOD{{/boolean}}\n"
+    expected: " YES\n GOOD\n"
+
+  - name: Standalone Lines
+    desc: Standalone lines should be removed from the template.
+    data: { boolean: true }
+    template: |
+      | This Is
+      {{#boolean}}
+      |
+      {{/boolean}}
+      | A Line
+    expected: |
+      | This Is
+      |
+      | A Line
+
+  - name: Indented Standalone Lines
+    desc: Indented standalone lines should be removed from the template.
+    data: { boolean: true }
+    template: |
+      | This Is
+        {{#boolean}}
+      |
+        {{/boolean}}
+      | A Line
+    expected: |
+      | This Is
+      |
+      | A Line
+
+  - name: Standalone Line Endings
+    desc: '"\r\n" should be considered a newline for standalone tags.'
+    data: { boolean: true }
+    template: "|\r\n{{#boolean}}\r\n{{/boolean}}\r\n|"
+    expected: "|\r\n|"
+
+  - name: Standalone Without Previous Line
+    desc: Standalone tags should not require a newline to precede them.
+    data: { boolean: true }
+    template: "  {{#boolean}}\n#{{/boolean}}\n/"
+    expected: "#\n/"
+
+  - name: Standalone Without Newline
+    desc: Standalone tags should not require a newline to follow them.
+    data: { boolean: true }
+    template: "#{{#boolean}}\n/\n  {{/boolean}}"
+    expected: "#\n/\n"
+
+  # Whitespace Insensitivity
+
+  - name: Padding
+    desc: Superfluous in-tag whitespace should be ignored.
+    data: { boolean: true }
+    template: '|{{# boolean }}={{/ boolean }}|'
+    expected: '|=|'
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.json b/docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.json
new file mode 100644
index 0000000000..3c58bf851e
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.json
@@ -0,0 +1 @@
+{"__ATTN__":"Do not edit this file; changes belong in the appropriate YAML file.","overview":"Lambdas are a special-cased data type for use in interpolations and\nsections.\n\nWhen used as the data value for an Interpolation tag, the lambda MUST be\ntreatable as an arity 0 function, and invoked as such.  The returned value\nMUST be rendered against the default delimiters, then interpolated in place\nof the lambda.\n\nWhen used as the data value for a Section tag, the lambda MUST be treatable\nas an arity 1 function, and invoked as such (passing a String containing the\nunprocessed section contents).  The returned value MUST be rendered against\nthe current delimiters, then interpolated in place of the section.\n","tests":[{"name":"Interpolation","data":{"lambda":{"php":"return \"world\";","clojure":"(fn [] \"world\")","__tag__":"code","perl":"sub { \"world\" }","python":"lambda: \"world\"","ruby":"proc { \"world\" }","js":"function() { return \"world\" }"}},"expected":"Hello, world!","template":"Hello, {{lambda}}!","desc":"A lambda's return value should be interpolated."},{"name":"Interpolation - Expansion","data":{"planet":"world","lambda":{"php":"return \"{{planet}}\";","clojure":"(fn [] \"{{planet}}\")","__tag__":"code","perl":"sub { \"{{planet}}\" }","python":"lambda: \"{{planet}}\"","ruby":"proc { \"{{planet}}\" }","js":"function() { return \"{{planet}}\" }"}},"expected":"Hello, world!","template":"Hello, {{lambda}}!","desc":"A lambda's return value should be parsed."},{"name":"Interpolation - Alternate Delimiters","data":{"planet":"world","lambda":{"php":"return \"|planet| => {{planet}}\";","clojure":"(fn [] \"|planet| => {{planet}}\")","__tag__":"code","perl":"sub { \"|planet| => {{planet}}\" }","python":"lambda: \"|planet| => {{planet}}\"","ruby":"proc { \"|planet| => {{planet}}\" }","js":"function() { return \"|planet| => {{planet}}\" }"}},"expected":"Hello, (|planet| => world)!","template":"{{= | | =}}\nHello, (|&lambda|)!","desc":"A lambda's return value should parse with the default delimiters."},{"name":"Interpolation - Multiple Calls","data":{"lambda":{"php":"global $calls; return ++$calls;","clojure":"(def g (atom 0)) (fn [] (swap! g inc))","__tag__":"code","perl":"sub { no strict; $calls += 1 }","python":"lambda: globals().update(calls=globals().get(\"calls\",0)+1) or calls","ruby":"proc { $calls ||= 0; $calls += 1 }","js":"function() { return (g=(function(){return this})()).calls=(g.calls||0)+1 }"}},"expected":"1 == 2 == 3","template":"{{lambda}} == {{{lambda}}} == {{lambda}}","desc":"Interpolated lambdas should not be cached."},{"name":"Escaping","data":{"lambda":{"php":"return \">\";","clojure":"(fn [] \">\")","__tag__":"code","perl":"sub { \">\" }","python":"lambda: \">\"","ruby":"proc { \">\" }","js":"function() { return \">\" }"}},"expected":"<&gt;>","template":"<{{lambda}}{{{lambda}}}","desc":"Lambda results should be appropriately escaped."},{"name":"Section","data":{"x":"Error!","lambda":{"php":"return ($text == \"{{x}}\") ? \"yes\" : \"no\";","clojure":"(fn [text] (if (= text \"{{x}}\") \"yes\" \"no\"))","__tag__":"code","perl":"sub { $_[0] eq \"{{x}}\" ? \"yes\" : \"no\" }","python":"lambda text: text == \"{{x}}\" and \"yes\" or \"no\"","ruby":"proc { |text| text == \"{{x}}\" ? \"yes\" : \"no\" }","js":"function(txt) { return (txt == \"{{x}}\" ? \"yes\" : \"no\") }"}},"expected":"<yes>","template":"<{{#lambda}}{{x}}{{/lambda}}>","desc":"Lambdas used for sections should receive the raw section string."},{"name":"Section - Expansion","data":{"planet":"Earth","lambda":{"php":"return $text . \"{{planet}}\" . $text;","clojure":"(fn [text] (str text \"{{planet}}\" text))","__tag__":"code","perl":"sub { $_[0] . \"{{planet}}\" . $_[0] }","python":"lambda text: \"%s{{planet}}%s\" % (text, text)","ruby":"proc { |text| \"#{text}{{planet}}#{text}\" }","js":"function(txt) { return txt + \"{{planet}}\" + txt }"}},"expected":"<-Earth->","template":"<{{#lambda}}-{{/lambda}}>","desc":"Lambdas used for sections should have their results parsed."},{"name":"Section - Alternate Delimiters","data":{"planet":"Earth","lambda":{"php":"return $text . \"{{planet}} => |planet|\" . $text;","clojure":"(fn [text] (str text \"{{planet}} => |planet|\" text))","__tag__":"code","perl":"sub { $_[0] . \"{{planet}} => |planet|\" . $_[0] }","python":"lambda text: \"%s{{planet}} => |planet|%s\" % (text, text)","ruby":"proc { |text| \"#{text}{{planet}} => |planet|#{text}\" }","js":"function(txt) { return txt + \"{{planet}} => |planet|\" + txt }"}},"expected":"<-{{planet}} => Earth->","template":"{{= | | =}}<|#lambda|-|/lambda|>","desc":"Lambdas used for sections should parse with the current delimiters."},{"name":"Section - Multiple Calls","data":{"lambda":{"php":"return \"__\" . $text . \"__\";","clojure":"(fn [text] (str \"__\" text \"__\"))","__tag__":"code","perl":"sub { \"__\" . $_[0] . \"__\" }","python":"lambda text: \"__%s__\" % (text)","ruby":"proc { |text| \"__#{text}__\" }","js":"function(txt) { return \"__\" + txt + \"__\" }"}},"expected":"__FILE__ != __LINE__","template":"{{#lambda}}FILE{{/lambda}} != {{#lambda}}LINE{{/lambda}}","desc":"Lambdas used for sections should not be cached."},{"name":"Inverted Section","data":{"static":"static","lambda":{"php":"return false;","clojure":"(fn [text] false)","__tag__":"code","perl":"sub { 0 }","python":"lambda text: 0","ruby":"proc { |text| false }","js":"function(txt) { return false }"}},"expected":"<>","template":"<{{^lambda}}{{static}}{{/lambda}}>","desc":"Lambdas used for inverted sections should be considered truthy."}]}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.yml b/docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.yml
new file mode 100644
index 0000000000..b9fb4d0f85
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/spec/specs/~lambdas.yml
@@ -0,0 +1,149 @@
+overview: |
+  Lambdas are a special-cased data type for use in interpolations and
+  sections.
+
+  When used as the data value for an Interpolation tag, the lambda MUST be
+  treatable as an arity 0 function, and invoked as such.  The returned value
+  MUST be rendered against the default delimiters, then interpolated in place
+  of the lambda.
+
+  When used as the data value for a Section tag, the lambda MUST be treatable
+  as an arity 1 function, and invoked as such (passing a String containing the
+  unprocessed section contents).  The returned value MUST be rendered against
+  the current delimiters, then interpolated in place of the section.
+tests:
+  - name: Interpolation
+    desc: A lambda's return value should be interpolated.
+    data:
+      lambda: !code
+        ruby:    'proc { "world" }'
+        perl:    'sub { "world" }'
+        js:      'function() { return "world" }'
+        php:     'return "world";'
+        python:  'lambda: "world"'
+        clojure: '(fn [] "world")'
+    template: "Hello, {{lambda}}!"
+    expected: "Hello, world!"
+
+  - name: Interpolation - Expansion
+    desc: A lambda's return value should be parsed.
+    data:
+      planet: "world"
+      lambda: !code
+        ruby:    'proc { "{{planet}}" }'
+        perl:    'sub { "{{planet}}" }'
+        js:      'function() { return "{{planet}}" }'
+        php:     'return "{{planet}}";'
+        python:  'lambda: "{{planet}}"'
+        clojure: '(fn [] "{{planet}}")'
+    template: "Hello, {{lambda}}!"
+    expected: "Hello, world!"
+
+  - name: Interpolation - Alternate Delimiters
+    desc: A lambda's return value should parse with the default delimiters.
+    data:
+      planet: "world"
+      lambda: !code
+        ruby:    'proc { "|planet| => {{planet}}" }'
+        perl:    'sub { "|planet| => {{planet}}" }'
+        js:      'function() { return "|planet| => {{planet}}" }'
+        php:     'return "|planet| => {{planet}}";'
+        python:  'lambda: "|planet| => {{planet}}"'
+        clojure: '(fn [] "|planet| => {{planet}}")'
+    template: "{{= | | =}}\nHello, (|&lambda|)!"
+    expected: "Hello, (|planet| => world)!"
+
+  - name: Interpolation - Multiple Calls
+    desc: Interpolated lambdas should not be cached.
+    data:
+      lambda: !code
+        ruby:    'proc { $calls ||= 0; $calls += 1 }'
+        perl:    'sub { no strict; $calls += 1 }'
+        js:      'function() { return (g=(function(){return this})()).calls=(g.calls||0)+1 }'
+        php:     'global $calls; return ++$calls;'
+        python:  'lambda: globals().update(calls=globals().get("calls",0)+1) or calls'
+        clojure: '(def g (atom 0)) (fn [] (swap! g inc))'
+    template: '{{lambda}} == {{{lambda}}} == {{lambda}}'
+    expected: '1 == 2 == 3'
+
+  - name: Escaping
+    desc: Lambda results should be appropriately escaped.
+    data:
+      lambda: !code
+        ruby:    'proc { ">" }'
+        perl:    'sub { ">" }'
+        js:      'function() { return ">" }'
+        php:     'return ">";'
+        python:  'lambda: ">"'
+        clojure: '(fn [] ">")'
+    template: "<{{lambda}}{{{lambda}}}"
+    expected: "<&gt;>"
+
+  - name: Section
+    desc: Lambdas used for sections should receive the raw section string.
+    data:
+      x: 'Error!'
+      lambda: !code
+        ruby:    'proc { |text| text == "{{x}}" ? "yes" : "no" }'
+        perl:    'sub { $_[0] eq "{{x}}" ? "yes" : "no" }'
+        js:      'function(txt) { return (txt == "{{x}}" ? "yes" : "no") }'
+        php:     'return ($text == "{{x}}") ? "yes" : "no";'
+        python:  'lambda text: text == "{{x}}" and "yes" or "no"'
+        clojure: '(fn [text] (if (= text "{{x}}") "yes" "no"))'
+    template: "<{{#lambda}}{{x}}{{/lambda}}>"
+    expected: "<yes>"
+
+  - name: Section - Expansion
+    desc: Lambdas used for sections should have their results parsed.
+    data:
+      planet: "Earth"
+      lambda: !code
+        ruby:    'proc { |text| "#{text}{{planet}}#{text}" }'
+        perl:    'sub { $_[0] . "{{planet}}" . $_[0] }'
+        js:      'function(txt) { return txt + "{{planet}}" + txt }'
+        php:     'return $text . "{{planet}}" . $text;'
+        python:  'lambda text: "%s{{planet}}%s" % (text, text)'
+        clojure: '(fn [text] (str text "{{planet}}" text))'
+    template: "<{{#lambda}}-{{/lambda}}>"
+    expected: "<-Earth->"
+
+  - name: Section - Alternate Delimiters
+    desc: Lambdas used for sections should parse with the current delimiters.
+    data:
+      planet: "Earth"
+      lambda: !code
+        ruby:    'proc { |text| "#{text}{{planet}} => |planet|#{text}" }'
+        perl:    'sub { $_[0] . "{{planet}} => |planet|" . $_[0] }'
+        js:      'function(txt) { return txt + "{{planet}} => |planet|" + txt }'
+        php:     'return $text . "{{planet}} => |planet|" . $text;'
+        python:  'lambda text: "%s{{planet}} => |planet|%s" % (text, text)'
+        clojure: '(fn [text] (str text "{{planet}} => |planet|" text))'
+    template: "{{= | | =}}<|#lambda|-|/lambda|>"
+    expected: "<-{{planet}} => Earth->"
+
+  - name: Section - Multiple Calls
+    desc: Lambdas used for sections should not be cached.
+    data:
+      lambda: !code
+        ruby:    'proc { |text| "__#{text}__" }'
+        perl:    'sub { "__" . $_[0] . "__" }'
+        js:      'function(txt) { return "__" + txt + "__" }'
+        php:     'return "__" . $text . "__";'
+        python:  'lambda text: "__%s__" % (text)'
+        clojure: '(fn [text] (str "__" text "__"))'
+    template: '{{#lambda}}FILE{{/lambda}} != {{#lambda}}LINE{{/lambda}}'
+    expected: '__FILE__ != __LINE__'
+
+  - name: Inverted Section
+    desc: Lambdas used for inverted sections should be considered truthy.
+    data:
+      static: 'static'
+      lambda: !code
+        ruby:    'proc { |text| false }'
+        perl:    'sub { 0 }'
+        js:      'function(txt) { return false }'
+        php:     'return false;'
+        python:  'lambda text: 0'
+        clojure: '(fn [text] false)'
+    template: "<{{^lambda}}{{static}}{{/lambda}}>"
+    expected: "<>"
diff --git a/docs/build/node_modules/hogan.js/test/templates/list.mustache b/docs/build/node_modules/hogan.js/test/templates/list.mustache
new file mode 100644
index 0000000000..9bb653a3be
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/test/templates/list.mustache
@@ -0,0 +1,8 @@
+<ul>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+</ul>
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/tools/release.js b/docs/build/node_modules/hogan.js/tools/release.js
new file mode 100644
index 0000000000..dda0d3f871
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/tools/release.js
@@ -0,0 +1,74 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var fs = require('fs');
+var path = require('path');
+var Hogan = require(__dirname + '/../lib/hogan');
+var minlicense = '/**\n* @preserve Copyright 2012 Twitter, Inc.\n* @license http://www.apache.org/licenses/LICENSE-2.0.txt\n*/\n';
+
+function read(path) {
+  return fs.readFileSync(path).toString()
+}
+
+// Good enough for little js files
+function copy(src, dst) {
+  return fs.writeFileSync(dst, read(src));
+}
+
+function uglify(src, dst) {
+  var jsp = require("uglify-js").parser;
+  var pro = require("uglify-js").uglify;
+  var orig_code = read(src);
+  var ast = jsp.parse(orig_code); // parse code and get the initial AST
+  ast = pro.ast_mangle(ast); // get a new AST with mangled names
+  ast = pro.ast_squeeze(ast); // get an AST with compression optimizations
+  fs.writeFileSync(dst, minlicense + pro.gen_code(ast));
+}
+
+var packageJSON = JSON.parse(read('package.json'));
+var version = packageJSON.version.substring(0, packageJSON.version.indexOf('-'));
+
+function removeFirstComment(text) {
+  return text.substring(text.indexOf('*/') + 2);
+}
+
+var context = {
+  template: removeFirstComment(read(__dirname + '/../lib/template.js')),
+  compiler: removeFirstComment(read(__dirname + '/../lib/compiler.js'))
+};
+
+var wrapperPath = '/../wrappers/';
+var wrappers = fs.readdirSync(__dirname + wrapperPath).map(function(f) {
+  return __dirname + wrapperPath + f;
+});
+
+var distPath = __dirname + '/../dist/';
+wrappers.forEach(function(wrapper) {
+  var tail = path.basename(wrapper, '.mustache');
+  var target = distPath + 'hogan-' + version + '.' + tail;
+  var uglified =  distPath + 'hogan-' + version + '.min.' + tail;
+  fs.writeFileSync(target, Hogan.compile(read(wrapper)).render(context));
+  uglify(target, uglified);
+});
+
+// Also release Hogan.Template on its own.
+var templateTarget = distPath + 'template-' + version + '.js';
+fs.writeFileSync(templateTarget, read(__dirname + '/../lib/template.js'));
+uglify(templateTarget, distPath + 'template-' + version + '.min.js');
+
+// Add packageJSON to node distribution
+packageJSON.version = version;
+fs.writeFileSync(__dirname + '/../dist/nodejs/package.json',
+                 JSON.stringify(packageJSON, null, "  "));
diff --git a/docs/build/node_modules/hogan.js/tools/web_templates.js b/docs/build/node_modules/hogan.js/tools/web_templates.js
new file mode 100644
index 0000000000..f00acd3c3e
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/tools/web_templates.js
@@ -0,0 +1,32 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var Hogan = require(__dirname + '/../lib/hogan.js');
+var fs = require('fs');
+var path = require('path');
+
+// Substitute variables in the homepage with values from package.json
+var homeTemplatePath = __dirname + '/../build/gh-pages/index.html.mustache';
+var contextPath = __dirname + '/../dist/nodejs/package.json';
+
+var homepage = fs.readFileSync(homeTemplatePath).toString();
+var context = JSON.parse(fs.readFileSync(contextPath).toString());
+
+var template = Hogan.compile(homepage);
+
+fs.writeFileSync(path.dirname(homeTemplatePath) + '/index.html',
+                 template.render(context));
+
+fs.unlinkSync(homeTemplatePath);
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/1.0.0/hogan.js b/docs/build/node_modules/hogan.js/web/1.0.0/hogan.js
new file mode 100644
index 0000000000..09170d635f
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/1.0.0/hogan.js
@@ -0,0 +1,500 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var HoganTemplate = (function () {
+
+  function constructor(text) {
+    this.text = text;
+  };
+
+  constructor.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials) {
+      return this.r(context, partials);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      return partial.render(context, partials);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '';
+      var tail = context[context.length - 1];
+      if (!isArray(tail)) {
+        buf = section(context, partials);
+        return buf;
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end) {
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (!inverted && typeof val == 'function') {
+        val = this.ls(val, ctx, partials, start, end);
+      }
+
+      var pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      var names = key.split('.');
+      var val = this.f(names[0], ctx, partials, returnFound);
+      var cx = null;
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false;
+      var v = null;
+      var found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text) {
+      var t = val.call(cx, text, function(t) {
+        return Hogan.compile(t).render(cx);
+      });
+      var s = Hogan.compile(t.toString()).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, start, end) {
+      var cx = ctx[ctx.length - 1];
+      if (val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end));
+      }
+      var t = val.call(cx);
+      if (typeof t == 'function') {
+        return this.ho(t, cx, partials, this.text.substring(start, end));
+      }
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      return Hogan.compile(val.call(cx).toString()).render(cx, partials);
+    }
+  };
+
+  var rAmp = /&/g, rLt = /</g, rGt = />/g, rApos =/\'/g,
+      rQuot = /\"/g, hChars =/[&<>\"\']/;
+  function hoganEscape(str) {
+    var s = String(str === null ? '' : str);
+      return hChars.test(s) ? s.replace(rAmp,'&amp;')
+                   .replace(rLt,'&lt;').replace(rGt,'&gt;')
+                   .replace(rApos,'&#39;').replace(rQuot, '&quot;') : s;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  }
+
+  return constructor;
+})();
+
+var Hogan = (function () {
+
+  function scan(text) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+           (!tokens[j].tag && tokens[j].match(rIsWhitespace) == null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'})
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag;
+      var closeIndex = text.indexOf(close, index);
+      var delimiters = trim(text.substring(text.indexOf('=', index) + 1,
+                                           closeIndex)).split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+      return closeIndex + close.length - 1;
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text[i] == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text[i];
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        var tag = tagTypes[text[i + 1]];
+        tagType = tag ? text[i + 1] : '_v';
+        seenTag = i;
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+      } else {
+        if (tagChange(ctag, text, i)) {
+          i += ctag.length - 1;
+          tokens.push({tag: tagType, n: trim(buf),
+                       i: (tagType == '/') ? seenTag - 1 : i + 1});
+          buf = '';
+          state = IN_TEXT;
+          if (tagType == '{') {
+            i++;
+          }
+        } else {
+          buf += text[i];
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/;
+
+  var tagTypes = {
+    '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+    '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+  };
+
+  function tagChange(tag, text, index) {
+    if (text[index] != tag[0]) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text[index + i] != tag[i]) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' ||
+          isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length == 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function generate(tree, text, options) {
+    var code = 'var c = [cx];var b = "";var _ = this;' +
+               walk(tree) + 'return b;';
+    if (options.asString) {
+      return 'function(cx,p){' + code + ';};';
+    }
+
+    var template = new HoganTemplate(text);
+    template.r = new Function('cx', 'p', code);
+    return template;
+  }
+
+  var rQuot = /\"/g, rNewline =  /\n/g, rCr = /\r/g, rSlash = /\\/g;
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r')
+  };
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i].n);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('\n');
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text(tree[i]);
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end) {
+    var code = 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),';
+    code += 'c,p,0,' + start + ',' + end + ')){';
+    code += 'b += _.rs(c,p,';
+    code += 'function(c,p){ var b = "";';
+    code += walk(nodes);
+    code += 'return b;});c.pop();}';
+    code += 'else{b += _.b; _.b = ""};';
+    return code;
+  }
+
+  function invertedSection(nodes, id, method) {
+    var code = 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0)){';
+    code += walk(nodes);
+    code += '};';
+    return code;
+  }
+
+  function partial(id) {
+    return 'b += _.rp("' +  esc(id) + '",c[c.length - 1],p);';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += "' + esc(id) + '";';
+  }
+
+  return ({
+    scan: scan,
+
+    parse: function(tokens, options) {
+      options = options || {};
+      return buildTree(tokens, '', [], options.sectionTags || []);
+    },
+
+    cache: {},
+
+    compile: function(text, options) {
+      // options
+      //
+      // asString: false (default)
+      //
+      // sectionTags: [{o: '_foo', c: 'foo'}]
+      // An array of object with o and c fields that indicate names for custom
+      // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+      //
+      options = options || {};
+
+      var t = this.cache[text];
+      if (t) {
+        return t;
+      }
+      t = generate(this.parse(scan(text), options), text, options);
+      return this.cache[text] = t;
+    }
+  });
+})();
+
+// Export the hogan constructor for Node.js and CommonJS.
+if (typeof module !== 'undefined' && module.exports) {
+  module.exports = Hogan;
+  module.exports.Template = HoganTemplate;
+} else if (typeof exports !== 'undefined') {
+  exports.Hogan = Hogan;
+  exports.HoganTemplate = HoganTemplate;
+}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/1.0.0/hogan.min.js b/docs/build/node_modules/hogan.js/web/1.0.0/hogan.min.js
new file mode 100644
index 0000000000..13ec535aae
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/1.0.0/hogan.min.js
@@ -0,0 +1,14 @@
+/*
+ *  Copyright 2011 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.
+ */var HoganTemplate=function(){function a(a){this.text=a}function h(a){var h=String(a===null?"":a);return g.test(h)?h.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):h}a.prototype={r:function(a,b){return""},v:h,render:function(a,b){return this.r(a,b)},rp:function(a,b,c,d){var e=c[a];return e?e.render(b,c):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b),d;for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f){if(i(a)&&a.length===0)return!1;!d&&typeof a=="function"&&(a=this.ls(a,b,c,e,f));var g=a===""||!!a;return!d&&g&&b&&b.push(typeof a=="object"?a:b[b.length-1]),g},d:function(a,b,c,d){if(a==="."&&i(b[b.length-2]))return b[b.length-1];var e=a.split("."),f=this.f(e[0],b,c,d),g=null;for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d){var e=a.call(b,d,function(a){return Hogan.compile(a).render(b)}),f=Hogan.compile(e.toString()).render(b,c);return this.b=f,!1},b:"",ls:function(a,b,c,d,e){var f=b[b.length-1];if(a.length>0)return this.ho(a,f,c,this.text.substring(d,e));var g=a.call(f);return typeof g=="function"?this.ho(g,f,c,this.text.substring(d,e)):g},lv:function(a,b,c){var d=b[b.length-1];return Hogan.compile(a.call(d).toString()).render(d,c)}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"};return a}(),Hogan=function(){function a(a){function s(){l.length>0&&(m.push(new String(l)),l="")}function t(){var a=!0;for(var b=p;b<m.length;b++){a=m[b].tag&&d[m[b].tag]<d._v||!m[b].tag&&m[b].match(c)==null;if(!a)return!1}return a}function u(a,b){s();if(a&&t())for(var c=p;c<m.length;c++)m[c].tag||m.splice(c,1);else b||m.push({tag:"\n"});n=!1,p=m.length}function v(a,c){var d="="+r,e=a.indexOf(d,c),f=b(a.substring(a.indexOf("=",c)+1,e)).split(" ");return q=f[0],r=f[1],e+d.length-1}var f=a.length,g=0,h=1,i=2,j=g,k=null,l="",m=[],n=!1,o=0,p=0,q="{{",r="}}";for(o=0;o<f;o++)if(j==g)e(q,a,o)?(--o,s(),j=h):a[o]=="\n"?u(n):l+=a[o];else if(j==h){o+=q.length-1;var w=d[a[o+1]];k=w?a[o+1]:"_v",n=o,k=="="?(o=v(a,o),j=g):(w&&o++,j=i)}else e(r,a,o)?(o+=r.length-1,m.push({tag:k,n:b(l),i:k=="/"?n-1:o+1}),l="",j=g,k=="{"&&o++):l+=a[o];return u(n,!0),m}function b(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function e(a,b,c){if(b[c]!=a[0])return!1;for(var d=1,e=a.length;d<e;d++)if(b[c+d]!=a[d])return!1;return!0}function f(a,b,c,d){var e=[],i=null,j=null;while(a.length>0){j=a.shift();if(j.tag=="#"||j.tag=="^"||g(j,d))c.push(j),j.nodes=f(a,j.tag,c,d),e.push(j);else{if(j.tag=="/"){if(c.length==0)throw new Error("Closing tag without opener: /"+j.n);i=c.pop();if(j.n!=i.n&&!h(j.n,i.n,d))throw new Error("Nesting error: "+i.n+" vs. "+j.n);return i.end=j.i,e}e.push(j)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function g(a,b){for(var c=0,d=b.length;c<d;c++)if(b[c].o==a.n)return a.tag="#",!0}function h(a,b,c){for(var d=0,e=c.length;d<e;d++)if(c[d].c==a&&c[d].o==b)return!0}function i(a,b,c){var d='var c = [cx];var b = "";var _ = this;'+p(a)+"return b;";if(c.asString)return"function(cx,p){"+d+";};";var e=new HoganTemplate(b);return e.r=new Function("cx","p",d),e}function n(a){return a.replace(m,"\\\\").replace(j,'\\"').replace(k,"\\n").replace(l,"\\r")}function o(a){return~a.indexOf(".")?"d":"f"}function p(a){var b="";for(var c=0,d=a.length;c<d;c++){var e=a[c].tag;e=="#"?b+=q(a[c].nodes,a[c].n,o(a[c].n),a[c].i,a[c].end):e=="^"?b+=r(a[c].nodes,a[c].n,o(a[c].n)):e=="<"||e==">"?b+=s(a[c].n):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v("\n"):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v(a[c]))}return b}function q(a,b,c,d,e){var f="if(_.s(_."+c+'("'+n(b)+'",c,p,1),';return f+="c,p,0,"+d+","+e+")){",f+="b += _.rs(c,p,",f+='function(c,p){ var b = "";',f+=p(a),f+="return b;});c.pop();}",f+='else{b += _.b; _.b = ""};',f}function r(a,b,c){var d="if (!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0)){';return d+=p(a),d+="};",d}function s(a){return'b += _.rp("'+n(a)+'",c[c.length - 1],p);'}function t(a,b){return"b += (_."+b+'("'+n(a)+'",c,p,0));'}function u(a,b){return"b += (_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return'b += "'+n(a)+'";'}var c=/\S/,d={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10},j=/\"/g,k=/\n/g,l=/\r/g,m=/\\/g;return{scan:a,parse:function(a,b){return b=b||{},f(a,"",[],b.sectionTags||[])},cache:{},compile:function(b,c){c=c||{};var d=this.cache[b];return d?d:(d=i(this.parse(a(b),c),b,c),this.cache[b]=d)}}}();typeof module!="undefined"&&module.exports?(module.exports=Hogan,module.exports.Template=HoganTemplate):typeof exports!="undefined"&&(exports.Hogan=Hogan,exports.HoganTemplate=HoganTemplate);
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.js b/docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.js
new file mode 100644
index 0000000000..09170d635f
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.js
@@ -0,0 +1,500 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var HoganTemplate = (function () {
+
+  function constructor(text) {
+    this.text = text;
+  };
+
+  constructor.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials) {
+      return this.r(context, partials);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      return partial.render(context, partials);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '';
+      var tail = context[context.length - 1];
+      if (!isArray(tail)) {
+        buf = section(context, partials);
+        return buf;
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end) {
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (!inverted && typeof val == 'function') {
+        val = this.ls(val, ctx, partials, start, end);
+      }
+
+      var pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      var names = key.split('.');
+      var val = this.f(names[0], ctx, partials, returnFound);
+      var cx = null;
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false;
+      var v = null;
+      var found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text) {
+      var t = val.call(cx, text, function(t) {
+        return Hogan.compile(t).render(cx);
+      });
+      var s = Hogan.compile(t.toString()).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, start, end) {
+      var cx = ctx[ctx.length - 1];
+      if (val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end));
+      }
+      var t = val.call(cx);
+      if (typeof t == 'function') {
+        return this.ho(t, cx, partials, this.text.substring(start, end));
+      }
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      return Hogan.compile(val.call(cx).toString()).render(cx, partials);
+    }
+  };
+
+  var rAmp = /&/g, rLt = /</g, rGt = />/g, rApos =/\'/g,
+      rQuot = /\"/g, hChars =/[&<>\"\']/;
+  function hoganEscape(str) {
+    var s = String(str === null ? '' : str);
+      return hChars.test(s) ? s.replace(rAmp,'&amp;')
+                   .replace(rLt,'&lt;').replace(rGt,'&gt;')
+                   .replace(rApos,'&#39;').replace(rQuot, '&quot;') : s;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  }
+
+  return constructor;
+})();
+
+var Hogan = (function () {
+
+  function scan(text) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+           (!tokens[j].tag && tokens[j].match(rIsWhitespace) == null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'})
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag;
+      var closeIndex = text.indexOf(close, index);
+      var delimiters = trim(text.substring(text.indexOf('=', index) + 1,
+                                           closeIndex)).split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+      return closeIndex + close.length - 1;
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text[i] == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text[i];
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        var tag = tagTypes[text[i + 1]];
+        tagType = tag ? text[i + 1] : '_v';
+        seenTag = i;
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+      } else {
+        if (tagChange(ctag, text, i)) {
+          i += ctag.length - 1;
+          tokens.push({tag: tagType, n: trim(buf),
+                       i: (tagType == '/') ? seenTag - 1 : i + 1});
+          buf = '';
+          state = IN_TEXT;
+          if (tagType == '{') {
+            i++;
+          }
+        } else {
+          buf += text[i];
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/;
+
+  var tagTypes = {
+    '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+    '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+  };
+
+  function tagChange(tag, text, index) {
+    if (text[index] != tag[0]) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text[index + i] != tag[i]) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' ||
+          isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length == 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function generate(tree, text, options) {
+    var code = 'var c = [cx];var b = "";var _ = this;' +
+               walk(tree) + 'return b;';
+    if (options.asString) {
+      return 'function(cx,p){' + code + ';};';
+    }
+
+    var template = new HoganTemplate(text);
+    template.r = new Function('cx', 'p', code);
+    return template;
+  }
+
+  var rQuot = /\"/g, rNewline =  /\n/g, rCr = /\r/g, rSlash = /\\/g;
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r')
+  };
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i].n);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('\n');
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text(tree[i]);
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end) {
+    var code = 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),';
+    code += 'c,p,0,' + start + ',' + end + ')){';
+    code += 'b += _.rs(c,p,';
+    code += 'function(c,p){ var b = "";';
+    code += walk(nodes);
+    code += 'return b;});c.pop();}';
+    code += 'else{b += _.b; _.b = ""};';
+    return code;
+  }
+
+  function invertedSection(nodes, id, method) {
+    var code = 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0)){';
+    code += walk(nodes);
+    code += '};';
+    return code;
+  }
+
+  function partial(id) {
+    return 'b += _.rp("' +  esc(id) + '",c[c.length - 1],p);';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += "' + esc(id) + '";';
+  }
+
+  return ({
+    scan: scan,
+
+    parse: function(tokens, options) {
+      options = options || {};
+      return buildTree(tokens, '', [], options.sectionTags || []);
+    },
+
+    cache: {},
+
+    compile: function(text, options) {
+      // options
+      //
+      // asString: false (default)
+      //
+      // sectionTags: [{o: '_foo', c: 'foo'}]
+      // An array of object with o and c fields that indicate names for custom
+      // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+      //
+      options = options || {};
+
+      var t = this.cache[text];
+      if (t) {
+        return t;
+      }
+      t = generate(this.parse(scan(text), options), text, options);
+      return this.cache[text] = t;
+    }
+  });
+})();
+
+// Export the hogan constructor for Node.js and CommonJS.
+if (typeof module !== 'undefined' && module.exports) {
+  module.exports = Hogan;
+  module.exports.Template = HoganTemplate;
+} else if (typeof exports !== 'undefined') {
+  exports.Hogan = Hogan;
+  exports.HoganTemplate = HoganTemplate;
+}
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.min.js b/docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.min.js
new file mode 100644
index 0000000000..13ec535aae
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.0/hogan.min.js
@@ -0,0 +1,14 @@
+/*
+ *  Copyright 2011 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.
+ */var HoganTemplate=function(){function a(a){this.text=a}function h(a){var h=String(a===null?"":a);return g.test(h)?h.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):h}a.prototype={r:function(a,b){return""},v:h,render:function(a,b){return this.r(a,b)},rp:function(a,b,c,d){var e=c[a];return e?e.render(b,c):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b),d;for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f){if(i(a)&&a.length===0)return!1;!d&&typeof a=="function"&&(a=this.ls(a,b,c,e,f));var g=a===""||!!a;return!d&&g&&b&&b.push(typeof a=="object"?a:b[b.length-1]),g},d:function(a,b,c,d){if(a==="."&&i(b[b.length-2]))return b[b.length-1];var e=a.split("."),f=this.f(e[0],b,c,d),g=null;for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d){var e=a.call(b,d,function(a){return Hogan.compile(a).render(b)}),f=Hogan.compile(e.toString()).render(b,c);return this.b=f,!1},b:"",ls:function(a,b,c,d,e){var f=b[b.length-1];if(a.length>0)return this.ho(a,f,c,this.text.substring(d,e));var g=a.call(f);return typeof g=="function"?this.ho(g,f,c,this.text.substring(d,e)):g},lv:function(a,b,c){var d=b[b.length-1];return Hogan.compile(a.call(d).toString()).render(d,c)}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"};return a}(),Hogan=function(){function a(a){function s(){l.length>0&&(m.push(new String(l)),l="")}function t(){var a=!0;for(var b=p;b<m.length;b++){a=m[b].tag&&d[m[b].tag]<d._v||!m[b].tag&&m[b].match(c)==null;if(!a)return!1}return a}function u(a,b){s();if(a&&t())for(var c=p;c<m.length;c++)m[c].tag||m.splice(c,1);else b||m.push({tag:"\n"});n=!1,p=m.length}function v(a,c){var d="="+r,e=a.indexOf(d,c),f=b(a.substring(a.indexOf("=",c)+1,e)).split(" ");return q=f[0],r=f[1],e+d.length-1}var f=a.length,g=0,h=1,i=2,j=g,k=null,l="",m=[],n=!1,o=0,p=0,q="{{",r="}}";for(o=0;o<f;o++)if(j==g)e(q,a,o)?(--o,s(),j=h):a[o]=="\n"?u(n):l+=a[o];else if(j==h){o+=q.length-1;var w=d[a[o+1]];k=w?a[o+1]:"_v",n=o,k=="="?(o=v(a,o),j=g):(w&&o++,j=i)}else e(r,a,o)?(o+=r.length-1,m.push({tag:k,n:b(l),i:k=="/"?n-1:o+1}),l="",j=g,k=="{"&&o++):l+=a[o];return u(n,!0),m}function b(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function e(a,b,c){if(b[c]!=a[0])return!1;for(var d=1,e=a.length;d<e;d++)if(b[c+d]!=a[d])return!1;return!0}function f(a,b,c,d){var e=[],i=null,j=null;while(a.length>0){j=a.shift();if(j.tag=="#"||j.tag=="^"||g(j,d))c.push(j),j.nodes=f(a,j.tag,c,d),e.push(j);else{if(j.tag=="/"){if(c.length==0)throw new Error("Closing tag without opener: /"+j.n);i=c.pop();if(j.n!=i.n&&!h(j.n,i.n,d))throw new Error("Nesting error: "+i.n+" vs. "+j.n);return i.end=j.i,e}e.push(j)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function g(a,b){for(var c=0,d=b.length;c<d;c++)if(b[c].o==a.n)return a.tag="#",!0}function h(a,b,c){for(var d=0,e=c.length;d<e;d++)if(c[d].c==a&&c[d].o==b)return!0}function i(a,b,c){var d='var c = [cx];var b = "";var _ = this;'+p(a)+"return b;";if(c.asString)return"function(cx,p){"+d+";};";var e=new HoganTemplate(b);return e.r=new Function("cx","p",d),e}function n(a){return a.replace(m,"\\\\").replace(j,'\\"').replace(k,"\\n").replace(l,"\\r")}function o(a){return~a.indexOf(".")?"d":"f"}function p(a){var b="";for(var c=0,d=a.length;c<d;c++){var e=a[c].tag;e=="#"?b+=q(a[c].nodes,a[c].n,o(a[c].n),a[c].i,a[c].end):e=="^"?b+=r(a[c].nodes,a[c].n,o(a[c].n)):e=="<"||e==">"?b+=s(a[c].n):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v("\n"):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v(a[c]))}return b}function q(a,b,c,d,e){var f="if(_.s(_."+c+'("'+n(b)+'",c,p,1),';return f+="c,p,0,"+d+","+e+")){",f+="b += _.rs(c,p,",f+='function(c,p){ var b = "";',f+=p(a),f+="return b;});c.pop();}",f+='else{b += _.b; _.b = ""};',f}function r(a,b,c){var d="if (!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0)){';return d+=p(a),d+="};",d}function s(a){return'b += _.rp("'+n(a)+'",c[c.length - 1],p);'}function t(a,b){return"b += (_."+b+'("'+n(a)+'",c,p,0));'}function u(a,b){return"b += (_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return'b += "'+n(a)+'";'}var c=/\S/,d={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10},j=/\"/g,k=/\n/g,l=/\r/g,m=/\\/g;return{scan:a,parse:function(a,b){return b=b||{},f(a,"",[],b.sectionTags||[])},cache:{},compile:function(b,c){c=c||{};var d=this.cache[b];return d?d:(d=i(this.parse(a(b),c),b,c),this.cache[b]=d)}}}();typeof module!="undefined"&&module.exports?(module.exports=Hogan,module.exports.Template=HoganTemplate):typeof exports!="undefined"&&(exports.Hogan=Hogan,exports.HoganTemplate=HoganTemplate);
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.js b/docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.js
new file mode 100644
index 0000000000..4f6f6d22f1
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.js
@@ -0,0 +1,545 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var HoganTemplate = (function () {
+
+  function constructor(text) {
+    this.text = text;
+  }
+
+  constructor.prototype = {
+
+    // render: replaced by generated code.
+    r: function (context, partials, indent) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials, indent) {
+      return this.r(context, partials, indent);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      return partial.r(context, partials, indent);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '',
+          tail = context[context.length - 1];
+
+      if (!isArray(tail)) {
+        return buf = section(context, partials);
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end, tags) {
+      var pass;
+
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (!inverted && typeof val == 'function') {
+        val = this.ls(val, ctx, partials, start, end, tags);
+      }
+
+      pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+
+      var names = key.split('.'),
+          val = this.f(names[0], ctx, partials, returnFound),
+          cx = null;
+
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false,
+          v = null,
+          found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text, tags) {
+      var t = val.call(cx, text, function(t) {
+        return Hogan.compile(t, {delimiters: tags}).render(cx, partials);
+      });
+      var s = Hogan.compile(t.toString(), {delimiters: tags}).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, start, end, tags) {
+      var cx = ctx[ctx.length - 1],
+          t = val.call(cx);
+
+      if (val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      if (typeof t == 'function') {
+        return this.ho(t, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      return Hogan.compile(val.call(cx).toString()).render(cx, partials);
+    }
+
+  };
+
+  var rAmp = /&/g,
+      rLt = /</g,
+      rGt = />/g,
+      rApos =/\'/g,
+      rQuot = /\"/g,
+      hChars =/[&<>\"\']/;
+
+  function hoganEscape(str) {
+    str = String(str === null ? '' : str);
+    return hChars.test(str) ?
+      str
+        .replace(rAmp,'&amp;')
+        .replace(rLt,'&lt;')
+        .replace(rGt,'&gt;')
+        .replace(rApos,'&#39;')
+        .replace(rQuot, '&quot;') :
+      str;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  };
+
+  return constructor;
+
+})();
+
+var Hogan = (function () {
+
+  // Setup regex  assignments
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/,
+      rQuot = /\"/g,
+      rNewline =  /\n/g,
+      rCr = /\r/g,
+      rSlash = /\\/g,
+      tagTypes = {
+        '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+        '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+      };
+
+  function scan(text, delimiters) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        tag = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+          (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart, next; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            if ((next = tokens[j+1]) && next.tag == '>') {
+              // set indent to token value
+              next.indent = tokens[j].toString()
+            }
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'});
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag,
+          closeIndex = text.indexOf(close, index),
+          delimiters = trim(
+            text.substring(text.indexOf('=', index) + 1, closeIndex)
+          ).split(' ');
+
+      otag = delimiters[0];
+      ctag = delimiters[1];
+
+      return closeIndex + close.length - 1;
+    }
+
+    if (delimiters) {
+      delimiters = delimiters.split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text.charAt(i) == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text.charAt(i);
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        tag = tagTypes[text.charAt(i + 1)];
+        tagType = tag ? text.charAt(i + 1) : '_v';
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+        seenTag = i;
+      } else {
+        if (tagChange(ctag, text, i)) {
+          tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag,
+                       i: (tagType == '/') ? seenTag - ctag.length : i + otag.length});
+          buf = '';
+          i += ctag.length - 1;
+          state = IN_TEXT;
+          if (tagType == '{') {
+            i++;
+          }
+        } else {
+          buf += text.charAt(i);
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  function tagChange(tag, text, index) {
+    if (text.charAt(index) != tag.charAt(0)) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text.charAt(index + i) != tag.charAt(i)) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length === 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function generate(tree, text, options) {
+    var code = 'i = i || "";var c = [cx];var b = i + "";var _ = this;'
+      + walk(tree)
+      + 'return b;';
+
+    if (options.asString) {
+      return 'function(cx,p,i){' + code + ';}';
+    }
+
+    var template = new HoganTemplate(text);
+    template.r = new Function('cx', 'p', 'i', code);
+    return template;
+  }
+
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r');
+  }
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i]);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i'));
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text('"' + esc(tree[i]) + '"');
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end, tags) {
+    return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' +
+           'c,p,0,' + start + ',' + end + ', "' + tags + '")){' +
+           'b += _.rs(c,p,' +
+           'function(c,p){ var b = "";' +
+           walk(nodes) +
+           'return b;});c.pop();}' +
+           'else{b += _.b; _.b = ""};';
+  }
+
+  function invertedSection(nodes, id, method) {
+    return 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' +
+           walk(nodes) +
+           '};';
+  }
+
+  function partial(tok) {
+    return 'b += _.rp("' +  esc(tok.n) + '",c[c.length - 1],p,"' + (tok.indent || '') + '");';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += ' + id + ';';
+  }
+
+  return ({
+    scan: scan,
+
+    parse: function(tokens, options) {
+      options = options || {};
+      return buildTree(tokens, '', [], options.sectionTags || []);
+    },
+
+    cache: {},
+
+    compile: function(text, options) {
+      // options
+      //
+      // asString: false (default)
+      //
+      // sectionTags: [{o: '_foo', c: 'foo'}]
+      // An array of object with o and c fields that indicate names for custom
+      // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+      //
+      // delimiters: A string that overrides the default delimiters.
+      // Example: "<% %>"
+      //
+      options = options || {};
+
+      var t = this.cache[text];
+
+      if (t) {
+        return t;
+      }
+
+      t = generate(this.parse(scan(text, options.delimiters), options), text, options);
+      return this.cache[text] = t;
+    }
+  });
+})();
+
+// Export the hogan constructor for Node.js and CommonJS.
+if (typeof module !== 'undefined' && module.exports) {
+  module.exports = Hogan;
+  module.exports.Template = HoganTemplate;
+} else if (typeof define === 'function' && define.amd) {
+  define(function () { return Hogan; });
+} else if (typeof exports !== 'undefined') {
+  exports.Hogan = Hogan;
+  exports.HoganTemplate = HoganTemplate;
+}
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.min.js b/docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.min.js
new file mode 100644
index 0000000000..0af8a36fdd
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.3/hogan.min.js
@@ -0,0 +1,5 @@
+/**
+* @preserve Copyright 2012 Twitter, Inc.
+* @license http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+var HoganTemplate=function(){function a(a){this.text=a}function h(a){return a=String(a===null?"":a),g.test(a)?a.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):a}a.prototype={r:function(a,b,c){return""},v:h,render:function(b,c,d){return this.r(b,c,d)},rp:function(a,b,c,d){var e=c[a];return e?e.r(b,c,d):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b);for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f,g){var h;return i(a)&&a.length===0?!1:(!d&&typeof a=="function"&&(a=this.ls(a,b,c,e,f,g)),h=a===""||!!a,!d&&h&&b&&b.push(typeof a=="object"?a:b[b.length-1]),h)},d:function(a,b,c,d){var e=a.split("."),f=this.f(e[0],b,c,d),g=null;if(a==="."&&i(b[b.length-2]))return b[b.length-1];for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=a.call(b,d,function(a){return Hogan.compile(a,{delimiters:e}).render(b,c)}),g=Hogan.compile(f.toString(),{delimiters:e}).render(b,c);return this.b=g,!1},b:"",ls:function(a,b,c,d,e,f){var g=b[b.length-1],h=a.call(g);return a.length>0?this.ho(a,g,c,this.text.substring(d,e),f):typeof h=="function"?this.ho(h,g,c,this.text.substring(d,e),f):h},lv:function(a,b,c){var d=b[b.length-1];return Hogan.compile(a.call(d).toString()).render(d,c)}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"};return a}(),Hogan=function(){function g(b,c){function u(){n.length>0&&(o.push(new String(n)),n="")}function v(){var b=!0;for(var c=r;c<o.length;c++){b=o[c].tag&&f[o[c].tag]<f._v||!o[c].tag&&o[c].match(a)===null;if(!b)return!1}return b}function w(a,b){u();if(a&&v())for(var c=r,d;c<o.length;c++)o[c].tag||((d=o[c+1])&&d.tag==">"&&(d.indent=o[c].toString()),o.splice(c,1));else b||o.push({tag:"\n"});p=!1,r=o.length}function x(a,b){var c="="+t,d=a.indexOf(c,b),e=h(a.substring(a.indexOf("=",b)+1,d)).split(" ");return s=e[0],t=e[1],d+c.length-1}var d=b.length,e=0,g=1,j=2,k=e,l=null,m=null,n="",o=[],p=!1,q=0,r=0,s="{{",t="}}";c&&(c=c.split(" "),s=c[0],t=c[1]);for(q=0;q<d;q++)k==e?i(s,b,q)?(--q,u(),k=g):b.charAt(q)=="\n"?w(p):n+=b.charAt(q):k==g?(q+=s.length-1,m=f[b.charAt(q+1)],l=m?b.charAt(q+1):"_v",l=="="?(q=x(b,q),k=e):(m&&q++,k=j),p=q):i(t,b,q)?(o.push({tag:l,n:h(n),otag:s,ctag:t,i:l=="/"?p-t.length:q+s.length}),n="",q+=t.length-1,k=e,l=="{"&&q++):n+=b.charAt(q);return w(p,!0),o}function h(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function i(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d<e;d++)if(b.charAt(c+d)!=a.charAt(d))return!1;return!0}function j(a,b,c,d){var e=[],f=null,g=null;while(a.length>0){g=a.shift();if(g.tag=="#"||g.tag=="^"||k(g,d))c.push(g),g.nodes=j(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!l(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function k(a,b){for(var c=0,d=b.length;c<d;c++)if(b[c].o==a.n)return a.tag="#",!0}function l(a,b,c){for(var d=0,e=c.length;d<e;d++)if(c[d].c==a&&c[d].o==b)return!0}function m(a,b,c){var d='i = i || "";var c = [cx];var b = i + "";var _ = this;'+p(a)+"return b;";if(c.asString)return"function(cx,p,i){"+d+";}";var e=new HoganTemplate(b);return e.r=new Function("cx","p","i",d),e}function n(a){return a.replace(e,"\\\\").replace(b,'\\"').replace(c,"\\n").replace(d,"\\r")}function o(a){return~a.indexOf(".")?"d":"f"}function p(a){var b="";for(var c=0,d=a.length;c<d;c++){var e=a[c].tag;e=="#"?b+=q(a[c].nodes,a[c].n,o(a[c].n),a[c].i,a[c].end,a[c].otag+" "+a[c].ctag):e=="^"?b+=r(a[c].nodes,a[c].n,o(a[c].n)):e=="<"||e==">"?b+=s(a[c]):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v('"'+n(a[c])+'"'))}return b}function q(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+n(b)+'",c,p,1),'+"c,p,0,"+d+","+e+', "'+f+'")){'+"b += _.rs(c,p,"+'function(c,p){ var b = "";'+p(a)+"return b;});c.pop();}"+'else{b += _.b; _.b = ""};'}function r(a,b,c){return"if (!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0,"")){'+p(a)+"};"}function s(a){return'b += _.rp("'+n(a.n)+'",c[c.length - 1],p,"'+(a.indent||"")+'");'}function t(a,b){return"b += (_."+b+'("'+n(a)+'",c,p,0));'}function u(a,b){return"b += (_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return"b += "+a+";"}var a=/\S/,b=/\"/g,c=/\n/g,d=/\r/g,e=/\\/g,f={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};return{scan:g,parse:function(a,b){return b=b||{},j(a,"",[],b.sectionTags||[])},cache:{},compile:function(a,b){b=b||{};var c=this.cache[a];return c?c:(c=m(this.parse(g(a,b.delimiters),b),a,b),this.cache[a]=c)}}}();typeof module!="undefined"&&module.exports?(module.exports=Hogan,module.exports.Template=HoganTemplate):typeof define=="function"&&define.amd?define(function(){return Hogan}):typeof exports!="undefined"&&(exports.Hogan=Hogan,exports.HoganTemplate=HoganTemplate)
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.amd.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.amd.js
new file mode 100644
index 0000000000..ec55a5d3ab
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.amd.js
@@ -0,0 +1,576 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+
+
+var Hogan = {};
+
+(function (Hogan) {
+  Hogan.Template = function constructor(renderFunc, text, compiler) {
+    if (renderFunc) {
+      this.r = renderFunc;
+    }
+    this.c = compiler;
+    this.text = text || '';
+  }
+
+  Hogan.Template.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials, indent) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials, indent) {
+      return this.ri([context], partials || {}, indent);
+    },
+
+    // render internal -- a hook for overrides that catches partials too
+    ri: function (context, partials, indent) {
+      return this.r(context, partials, indent);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      if (this.c && typeof partial == 'string') {
+        partial = this.c.compile(partial);
+      }
+
+      return partial.ri(context, partials, indent);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '',
+          tail = context[context.length - 1];
+
+      if (!isArray(tail)) {
+        return buf = section(context, partials);
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end, tags) {
+      var pass;
+
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (typeof val == 'function') {
+        val = this.ls(val, ctx, partials, inverted, start, end, tags);
+      }
+
+      pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      var names = key.split('.'),
+          val = this.f(names[0], ctx, partials, returnFound),
+          cx = null;
+
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false,
+          v = null,
+          found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text, tags) {
+      var compiler = this.c;
+      var t = val.call(cx, text, function(t) {
+        return compiler.compile(t, {delimiters: tags}).render(cx, partials);
+      });
+      var s = compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, inverted, start, end, tags) {
+      var cx = ctx[ctx.length - 1],
+          t = null;
+
+      if (!inverted && this.c && val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      t = val.call(cx);
+
+      if (typeof t == 'function') {
+        if (inverted) {
+          return true;
+        } else if (this.c) {
+          return this.ho(t, cx, partials, this.text.substring(start, end), tags);
+        }
+      }
+
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      var result = val.call(cx);
+      if (typeof result == 'function') {
+        result = result.call(cx);
+      }
+      result = result.toString();
+
+      if (this.c && ~result.indexOf("{{")) {
+        return this.c.compile(result).render(cx, partials);
+      }
+
+      return result;
+    }
+
+  };
+
+  var rAmp = /&/g,
+      rLt = /</g,
+      rGt = />/g,
+      rApos =/\'/g,
+      rQuot = /\"/g,
+      hChars =/[&<>\"\']/;
+
+  function hoganEscape(str) {
+    str = String((str === null || str === undefined) ? '' : str);
+    return hChars.test(str) ?
+      str
+        .replace(rAmp,'&amp;')
+        .replace(rLt,'&lt;')
+        .replace(rGt,'&gt;')
+        .replace(rApos,'&#39;')
+        .replace(rQuot, '&quot;') :
+      str;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  };
+
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
+
+
+
+(function (Hogan) {
+  // Setup regex  assignments
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/,
+      rQuot = /\"/g,
+      rNewline =  /\n/g,
+      rCr = /\r/g,
+      rSlash = /\\/g,
+      tagTypes = {
+        '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+        '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+      };
+
+  Hogan.scan = function scan(text, delimiters) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        tag = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+          (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart, next; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            if ((next = tokens[j+1]) && next.tag == '>') {
+              // set indent to token value
+              next.indent = tokens[j].toString()
+            }
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'});
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag,
+          closeIndex = text.indexOf(close, index),
+          delimiters = trim(
+            text.substring(text.indexOf('=', index) + 1, closeIndex)
+          ).split(' ');
+
+      otag = delimiters[0];
+      ctag = delimiters[1];
+
+      return closeIndex + close.length - 1;
+    }
+
+    if (delimiters) {
+      delimiters = delimiters.split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text.charAt(i) == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text.charAt(i);
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        tag = tagTypes[text.charAt(i + 1)];
+        tagType = tag ? text.charAt(i + 1) : '_v';
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+        seenTag = i;
+      } else {
+        if (tagChange(ctag, text, i)) {
+          tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag,
+                       i: (tagType == '/') ? seenTag - ctag.length : i + otag.length});
+          buf = '';
+          i += ctag.length - 1;
+          state = IN_TEXT;
+          if (tagType == '{') {
+            if (ctag == '}}') {
+              i++;
+            } else {
+              cleanTripleStache(tokens[tokens.length - 1]);
+            }
+          }
+        } else {
+          buf += text.charAt(i);
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function cleanTripleStache(token) {
+    if (token.n.substr(token.n.length - 1) === '}') {
+      token.n = token.n.substring(0, token.n.length - 1);
+    }
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  function tagChange(tag, text, index) {
+    if (text.charAt(index) != tag.charAt(0)) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text.charAt(index + i) != tag.charAt(i)) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length === 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function writeCode(tree) {
+    return 'i = i || "";var b = i + "";var _ = this;' + walk(tree) + 'return b;';
+  }
+
+  Hogan.generate = function (code, text, options) {
+    if (options.asString) {
+      return 'function(c,p,i){' + code + ';}';
+    }
+
+    return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan);
+  }
+
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r');
+  }
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i]);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i'));
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text('"' + esc(tree[i]) + '"');
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end, tags) {
+    return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' +
+           'c,p,0,' + start + ',' + end + ', "' + tags + '")){' +
+           'b += _.rs(c,p,' +
+           'function(c,p){ var b = "";' +
+           walk(nodes) +
+           'return b;});c.pop();}' +
+           'else{b += _.b; _.b = ""};';
+  }
+
+  function invertedSection(nodes, id, method) {
+    return 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' +
+           walk(nodes) +
+           '};';
+  }
+
+  function partial(tok) {
+    return 'b += _.rp("' +  esc(tok.n) + '",c,p,"' + (tok.indent || '') + '");';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += ' + id + ';';
+  }
+
+  Hogan.parse = function(tokens, options) {
+    options = options || {};
+    return buildTree(tokens, '', [], options.sectionTags || []);
+  },
+
+  Hogan.cache = {};
+
+  Hogan.compile = function(text, options) {
+    // options
+    //
+    // asString: false (default)
+    //
+    // sectionTags: [{o: '_foo', c: 'foo'}]
+    // An array of object with o and c fields that indicate names for custom
+    // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+    //
+    // delimiters: A string that overrides the default delimiters.
+    // Example: "<% %>"
+    //
+    options = options || {};
+
+    var key = text + '||' + !!options.asString;
+
+    var t = this.cache[key];
+
+    if (t) {
+      return t;
+    }
+
+    t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), options)), text, options);
+    return this.cache[key] = t;
+  };
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
+
+if (typeof define === 'function' && define.amd) {
+  define(Hogan);
+}
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.common.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.common.js
new file mode 100644
index 0000000000..7520652356
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.common.js
@@ -0,0 +1,576 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+
+
+var Hogan = {};
+
+(function (Hogan) {
+  Hogan.Template = function constructor(renderFunc, text, compiler) {
+    if (renderFunc) {
+      this.r = renderFunc;
+    }
+    this.c = compiler;
+    this.text = text || '';
+  }
+
+  Hogan.Template.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials, indent) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials, indent) {
+      return this.ri([context], partials || {}, indent);
+    },
+
+    // render internal -- a hook for overrides that catches partials too
+    ri: function (context, partials, indent) {
+      return this.r(context, partials, indent);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      if (this.c && typeof partial == 'string') {
+        partial = this.c.compile(partial);
+      }
+
+      return partial.ri(context, partials, indent);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '',
+          tail = context[context.length - 1];
+
+      if (!isArray(tail)) {
+        return buf = section(context, partials);
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end, tags) {
+      var pass;
+
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (typeof val == 'function') {
+        val = this.ls(val, ctx, partials, inverted, start, end, tags);
+      }
+
+      pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      var names = key.split('.'),
+          val = this.f(names[0], ctx, partials, returnFound),
+          cx = null;
+
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false,
+          v = null,
+          found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text, tags) {
+      var compiler = this.c;
+      var t = val.call(cx, text, function(t) {
+        return compiler.compile(t, {delimiters: tags}).render(cx, partials);
+      });
+      var s = compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, inverted, start, end, tags) {
+      var cx = ctx[ctx.length - 1],
+          t = null;
+
+      if (!inverted && this.c && val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      t = val.call(cx);
+
+      if (typeof t == 'function') {
+        if (inverted) {
+          return true;
+        } else if (this.c) {
+          return this.ho(t, cx, partials, this.text.substring(start, end), tags);
+        }
+      }
+
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      var result = val.call(cx);
+      if (typeof result == 'function') {
+        result = result.call(cx);
+      }
+      result = result.toString();
+
+      if (this.c && ~result.indexOf("{{")) {
+        return this.c.compile(result).render(cx, partials);
+      }
+
+      return result;
+    }
+
+  };
+
+  var rAmp = /&/g,
+      rLt = /</g,
+      rGt = />/g,
+      rApos =/\'/g,
+      rQuot = /\"/g,
+      hChars =/[&<>\"\']/;
+
+  function hoganEscape(str) {
+    str = String((str === null || str === undefined) ? '' : str);
+    return hChars.test(str) ?
+      str
+        .replace(rAmp,'&amp;')
+        .replace(rLt,'&lt;')
+        .replace(rGt,'&gt;')
+        .replace(rApos,'&#39;')
+        .replace(rQuot, '&quot;') :
+      str;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  };
+
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
+
+
+
+(function (Hogan) {
+  // Setup regex  assignments
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/,
+      rQuot = /\"/g,
+      rNewline =  /\n/g,
+      rCr = /\r/g,
+      rSlash = /\\/g,
+      tagTypes = {
+        '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+        '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+      };
+
+  Hogan.scan = function scan(text, delimiters) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        tag = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+          (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart, next; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            if ((next = tokens[j+1]) && next.tag == '>') {
+              // set indent to token value
+              next.indent = tokens[j].toString()
+            }
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'});
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag,
+          closeIndex = text.indexOf(close, index),
+          delimiters = trim(
+            text.substring(text.indexOf('=', index) + 1, closeIndex)
+          ).split(' ');
+
+      otag = delimiters[0];
+      ctag = delimiters[1];
+
+      return closeIndex + close.length - 1;
+    }
+
+    if (delimiters) {
+      delimiters = delimiters.split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text.charAt(i) == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text.charAt(i);
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        tag = tagTypes[text.charAt(i + 1)];
+        tagType = tag ? text.charAt(i + 1) : '_v';
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+        seenTag = i;
+      } else {
+        if (tagChange(ctag, text, i)) {
+          tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag,
+                       i: (tagType == '/') ? seenTag - ctag.length : i + otag.length});
+          buf = '';
+          i += ctag.length - 1;
+          state = IN_TEXT;
+          if (tagType == '{') {
+            if (ctag == '}}') {
+              i++;
+            } else {
+              cleanTripleStache(tokens[tokens.length - 1]);
+            }
+          }
+        } else {
+          buf += text.charAt(i);
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function cleanTripleStache(token) {
+    if (token.n.substr(token.n.length - 1) === '}') {
+      token.n = token.n.substring(0, token.n.length - 1);
+    }
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  function tagChange(tag, text, index) {
+    if (text.charAt(index) != tag.charAt(0)) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text.charAt(index + i) != tag.charAt(i)) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length === 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function writeCode(tree) {
+    return 'i = i || "";var b = i + "";var _ = this;' + walk(tree) + 'return b;';
+  }
+
+  Hogan.generate = function (code, text, options) {
+    if (options.asString) {
+      return 'function(c,p,i){' + code + ';}';
+    }
+
+    return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan);
+  }
+
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r');
+  }
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i]);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i'));
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text('"' + esc(tree[i]) + '"');
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end, tags) {
+    return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' +
+           'c,p,0,' + start + ',' + end + ', "' + tags + '")){' +
+           'b += _.rs(c,p,' +
+           'function(c,p){ var b = "";' +
+           walk(nodes) +
+           'return b;});c.pop();}' +
+           'else{b += _.b; _.b = ""};';
+  }
+
+  function invertedSection(nodes, id, method) {
+    return 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' +
+           walk(nodes) +
+           '};';
+  }
+
+  function partial(tok) {
+    return 'b += _.rp("' +  esc(tok.n) + '",c,p,"' + (tok.indent || '') + '");';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += ' + id + ';';
+  }
+
+  Hogan.parse = function(tokens, options) {
+    options = options || {};
+    return buildTree(tokens, '', [], options.sectionTags || []);
+  },
+
+  Hogan.cache = {};
+
+  Hogan.compile = function(text, options) {
+    // options
+    //
+    // asString: false (default)
+    //
+    // sectionTags: [{o: '_foo', c: 'foo'}]
+    // An array of object with o and c fields that indicate names for custom
+    // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+    //
+    // delimiters: A string that overrides the default delimiters.
+    // Example: "<% %>"
+    //
+    options = options || {};
+
+    var key = text + '||' + !!options.asString;
+
+    var t = this.cache[key];
+
+    if (t) {
+      return t;
+    }
+
+    t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), options)), text, options);
+    return this.cache[key] = t;
+  };
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
+
+if (typeof module !== 'undefined' && module.exports) {
+  module.exports = Hogan;
+}
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.js
new file mode 100644
index 0000000000..1807562608
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.js
@@ -0,0 +1,572 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+
+
+var Hogan = {};
+
+(function (Hogan) {
+  Hogan.Template = function constructor(renderFunc, text, compiler) {
+    if (renderFunc) {
+      this.r = renderFunc;
+    }
+    this.c = compiler;
+    this.text = text || '';
+  }
+
+  Hogan.Template.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials, indent) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials, indent) {
+      return this.ri([context], partials || {}, indent);
+    },
+
+    // render internal -- a hook for overrides that catches partials too
+    ri: function (context, partials, indent) {
+      return this.r(context, partials, indent);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      if (this.c && typeof partial == 'string') {
+        partial = this.c.compile(partial);
+      }
+
+      return partial.ri(context, partials, indent);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '',
+          tail = context[context.length - 1];
+
+      if (!isArray(tail)) {
+        return buf = section(context, partials);
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end, tags) {
+      var pass;
+
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (typeof val == 'function') {
+        val = this.ls(val, ctx, partials, inverted, start, end, tags);
+      }
+
+      pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      var names = key.split('.'),
+          val = this.f(names[0], ctx, partials, returnFound),
+          cx = null;
+
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false,
+          v = null,
+          found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text, tags) {
+      var compiler = this.c;
+      var t = val.call(cx, text, function(t) {
+        return compiler.compile(t, {delimiters: tags}).render(cx, partials);
+      });
+      var s = compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, inverted, start, end, tags) {
+      var cx = ctx[ctx.length - 1],
+          t = null;
+
+      if (!inverted && this.c && val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      t = val.call(cx);
+
+      if (typeof t == 'function') {
+        if (inverted) {
+          return true;
+        } else if (this.c) {
+          return this.ho(t, cx, partials, this.text.substring(start, end), tags);
+        }
+      }
+
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      var result = val.call(cx);
+      if (typeof result == 'function') {
+        result = result.call(cx);
+      }
+      result = result.toString();
+
+      if (this.c && ~result.indexOf("{{")) {
+        return this.c.compile(result).render(cx, partials);
+      }
+
+      return result;
+    }
+
+  };
+
+  var rAmp = /&/g,
+      rLt = /</g,
+      rGt = />/g,
+      rApos =/\'/g,
+      rQuot = /\"/g,
+      hChars =/[&<>\"\']/;
+
+  function hoganEscape(str) {
+    str = String((str === null || str === undefined) ? '' : str);
+    return hChars.test(str) ?
+      str
+        .replace(rAmp,'&amp;')
+        .replace(rLt,'&lt;')
+        .replace(rGt,'&gt;')
+        .replace(rApos,'&#39;')
+        .replace(rQuot, '&quot;') :
+      str;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  };
+
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
+
+
+
+(function (Hogan) {
+  // Setup regex  assignments
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/,
+      rQuot = /\"/g,
+      rNewline =  /\n/g,
+      rCr = /\r/g,
+      rSlash = /\\/g,
+      tagTypes = {
+        '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+        '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+      };
+
+  Hogan.scan = function scan(text, delimiters) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        tag = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+          (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart, next; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            if ((next = tokens[j+1]) && next.tag == '>') {
+              // set indent to token value
+              next.indent = tokens[j].toString()
+            }
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'});
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag,
+          closeIndex = text.indexOf(close, index),
+          delimiters = trim(
+            text.substring(text.indexOf('=', index) + 1, closeIndex)
+          ).split(' ');
+
+      otag = delimiters[0];
+      ctag = delimiters[1];
+
+      return closeIndex + close.length - 1;
+    }
+
+    if (delimiters) {
+      delimiters = delimiters.split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text.charAt(i) == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text.charAt(i);
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        tag = tagTypes[text.charAt(i + 1)];
+        tagType = tag ? text.charAt(i + 1) : '_v';
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+        seenTag = i;
+      } else {
+        if (tagChange(ctag, text, i)) {
+          tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag,
+                       i: (tagType == '/') ? seenTag - ctag.length : i + otag.length});
+          buf = '';
+          i += ctag.length - 1;
+          state = IN_TEXT;
+          if (tagType == '{') {
+            if (ctag == '}}') {
+              i++;
+            } else {
+              cleanTripleStache(tokens[tokens.length - 1]);
+            }
+          }
+        } else {
+          buf += text.charAt(i);
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function cleanTripleStache(token) {
+    if (token.n.substr(token.n.length - 1) === '}') {
+      token.n = token.n.substring(0, token.n.length - 1);
+    }
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  function tagChange(tag, text, index) {
+    if (text.charAt(index) != tag.charAt(0)) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text.charAt(index + i) != tag.charAt(i)) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length === 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function writeCode(tree) {
+    return 'i = i || "";var b = i + "";var _ = this;' + walk(tree) + 'return b;';
+  }
+
+  Hogan.generate = function (code, text, options) {
+    if (options.asString) {
+      return 'function(c,p,i){' + code + ';}';
+    }
+
+    return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan);
+  }
+
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r');
+  }
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i]);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i'));
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text('"' + esc(tree[i]) + '"');
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end, tags) {
+    return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' +
+           'c,p,0,' + start + ',' + end + ', "' + tags + '")){' +
+           'b += _.rs(c,p,' +
+           'function(c,p){ var b = "";' +
+           walk(nodes) +
+           'return b;});c.pop();}' +
+           'else{b += _.b; _.b = ""};';
+  }
+
+  function invertedSection(nodes, id, method) {
+    return 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' +
+           walk(nodes) +
+           '};';
+  }
+
+  function partial(tok) {
+    return 'b += _.rp("' +  esc(tok.n) + '",c,p,"' + (tok.indent || '') + '");';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += ' + id + ';';
+  }
+
+  Hogan.parse = function(tokens, options) {
+    options = options || {};
+    return buildTree(tokens, '', [], options.sectionTags || []);
+  },
+
+  Hogan.cache = {};
+
+  Hogan.compile = function(text, options) {
+    // options
+    //
+    // asString: false (default)
+    //
+    // sectionTags: [{o: '_foo', c: 'foo'}]
+    // An array of object with o and c fields that indicate names for custom
+    // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+    //
+    // delimiters: A string that overrides the default delimiters.
+    // Example: "<% %>"
+    //
+    options = options || {};
+
+    var key = text + '||' + !!options.asString;
+
+    var t = this.cache[key];
+
+    if (t) {
+      return t;
+    }
+
+    t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), options)), text, options);
+    return this.cache[key] = t;
+  };
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.amd.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.amd.js
new file mode 100644
index 0000000000..aee5922bc2
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.amd.js
@@ -0,0 +1,5 @@
+/**
+* @preserve Copyright 2012 Twitter, Inc.
+* @license http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+var Hogan={};(function(a){function h(a){return a=String(a===null||a===undefined?"":a),g.test(a)?a.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):a}a.Template=function j(a,b,c){a&&(this.r=a),this.c=c,this.text=b||""},a.Template.prototype={r:function(a,b,c){return""},v:h,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e)),e.ri(b,c,d)):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b);for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f,g){var h;return i(a)&&a.length===0?!1:(typeof a=="function"&&(a=this.ls(a,b,c,d,e,f,g)),h=a===""||!!a,!d&&h&&b&&b.push(typeof a=="object"?a:b[b.length-1]),h)},d:function(a,b,c,d){var e=a.split("."),f=this.f(e[0],b,c,d),g=null;if(a==="."&&i(b[b.length-2]))return b[b.length-1];for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)}),h=f.compile(g.toString(),{delimiters:e}).render(b,c);return this.b=h,!1},b:"",ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d<e;d++)if(b.charAt(c+d)!=a.charAt(d))return!1;return!0}function k(a,b,c,d){var e=[],f=null,g=null;while(a.length>0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c<d;c++)if(b[c].o==a.n)return a.tag="#",!0}function m(a,b,c){for(var d=0,e=c.length;d<e;d++)if(c[d].c==a&&c[d].o==b)return!0}function n(a){return'i = i || "";var b = i + "";var _ = this;'+q(a)+"return b;"}function o(a){return a.replace(f,"\\\\").replace(c,'\\"').replace(d,"\\n").replace(e,"\\r")}function p(a){return~a.indexOf(".")?"d":"f"}function q(a){var b="";for(var c=0,d=a.length;c<d;c++){var e=a[c].tag;e=="#"?b+=r(a[c].nodes,a[c].n,p(a[c].n),a[c].i,a[c].end,a[c].otag+" "+a[c].ctag):e=="^"?b+=s(a[c].nodes,a[c].n,p(a[c].n)):e=="<"||e==">"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+', "'+f+'")){'+"b += _.rs(c,p,"+'function(c,p){ var b = "";'+q(a)+"return b;});c.pop();}"+'else{b += _.b; _.b = ""};'}function s(a,b,c){return"if (!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'b += _.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'");'}function u(a,b){return"b += (_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"b += (_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"b += "+a+";"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c<q.length;c++){a=q[c].tag&&g[q[c].tag]<g._v||!q[c].tag&&q[c].match(b)===null;if(!a)return!1}return a}function y(a,b){w();if(a&&x())for(var c=t,d;c<q.length;c++)q[c].tag||((d=q[c+1])&&d.tag==">"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s<e;s++)m==f?j(u,c,s)?(--s,w(),m=k):c.charAt(s)=="\n"?y(r):p+=c.charAt(s):m==k?(s+=u.length-1,o=g[c.charAt(s+1)],n=o?c.charAt(s+1):"_v",n=="="?(s=z(c,s),m=f):(o&&s++,m=l),r=s):j(v,c,s)?(q.push({tag:n,n:i(p),otag:u,ctag:v,i:n=="/"?r-v.length:s+u.length}),p="",s+=v.length-1,m=f,n=="{"&&(v=="}}"?s++:h(q[q.length-1]))):p+=c.charAt(s);return y(r,!0),q},a.generate=function(b,c,d){return d.asString?"function(c,p,i){"+b+";}":new a.Template(new Function("c","p","i",b),c,a)},a.parse=function(a,b){return b=b||{},k(a,"",[],b.sectionTags||[])},a.cache={},a.compile=function(a,b){b=b||{};var c=a+"||"+!!b.asString,d=this.cache[c];return d?d:(d=this.generate(n(this.parse(this.scan(a,b.delimiters),b)),a,b),this.cache[c]=d)}}(typeof exports!="undefined"?exports:Hogan),typeof define=="function"&&define.amd&&define(Hogan)
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.common.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.common.js
new file mode 100644
index 0000000000..ae547d06b9
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.common.js
@@ -0,0 +1,5 @@
+/**
+* @preserve Copyright 2012 Twitter, Inc.
+* @license http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+var Hogan={};(function(a){function h(a){return a=String(a===null||a===undefined?"":a),g.test(a)?a.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):a}a.Template=function j(a,b,c){a&&(this.r=a),this.c=c,this.text=b||""},a.Template.prototype={r:function(a,b,c){return""},v:h,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e)),e.ri(b,c,d)):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b);for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f,g){var h;return i(a)&&a.length===0?!1:(typeof a=="function"&&(a=this.ls(a,b,c,d,e,f,g)),h=a===""||!!a,!d&&h&&b&&b.push(typeof a=="object"?a:b[b.length-1]),h)},d:function(a,b,c,d){var e=a.split("."),f=this.f(e[0],b,c,d),g=null;if(a==="."&&i(b[b.length-2]))return b[b.length-1];for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)}),h=f.compile(g.toString(),{delimiters:e}).render(b,c);return this.b=h,!1},b:"",ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d<e;d++)if(b.charAt(c+d)!=a.charAt(d))return!1;return!0}function k(a,b,c,d){var e=[],f=null,g=null;while(a.length>0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c<d;c++)if(b[c].o==a.n)return a.tag="#",!0}function m(a,b,c){for(var d=0,e=c.length;d<e;d++)if(c[d].c==a&&c[d].o==b)return!0}function n(a){return'i = i || "";var b = i + "";var _ = this;'+q(a)+"return b;"}function o(a){return a.replace(f,"\\\\").replace(c,'\\"').replace(d,"\\n").replace(e,"\\r")}function p(a){return~a.indexOf(".")?"d":"f"}function q(a){var b="";for(var c=0,d=a.length;c<d;c++){var e=a[c].tag;e=="#"?b+=r(a[c].nodes,a[c].n,p(a[c].n),a[c].i,a[c].end,a[c].otag+" "+a[c].ctag):e=="^"?b+=s(a[c].nodes,a[c].n,p(a[c].n)):e=="<"||e==">"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+', "'+f+'")){'+"b += _.rs(c,p,"+'function(c,p){ var b = "";'+q(a)+"return b;});c.pop();}"+'else{b += _.b; _.b = ""};'}function s(a,b,c){return"if (!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'b += _.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'");'}function u(a,b){return"b += (_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"b += (_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"b += "+a+";"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c<q.length;c++){a=q[c].tag&&g[q[c].tag]<g._v||!q[c].tag&&q[c].match(b)===null;if(!a)return!1}return a}function y(a,b){w();if(a&&x())for(var c=t,d;c<q.length;c++)q[c].tag||((d=q[c+1])&&d.tag==">"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s<e;s++)m==f?j(u,c,s)?(--s,w(),m=k):c.charAt(s)=="\n"?y(r):p+=c.charAt(s):m==k?(s+=u.length-1,o=g[c.charAt(s+1)],n=o?c.charAt(s+1):"_v",n=="="?(s=z(c,s),m=f):(o&&s++,m=l),r=s):j(v,c,s)?(q.push({tag:n,n:i(p),otag:u,ctag:v,i:n=="/"?r-v.length:s+u.length}),p="",s+=v.length-1,m=f,n=="{"&&(v=="}}"?s++:h(q[q.length-1]))):p+=c.charAt(s);return y(r,!0),q},a.generate=function(b,c,d){return d.asString?"function(c,p,i){"+b+";}":new a.Template(new Function("c","p","i",b),c,a)},a.parse=function(a,b){return b=b||{},k(a,"",[],b.sectionTags||[])},a.cache={},a.compile=function(a,b){b=b||{};var c=a+"||"+!!b.asString,d=this.cache[c];return d?d:(d=this.generate(n(this.parse(this.scan(a,b.delimiters),b)),a,b),this.cache[c]=d)}}(typeof exports!="undefined"?exports:Hogan),typeof module!="undefined"&&module.exports&&(module.exports=Hogan)
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.js
new file mode 100644
index 0000000000..bbdfa0f780
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.js
@@ -0,0 +1,5 @@
+/**
+* @preserve Copyright 2012 Twitter, Inc.
+* @license http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+var Hogan={};(function(a){function h(a){return a=String(a===null||a===undefined?"":a),g.test(a)?a.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):a}a.Template=function j(a,b,c){a&&(this.r=a),this.c=c,this.text=b||""},a.Template.prototype={r:function(a,b,c){return""},v:h,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e)),e.ri(b,c,d)):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b);for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f,g){var h;return i(a)&&a.length===0?!1:(typeof a=="function"&&(a=this.ls(a,b,c,d,e,f,g)),h=a===""||!!a,!d&&h&&b&&b.push(typeof a=="object"?a:b[b.length-1]),h)},d:function(a,b,c,d){var e=a.split("."),f=this.f(e[0],b,c,d),g=null;if(a==="."&&i(b[b.length-2]))return b[b.length-1];for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)}),h=f.compile(g.toString(),{delimiters:e}).render(b,c);return this.b=h,!1},b:"",ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d<e;d++)if(b.charAt(c+d)!=a.charAt(d))return!1;return!0}function k(a,b,c,d){var e=[],f=null,g=null;while(a.length>0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c<d;c++)if(b[c].o==a.n)return a.tag="#",!0}function m(a,b,c){for(var d=0,e=c.length;d<e;d++)if(c[d].c==a&&c[d].o==b)return!0}function n(a){return'i = i || "";var b = i + "";var _ = this;'+q(a)+"return b;"}function o(a){return a.replace(f,"\\\\").replace(c,'\\"').replace(d,"\\n").replace(e,"\\r")}function p(a){return~a.indexOf(".")?"d":"f"}function q(a){var b="";for(var c=0,d=a.length;c<d;c++){var e=a[c].tag;e=="#"?b+=r(a[c].nodes,a[c].n,p(a[c].n),a[c].i,a[c].end,a[c].otag+" "+a[c].ctag):e=="^"?b+=s(a[c].nodes,a[c].n,p(a[c].n)):e=="<"||e==">"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+', "'+f+'")){'+"b += _.rs(c,p,"+'function(c,p){ var b = "";'+q(a)+"return b;});c.pop();}"+'else{b += _.b; _.b = ""};'}function s(a,b,c){return"if (!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'b += _.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'");'}function u(a,b){return"b += (_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"b += (_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"b += "+a+";"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c<q.length;c++){a=q[c].tag&&g[q[c].tag]<g._v||!q[c].tag&&q[c].match(b)===null;if(!a)return!1}return a}function y(a,b){w();if(a&&x())for(var c=t,d;c<q.length;c++)q[c].tag||((d=q[c+1])&&d.tag==">"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s<e;s++)m==f?j(u,c,s)?(--s,w(),m=k):c.charAt(s)=="\n"?y(r):p+=c.charAt(s):m==k?(s+=u.length-1,o=g[c.charAt(s+1)],n=o?c.charAt(s+1):"_v",n=="="?(s=z(c,s),m=f):(o&&s++,m=l),r=s):j(v,c,s)?(q.push({tag:n,n:i(p),otag:u,ctag:v,i:n=="/"?r-v.length:s+u.length}),p="",s+=v.length-1,m=f,n=="{"&&(v=="}}"?s++:h(q[q.length-1]))):p+=c.charAt(s);return y(r,!0),q},a.generate=function(b,c,d){return d.asString?"function(c,p,i){"+b+";}":new a.Template(new Function("c","p","i",b),c,a)},a.parse=function(a,b){return b=b||{},k(a,"",[],b.sectionTags||[])},a.cache={},a.compile=function(a,b){b=b||{};var c=a+"||"+!!b.asString,d=this.cache[c];return d?d:(d=this.generate(n(this.parse(this.scan(a,b.delimiters),b)),a,b),this.cache[c]=d)}}(typeof exports!="undefined"?exports:Hogan)
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.mustache.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.mustache.js
new file mode 100644
index 0000000000..84b849a405
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.mustache.js
@@ -0,0 +1,5 @@
+/**
+* @preserve Copyright 2012 Twitter, Inc.
+* @license http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+var Hogan={};(function(a){function h(a){return a=String(a===null||a===undefined?"":a),g.test(a)?a.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):a}a.Template=function j(a,b,c){a&&(this.r=a),this.c=c,this.text=b||""},a.Template.prototype={r:function(a,b,c){return""},v:h,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e)),e.ri(b,c,d)):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b);for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f,g){var h;return i(a)&&a.length===0?!1:(typeof a=="function"&&(a=this.ls(a,b,c,d,e,f,g)),h=a===""||!!a,!d&&h&&b&&b.push(typeof a=="object"?a:b[b.length-1]),h)},d:function(a,b,c,d){var e=a.split("."),f=this.f(e[0],b,c,d),g=null;if(a==="."&&i(b[b.length-2]))return b[b.length-1];for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)}),h=f.compile(g.toString(),{delimiters:e}).render(b,c);return this.b=h,!1},b:"",ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d<e;d++)if(b.charAt(c+d)!=a.charAt(d))return!1;return!0}function k(a,b,c,d){var e=[],f=null,g=null;while(a.length>0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c<d;c++)if(b[c].o==a.n)return a.tag="#",!0}function m(a,b,c){for(var d=0,e=c.length;d<e;d++)if(c[d].c==a&&c[d].o==b)return!0}function n(a){return'i = i || "";var b = i + "";var _ = this;'+q(a)+"return b;"}function o(a){return a.replace(f,"\\\\").replace(c,'\\"').replace(d,"\\n").replace(e,"\\r")}function p(a){return~a.indexOf(".")?"d":"f"}function q(a){var b="";for(var c=0,d=a.length;c<d;c++){var e=a[c].tag;e=="#"?b+=r(a[c].nodes,a[c].n,p(a[c].n),a[c].i,a[c].end,a[c].otag+" "+a[c].ctag):e=="^"?b+=s(a[c].nodes,a[c].n,p(a[c].n)):e=="<"||e==">"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+', "'+f+'")){'+"b += _.rs(c,p,"+'function(c,p){ var b = "";'+q(a)+"return b;});c.pop();}"+'else{b += _.b; _.b = ""};'}function s(a,b,c){return"if (!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'b += _.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'");'}function u(a,b){return"b += (_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"b += (_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"b += "+a+";"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c<q.length;c++){a=q[c].tag&&g[q[c].tag]<g._v||!q[c].tag&&q[c].match(b)===null;if(!a)return!1}return a}function y(a,b){w();if(a&&x())for(var c=t,d;c<q.length;c++)q[c].tag||((d=q[c+1])&&d.tag==">"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s<e;s++)m==f?j(u,c,s)?(--s,w(),m=k):c.charAt(s)=="\n"?y(r):p+=c.charAt(s):m==k?(s+=u.length-1,o=g[c.charAt(s+1)],n=o?c.charAt(s+1):"_v",n=="="?(s=z(c,s),m=f):(o&&s++,m=l),r=s):j(v,c,s)?(q.push({tag:n,n:i(p),otag:u,ctag:v,i:n=="/"?r-v.length:s+u.length}),p="",s+=v.length-1,m=f,n=="{"&&(v=="}}"?s++:h(q[q.length-1]))):p+=c.charAt(s);return y(r,!0),q},a.generate=function(b,c,d){return d.asString?"function(c,p,i){"+b+";}":new a.Template(new Function("c","p","i",b),c,a)},a.parse=function(a,b){return b=b||{},k(a,"",[],b.sectionTags||[])},a.cache={},a.compile=function(a,b){b=b||{};var c=a+"||"+!!b.asString,d=this.cache[c];return d?d:(d=this.generate(n(this.parse(this.scan(a,b.delimiters),b)),a,b),this.cache[c]=d)}}(typeof exports!="undefined"?exports:Hogan);var Mustache=function(a){function b(b,c,d,e){var f=this.f(b,c,d,0),g=c;return f&&(g=g.concat(f)),a.Template.prototype.rp.call(this,b,g,d,e)}var c=function(c,d,e){this.rp=b,a.Template.call(this,c,d,e)};c.prototype=a.Template.prototype;var d,e=function(){this.cache={},this.generate=function(a,b,e){return new c(new Function("c","p","i",a),b,d)}};return e.prototype=a,d=new e,{to_html:function(a,b,c,e){var f=d.compile(a),g=f.render(b,c);if(!e)return g;e(g)}}}(Hogan)
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.mustache.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.mustache.js
new file mode 100644
index 0000000000..85022371e3
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.mustache.js
@@ -0,0 +1,619 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+// A wrapper for compatibility with Mustache.js, quirks and all
+
+
+
+var Hogan = {};
+
+(function (Hogan) {
+  Hogan.Template = function constructor(renderFunc, text, compiler) {
+    if (renderFunc) {
+      this.r = renderFunc;
+    }
+    this.c = compiler;
+    this.text = text || '';
+  }
+
+  Hogan.Template.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials, indent) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials, indent) {
+      return this.ri([context], partials || {}, indent);
+    },
+
+    // render internal -- a hook for overrides that catches partials too
+    ri: function (context, partials, indent) {
+      return this.r(context, partials, indent);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      if (this.c && typeof partial == 'string') {
+        partial = this.c.compile(partial);
+      }
+
+      return partial.ri(context, partials, indent);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '',
+          tail = context[context.length - 1];
+
+      if (!isArray(tail)) {
+        return buf = section(context, partials);
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end, tags) {
+      var pass;
+
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (typeof val == 'function') {
+        val = this.ls(val, ctx, partials, inverted, start, end, tags);
+      }
+
+      pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      var names = key.split('.'),
+          val = this.f(names[0], ctx, partials, returnFound),
+          cx = null;
+
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false,
+          v = null,
+          found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text, tags) {
+      var compiler = this.c;
+      var t = val.call(cx, text, function(t) {
+        return compiler.compile(t, {delimiters: tags}).render(cx, partials);
+      });
+      var s = compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, inverted, start, end, tags) {
+      var cx = ctx[ctx.length - 1],
+          t = null;
+
+      if (!inverted && this.c && val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      t = val.call(cx);
+
+      if (typeof t == 'function') {
+        if (inverted) {
+          return true;
+        } else if (this.c) {
+          return this.ho(t, cx, partials, this.text.substring(start, end), tags);
+        }
+      }
+
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      var result = val.call(cx);
+      if (typeof result == 'function') {
+        result = result.call(cx);
+      }
+      result = result.toString();
+
+      if (this.c && ~result.indexOf("{{")) {
+        return this.c.compile(result).render(cx, partials);
+      }
+
+      return result;
+    }
+
+  };
+
+  var rAmp = /&/g,
+      rLt = /</g,
+      rGt = />/g,
+      rApos =/\'/g,
+      rQuot = /\"/g,
+      hChars =/[&<>\"\']/;
+
+  function hoganEscape(str) {
+    str = String((str === null || str === undefined) ? '' : str);
+    return hChars.test(str) ?
+      str
+        .replace(rAmp,'&amp;')
+        .replace(rLt,'&lt;')
+        .replace(rGt,'&gt;')
+        .replace(rApos,'&#39;')
+        .replace(rQuot, '&quot;') :
+      str;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  };
+
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
+
+
+
+(function (Hogan) {
+  // Setup regex  assignments
+  // remove whitespace according to Mustache spec
+  var rIsWhitespace = /\S/,
+      rQuot = /\"/g,
+      rNewline =  /\n/g,
+      rCr = /\r/g,
+      rSlash = /\\/g,
+      tagTypes = {
+        '#': 1, '^': 2, '/': 3,  '!': 4, '>': 5,
+        '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10
+      };
+
+  Hogan.scan = function scan(text, delimiters) {
+    var len = text.length,
+        IN_TEXT = 0,
+        IN_TAG_TYPE = 1,
+        IN_TAG = 2,
+        state = IN_TEXT,
+        tagType = null,
+        tag = null,
+        buf = '',
+        tokens = [],
+        seenTag = false,
+        i = 0,
+        lineStart = 0,
+        otag = '{{',
+        ctag = '}}';
+
+    function addBuf() {
+      if (buf.length > 0) {
+        tokens.push(new String(buf));
+        buf = '';
+      }
+    }
+
+    function lineIsWhitespace() {
+      var isAllWhitespace = true;
+      for (var j = lineStart; j < tokens.length; j++) {
+        isAllWhitespace =
+          (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) ||
+          (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null);
+        if (!isAllWhitespace) {
+          return false;
+        }
+      }
+
+      return isAllWhitespace;
+    }
+
+    function filterLine(haveSeenTag, noNewLine) {
+      addBuf();
+
+      if (haveSeenTag && lineIsWhitespace()) {
+        for (var j = lineStart, next; j < tokens.length; j++) {
+          if (!tokens[j].tag) {
+            if ((next = tokens[j+1]) && next.tag == '>') {
+              // set indent to token value
+              next.indent = tokens[j].toString()
+            }
+            tokens.splice(j, 1);
+          }
+        }
+      } else if (!noNewLine) {
+        tokens.push({tag:'\n'});
+      }
+
+      seenTag = false;
+      lineStart = tokens.length;
+    }
+
+    function changeDelimiters(text, index) {
+      var close = '=' + ctag,
+          closeIndex = text.indexOf(close, index),
+          delimiters = trim(
+            text.substring(text.indexOf('=', index) + 1, closeIndex)
+          ).split(' ');
+
+      otag = delimiters[0];
+      ctag = delimiters[1];
+
+      return closeIndex + close.length - 1;
+    }
+
+    if (delimiters) {
+      delimiters = delimiters.split(' ');
+      otag = delimiters[0];
+      ctag = delimiters[1];
+    }
+
+    for (i = 0; i < len; i++) {
+      if (state == IN_TEXT) {
+        if (tagChange(otag, text, i)) {
+          --i;
+          addBuf();
+          state = IN_TAG_TYPE;
+        } else {
+          if (text.charAt(i) == '\n') {
+            filterLine(seenTag);
+          } else {
+            buf += text.charAt(i);
+          }
+        }
+      } else if (state == IN_TAG_TYPE) {
+        i += otag.length - 1;
+        tag = tagTypes[text.charAt(i + 1)];
+        tagType = tag ? text.charAt(i + 1) : '_v';
+        if (tagType == '=') {
+          i = changeDelimiters(text, i);
+          state = IN_TEXT;
+        } else {
+          if (tag) {
+            i++;
+          }
+          state = IN_TAG;
+        }
+        seenTag = i;
+      } else {
+        if (tagChange(ctag, text, i)) {
+          tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag,
+                       i: (tagType == '/') ? seenTag - ctag.length : i + otag.length});
+          buf = '';
+          i += ctag.length - 1;
+          state = IN_TEXT;
+          if (tagType == '{') {
+            if (ctag == '}}') {
+              i++;
+            } else {
+              cleanTripleStache(tokens[tokens.length - 1]);
+            }
+          }
+        } else {
+          buf += text.charAt(i);
+        }
+      }
+    }
+
+    filterLine(seenTag, true);
+
+    return tokens;
+  }
+
+  function cleanTripleStache(token) {
+    if (token.n.substr(token.n.length - 1) === '}') {
+      token.n = token.n.substring(0, token.n.length - 1);
+    }
+  }
+
+  function trim(s) {
+    if (s.trim) {
+      return s.trim();
+    }
+
+    return s.replace(/^\s*|\s*$/g, '');
+  }
+
+  function tagChange(tag, text, index) {
+    if (text.charAt(index) != tag.charAt(0)) {
+      return false;
+    }
+
+    for (var i = 1, l = tag.length; i < l; i++) {
+      if (text.charAt(index + i) != tag.charAt(i)) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  function buildTree(tokens, kind, stack, customTags) {
+    var instructions = [],
+        opener = null,
+        token = null;
+
+    while (tokens.length > 0) {
+      token = tokens.shift();
+      if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) {
+        stack.push(token);
+        token.nodes = buildTree(tokens, token.tag, stack, customTags);
+        instructions.push(token);
+      } else if (token.tag == '/') {
+        if (stack.length === 0) {
+          throw new Error('Closing tag without opener: /' + token.n);
+        }
+        opener = stack.pop();
+        if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) {
+          throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n);
+        }
+        opener.end = token.i;
+        return instructions;
+      } else {
+        instructions.push(token);
+      }
+    }
+
+    if (stack.length > 0) {
+      throw new Error('missing closing tag: ' + stack.pop().n);
+    }
+
+    return instructions;
+  }
+
+  function isOpener(token, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].o == token.n) {
+        token.tag = '#';
+        return true;
+      }
+    }
+  }
+
+  function isCloser(close, open, tags) {
+    for (var i = 0, l = tags.length; i < l; i++) {
+      if (tags[i].c == close && tags[i].o == open) {
+        return true;
+      }
+    }
+  }
+
+  function writeCode(tree) {
+    return 'i = i || "";var b = i + "";var _ = this;' + walk(tree) + 'return b;';
+  }
+
+  Hogan.generate = function (code, text, options) {
+    if (options.asString) {
+      return 'function(c,p,i){' + code + ';}';
+    }
+
+    return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan);
+  }
+
+  function esc(s) {
+    return s.replace(rSlash, '\\\\')
+            .replace(rQuot, '\\\"')
+            .replace(rNewline, '\\n')
+            .replace(rCr, '\\r');
+  }
+
+  function chooseMethod(s) {
+    return (~s.indexOf('.')) ? 'd' : 'f';
+  }
+
+  function walk(tree) {
+    var code = '';
+    for (var i = 0, l = tree.length; i < l; i++) {
+      var tag = tree[i].tag;
+      if (tag == '#') {
+        code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n),
+                        tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag);
+      } else if (tag == '^') {
+        code += invertedSection(tree[i].nodes, tree[i].n,
+                                chooseMethod(tree[i].n));
+      } else if (tag == '<' || tag == '>') {
+        code += partial(tree[i]);
+      } else if (tag == '{' || tag == '&') {
+        code += tripleStache(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag == '\n') {
+        code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i'));
+      } else if (tag == '_v') {
+        code += variable(tree[i].n, chooseMethod(tree[i].n));
+      } else if (tag === undefined) {
+        code += text('"' + esc(tree[i]) + '"');
+      }
+    }
+    return code;
+  }
+
+  function section(nodes, id, method, start, end, tags) {
+    return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' +
+           'c,p,0,' + start + ',' + end + ', "' + tags + '")){' +
+           'b += _.rs(c,p,' +
+           'function(c,p){ var b = "";' +
+           walk(nodes) +
+           'return b;});c.pop();}' +
+           'else{b += _.b; _.b = ""};';
+  }
+
+  function invertedSection(nodes, id, method) {
+    return 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' +
+           walk(nodes) +
+           '};';
+  }
+
+  function partial(tok) {
+    return 'b += _.rp("' +  esc(tok.n) + '",c,p,"' + (tok.indent || '') + '");';
+  }
+
+  function tripleStache(id, method) {
+    return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));';
+  }
+
+  function variable(id, method) {
+    return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));';
+  }
+
+  function text(id) {
+    return 'b += ' + id + ';';
+  }
+
+  Hogan.parse = function(tokens, options) {
+    options = options || {};
+    return buildTree(tokens, '', [], options.sectionTags || []);
+  },
+
+  Hogan.cache = {};
+
+  Hogan.compile = function(text, options) {
+    // options
+    //
+    // asString: false (default)
+    //
+    // sectionTags: [{o: '_foo', c: 'foo'}]
+    // An array of object with o and c fields that indicate names for custom
+    // section tags. The example above allows parsing of {{_foo}}{{/foo}}.
+    //
+    // delimiters: A string that overrides the default delimiters.
+    // Example: "<% %>"
+    //
+    options = options || {};
+
+    var key = text + '||' + !!options.asString;
+
+    var t = this.cache[key];
+
+    if (t) {
+      return t;
+    }
+
+    t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), options)), text, options);
+    return this.cache[key] = t;
+  };
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
+
+var Mustache = (function (Hogan) {
+
+  // Mustache.js has non-spec partial context behavior
+  function mustachePartial(name, context, partials, indent) {
+    var partialScope = this.f(name, context, partials, 0);
+    var cx = context;
+    if (partialScope) {
+      cx = cx.concat(partialScope);
+    }
+
+    return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent);
+  }
+
+  var HoganTemplateWrapper = function(renderFunc, text, compiler){
+    this.rp = mustachePartial;
+    Hogan.Template.call(this, renderFunc, text, compiler);
+  };
+  HoganTemplateWrapper.prototype = Hogan.Template.prototype;
+
+  // Add a wrapper for Hogan's generate method. Mustache and Hogan keep
+  // separate caches, and Mustache returns wrapped templates.
+  var wrapper;
+  var HoganWrapper = function(){
+    this.cache = {};
+    this.generate = function(code, text, options) {
+      return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper);
+    }
+  };
+  HoganWrapper.prototype = Hogan;
+  wrapper = new HoganWrapper();
+
+  return {
+    to_html: function(text, data, partials, sendFun) {
+      var template = wrapper.compile(text);
+      var result = template.render(data, partials);
+      if (!sendFun) {
+        return result;
+      }
+
+      sendFun(result);
+    }
+  }
+
+})(Hogan);
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.js
new file mode 100644
index 0000000000..8958a70a16
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.js
@@ -0,0 +1,233 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+var Hogan = {};
+
+(function (Hogan) {
+  Hogan.Template = function constructor(renderFunc, text, compiler) {
+    if (renderFunc) {
+      this.r = renderFunc;
+    }
+    this.c = compiler;
+    this.text = text || '';
+  }
+
+  Hogan.Template.prototype = {
+    // render: replaced by generated code.
+    r: function (context, partials, indent) { return ''; },
+
+    // variable escaping
+    v: hoganEscape,
+
+    render: function render(context, partials, indent) {
+      return this.ri([context], partials || {}, indent);
+    },
+
+    // render internal -- a hook for overrides that catches partials too
+    ri: function (context, partials, indent) {
+      return this.r(context, partials, indent);
+    },
+
+    // tries to find a partial in the curent scope and render it
+    rp: function(name, context, partials, indent) {
+      var partial = partials[name];
+
+      if (!partial) {
+        return '';
+      }
+
+      if (this.c && typeof partial == 'string') {
+        partial = this.c.compile(partial);
+      }
+
+      return partial.ri(context, partials, indent);
+    },
+
+    // render a section
+    rs: function(context, partials, section) {
+      var buf = '',
+          tail = context[context.length - 1];
+
+      if (!isArray(tail)) {
+        return buf = section(context, partials);
+      }
+
+      for (var i = 0; i < tail.length; i++) {
+        context.push(tail[i]);
+        buf += section(context, partials);
+        context.pop();
+      }
+
+      return buf;
+    },
+
+    // maybe start a section
+    s: function(val, ctx, partials, inverted, start, end, tags) {
+      var pass;
+
+      if (isArray(val) && val.length === 0) {
+        return false;
+      }
+
+      if (typeof val == 'function') {
+        val = this.ls(val, ctx, partials, inverted, start, end, tags);
+      }
+
+      pass = (val === '') || !!val;
+
+      if (!inverted && pass && ctx) {
+        ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
+      }
+
+      return pass;
+    },
+
+    // find values with dotted names
+    d: function(key, ctx, partials, returnFound) {
+      var names = key.split('.'),
+          val = this.f(names[0], ctx, partials, returnFound),
+          cx = null;
+
+      if (key === '.' && isArray(ctx[ctx.length - 2])) {
+        return ctx[ctx.length - 1];
+      }
+
+      for (var i = 1; i < names.length; i++) {
+        if (val && typeof val == 'object' && names[i] in val) {
+          cx = val;
+          val = val[names[i]];
+        } else {
+          val = '';
+        }
+      }
+
+      if (returnFound && !val) {
+        return false;
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        ctx.push(cx);
+        val = this.lv(val, ctx, partials);
+        ctx.pop();
+      }
+
+      return val;
+    },
+
+    // find values with normal names
+    f: function(key, ctx, partials, returnFound) {
+      var val = false,
+          v = null,
+          found = false;
+
+      for (var i = ctx.length - 1; i >= 0; i--) {
+        v = ctx[i];
+        if (v && typeof v == 'object' && key in v) {
+          val = v[key];
+          found = true;
+          break;
+        }
+      }
+
+      if (!found) {
+        return (returnFound) ? false : "";
+      }
+
+      if (!returnFound && typeof val == 'function') {
+        val = this.lv(val, ctx, partials);
+      }
+
+      return val;
+    },
+
+    // higher order templates
+    ho: function(val, cx, partials, text, tags) {
+      var compiler = this.c;
+      var t = val.call(cx, text, function(t) {
+        return compiler.compile(t, {delimiters: tags}).render(cx, partials);
+      });
+      var s = compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials);
+      this.b = s;
+      return false;
+    },
+
+    // higher order template result buffer
+    b: '',
+
+    // lambda replace section
+    ls: function(val, ctx, partials, inverted, start, end, tags) {
+      var cx = ctx[ctx.length - 1],
+          t = null;
+
+      if (!inverted && this.c && val.length > 0) {
+        return this.ho(val, cx, partials, this.text.substring(start, end), tags);
+      }
+
+      t = val.call(cx);
+
+      if (typeof t == 'function') {
+        if (inverted) {
+          return true;
+        } else if (this.c) {
+          return this.ho(t, cx, partials, this.text.substring(start, end), tags);
+        }
+      }
+
+      return t;
+    },
+
+    // lambda replace variable
+    lv: function(val, ctx, partials) {
+      var cx = ctx[ctx.length - 1];
+      var result = val.call(cx);
+      if (typeof result == 'function') {
+        result = result.call(cx);
+      }
+      result = result.toString();
+
+      if (this.c && ~result.indexOf("{{")) {
+        return this.c.compile(result).render(cx, partials);
+      }
+
+      return result;
+    }
+
+  };
+
+  var rAmp = /&/g,
+      rLt = /</g,
+      rGt = />/g,
+      rApos =/\'/g,
+      rQuot = /\"/g,
+      hChars =/[&<>\"\']/;
+
+  function hoganEscape(str) {
+    str = String((str === null || str === undefined) ? '' : str);
+    return hChars.test(str) ?
+      str
+        .replace(rAmp,'&amp;')
+        .replace(rLt,'&lt;')
+        .replace(rGt,'&gt;')
+        .replace(rApos,'&#39;')
+        .replace(rQuot, '&quot;') :
+      str;
+  }
+
+  var isArray = Array.isArray || function(a) {
+    return Object.prototype.toString.call(a) === '[object Array]';
+  };
+
+})(typeof exports !== 'undefined' ? exports : Hogan);
+
diff --git a/docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.min.js b/docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.min.js
new file mode 100644
index 0000000000..4ec5796047
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.min.js
@@ -0,0 +1,5 @@
+/**
+* @preserve Copyright 2012 Twitter, Inc.
+* @license http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+var Hogan={};(function(a){function h(a){return a=String(a===null||a===undefined?"":a),g.test(a)?a.replace(b,"&amp;").replace(c,"&lt;").replace(d,"&gt;").replace(e,"&#39;").replace(f,"&quot;"):a}a.Template=function j(a,b,c){a&&(this.r=a),this.c=c,this.text=b||""},a.Template.prototype={r:function(a,b,c){return""},v:h,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e)),e.ri(b,c,d)):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b);for(var f=0;f<e.length;f++)a.push(e[f]),d+=c(a,b),a.pop();return d},s:function(a,b,c,d,e,f,g){var h;return i(a)&&a.length===0?!1:(typeof a=="function"&&(a=this.ls(a,b,c,d,e,f,g)),h=a===""||!!a,!d&&h&&b&&b.push(typeof a=="object"?a:b[b.length-1]),h)},d:function(a,b,c,d){var e=a.split("."),f=this.f(e[0],b,c,d),g=null;if(a==="."&&i(b[b.length-2]))return b[b.length-1];for(var h=1;h<e.length;h++)f&&typeof f=="object"&&e[h]in f?(g=f,f=f[e[h]]):f="";return d&&!f?!1:(!d&&typeof f=="function"&&(b.push(g),f=this.lv(f,b,c),b.pop()),f)},f:function(a,b,c,d){var e=!1,f=null,g=!1;for(var h=b.length-1;h>=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)}),h=f.compile(g.toString(),{delimiters:e}).render(b,c);return this.b=h,!1},b:"",ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var b=/&/g,c=/</g,d=/>/g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan)
\ No newline at end of file
diff --git a/docs/build/node_modules/hogan.js/web/favicon.ico b/docs/build/node_modules/hogan.js/web/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..627ee837aaaadef98491f3fd9fd66009a087c83c
GIT binary patch
literal 1150
zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYJy!T<mN8HO_c_U#+Hhlj^D
z9v+_0Z{EBSBIFm4dLbd9w{~`R2S0rHz*kjO)d~!g{~-L}!2>x$`aybN>htpQCaS5a
z-GuRpvH#DXKa4Q-5)u;6`S|!g!1y4y5wag7&%wd*9i~S`Mddb#&BVm?ml(YuH6Z_k
z^oWRvyz=w&+X&PD>eVZeTeohhELyZE2IRL(mo8~Pd-hDCqN1XG!h{KVAU??dps)t%
z0fphVZQDFRY-|{0zJh|nJ#2Cyu@x&;gn``C($Z21a}zGL$l{<d1Gx#=zaV!tG&Iy9
zhbOWg5F6xfkUo6z1d@x2idqU%pOBC+KP@e7CWsvp60#bfK4iCm*e6b$FolU7I&{be
r#vXh$&~w1p1L65U85rb$pkmn_3=9px6ng-OKd>_}{E$be2k8L-mI{3y

literal 0
HcmV?d00001

diff --git a/docs/build/node_modules/hogan.js/web/images/logo.png b/docs/build/node_modules/hogan.js/web/images/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..d25879da6a9595111aa389b4b98e56762a4179c7
GIT binary patch
literal 3389
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
Tt?cq#00000NkvXXu0mjfsB&2y

literal 0
HcmV?d00001

diff --git a/docs/build/node_modules/hogan.js/web/images/noise.png b/docs/build/node_modules/hogan.js/web/images/noise.png
new file mode 100644
index 0000000000000000000000000000000000000000..99ce7572c2c8e392f775c134c111a19e07888492
GIT binary patch
literal 10378
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

literal 0
HcmV?d00001

diff --git a/docs/build/node_modules/hogan.js/web/images/small-hogan-icon.png b/docs/build/node_modules/hogan.js/web/images/small-hogan-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..0558ef1788fe14ae395c5de075e8ac4ded69c0fc
GIT binary patch
literal 472
zcmV;}0Vn>6P)<h;3K|Lk000e1NJLTq0012T000vR1^@s6Y?%gs0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzdPzh<RCwCFl}|(jQ5?so*|jXo5<^5R
z5lbu)5wVo$RF^0liB6rmB|1fGX-T)#rA}R1_8!eCQA(>(q+6$0Vp$^k{`fxDc%!$|
zYrlNVc<;@8e}Cq^>GOTxF;oI<f(ft;+Mpj?fD>?L`XbkGT>;#J3Yh182|R)+a0)KL
zunp58a18EgtdytGV8>VyJb`^yplj1Ha0s5knq#gMTkr;U!N_l>65Sr7mGW(Xv=dKR
zu+5-vc%M;|NnQuQRa9hu)Hs<1Gx7ndOe--A+g+}o1Uo8IF<S~P_yXtP9pw1ojB@UQ
zTcpnC*11M>2ZE007DMlqmX(v-0*TP%7N{CTUnWudpplaFbxz7Vty%nHsh@#ntmv|I
zy3@yoQkt>6n0lItj3raumh;?*tZbQPbyXD8reTD(GHr@!qsOL!%l&3jmN?S2sV=5R
z;Il_PeFZf!ZGlzifAk$X<yK@&9r!h{z~7k1>}{yZ<4`g@0M|13BftRE#6pKlv1950
O0000<MNUMnLSTZ@E7NiS

literal 0
HcmV?d00001

diff --git a/docs/build/node_modules/hogan.js/web/images/stripes.png b/docs/build/node_modules/hogan.js/web/images/stripes.png
new file mode 100644
index 0000000000000000000000000000000000000000..adf332d301ea14f87d3e6caef09de0c9cc1f7994
GIT binary patch
literal 115
zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y@!3HFyABb!LQj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS>JibOqK978H@B_$*z82tPH-=3L+nMHy@eixgbQMGm{PyvId
LtDnm{r-UW|2Jap=

literal 0
HcmV?d00001

diff --git a/docs/build/node_modules/hogan.js/web/index.html.mustache b/docs/build/node_modules/hogan.js/web/index.html.mustache
new file mode 100755
index 0000000000..75fcbfb6c1
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/index.html.mustache
@@ -0,0 +1,139 @@
+<!DOCTYPE html>
+<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
+<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
+<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
+<!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]-->
+<head>
+
+	<!-- Basic Page Needs
+  ================================================== -->
+	<meta charset="utf-8">
+	<title>Hogan.js</title>
+	<meta name="description" content="">
+	<meta name="author" content="">
+	<!--[if lt IE 9]>
+		<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+	<![endif]-->
+
+	<!-- Mobile Specific Metas
+  ================================================== -->
+	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+	<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
+
+	<!-- CSS
+  ================================================== -->
+	<link rel="stylesheet" href="stylesheets/skeleton.css">
+	<link rel="stylesheet" href="stylesheets/layout.css">
+
+</head>
+<body>
+
+
+
+	<!-- Primary Page Layout
+	================================================== -->
+
+	<header class="hogan-hero">
+		<div class="stripes"></div>
+		<div class="noise"></div>
+		<div class="container">
+			<h1>Hogan.js</h1>
+			<h3>JavaScript templating from Twitter.</h3>
+			<a href="https://github.com/twitter/hogan.js" class="download button">View on Github</a>
+		</div>
+	</header>
+		<div class="primary container">
+
+		<!--  Layout 1  -->
+		<div class="five columns">
+			<h4>Getting started</h4>
+			<p>
+				Hogan.js is a 2.5k JS templating engine developed at Twitter. Use it as a part of your asset packager to compile templates ahead of time or include it in your browser to handle dynamic templates.
+			</p>
+			<p>
+				If you're developing with Node.js, just use NPM to add the Hogan package.
+			</p>
+			<pre><code>$ npm install hogan.js</code></pre>
+			<p>
+				Alternatively, drop hogan.js in your browser by adding the following script.
+			</p>
+			<pre><code>&lt;script src="http://twitter.github.com/hogan.js/builds/{{version}}/hogan.js"&gt;&lt;/script&gt;</code></pre>
+
+		</div>
+		<div class="ten columns offset-by-one">
+			<script src="https://gist.github.com/1484613.js"> </script>
+		</div>
+		<div class="hogan-divider">
+			<div class="hogan-icon"></div>
+		</div>
+
+		<!--  Layout 2  -->
+		<div class="five columns">
+			<h4>Templates</h4>
+			<p>
+				Hogan.js was developed against the mustache test suite, so everything that holds true for templates as specified <a href="//mustache.github.com/mustache.5.html">here</a>, is also the case for hogan.js.
+			</p>
+			<p>
+				That means you get variables, sections, lambdas, partials, filters, and everything else you've come to expect from mustache templating - only much, much faster.
+			</p>
+		</div>
+		<div class="ten columns offset-by-one">
+			<script src="https://gist.github.com/1484342.js"></script>
+		</div>
+		<div class="hogan-divider">
+			<div class="hogan-icon"></div>
+		</div>
+
+		<!--  Layout 3  -->
+		<div class="five columns">
+			<h4>Compiling</h4>
+			<p>
+				Use <code>hogan.compile()</code> to precompile your templates into vanilla JS.
+			</p>
+			<p>
+				It's best to serve your templates precompiled whenever you can (rather than the raw templates), as parsing is the most time consuming operation.
+			</p>
+			<p>
+			</p>
+		</div>
+		<div class="ten columns offset-by-one">
+			<script src="https://gist.github.com/1484513.js"> </script>
+		</div>
+		<div class="hogan-divider">
+			<div class="hogan-icon"></div>
+		</div>
+
+		<!--  Layout 4  -->
+		<div class="five columns">
+			<h4 id='rendering'>Rendering</h4>
+			<p>
+				Once compiled, call the <code>render()</code> method with a context and optional partials object.
+			</p>
+			<p>
+				If supplying partials, you can compile them ahead of time, or pass string templates.</p>
+			<p>
+			</p>
+		</div>
+		<div class="ten columns offset-by-one">
+			<script src="https://gist.github.com/1575714.js"> </script>
+		</div>
+
+		<div class="sixteen columns hogan-footer">
+			<span class="copyright">
+				Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/sayrer" target="_blank">@sayrer</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br />
+          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
+			</span>
+			<span class="colophon">
+				<a href="#">Back to top</a>
+			</span>
+		</div>
+
+
+
+	</div><!-- container -->
+
+
+<!-- End Document
+================================================== -->
+</body>
+</html>
diff --git a/docs/build/node_modules/hogan.js/web/stylesheets/layout.css b/docs/build/node_modules/hogan.js/web/stylesheets/layout.css
new file mode 100755
index 0000000000..c9e3e350d2
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/stylesheets/layout.css
@@ -0,0 +1,206 @@
+
+
+/* #Reset & Basics (Inspired by E. Meyers)
+================================================== */
+	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
+		margin: 0;
+		padding: 0;
+		border: 0;
+		font-size: 100%;
+		font: inherit;
+		vertical-align: baseline; }
+	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
+		display: block; }
+	body {
+		line-height: 1; }
+	ol, ul {
+		list-style: none; }
+	blockquote, q {
+		quotes: none; }
+	blockquote:before, blockquote:after,
+	q:before, q:after {
+		content: '';
+		content: none; }
+	table {
+		border-collapse: collapse;
+		border-spacing: 0; }
+
+
+/* #Basic Styles
+================================================== */
+	body {
+		background: #fff;
+		font: 14px/24px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
+		color: #000;
+		-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
+		-webkit-text-size-adjust: 100%;
+ }
+ a {
+ 	color: #999113;
+ 	text-decoration: none;
+ }
+ a:hover {
+ 	color: #7b750e;
+ 	text-decoration: underline;
+ }
+
+
+/* #Typography
+================================================== */
+	h1, h2, h3, h4, h5, h6 {
+		font-weight: bold; }
+	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
+	h1 { font-size: 75px; line-height: 80px; margin-bottom: 14px;}
+	h2 { font-size: 35px; line-height: 40px; margin-bottom: 10px; }
+	h3 { font-size: 28px; line-height: 34px; margin-bottom: 8px; }
+	h4 { font-size: 21px; line-height: 30px; margin-bottom: 4px; }
+	h5 { font-size: 17px; line-height: 24px; }
+	h6 { font-size: 14px; line-height: 21px; }
+	p  { margin-bottom: 22px; }
+
+
+/* #Main styles
+================================================== */
+
+/* Hogan Hero */
+.hogan-hero {
+	position: relative;
+	background: #333; /* Old browsers */
+	background: -moz-radial-gradient(center, ellipse cover, #333 0%, #000 100%); /* FF3.6+ */
+	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#333), color-stop(100%,#000)); /* Chrome,Safari4+ */
+	background: -webkit-radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* Chrome10+,Safari5.1+ */
+	background: -o-radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* Opera 12+ */
+	background: -ms-radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* IE10+ */
+	background: radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333', endColorstr='#000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
+}
+.hogan-hero .container {
+	padding: 180px 0;
+}
+.hogan-hero h1 {
+	letter-spacing: -3px;
+	color: #fff;
+	position: relative;
+	margin-bottom: 5px;
+}
+.hogan-hero h3 {
+	max-width: 650px;
+	margin-bottom: 20px;
+	color: #fff;
+}
+.hogan-hero .noise,
+.hogan-hero .stripes {
+	position: absolute;
+	top: 0;
+	left: 0;
+	right: 0;
+	bottom: 0;
+}
+.hogan-hero .noise {
+	background: url(../images/noise.png) repeat;
+}
+.hogan-hero .stripes {
+	background: url(../images/stripes.png) repeat;
+}
+
+/* Primary content container 	*/
+.primary.container {
+	padding-top: 100px;
+}
+
+/*Hogan divider */
+.hogan-divider {
+	padding-top: 60px;
+	border-bottom: 1px solid #ddd;
+	margin-bottom: 60px;
+	clear: both;
+	position: relative;
+}
+.hogan-icon {
+	width: 40px;
+	height: 30px;
+	position: absolute;
+	left: 50%;
+	top: 46px;
+	margin-left: -20px;
+	background: url('../images/small-hogan-icon.png') white no-repeat center center;
+}
+
+/* Button style */
+.button {
+  display: inline-block;
+  cursor: pointer;
+	background: #dfd52e;
+	border-radius: 3px;
+	margin-bottom: 20px;
+	color: #000;
+	text-transform: uppercase;
+	text-decoration: none;
+	font-size: 15px;
+	padding: 0 34px;
+	line-height: 46px;
+	font-weight: bold;
+	-webkit-transition: background-color .3s ease-in-out;
+	   -moz-transition: background-color .3s ease-in-out;
+	        transition: background-color .3s ease-in-out;
+
+}
+.button:hover {
+	text-decoration: inherit;
+	color: inherit;
+	background-color: #f5e810;
+}
+
+/* Hogan footer */
+.hogan-footer {
+	border-top: 1px solid #ddd;
+	margin-top: 60px;
+	padding: 20px 0 40px;
+	color: #999;
+	font-size: 12px;
+}
+.hogan-footer .copyright {
+	float: left;
+}
+.hogan-footer .colophon {
+	float: right;
+}
+
+pre, code {
+	background: #F8F8FF;
+	border: 1px solid #DDD;
+	padding: 5px 10px;
+	margin-bottom: 20px;
+	font-family: courier;
+	overflow: hidden;
+}
+
+pre code {
+	border: 0;
+	padding: 0;
+	margin-bottom: 0;
+}
+
+
+/* #Media Queries
+================================================== */
+
+	/* Smaller than standard 960 (devices and browsers) */
+	@media only screen and (max-width: 959px) {}
+
+	/* Tablet Portrait size to standard 960 (devices and browsers) */
+	@media only screen and (min-width: 768px) and (max-width: 959px) {}
+
+	/* All Mobile Sizes (devices and browser) */
+	@media only screen and (max-width: 767px) {
+		.hogan-hero .container {
+			padding: 100px 0;
+		}
+	}
+
+	/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
+	@media only screen and (min-width: 480px) and (max-width: 767px) {}
+
+	/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
+	@media only screen and (max-width: 479px) {}
+
diff --git a/docs/build/node_modules/hogan.js/web/stylesheets/skeleton.css b/docs/build/node_modules/hogan.js/web/stylesheets/skeleton.css
new file mode 100755
index 0000000000..d0264a40b3
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/web/stylesheets/skeleton.css
@@ -0,0 +1,236 @@
+/*
+* Skeleton V1.1
+* Copyright 2011, Dave Gamache
+* www.getskeleton.com
+* Free to use under the MIT license.
+* http://www.opensource.org/licenses/mit-license.php
+* 8/17/2011
+*/
+
+
+/* Table of Contents
+==================================================
+    #Base 960 Grid
+    #Tablet (Portrait)
+    #Mobile (Portrait)
+    #Mobile (Landscape)
+    #Clearing */
+
+
+
+/* #Base 960 Grid
+================================================== */
+
+    .container                                  { position: relative; width: 960px; margin: 0 auto; padding: 0; }
+    .column, .columns                           { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
+    .row                                        { margin-bottom: 20px; }
+
+    /* Nested Column Classes */
+    .column.alpha, .columns.alpha               { margin-left: 0; }
+    .column.omega, .columns.omega               { margin-right: 0; }
+
+    /* Base Grid */
+    .container .one.column                      { width: 40px;  }
+    .container .two.columns                     { width: 100px; }
+    .container .three.columns                   { width: 160px; }
+    .container .four.columns                    { width: 220px; }
+    .container .five.columns                    { width: 280px; }
+    .container .six.columns                     { width: 340px; }
+    .container .seven.columns                   { width: 400px; }
+    .container .eight.columns                   { width: 460px; }
+    .container .nine.columns                    { width: 520px; }
+    .container .ten.columns                     { width: 580px; }
+    .container .eleven.columns                  { width: 640px; }
+    .container .twelve.columns                  { width: 700px; }
+    .container .thirteen.columns                { width: 760px; }
+    .container .fourteen.columns                { width: 820px; }
+    .container .fifteen.columns                 { width: 880px; }
+    .container .sixteen.columns                 { width: 940px; }
+
+    .container .one-third.column                { width: 300px; }
+    .container .two-thirds.column               { width: 620px; }
+
+    /* Offsets */
+    .container .offset-by-one                   { padding-left: 60px;  }
+    .container .offset-by-two                   { padding-left: 120px; }
+    .container .offset-by-three                 { padding-left: 180px; }
+    .container .offset-by-four                  { padding-left: 240px; }
+    .container .offset-by-five                  { padding-left: 300px; }
+    .container .offset-by-six                   { padding-left: 360px; }
+    .container .offset-by-seven                 { padding-left: 420px; }
+    .container .offset-by-eight                 { padding-left: 480px; }
+    .container .offset-by-nine                  { padding-left: 540px; }
+    .container .offset-by-ten                   { padding-left: 600px; }
+    .container .offset-by-eleven                { padding-left: 660px; }
+    .container .offset-by-twelve                { padding-left: 720px; }
+    .container .offset-by-thirteen              { padding-left: 780px; }
+    .container .offset-by-fourteen              { padding-left: 840px; }
+    .container .offset-by-fifteen               { padding-left: 900px; }
+
+
+
+/* #Tablet (Portrait)
+================================================== */
+
+    /* Note: Design for a width of 768px */
+
+    @media only screen and (min-width: 768px) and (max-width: 959px) {
+        .container                                  { width: 768px; }
+        .container .column,
+        .container .columns                         { margin-left: 10px; margin-right: 10px;  }
+        .column.alpha, .columns.alpha               { margin-left: 0; margin-right: 10px; }
+        .column.omega, .columns.omega               { margin-right: 0; margin-left: 10px; }
+
+        .container .one.column                      { width: 28px; }
+        .container .two.columns                     { width: 76px; }
+        .container .three.columns                   { width: 124px; }
+        .container .four.columns                    { width: 172px; }
+        .container .five.columns                    { width: 220px; }
+        .container .six.columns                     { width: 268px; }
+        .container .seven.columns                   { width: 316px; }
+        .container .eight.columns                   { width: 364px; }
+        .container .nine.columns                    { width: 412px; }
+        .container .ten.columns                     { width: 460px; }
+        .container .eleven.columns                  { width: 508px; }
+        .container .twelve.columns                  { width: 556px; }
+        .container .thirteen.columns                { width: 604px; }
+        .container .fourteen.columns                { width: 652px; }
+        .container .fifteen.columns                 { width: 700px; }
+        .container .sixteen.columns                 { width: 748px; }
+
+        .container .one-third.column                { width: 236px; }
+        .container .two-thirds.column               { width: 492px; }
+
+        /* Offsets */
+        .container .offset-by-one                   { padding-left: 48px; }
+        .container .offset-by-two                   { padding-left: 96px; }
+        .container .offset-by-three                 { padding-left: 144px; }
+        .container .offset-by-four                  { padding-left: 192px; }
+        .container .offset-by-five                  { padding-left: 240px; }
+        .container .offset-by-six                   { padding-left: 288px; }
+        .container .offset-by-seven                 { padding-left: 336px; }
+        .container .offset-by-eight                 { padding-left: 348px; }
+        .container .offset-by-nine                  { padding-left: 432px; }
+        .container .offset-by-ten                   { padding-left: 480px; }
+        .container .offset-by-eleven                { padding-left: 528px; }
+        .container .offset-by-twelve                { padding-left: 576px; }
+        .container .offset-by-thirteen              { padding-left: 624px; }
+        .container .offset-by-fourteen              { padding-left: 672px; }
+        .container .offset-by-fifteen               { padding-left: 720px; }
+    }
+
+
+/*  #Mobile (Portrait)
+================================================== */
+
+    /* Note: Design for a width of 320px */
+
+    @media only screen and (max-width: 767px) {
+        .container { width: 300px; }
+        .columns, .column { margin: 0; }
+
+        .container .one.column,
+        .container .two.columns,
+        .container .three.columns,
+        .container .four.columns,
+        .container .five.columns,
+        .container .six.columns,
+        .container .seven.columns,
+        .container .eight.columns,
+        .container .nine.columns,
+        .container .ten.columns,
+        .container .eleven.columns,
+        .container .twelve.columns,
+        .container .thirteen.columns,
+        .container .fourteen.columns,
+        .container .fifteen.columns,
+        .container .sixteen.columns,
+        .container .one-third.column,
+        .container .two-thirds.column  { width: 300px; }
+
+        /* Offsets */
+        .container .offset-by-one,
+        .container .offset-by-two,
+        .container .offset-by-three,
+        .container .offset-by-four,
+        .container .offset-by-five,
+        .container .offset-by-six,
+        .container .offset-by-seven,
+        .container .offset-by-eight,
+        .container .offset-by-nine,
+        .container .offset-by-ten,
+        .container .offset-by-eleven,
+        .container .offset-by-twelve,
+        .container .offset-by-thirteen,
+        .container .offset-by-fourteen,
+        .container .offset-by-fifteen { padding-left: 0; }
+
+    }
+
+
+/* #Mobile (Landscape)
+================================================== */
+
+    /* Note: Design for a width of 480px */
+
+    @media only screen and (min-width: 480px) and (max-width: 767px) {
+        .container { width: 420px; }
+        .columns, .column { margin: 0; }
+
+        .container .one.column,
+        .container .two.columns,
+        .container .three.columns,
+        .container .four.columns,
+        .container .five.columns,
+        .container .six.columns,
+        .container .seven.columns,
+        .container .eight.columns,
+        .container .nine.columns,
+        .container .ten.columns,
+        .container .eleven.columns,
+        .container .twelve.columns,
+        .container .thirteen.columns,
+        .container .fourteen.columns,
+        .container .fifteen.columns,
+        .container .sixteen.columns,
+        .container .one-third.column,
+        .container .two-thirds.column { width: 420px; }
+    }
+
+
+/* #Clearing
+================================================== */
+
+    /* Self Clearing Goodness */
+    .container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
+
+    /* Use clearfix class on parent to clear nested columns,
+    or wrap each row of columns in a <div class="row"> */
+    .clearfix:before,
+    .clearfix:after,
+    .row:before,
+    .row:after {
+      content: '\0020';
+      display: block;
+      overflow: hidden;
+      visibility: hidden;
+      width: 0;
+      height: 0; }
+    .row:after,
+    .clearfix:after {
+      clear: both; }
+    .row,
+    .clearfix {
+      zoom: 1; }
+
+    /* You can also use a <br class="clear" /> to clear columns */
+    .clear {
+      clear: both;
+      display: block;
+      overflow: hidden;
+      visibility: hidden;
+      width: 0;
+      height: 0;
+    }
+
+
diff --git a/docs/build/node_modules/hogan.js/wrappers/amd.js.mustache b/docs/build/node_modules/hogan.js/wrappers/amd.js.mustache
new file mode 100644
index 0000000000..d91ef77ca2
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/wrappers/amd.js.mustache
@@ -0,0 +1,21 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+{{{template}}}
+{{{compiler}}}
+
+if (typeof define === 'function' && define.amd) {
+  define(Hogan);
+}
diff --git a/docs/build/node_modules/hogan.js/wrappers/common.js.mustache b/docs/build/node_modules/hogan.js/wrappers/common.js.mustache
new file mode 100644
index 0000000000..e823e83a08
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/wrappers/common.js.mustache
@@ -0,0 +1,21 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+{{{template}}}
+{{{compiler}}}
+
+if (typeof module !== 'undefined' && module.exports) {
+  module.exports = Hogan;
+}
diff --git a/docs/build/node_modules/hogan.js/wrappers/js.mustache b/docs/build/node_modules/hogan.js/wrappers/js.mustache
new file mode 100644
index 0000000000..9f311f08d4
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/wrappers/js.mustache
@@ -0,0 +1,17 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+{{{template}}}
+{{{compiler}}}
diff --git a/docs/build/node_modules/hogan.js/wrappers/mustache.js.mustache b/docs/build/node_modules/hogan.js/wrappers/mustache.js.mustache
new file mode 100644
index 0000000000..d3a3d70df9
--- /dev/null
+++ b/docs/build/node_modules/hogan.js/wrappers/mustache.js.mustache
@@ -0,0 +1,64 @@
+/*
+ *  Copyright 2011 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.
+ */
+
+// A wrapper for compatibility with Mustache.js, quirks and all
+
+{{{template}}}
+{{{compiler}}}
+
+var Mustache = (function (Hogan) {
+
+  // Mustache.js has non-spec partial context behavior
+  function mustachePartial(name, context, partials, indent) {
+    var partialScope = this.f(name, context, partials, 0);
+    var cx = context;
+    if (partialScope) {
+      cx = cx.concat(partialScope);
+    }
+
+    return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent);
+  }
+
+  var HoganTemplateWrapper = function(renderFunc, text, compiler){
+    this.rp = mustachePartial;
+    Hogan.Template.call(this, renderFunc, text, compiler);
+  };
+  HoganTemplateWrapper.prototype = Hogan.Template.prototype;
+
+  // Add a wrapper for Hogan's generate method. Mustache and Hogan keep
+  // separate caches, and Mustache returns wrapped templates.
+  var wrapper;
+  var HoganWrapper = function(){
+    this.cache = {};
+    this.generate = function(code, text, options) {
+      return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper);
+    }
+  };
+  HoganWrapper.prototype = Hogan;
+  wrapper = new HoganWrapper();
+
+  return {
+    to_html: function(text, data, partials, sendFun) {
+      var template = wrapper.compile(text);
+      var result = template.render(data, partials);
+      if (!sendFun) {
+        return result;
+      }
+
+      sendFun(result);
+    }
+  }
+
+})(Hogan);
diff --git a/docs/build/package.json b/docs/build/package.json
new file mode 100644
index 0000000000..97ab25909b
--- /dev/null
+++ b/docs/build/package.json
@@ -0,0 +1,6 @@
+{
+  "name": "bootstrap-doc-builder"
+, "version": "0.0.1"
+, "description": "build bootstrap docs"
+, "dependencies": { "hogan.js": "1.0.5-dev" }
+}
diff --git a/docs/components.html b/docs/components.html
old mode 100755
new mode 100644
index 984e8c76d8..ea58cecb8d
--- a/docs/components.html
+++ b/docs/components.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
     <!--[if lt IE 9]>
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
@@ -18,10 +18,11 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
   </head>
 
   <body>
@@ -33,8 +34,8 @@
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
+            <li class=""><a href="./index.html">Overview</a></li>
+            <li class="dropdown ">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
                 Scaffolding
                 <b class="caret"></b>
@@ -45,7 +46,7 @@
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
                 Base CSS
                 <b class="caret"></b>
@@ -75,7 +76,7 @@
                 <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
                 Javascript plugins
                 <b class="caret"></b>
@@ -95,7 +96,7 @@
                 <li><a href="./javascript.html#typeahead">Typeahead</a></li>
               </ul>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">
                 Using LESS
               </a>
@@ -107,13 +108,12 @@
 
     <div class="container">
 
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Components</h1>
-        <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
-      </header>
-
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Components</h1>
+  <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+</header>
 
 
   <!-- Button Groups
@@ -1284,9 +1284,6 @@
         </div>
 
       </section>
-
-
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1295,17 +1292,27 @@
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
+
     </div><!-- /container -->
 
+
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
-    <script src="../js/bootstrap-tab.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
     <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
     <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/index.html b/docs/index.html
index ce56a04ef6..1e0ff52f6a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -4,11 +4,10 @@
     <meta charset="utf-8">
     <title>Bootstrap, from Twitter</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
     <!--[if lt IE 9]>
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
@@ -19,23 +18,24 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
   </head>
 
   <body>
 
     <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
+    <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li class="active"><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
                 Scaffolding
                 <b class="caret"></b>
@@ -46,7 +46,7 @@
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
                 Base CSS
                 <b class="caret"></b>
@@ -59,7 +59,7 @@
                 <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
                 Components
                 <b class="caret"></b>
@@ -76,7 +76,7 @@
                 <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
                 Javascript plugins
                 <b class="caret"></b>
@@ -96,7 +96,7 @@
                 <li><a href="./javascript.html#typeahead">Typeahead</a></li>
               </ul>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">
                 Using LESS
               </a>
@@ -108,196 +108,194 @@
 
     <div class="container">
 
-      <div id="overview">
+<div id="overview">
 
-        <!-- Masthead
-        ================================================== -->
-        <header class="jumbotron masthead">
-          <div class="inner">
-            <h1>Bootstrap,<br> from Twitter</h1>
-            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
-            <p class="download-info">
-              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
-              <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
-            </p>
+  <!-- Masthead
+  ================================================== -->
+  <header class="jumbotron masthead">
+    <div class="inner">
+      <h1>Bootstrap,<br> from Twitter</h1>
+      <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
+      <p class="download-info">
+        <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
+        <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
+      </p>
 
-            <div class="benefits">
-              <h4>Feature highlights</h4>
-              <ul>
-                <li><span>&times;</span> Built on LESS</li>
-                <li><span>&times;</span> Complete styleguide docs</li>
-                <li><span>&times;</span> Fully responsive design</li>
-                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-                <li><span>&times;</span> Support for IE7 and up</li>
-                <li><span>&times;</span> Custom jQuery plugins</li>
-                <li><span>&times;</span> Dozens of components</li>
-              </ul>
-            </div>
-          </div>
-        </header>
+      <div class="benefits">
+        <h4>Feature highlights</h4>
+        <ul>
+          <li><span>&times;</span> Built on LESS</li>
+          <li><span>&times;</span> Complete styleguide docs</li>
+          <li><span>&times;</span> Fully responsive design</li>
+          <li><span>&times;</span> Small footprint (7kb gzipped)</li>
+          <li><span>&times;</span> Support for IE7 and up</li>
+          <li><span>&times;</span> Custom jQuery plugins</li>
+          <li><span>&times;</span> Dozens of components</li>
+        </ul>
+      </div>
+    </div>
+  </header>
 
-        <ul class="quick-links">
-          <li><strong>Quick links</strong></li>
-          <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
-          <li class="divider">&middot;</li>
-          <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
-          </li>
-          <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
-          </li>
+  <ul class="quick-links">
+    <li><strong>Quick links</strong></li>
+    <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
+    <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
+    <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
+    <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+    <li class="divider">&middot;</li>
+    <li>
+      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
+    </li>
+    <li>
+      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
+    </li>
 <!--
-          <li><strong>Authors</strong></li>
-          <li><a href="http://twitter.com/mdo">@mdo</a></li>
-          <li><a href="http://twitter.com/fat">@fat</a></li>
- -->
+    <li><strong>Authors</strong></li>
+    <li><a href="http://twitter.com/mdo">@mdo</a></li>
+    <li><a href="http://twitter.com/fat">@fat</a></li>
+-->
 
-          <li class="divider">&middot;</li>
-          <li class="follow-btn">
-            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
-          </li>
-          <li class="tweet-btn">
-            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
-          </li>
-        </ul>
+    <li class="divider">&middot;</li>
+    <li class="follow-btn">
+      <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
+    </li>
+    <li class="tweet-btn">
+      <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
+    </li>
+  </ul>
 
 
-        <div class="marketing">
-          <h1>Built with Bootstrap.</h1>
-          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
-          <ul class="thumbnails example-sites">
-            <li class="span4">
-              <a class="thumbnail" href="http://kippt.com/" target="_blank">
-                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
-              </a>
-            </li>
-            <li class="span4">
-              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
-                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
-              </a>
-            </li>
-            <li class="span4">
-              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
-                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
-              </a>
-            </li>
-          </ul>
+  <div class="marketing">
+    <h1>Built with Bootstrap.</h1>
+    <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+    <ul class="thumbnails example-sites">
+      <li class="span4">
+        <a class="thumbnail" href="http://kippt.com/" target="_blank">
+          <img src="assets/img/example-sites/kippt.png" alt="Kippt">
+        </a>
+      </li>
+      <li class="span4">
+        <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
+          <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
+        </a>
+      </li>
+      <li class="span4">
+        <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
+          <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
+        </a>
+      </li>
+    </ul>
 
-          <h1>Designed for everyone, everywhere.</h1>
-          <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
-          <div class="row">
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
-              <h2>Built for and by nerds</h2>
-              <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
-            </div>
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
-              <h2>For all skill levels</h2>
-              <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
-            </div>
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
-              <h2>Cross-everything</h2>
-              <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
-            </div>
-          </div><!--/row-->
-          <div class="row">
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
-              <h2>12-column grid</h2>
-              <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
-            </div>
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
-              <h2>Responsive design</h2>
-              <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
-            </div>
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
-              <h2>Styleguide docs</h2>
-              <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
-            </div>
-          </div><!--/row-->
-          <div class="row">
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
-              <h2>Growing library</h2>
-              <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
-            </div>
-            <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
-              <h2>Custom jQuery plugins</h2>
-              <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
-            </div>
-            <div class="span4">
-              <img class="icon" src="assets/img/less-small.png">
-              <h2>Built on LESS</h2>
-              <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
-            </div>
-          </div><!--/row-->
-          <div class="row">
-            <div class="span3">
-              <img class="small-icon" src="assets/img/icon-html5.png">
-              <h3>HTML5</h3>
-              <p>Built to support new HTML5 elements and syntax.</p>
-            </div>
-            <div class="span3">
-              <img class="small-icon" src="assets/img/icon-css3.png">
-              <h3>CSS3</h3>
-              <p>Progressively enhanced components for ultimate style.</p>
-            </div>
-            <div class="span3">
-              <img class="small-icon" src="assets/img/icon-github.png">
-              <h3>Open-source</h3>
-              <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
-            </div>
-            <div class="span3">
-              <img class="small-icon" src="assets/img/icon-twitter.png">
-              <h3>Made at Twitter</h3>
-              <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
-            </div>
-          </div><!--/row-->
-
-
-          <!-- Quickstart options
-          ================================================== -->
-          <h1>Get started in no time.</h1>
-          <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-          <table class="table table-bordered getting-started">
-            <tbody>
-              <tr>
-                <td class="quick-start">
-                  <h3>Hotlink the CSS</h3>
-                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
-                  <form>
-                    <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-                  </form>
-                </td>
-                <td class="quick-start">
-                  <h3>Use it with LESS</h3>
-                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
-                  <form>
-                    <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-      &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-                  </form>
-                </td>
-                <td class="quick-start">
-                  <h3>Fork on GitHub</h3>
-                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-                  <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
-                </td>
-              </tr>
-            </tbody>
-          </table>
-        </div><!-- /.marketing -->
-      </div><!-- /#overview -->
+    <h1>Designed for everyone, everywhere.</h1>
+    <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
+    <div class="row">
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
+        <h2>Built for and by nerds</h2>
+        <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
+        <h2>For all skill levels</h2>
+        <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
+        <h2>Cross-everything</h2>
+        <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
+      </div>
+    </div><!--/row-->
+    <div class="row">
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+        <h2>12-column grid</h2>
+        <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+        <h2>Responsive design</h2>
+        <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
+        <h2>Styleguide docs</h2>
+        <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
+      </div>
+    </div><!--/row-->
+    <div class="row">
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+        <h2>Growing library</h2>
+        <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
+        <h2>Custom jQuery plugins</h2>
+        <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/less-small.png">
+        <h2>Built on LESS</h2>
+        <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
+      </div>
+    </div><!--/row-->
+    <div class="row">
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-html5.png">
+        <h3>HTML5</h3>
+        <p>Built to support new HTML5 elements and syntax.</p>
+      </div>
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-css3.png">
+        <h3>CSS3</h3>
+        <p>Progressively enhanced components for ultimate style.</p>
+      </div>
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-github.png">
+        <h3>Open-source</h3>
+        <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
+      </div>
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-twitter.png">
+        <h3>Made at Twitter</h3>
+        <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
+      </div>
+    </div><!--/row-->
 
 
+    <!-- Quickstart options
+    ================================================== -->
+    <h1>Get started in no time.</h1>
+    <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
+    <table class="table table-bordered getting-started">
+      <tbody>
+        <tr>
+          <td class="quick-start">
+            <h3>Hotlink the CSS</h3>
+            <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+            <form>
+              <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+            </form>
+          </td>
+          <td class="quick-start">
+            <h3>Use it with LESS</h3>
+            <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
+            <form>
+              <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+            </form>
+          </td>
+          <td class="quick-start">
+            <h3>Fork on GitHub</h3>
+            <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
+            <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+            <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+  </div><!-- /.marketing -->
+</div><!-- /#overview -->
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -306,13 +304,27 @@
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
+
     </div><!-- /container -->
 
+
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-    <script src="assets/js/application.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
+    <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/javascript.html b/docs/javascript.html
index 6a240c4d4b..fda3ae32bb 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -25,7 +25,7 @@
 
   </head>
 
-  <body id="bootstrap-js">
+  <body>
 
     <!-- Navbar
     ================================================== -->
@@ -34,8 +34,8 @@
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
+            <li class=""><a href="./index.html">Overview</a></li>
+            <li class="dropdown ">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
                 Scaffolding
                 <b class="caret"></b>
@@ -46,7 +46,7 @@
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
                 Base CSS
                 <b class="caret"></b>
@@ -59,7 +59,7 @@
                 <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
                 Components
                 <b class="caret"></b>
@@ -96,7 +96,7 @@
                 <li><a href="./javascript.html#typeahead">Typeahead</a></li>
               </ul>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">
                 Using LESS
               </a>
@@ -107,1308 +107,1306 @@
     </div>
 
     <div class="container">
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Javascript for Bootstrap</h1>
-        <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
-      </header>
 
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Javascript for Bootstrap</h1>
+  <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
+</header>
 
-      <!-- Using Javascript w/ Bootstrap
-      ================================================== -->
-      <section id="javascript">
-        <div class="page-header">
-          <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
-        </div>
-      <div class="row">
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
-            <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
-            <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
-            <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
-            <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
-          </label>
-        </div>
-      </div> <!-- /row -->
-      <div class="row">
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
-            <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
-            <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-            <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
-            <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
-            <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
-          </label>
-        </div>
-      </div> <!-- /row -->
-      <div class="row">
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
-            <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
-            <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
-            <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
-          </label>
-        </div>
-        <div class="span3">
-          <label>
-            <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
-            <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
-            <p class="muted"><strong>*</strong> Required for animation in plugins</p>
-          </label>
-        </div>
-      </div> <!-- /row -->
-      <div class="row">
-        <div class="span5">
-          <div class="btn-group" id="javascriptBuilder">
-            <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
-            <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
-              <span class="caret"></span>
-            </a>
-            <ul class="dropdown-menu large">
-              <li class="active"><a href="#">Compressed</a></li>
-              <li><a href="#">Uncompressed</a></li>
-            </ul>
+
+  <!-- Using Javascript w/ Bootstrap
+  ================================================== -->
+  <section id="javascript">
+    <div class="page-header">
+      <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
+    </div>
+  <div class="row">
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+        <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+        <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+        <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+        <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+      </label>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+        <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+        <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+        <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+        <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+        <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+      </label>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+        <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+        <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
+        <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+        <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
+        <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+      </label>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span5">
+      <div class="btn-group" id="javascriptBuilder">
+        <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
+        <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
+          <span class="caret"></span>
+        </a>
+        <ul class="dropdown-menu large">
+          <li class="active"><a href="#">Compressed</a></li>
+          <li><a href="#">Uncompressed</a></li>
+        </ul>
+      </div>
+    </div>
+  </div>
+  <hr>
+  <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
+  <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
+</section>
+
+
+
+<!-- Modal
+================================================== -->
+<section id="modals">
+  <div class="page-header">
+    <h1>Modals <small>bootstrap-modal.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About modals</h3>
+      <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+      <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Static example</h2>
+      <p>Below is a statically rendered modal.</p>
+      <div class="well" style="background-color: #888; border: none;">
+        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
+          <div class="modal-header">
+            <a href="#" class="close" data-dismiss="modal">&times;</a>
+            <h3>Modal header</h3>
+          </div>
+          <div class="modal-body">
+            <p>One fine body…</p>
+          </div>
+          <div class="modal-footer">
+            <a href="#" class="btn primary">Save changes</a>
+            <a href="#" class="btn">Close</a>
           </div>
         </div>
-      </div>
-      <hr>
-      <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
-      <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
-    </section>
-
+      </div> <!-- /well -->
+
+      <h2>Live demo</h2>
+      <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
+      <!-- sample modal content -->
+      <div id="myModal" class="modal hide fade">
+        <div class="modal-header">
+          <a href="#" class="close" data-dismiss="modal" >&times;</a>
+          <h3>Modal Heading</h3>
+        </div>
+        <div class="modal-body">
+          <h4>Text in a modal</h4>
+          <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
 
+          <h4>Popover in a modal</h4>
+          <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
 
-    <!-- Modal
-    ================================================== -->
-    <section id="modals">
-      <div class="page-header">
-        <h1>Modals <small>bootstrap-modal.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About modals</h3>
-          <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
-          <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
+          <h4>Tooltips in a modal</h4>
+          <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
         </div>
-        <div class="span9 columns">
-          <h2>Static example</h2>
-          <p>Below is a statically rendered modal.</p>
-          <div class="well" style="background-color: #888; border: none;">
-            <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
-              <div class="modal-header">
-                <a href="#" class="close" data-dismiss="modal">&times;</a>
-                <h3>Modal header</h3>
-              </div>
-              <div class="modal-body">
-                <p>One fine body…</p>
-              </div>
-              <div class="modal-footer">
-                <a href="#" class="btn primary">Save changes</a>
-                <a href="#" class="btn">Close</a>
-              </div>
-            </div>
-          </div> <!-- /well -->
-
-          <h2>Live demo</h2>
-          <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
-          <!-- sample modal content -->
-          <div id="myModal" class="modal hide fade">
-            <div class="modal-header">
-              <a href="#" class="close" data-dismiss="modal" >&times;</a>
-              <h3>Modal Heading</h3>
-            </div>
-            <div class="modal-body">
-              <h4>Text in a modal</h4>
-              <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
+        <div class="modal-footer">
+          <a href="#" class="btn primary">Save changes</a>
+          <a href="#" class="btn" data-dismiss="modal" >Close</a>
+        </div>
+      </div>
+      <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
 
-              <h4>Popover in a modal</h4>
-              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+      <hr>
 
-              <h4>Tooltips in a modal</h4>
-              <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
-            </div>
-            <div class="modal-footer">
-              <a href="#" class="btn primary">Save changes</a>
-              <a href="#" class="btn" data-dismiss="modal" >Close</a>
-            </div>
-          </div>
-          <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
-
-          <hr>
-
-          <h2>Using bootstrap-modal</h2>
-          <p>Call the modal via javascript:</p>
-          <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
-          <h3>Options</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>backdrop</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>Includes a modal-backdrop element</td>
-             </tr>
-             <tr>
-               <td>keyboard</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>Closes the modal when escape key is pressed</td>
-             </tr>
-            </tbody>
-          </table>
-          <h3>Markup</h3>
-          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
-          <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
+      <h2>Using bootstrap-modal</h2>
+      <p>Call the modal via javascript:</p>
+      <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>backdrop</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>Includes a modal-backdrop element</td>
+         </tr>
+         <tr>
+           <td>keyboard</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>Closes the modal when escape key is pressed</td>
+         </tr>
+        </tbody>
+      </table>
+      <h3>Markup</h3>
+      <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
+      <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
 <pre class="prettyprint linenums">
 &lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
 </pre>
 
 <pre class="prettyprint linenums">
 &lt;div class="modal"&gt;
-  &lt;div class="modal-header"&gt;
-    &lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
-    &lt;h3&gt;Modal header&lt;/h3&gt;
-  &lt;/div&gt;
-  &lt;div class="modal-body"&gt;
-    &lt;p&gt;One fine body…&lt;/p&gt;
-  &lt;/div&gt;
-  &lt;div class="modal-footer"&gt;
-    &lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
-    &lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
-  &lt;/div&gt;
+&lt;div class="modal-header"&gt;
+&lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
+&lt;h3&gt;Modal header&lt;/h3&gt;
+&lt;/div&gt;
+&lt;div class="modal-body"&gt;
+&lt;p&gt;One fine body…&lt;/p&gt;
+&lt;/div&gt;
+&lt;div class="modal-footer"&gt;
+&lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
+&lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
+&lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
-          <h3>Methods</h3>
-          <h4>.modal(options)</h4>
-          <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
+      <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
+      <h3>Methods</h3>
+      <h4>.modal(options)</h4>
+      <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
 $('#myModal').modal({
-  keyboard: false
+keyboard: false
 })</pre>
-          <h4>.modal('toggle')</h4>
-          <p>Manually toggles a modal.</p>
-          <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
-          <h4>.modal('show')</h4>
-          <p>Manually opens a modal.</p>
-          <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
-          <h4>.modal('hide')</h4>
-          <p>Manually hides a modal.</p>
-          <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
-          <h3>Events</h3>
-          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>show</td>
-               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
-             </tr>
-             <tr>
-               <td>shown</td>
-               <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
-             </tr>
-             <tr>
-               <td>hide</td>
-               <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
-             </tr>
-             <tr>
-               <td>hidden</td>
-               <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
-             </tr>
-            </tbody>
-          </table>
+      <h4>.modal('toggle')</h4>
+      <p>Manually toggles a modal.</p>
+      <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
+      <h4>.modal('show')</h4>
+      <p>Manually opens a modal.</p>
+      <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
+      <h4>.modal('hide')</h4>
+      <p>Manually hides a modal.</p>
+      <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
+      <h3>Events</h3>
+      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>show</td>
+           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+         </tr>
+         <tr>
+           <td>shown</td>
+           <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
+         </tr>
+         <tr>
+           <td>hide</td>
+           <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+         </tr>
+         <tr>
+           <td>hidden</td>
+           <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
+         </tr>
+        </tbody>
+      </table>
 
 <pre class="prettyprint linenums">
 $('#myModal').on('hidden', function () {
-  // do something ...
+// do something ...
 })</pre>
-        </div>
-      </div>
-    </section>
-
-
-
-    <!-- Dropdown
-    ================================================== -->
-    <section id="dropdowns">
-      <div class="page-header">
-        <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About dropdowns</h3>
-          <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
-          <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Examples</h2>
-          <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
-          <div id="navbar-example" class="navbar navbar-static">
-            <div class="navbar-inner">
-              <div class="container" style="width: auto;">
-                <a class="brand" href="#">Project Name</a>
-                <ul class="nav">
-                  <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-                    <ul class="dropdown-menu">
-                      <li><a href="#">Action</a></li>
-                      <li><a href="#">Another action</a></li>
-                      <li><a href="#">Something else here</a></li>
-                      <li class="divider"></li>
-                      <li><a href="#">Separated link</a></li>
-                    </ul>
-                  </li>
-                  <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
-                    <ul class="dropdown-menu">
-                      <li><a href="#">Action</a></li>
-                      <li><a href="#">Another action</a></li>
-                      <li><a href="#">Something else here</a></li>
-                      <li class="divider"></li>
-                      <li><a href="#">Separated link</a></li>
-                    </ul>
-                  </li>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Dropdown
+================================================== -->
+<section id="dropdowns">
+  <div class="page-header">
+    <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About dropdowns</h3>
+      <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+      <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Examples</h2>
+      <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
+      <div id="navbar-example" class="navbar navbar-static">
+        <div class="navbar-inner">
+          <div class="container" style="width: auto;">
+            <a class="brand" href="#">Project Name</a>
+            <ul class="nav">
+              <li class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#">Action</a></li>
+                  <li><a href="#">Another action</a></li>
+                  <li><a href="#">Something else here</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#">Separated link</a></li>
                 </ul>
-                <ul class="nav pull-right">
-                  <li id="fat-menu" class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
-                    <ul class="dropdown-menu">
-                      <li><a href="#">Action</a></li>
-                      <li><a href="#">Another action</a></li>
-                      <li><a href="#">Something else here</a></li>
-                      <li class="divider"></li>
-                      <li><a href="#">Separated link</a></li>
-                    </ul>
-                  </li>
+              </li>
+              <li class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#">Action</a></li>
+                  <li><a href="#">Another action</a></li>
+                  <li><a href="#">Something else here</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#">Separated link</a></li>
                 </ul>
-              </div>
-            </div>
-          </div> <!-- /navbar-example -->
-
-          <ul class="nav pills">
-            <li class="active"><a href="#">Regular link</a></li>
-            <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
-              <ul id="menu1" class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </li>
-            <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
-              <ul id="menu2" class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </li>
-            <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
-              <ul id="menu3" class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </li>
-          </ul> <!-- /tabs -->
+              </li>
+            </ul>
+            <ul class="nav pull-right">
+              <li id="fat-menu" class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#">Action</a></li>
+                  <li><a href="#">Another action</a></li>
+                  <li><a href="#">Something else here</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#">Separated link</a></li>
+                </ul>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div> <!-- /navbar-example -->
+
+      <ul class="nav pills">
+        <li class="active"><a href="#">Regular link</a></li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <ul id="menu1" class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
+          <ul id="menu2" class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
+          <ul id="menu3" class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+      </ul> <!-- /tabs -->
 
-          <hr>
+      <hr>
 
-          <h2>Using bootstrap-dropdown.js</h2>
-          <p>Call the dropdowns via javascript:</p>
-          <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
-          <h3>Markup</h3>
-          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
-          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+      <h2>Using bootstrap-dropdown.js</h2>
+      <p>Call the dropdowns via javascript:</p>
+      <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
+      <h3>Markup</h3>
+      <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
+      <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
 
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
-  &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
-  &lt;li class="dropdown" id="menu1"&gt;
-    &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
-      Dropdown
-      &lt;b class="caret"&gt;&lt;/b&gt;
-    &lt;/a&gt;
-    &lt;ul class="dropdown-menu"&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
-      &lt;li class="divider"&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
-    &lt;/ul&gt;
-  &lt;/li&gt;
-  ...
+&lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
+&lt;li class="dropdown" id="menu1"&gt;
+&lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
+  Dropdown
+  &lt;b class="caret"&gt;&lt;/b&gt;
+&lt;/a&gt;
+&lt;ul class="dropdown-menu"&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="divider"&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/li&gt;
+...
 &lt;/ul&gt;</pre>
-          <h3>Methods</h3>
-          <h4>$().dropdown()</h4>
-          <p>
-          A programatic api for activating menus for a given navbar or tabbed navigation.
-          </p>
-        </div>
-      </div>
-    </section>
+      <h3>Methods</h3>
+      <h4>$().dropdown()</h4>
+      <p>
+      A programatic api for activating menus for a given navbar or tabbed navigation.
+      </p>
+    </div>
+  </div>
+</section>
 
 
 
-   <!-- ScrollSpy
-    ================================================== -->
-    <section id="scrollspy">
-      <div class="page-header">
-        <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
-          <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example navbar with scrollspy</h2>
-          <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
-          <div id="navbarExample" class="navbar navbar-static">
-            <div class="navbar-inner">
-              <div class="container" style="width: auto;">
-                <a class="brand" href="#">Project Name</a>
-                <ul class="nav">
-                  <li><a href="#fat">@fat</a></li>
-                  <li><a href="#mdo">@mdo</a></li>
-                  <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-                    <ul class="dropdown-menu">
-                      <li><a href="#one">one</a></li>
-                      <li><a href="#two">two</a></li>
-                      <li class="divider"></li>
-                      <li><a href="#three">three</a></li>
-                    </ul>
-                  </li>
+<!-- ScrollSpy
+================================================== -->
+<section id="scrollspy">
+  <div class="page-header">
+    <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
+      <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example navbar with scrollspy</h2>
+      <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
+      <div id="navbarExample" class="navbar navbar-static">
+        <div class="navbar-inner">
+          <div class="container" style="width: auto;">
+            <a class="brand" href="#">Project Name</a>
+            <ul class="nav">
+              <li><a href="#fat">@fat</a></li>
+              <li><a href="#mdo">@mdo</a></li>
+              <li class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#one">one</a></li>
+                  <li><a href="#two">two</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#three">three</a></li>
                 </ul>
-              </div>
-            </div>
-          </div>
-          <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
-            <h4 id="fat">@fat</h4>
-            <p>
-            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
-            </p>
-            <h4 id="mdo">@mdo</h4>
-            <p>
-            Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
-            </p>
-            <h4 id="one">one</h4>
-            <p>
-            Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
-            </p>
-            <h4 id="two">two</h4>
-            <p>
-            In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
-            </p>
-            <h4 id="three">three</h4>
-            <p>
-            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
-            </p>
-            <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
-            </p>
+              </li>
+            </ul>
           </div>
-          <hr>
-          <h2>Using bootstrap-scrollspy.js</h2>
-          <p>Call the scrollspy via javascript:</p>
-          <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
-          <h3>Markup</h3>
-          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
-          <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
-          <h3>Options</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 100px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>offset</td>
-               <td>number</td>
-               <td>10</td>
-               <td>Pixels to offset from top when calculating position of scroll.</td>
-             </tr>
-            </tbody>
-          </table>
         </div>
       </div>
-    </section>
+      <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
+        <h4 id="fat">@fat</h4>
+        <p>
+        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+        </p>
+        <h4 id="mdo">@mdo</h4>
+        <p>
+        Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
+        </p>
+        <h4 id="one">one</h4>
+        <p>
+        Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
+        </p>
+        <h4 id="two">two</h4>
+        <p>
+        In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
+        </p>
+        <h4 id="three">three</h4>
+        <p>
+        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+        </p>
+        <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
+        </p>
+      </div>
+      <hr>
+      <h2>Using bootstrap-scrollspy.js</h2>
+      <p>Call the scrollspy via javascript:</p>
+      <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
+      <h3>Markup</h3>
+      <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+      <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
+       <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 100px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>offset</td>
+           <td>number</td>
+           <td>10</td>
+           <td>Pixels to offset from top when calculating position of scroll.</td>
+         </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+</section>
 
 
 
-    <!-- Tabs
-    ================================================== -->
-    <section id="tabs">
-      <div class="page-header">
-        <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
-          <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example tabs</h2>
-          <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
-          <ul id="tab" class="nav tabs">
-            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
-            <li><a href="#profile" data-toggle="tab">Profile</a></li>
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-              <ul class="dropdown-menu">
-                <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
-                <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
-              </ul>
-            </li>
+<!-- Tabs
+================================================== -->
+<section id="tabs">
+  <div class="page-header">
+    <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
+      <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example tabs</h2>
+      <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
+      <ul id="tab" class="nav tabs">
+        <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
+        <li><a href="#profile" data-toggle="tab">Profile</a></li>
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
+            <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
           </ul>
-          <div id="myTabContent" class="tab-content">
-            <div class="tab-pane fade in active" id="home">
-              <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
-            </div>
-            <div class="tab-pane fade" id="profile">
-              <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
-            </div>
-            <div class="tab-pane fade" id="dropdown1">
-              <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
-            </div>
-            <div class="tab-pane fade" id="dropdown2">
-              <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
-            </div>
-          </div>
-          <hr>
-          <h2>Using bootstrap-tab.js</h2>
-          <p>Enable tabbable tabs via javascript:</p>
-          <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
-          <h3>Markup</h3>
-          <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
+        </li>
+      </ul>
+      <div id="myTabContent" class="tab-content">
+        <div class="tab-pane fade in active" id="home">
+          <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+        </div>
+        <div class="tab-pane fade" id="profile">
+          <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+        </div>
+        <div class="tab-pane fade" id="dropdown1">
+          <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+        </div>
+        <div class="tab-pane fade" id="dropdown2">
+          <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+        </div>
+      </div>
+      <hr>
+      <h2>Using bootstrap-tab.js</h2>
+      <p>Enable tabbable tabs via javascript:</p>
+      <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
+      <h3>Markup</h3>
+      <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-  &lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;</pre>
-          <h3>Methods</h3>
-          <h4>$().tab</h4>
-          <p>
-            Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
-          </p>
+      <h3>Methods</h3>
+      <h4>$().tab</h4>
+      <p>
+        Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
+      </p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-  &lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+&lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content"&gt;
-  &lt;div class="active" id="home"&gt;...&lt;/div&gt;
-  &lt;div id="profile"&gt;...&lt;/div&gt;
-  &lt;div id="messages"&gt;...&lt;/div&gt;
-  &lt;div id="settings"&gt;...&lt;/div&gt;
+&lt;div class="active" id="home"&gt;...&lt;/div&gt;
+&lt;div id="profile"&gt;...&lt;/div&gt;
+&lt;div id="messages"&gt;...&lt;/div&gt;
+&lt;div id="settings"&gt;...&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;script&gt;
-  $(function () {
-    $('.tabs a:last').tab('show')
-  })
+$(function () {
+$('.tabs a:last').tab('show')
+})
 &lt;/script&gt;</pre>
-          </p>
-          <h3>Events</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>show</td>
-               <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
-            </tr>
-            <tr>
-               <td>shown</td>
-               <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
-             </tr>
-            </tbody>
-          </table>
-
-          <pre class="prettyprint linenums">
+      </p>
+      <h3>Events</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>show</td>
+           <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+        </tr>
+        <tr>
+           <td>shown</td>
+           <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+         </tr>
+        </tbody>
+      </table>
+
+      <pre class="prettyprint linenums">
 $('a[data-toggle="tab"]').on('shown', function (e) {
-  e.target // activated tab
-  e.relatedTarget // previous tab
+e.target // activated tab
+e.relatedTarget // previous tab
 })</pre>
-       </div>
-      </div>
-    </section>
-
-
-    <!-- Tooltips
-    ================================================== -->
-    <section id="tooltips">
-      <div class="page-header">
-        <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About Tooltips</h3>
-          <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
-          <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example use of Tooltips</h2>
-          <p>Hover over the links below to see tooltips:</p>
-          <div class="tooltip-demo well">
-            <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
-            </p>
-          </div>
-          <hr>
-          <h2>Using bootstrap-tooltip.js</h2>
-          <p>Trigger the tooltip via javascript:</p>
-          <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
-          <h3>Options</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 100px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>animation</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>apply a css fade transition to the tooltip</td>
-             </tr>
-             <tr>
-               <td>placement</td>
-               <td>string</td>
-               <td>'top'</td>
-               <td>how to position the tooltip - top | bottom | left | right</td>
-             </tr>
-             <tr>
-               <td>selector</td>
-               <td>string</td>
-               <td>false</td>
-               <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
-             </tr>
-             <tr>
-               <td>title</td>
-               <td>string | function</td>
-               <td>''</td>
-               <td>default title value if `title` tag isn't present</td>
-             </tr>
-             <tr>
-               <td>trigger</td>
-               <td>string</td>
-               <td>'hover'</td>
-               <td>how tooltip is triggered - hover | focus | manual</td>
-             </tr>
-             <tr>
-               <td>delay</td>
-               <td>number | object</td>
-               <td>0</td>
-               <td>
-                <p>delay showing/hiding the tooltip (ms)</p>
-                <p>If a number is supplied, delay is applied to both hide/show</p>
-                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
-               </td>
-             </tr>
-            </tbody>
-          </table>
-          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
-          <h3>Markup</h3>
-          <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
-          <h3>Methods</h3>
-          <h4>$().tooltip(options)</h4>
-          <p>Attaches a tooltip handler to an element collection.</p>
-          <h4>.tooltip('show')</h4>
-          <p>Reveals an elements tooltip.</p>
-          <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
-          <h4>.tooltip('hide')</h4>
-          <p>Hides an elements tooltip.</p>
-          <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
-        </div>
+   </div>
+  </div>
+</section>
+
+
+<!-- Tooltips
+================================================== -->
+<section id="tooltips">
+  <div class="page-header">
+    <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About Tooltips</h3>
+      <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
+      <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example use of Tooltips</h2>
+      <p>Hover over the links below to see tooltips:</p>
+      <div class="tooltip-demo well">
+        <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+        </p>
       </div>
-    </section>
-
-
-
-    <!-- Popovers
-    ================================================== -->
-    <section id="popovers">
-      <div class="page-header">
-        <h1>Popovers <small>bootstrap-popover.js</small></h1>
+      <hr>
+      <h2>Using bootstrap-tooltip.js</h2>
+      <p>Trigger the tooltip via javascript:</p>
+      <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 100px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>animation</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>apply a css fade transition to the tooltip</td>
+         </tr>
+         <tr>
+           <td>placement</td>
+           <td>string</td>
+           <td>'top'</td>
+           <td>how to position the tooltip - top | bottom | left | right</td>
+         </tr>
+         <tr>
+           <td>selector</td>
+           <td>string</td>
+           <td>false</td>
+           <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
+         </tr>
+         <tr>
+           <td>title</td>
+           <td>string | function</td>
+           <td>''</td>
+           <td>default title value if `title` tag isn't present</td>
+         </tr>
+         <tr>
+           <td>trigger</td>
+           <td>string</td>
+           <td>'hover'</td>
+           <td>how tooltip is triggered - hover | focus | manual</td>
+         </tr>
+         <tr>
+           <td>delay</td>
+           <td>number | object</td>
+           <td>0</td>
+           <td>
+            <p>delay showing/hiding the tooltip (ms)</p>
+            <p>If a number is supplied, delay is applied to both hide/show</p>
+            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+           </td>
+         </tr>
+        </tbody>
+      </table>
+      <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
+      <h3>Markup</h3>
+      <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
+      <h3>Methods</h3>
+      <h4>$().tooltip(options)</h4>
+      <p>Attaches a tooltip handler to an element collection.</p>
+      <h4>.tooltip('show')</h4>
+      <p>Reveals an elements tooltip.</p>
+      <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
+      <h4>.tooltip('hide')</h4>
+      <p>Hides an elements tooltip.</p>
+      <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Popovers
+================================================== -->
+<section id="popovers">
+  <div class="page-header">
+    <h1>Popovers <small>bootstrap-popover.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About popovers</h3>
+      <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+      <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
+      <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example hover popover</h2>
+      <p>Hover over the button to trigger the popover.</p>
+      <div class="well">
+        <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
       </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About popovers</h3>
-          <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-          <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
-          <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example hover popover</h2>
-          <p>Hover over the button to trigger the popover.</p>
-          <div class="well">
-            <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
-          </div>
-          <hr>
-          <h2>Using bootstrap-popover.js</h2>
-          <p>Enable popovers via javascript:</p>
-          <pre class="prettyprint linenums">$('#example').popover(options)</pre>
-          <h3>Options</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 100px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>animation</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>apply a css fade transition to the tooltip</td>
-             </tr>
-             <tr>
-               <td>placement</td>
-               <td>string</td>
-               <td>'right'</td>
-               <td>how to position the popover - top | bottom | left | right</td>
-             </tr>
-             <tr>
-               <td>selector</td>
-               <td>string</td>
-               <td>false</td>
-               <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
-             </tr>
-             <tr>
-               <td>trigger</td>
-               <td>string</td>
-               <td>'hover'</td>
-               <td>how tooltip is triggered - hover | focus | manual</td>
-             </tr>
-             <tr>
-               <td>title</td>
-               <td>string | function</td>
-               <td>''</td>
-               <td>default title value if `title` attribute isn't present</td>
-             </tr>
-             <tr>
-               <td>content</td>
-               <td>string | function</td>
-               <td>''</td>
-               <td>default content value if `data-content` attribute isn't present</td>
-             </tr>
-             <tr>
-               <td>delay</td>
-               <td>number | object</td>
-               <td>0</td>
-               <td>
-                <p>delay showing/hiding the popover (ms)</p>
-                <p>If a number is supplied, delay is applied to both hide/show</p>
-                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
-               </td>
-             </tr>
-            </tbody>
-          </table>
-          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
-          <h3>Markup</h3>
-          <p>
-          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.
-          </p>
-          <h3>Methods</h3>
-          <h4>$().popover(options)</h4>
-          <p>Initializes popovers for an element collection.</p>
-          <h4>.popover('show')</h4>
-          <p>Reveals an elements popover.</p>
-          <pre class="prettyprint linenums">$('#element').popover('show')</pre>
-          <h4>.popover('hide')</h4>
-          <p>Hides an elements popover.</p>
-          <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
-        </div>
+      <hr>
+      <h2>Using bootstrap-popover.js</h2>
+      <p>Enable popovers via javascript:</p>
+      <pre class="prettyprint linenums">$('#example').popover(options)</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 100px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>animation</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>apply a css fade transition to the tooltip</td>
+         </tr>
+         <tr>
+           <td>placement</td>
+           <td>string</td>
+           <td>'right'</td>
+           <td>how to position the popover - top | bottom | left | right</td>
+         </tr>
+         <tr>
+           <td>selector</td>
+           <td>string</td>
+           <td>false</td>
+           <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
+         </tr>
+         <tr>
+           <td>trigger</td>
+           <td>string</td>
+           <td>'hover'</td>
+           <td>how tooltip is triggered - hover | focus | manual</td>
+         </tr>
+         <tr>
+           <td>title</td>
+           <td>string | function</td>
+           <td>''</td>
+           <td>default title value if `title` attribute isn't present</td>
+         </tr>
+         <tr>
+           <td>content</td>
+           <td>string | function</td>
+           <td>''</td>
+           <td>default content value if `data-content` attribute isn't present</td>
+         </tr>
+         <tr>
+           <td>delay</td>
+           <td>number | object</td>
+           <td>0</td>
+           <td>
+            <p>delay showing/hiding the popover (ms)</p>
+            <p>If a number is supplied, delay is applied to both hide/show</p>
+            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+           </td>
+         </tr>
+        </tbody>
+      </table>
+      <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
+      <h3>Markup</h3>
+      <p>
+      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.
+      </p>
+      <h3>Methods</h3>
+      <h4>$().popover(options)</h4>
+      <p>Initializes popovers for an element collection.</p>
+      <h4>.popover('show')</h4>
+      <p>Reveals an elements popover.</p>
+      <pre class="prettyprint linenums">$('#element').popover('show')</pre>
+      <h4>.popover('hide')</h4>
+      <p>Hides an elements popover.</p>
+      <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Alert
+================================================== -->
+<section id="alerts">
+  <div class="page-header">
+    <h1>Alert messages <small>bootstrap-alert.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About alerts</h3>
+      <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+      <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example alerts</h2>
+      <p>The alerts plugin works on regular alert messages, and block messages.</p>
+      <div class="alert fade in">
+        <a class="close" data-dismiss="alert" href="#">&times;</a>
+        <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
       </div>
-    </section>
-
-
-
-    <!-- Alert
-    ================================================== -->
-    <section id="alerts">
-      <div class="page-header">
-        <h1>Alert messages <small>bootstrap-alert.js</small></h1>
+      <div class="alert alert-block alert-error fade in">
+        <a class="close" data-dismiss="alert" href="#">&times;</a>
+        <h4 class="alert-heading">Oh snap! You got an error!</h4>
+        <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+        <p>
+          <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+        </p>
       </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About alerts</h3>
-          <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example alerts</h2>
-          <p>The alerts plugin works on regular alert messages, and block messages.</p>
-          <div class="alert fade in">
-            <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
-          </div>
-          <div class="alert alert-block alert-error fade in">
-            <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <h4 class="alert-heading">Oh snap! You got an error!</h4>
-            <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
-            <p>
-              <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-            </p>
-          </div>
-          <hr>
-          <h2>Using bootstrap-alerts.js</h2>
-          <p>Enable dismissal of an alert via javascript:</p>
-          <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
-          <h3>Markup</h3>
-          <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
-          <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
-          <h3>Methods</h3>
-          <h4>$().alert()</h4>
-          <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
-          <h4>.alert('close')</h4>
-          <p>Closes an alert.</p>
-          <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
-          <h3>Events</h3>
-          <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>close</td>
-               <td>This event fires immediately when the <code>close</code> instance method is called.</td>
-             </tr>
-             <tr>
-               <td>closed</td>
-               <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
-             </tr>
-            </tbody>
-          </table>
+      <hr>
+      <h2>Using bootstrap-alerts.js</h2>
+      <p>Enable dismissal of an alert via javascript:</p>
+      <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
+      <h3>Markup</h3>
+      <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
+      <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
+      <h3>Methods</h3>
+      <h4>$().alert()</h4>
+      <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
+      <h4>.alert('close')</h4>
+      <p>Closes an alert.</p>
+      <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
+      <h3>Events</h3>
+      <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>close</td>
+           <td>This event fires immediately when the <code>close</code> instance method is called.</td>
+         </tr>
+         <tr>
+           <td>closed</td>
+           <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
+         </tr>
+        </tbody>
+      </table>
 <pre class="prettyprint linenums">
 $('#my-alert').bind('closed', function () {
-  // do something ...
+// do something ...
 })</pre>
-        </div>
-      </div>
-    </section>
-
-
-
-    <!-- Buttons
-    ================================================== -->
-    <section id="buttons">
-      <div class="page-header">
-        <h1>Buttons <small>bootstrap-button.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About</h3>
-          <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
-          <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example uses</h2>
-          <p>Use the buttons plugin for states and toggles.</p>
-          <table class="table table-bordered table-striped">
-            <tbody>
-             <tr>
-               <td>Stateful</td>
-               <td>
-                  <button id="fat-btn" data-loading-text="loading..." class="btn primary">
-                    Loading State
-                  </button>
-                </td>
-             </tr>
-             <tr>
-               <td>Single toggle</td>
-               <td>
-                  <button class="btn primary" data-toggle="button">Single Toggle</button>
-                </td>
-             </tr>
-             <tr>
-               <td>Checkbox</td>
-               <td>
-                  <div class="btn-group" data-toggle="buttons-checkbox">
-                    <button class="btn primary">Left</button>
-                    <button class="btn primary">Middle</button>
-                    <button class="btn primary">Right</button>
-                  </div>
-               </td>
-             </tr>
-             <tr>
-               <td>Radio</td>
-               <td>
-                  <div class="btn-group" data-toggle="buttons-radio">
-                    <button class="btn primary">Left</button>
-                    <button class="btn primary">Middle</button>
-                    <button class="btn primary">Right</button>
-                  </div>
-               </td>
-             </tr>
-            </tbody>
-          </table>
-          <hr>
-          <h2>Using bootstrap-button.js</h2>
-          <p>Enable buttons via javascript:</p>
-          <pre class="prettyprint linenums">$('.tabs').button()</pre>
-            <h3>Markup</h3>
-          <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Buttons
+================================================== -->
+<section id="buttons">
+  <div class="page-header">
+    <h1>Buttons <small>bootstrap-button.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+      <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example uses</h2>
+      <p>Use the buttons plugin for states and toggles.</p>
+      <table class="table table-bordered table-striped">
+        <tbody>
+         <tr>
+           <td>Stateful</td>
+           <td>
+              <button id="fat-btn" data-loading-text="loading..." class="btn primary">
+                Loading State
+              </button>
+            </td>
+         </tr>
+         <tr>
+           <td>Single toggle</td>
+           <td>
+              <button class="btn primary" data-toggle="button">Single Toggle</button>
+            </td>
+         </tr>
+         <tr>
+           <td>Checkbox</td>
+           <td>
+              <div class="btn-group" data-toggle="buttons-checkbox">
+                <button class="btn primary">Left</button>
+                <button class="btn primary">Middle</button>
+                <button class="btn primary">Right</button>
+              </div>
+           </td>
+         </tr>
+         <tr>
+           <td>Radio</td>
+           <td>
+              <div class="btn-group" data-toggle="buttons-radio">
+                <button class="btn primary">Left</button>
+                <button class="btn primary">Middle</button>
+                <button class="btn primary">Right</button>
+              </div>
+           </td>
+         </tr>
+        </tbody>
+      </table>
+      <hr>
+      <h2>Using bootstrap-button.js</h2>
+      <p>Enable buttons via javascript:</p>
+      <pre class="prettyprint linenums">$('.tabs').button()</pre>
+        <h3>Markup</h3>
+      <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
 &lt;!-- Add data-toggle="button" to activate toggling on a single button --&gt;
 &lt;button class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;
 
 &lt;!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group --&gt;
 &lt;div class="btn-group" data-toggle="buttons-checkbox"&gt;
-  &lt;button class="btn"&gt;Left&lt;/button&gt;
-  &lt;button class="btn"&gt;Middle&lt;/button&gt;
-  &lt;button class="btn"&gt;Right&lt;/button&gt;
+&lt;button class="btn"&gt;Left&lt;/button&gt;
+&lt;button class="btn"&gt;Middle&lt;/button&gt;
+&lt;button class="btn"&gt;Right&lt;/button&gt;
 &lt;/div&gt;
 
 &lt;!-- Add data-toggle="buttons-radio" for radio style toggling on btn-group --&gt;
 &lt;div class="btn-group" data-toggle="buttons-radio"&gt;
-  &lt;button class="btn"&gt;Left&lt;/button&gt;
-  &lt;button class="btn"&gt;Middle&lt;/button&gt;
-  &lt;button class="btn"&gt;Right&lt;/button&gt;
+&lt;button class="btn"&gt;Left&lt;/button&gt;
+&lt;button class="btn"&gt;Middle&lt;/button&gt;
+&lt;button class="btn"&gt;Right&lt;/button&gt;
 &lt;/div&gt;
 </pre>
-          <h3>Methods</h3>
-          <h4>$().button('toggle')</h4>
-          <p>Toggles push state. Gives btn the look that it's been activated.</p>
-          <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
-          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
-          <h4>$().button('loading')</h4>
-          <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
-          </p>
-           <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
-          <p>
-            <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
-          </p>
-           <h4>$().button('reset')</h4>
-           <p>Resets button state - swaps text to original text.</p>
-           <h4>$().button(string)</h4>
-           <p>Resets button state - swaps text to any data defined text state.</p>
+      <h3>Methods</h3>
+      <h4>$().button('toggle')</h4>
+      <p>Toggles push state. Gives btn the look that it's been activated.</p>
+      <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
+      <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
+      <h4>$().button('loading')</h4>
+      <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
+      </p>
+       <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+      <p>
+        <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
+      </p>
+       <h4>$().button('reset')</h4>
+       <p>Resets button state - swaps text to original text.</p>
+       <h4>$().button(string)</h4>
+       <p>Resets button state - swaps text to any data defined text state.</p>
 <pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
 &lt;script&gt;
-  $('.btn').button('complete')
+$('.btn').button('complete')
 &lt;/script&gt;</pre>
-        </div>
-      </div>
-    </section>
-
-
-
-    <!-- Collapse
-    ================================================== -->
-    <section id="collapse">
-      <div class="page-header">
-        <h1>Collapse <small>bootstrap-collapse.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About</h3>
-          <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
-          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example accordion</h2>
-          <p>Using the collapse plugin, we built a simple accordion style widget:</p>
-        
-          <div class="accordion" id="accordion2">
-            <div class="accordion-group">
-              <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
-                  Collapsible Group Item #1
-                </a>
-              </div>
-              <div id="collapseOne" class="accordion-body collapse in">
-                <div class="accordion-inner">
-                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-                </div>
-              </div>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Collapse
+================================================== -->
+<section id="collapse">
+  <div class="page-header">
+    <h1>Collapse <small>bootstrap-collapse.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+      <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example accordion</h2>
+      <p>Using the collapse plugin, we built a simple accordion style widget:</p>
+    
+      <div class="accordion" id="accordion2">
+        <div class="accordion-group">
+          <div class="accordion-heading">
+            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+              Collapsible Group Item #1
+            </a>
+          </div>
+          <div id="collapseOne" class="accordion-body collapse in">
+            <div class="accordion-inner">
+              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
             </div>
-            <div class="accordion-group">
-              <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
-                  Collapsible Group Item #2
-                </a>
-              </div>
-              <div id="collapseTwo" class="accordion-body collapse">
-                <div class="accordion-inner">
-                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-                </div>
-              </div>
+          </div>
+        </div>
+        <div class="accordion-group">
+          <div class="accordion-heading">
+            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+              Collapsible Group Item #2
+            </a>
+          </div>
+          <div id="collapseTwo" class="accordion-body collapse">
+            <div class="accordion-inner">
+              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
             </div>
-            <div class="accordion-group">
-              <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
-                  Collapsible Group Item #3
-                </a>
-              </div>
-              <div id="collapseThree" class="accordion-body collapse">
-                <div class="accordion-inner">
-                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-                </div>
-              </div>
+          </div>
+        </div>
+        <div class="accordion-group">
+          <div class="accordion-heading">
+            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+              Collapsible Group Item #3
+            </a>
+          </div>
+          <div id="collapseThree" class="accordion-body collapse">
+            <div class="accordion-inner">
+              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
             </div>
           </div>
+        </div>
+      </div>
 
-          
-          <hr>
-          <h2>Using bootstrap-collapse.js</h2>
-          <p>Enable via javascript:</p>
-          <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
-          <h3>Options</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>parent</td>
-               <td>selector</td>
-               <td>false</td>
-               <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
-             </tr>
-             <tr>
-               <td>toggle</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>Toggles the collapsible element on invocation</td>
-             </tr>
-            </tbody>
-          </table>
-          <h3>Markup</h3>
-          <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
-          <pre class="prettyprint linenums">
+      
+      <hr>
+      <h2>Using bootstrap-collapse.js</h2>
+      <p>Enable via javascript:</p>
+      <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>parent</td>
+           <td>selector</td>
+           <td>false</td>
+           <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
+         </tr>
+         <tr>
+           <td>toggle</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>Toggles the collapsible element on invocation</td>
+         </tr>
+        </tbody>
+      </table>
+      <h3>Markup</h3>
+      <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
+      <pre class="prettyprint linenums">
 &lt;button class="btn danger" data-toggle="collapse" data-target="#demo"&gt;
-  simple collapsible
+simple collapsible
 &lt;/button&gt;
 
 &lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
-         <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
-          <h3>Methods</h3>
-          <h4>.collapse(options)</h4>
-          <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
+     <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
+      <h3>Methods</h3>
+      <h4>.collapse(options)</h4>
+      <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
 $('#myCollapsible').collapse({
-  toggle: false
+toggle: false
 })</pre>
-          <h4>.collapse('toggle')</h4>
-          <p>Toggles a collapsible element to shown or hidden.</p>
-          <h4>.collapse('show')</h4>
-          <p>Shows a collapsible element.</p>
-          <h4>.collapse('hide')</h4>
-          <p>Hides a collapsible element.</p>
-          <h3>Events</h3>
-          <p>
-            Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
-          </p>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>show</td>
-               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
-             </tr>
-             <tr>
-               <td>shown</td>
-               <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
-             </tr>
-             <tr>
-               <td>hide</td>
-               <td>
-                This event is fired immediately when the <code>hide</code> method has been called.
-               </td>
-             </tr>
-             <tr>
-               <td>hidden</td>
-               <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
-             </tr>
-            </tbody>
-          </table>
+      <h4>.collapse('toggle')</h4>
+      <p>Toggles a collapsible element to shown or hidden.</p>
+      <h4>.collapse('show')</h4>
+      <p>Shows a collapsible element.</p>
+      <h4>.collapse('hide')</h4>
+      <p>Hides a collapsible element.</p>
+      <h3>Events</h3>
+      <p>
+        Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
+      </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>show</td>
+           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+         </tr>
+         <tr>
+           <td>shown</td>
+           <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
+         </tr>
+         <tr>
+           <td>hide</td>
+           <td>
+            This event is fired immediately when the <code>hide</code> method has been called.
+           </td>
+         </tr>
+         <tr>
+           <td>hidden</td>
+           <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
+         </tr>
+        </tbody>
+      </table>
 
 <pre class="prettyprint linenums">
 $('#myCollapsible').on('hidden', function () {
-  // do something ...
+// do something ...
 })</pre>
-        </div>
-      </div>
-    </section>
-
-
-
-     <!-- Carousel
-    ================================================== -->
-    <section id="carousel">
-      <div class="page-header">
-        <h1>Carousel <small>bootstrap-carousel.js</small></h1>
-      </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About</h3>
-          <p>A generic plugin for cycling through elements. A merry-go-round.</p>
-          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example carousel</h2>
-          <p>Watch the slideshow below.</p>
-          <div id="myCarousel" class="carousel slide">
-            <div class="carousel-inner">
-              <div class="item active">
-                <img src="http://placehold.it/1000x500" alt="">
-                <div class="carousel-caption">
-                  <h4>First Thumbnail label</h4>
-                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-                </div>
-              </div>
-              <div class="item">
-                <img src="http://placehold.it/1000x500" alt="">
-                <div class="carousel-caption">
-                  <h4>Second Thumbnail label</h4>
-                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-                </div>
-              </div>
-              <div class="item">
-                <img src="http://placehold.it/1000x500" alt="">
-                <div class="carousel-caption">
-                  <h4>Third Thumbnail label</h4>
-                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-                </div>
-              </div>
+    </div>
+  </div>
+</section>
+
+
+
+ <!-- Carousel
+================================================== -->
+<section id="carousel">
+  <div class="page-header">
+    <h1>Carousel <small>bootstrap-carousel.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>A generic plugin for cycling through elements. A merry-go-round.</p>
+      <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example carousel</h2>
+      <p>Watch the slideshow below.</p>
+      <div id="myCarousel" class="carousel slide">
+        <div class="carousel-inner">
+          <div class="item active">
+            <img src="http://placehold.it/1000x500" alt="">
+            <div class="carousel-caption">
+              <h4>First Thumbnail label</h4>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+            </div>
+          </div>
+          <div class="item">
+            <img src="http://placehold.it/1000x500" alt="">
+            <div class="carousel-caption">
+              <h4>Second Thumbnail label</h4>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
             </div>
-            <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
-            <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
           </div>
-          <hr>
-          <h2>Using bootstrap-carousel.js</h2>
-          <p>Call via javascript:</p>
-          <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
-          <h3>Options</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>interval</td>
-               <td>number</td>
-               <td>5000</td>
-               <td>The amount of type to delay between automatically cycling an item.</td>
-             </tr>
-            </tbody>
-          </table>
-          <h3>Markup</h3>
-          <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
+          <div class="item">
+            <img src="http://placehold.it/1000x500" alt="">
+            <div class="carousel-caption">
+              <h4>Third Thumbnail label</h4>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+            </div>
+          </div>
+        </div>
+        <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
+        <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
+      </div>
+      <hr>
+      <h2>Using bootstrap-carousel.js</h2>
+      <p>Call via javascript:</p>
+      <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>interval</td>
+           <td>number</td>
+           <td>5000</td>
+           <td>The amount of type to delay between automatically cycling an item.</td>
+         </tr>
+        </tbody>
+      </table>
+      <h3>Markup</h3>
+      <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
 &lt;div class="carousel"&gt;
-  &lt;!-- Carousel items --&gt;
-  &lt;div class="carousel-inner"&gt;
-    ...
-  &lt;/div&gt;
-  &lt;!-- Carousel nav --&gt;
-  &lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
-  &lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
+&lt;!-- Carousel items --&gt;
+&lt;div class="carousel-inner"&gt;
+...
+&lt;/div&gt;
+&lt;!-- Carousel nav --&gt;
+&lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
+&lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
 &lt;/div&gt;
 </pre>
-          <h3>Methods</h3>
-          <h4>.carousel(options)</h4>
-          <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
+      <h3>Methods</h3>
+      <h4>.carousel(options)</h4>
+      <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
 <pre class="prettyprint linenums">
 $('.myCarousel').carousel({
-  interval: 2000
+interval: 2000
 })
 </pre>
-          <h4>.carousel('cycle')</h4>
-          <p>Cycles through the carousel items from left to right.</p>
-          <h4>.carousel('pause')</h4>
-          <p>Stops the carousel from cycling through items.</p>
-          <h4>.carousel(number)</h4>
-          <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
-          <h4>.carousel('prev')</h4>
-          <p>Cycles to the previous item.</p>
-          <h4>.carousel('next')</h4>
-          <p>Cycles to the next item.</p>
-          <h3>Events</h3>
-          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>slide</td>
-               <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
-             </tr>
-             <tr>
-               <td>slid</td>
-               <td>This event is fired when the carousel has completed it's slide transition.</td>
-             </tr>
-             </tr>
-            </tbody>
-          </table>
-        </div>
-      </div>
-    </section>
-
-
-
-    <!-- Typeahead
-    ================================================== -->
-    <section id="typeahead">
-      <div class="page-header">
-        <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
+      <h4>.carousel('cycle')</h4>
+      <p>Cycles through the carousel items from left to right.</p>
+      <h4>.carousel('pause')</h4>
+      <p>Stops the carousel from cycling through items.</p>
+      <h4>.carousel(number)</h4>
+      <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
+      <h4>.carousel('prev')</h4>
+      <p>Cycles to the previous item.</p>
+      <h4>.carousel('next')</h4>
+      <p>Cycles to the next item.</p>
+      <h3>Events</h3>
+      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>slide</td>
+           <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
+         </tr>
+         <tr>
+           <td>slid</td>
+           <td>This event is fired when the carousel has completed it's slide transition.</td>
+         </tr>
+         </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Typeahead
+================================================== -->
+<section id="typeahead">
+  <div class="page-header">
+    <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+      <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example</h2>
+      <p>Start typing in the field below to show the typeahead results.</p>
+      <div class="well">
+        <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
       </div>
-      <div class="row">
-        <div class="span3 columns">
-          <h3>About</h3>
-          <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
-          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
-        </div>
-        <div class="span9 columns">
-          <h2>Example</h2>
-          <p>Start typing in the field below to show the typeahead results.</p>
-          <div class="well">
-            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
-          </div>
-          <hr>
-          <h2>Using bootstrap-typeahead.js</h2>
-          <p>Call the typeahead via javascript:</p>
-          <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
-          <h3>Options</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-             <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
-             </tr>
-            </thead>
-            <tbody>
-             <tr>
-               <td>items</td>
-               <td>number</td>
-               <td>8</td>
-               <td>The max number of items to display in the dropdown.</td>
-             </tr>
-            </tbody>
-          </table>
-
-          <h3>Markup</h3>
-          <p>Add data attributes to register an element with typeahead functionality.</p>
+      <hr>
+      <h2>Using bootstrap-typeahead.js</h2>
+      <p>Call the typeahead via javascript:</p>
+      <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>items</td>
+           <td>number</td>
+           <td>8</td>
+           <td>The max number of items to display in the dropdown.</td>
+         </tr>
+        </tbody>
+      </table>
+
+      <h3>Markup</h3>
+      <p>Add data attributes to register an element with typeahead functionality.</p>
 <pre class="prettyprint linenums">
 &lt;input type="text" data-provide="typeahead"&gt;
 </pre>
-        </div>
-      </div>
-    </section>
-
-
-
+    </div>
+  </div>
+</section>
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1417,6 +1415,7 @@ $('.myCarousel').carousel({
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
+
     </div><!-- /container -->
 
 
@@ -1438,34 +1437,5 @@ $('.myCarousel').carousel({
     <script src="../js/bootstrap-carousel.js"></script>
     <script src="../js/bootstrap-typeahead.js"></script>
     <script src="assets/js/application.js"></script>
-    <script>
-      $(function () {
-        // tooltip demo
-        $('.tooltip-demo.well').tooltip({
-          selector: "a[rel=tooltip]"
-        })
-        $('.tooltip-test').tooltip()
-
-        // popover demo
-        $("a[rel=popover]")
-          .popover()
-          .click(function(e) {
-            e.preventDefault()
-          })
-
-        // button state demo
-        $('#fat-btn')
-          .click(function () {
-            var btn = $(this)
-            btn.button('loading')
-            setTimeout(function () {
-              btn.button('reset')
-            }, 3000)
-          })
-
-        // carousel demo
-        $('#myCarousel').carousel()
-      })
-    </script>
   </body>
 </html>
diff --git a/docs/less.html b/docs/less.html
index 09ff3e8e10..84f58f00d7 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
     <!--[if lt IE 9]>
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
@@ -18,10 +18,11 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
   </head>
 
   <body>
@@ -33,8 +34,8 @@
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
+            <li class=""><a href="./index.html">Overview</a></li>
+            <li class="dropdown ">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
                 Scaffolding
                 <b class="caret"></b>
@@ -45,7 +46,7 @@
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
                 Base CSS
                 <b class="caret"></b>
@@ -58,7 +59,7 @@
                 <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
                 Components
                 <b class="caret"></b>
@@ -75,7 +76,7 @@
                 <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
                 Javascript plugins
                 <b class="caret"></b>
@@ -513,8 +514,6 @@
 </div>
 
 </section>
-
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -523,13 +522,27 @@
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
+
     </div><!-- /container -->
 
+
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
-    <script src="assets/js/application.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
+    <script src="assets/js/application.js"></script>
   </body>
 </html>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index f068c837c7..7fdbea0ec3 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
     <!--[if lt IE 9]>
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
@@ -18,10 +18,11 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
   </head>
 
   <body>
@@ -33,7 +34,7 @@
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li><a href="./index.html">Overview</a></li>
+            <li class=""><a href="./index.html">Overview</a></li>
             <li class="dropdown active">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
                 Scaffolding
@@ -45,7 +46,7 @@
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
                 Base CSS
                 <b class="caret"></b>
@@ -58,7 +59,7 @@
                 <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
                 Components
                 <b class="caret"></b>
@@ -75,7 +76,7 @@
                 <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
                 Javascript plugins
                 <b class="caret"></b>
@@ -95,7 +96,7 @@
                 <li><a href="./javascript.html#typeahead">Typeahead</a></li>
               </ul>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">
                 Using LESS
               </a>
@@ -107,12 +108,13 @@
 
     <div class="container">
 
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Scaffolding</h1>
-        <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
-      </header>
+
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Scaffolding</h1>
+  <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
+</header>
 
 
 
@@ -417,8 +419,6 @@
     </div>
   </div>
 </section>
-
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -427,16 +427,27 @@
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
+
     </div><!-- /container -->
 
+
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
-    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
     <script src="assets/js/application.js"></script>
-
   </body>
 </html>
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
new file mode 100644
index 0000000000..cc36a05ed8
--- /dev/null
+++ b/docs/templates/layout.mustache
@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
+  </head>
+
+  <body>
+
+    <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li class="{{ index }}"><a href="./index.html">Overview</a></li>
+            <li class="dropdown {{ scaffolding }}">
+              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
+                Scaffolding
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
+                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+              </ul>
+            </li>
+            <li class="dropdown {{ base-css }}">
+              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
+                Base CSS
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./base-css.html#typography">Typography</a></li>
+                <li><a href="./base-css.html#tables">Tables</a></li>
+                <li><a href="./base-css.html#forms">Forms</a></li>
+                <li><a href="./base-css.html#buttons">Buttons</a></li>
+                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+              </ul>
+            </li>
+            <li class="dropdown {{ components }}">
+              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
+                Components
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./components.html#buttonGroups">Button groups</a></li>
+                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
+                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+                <li><a href="./components.html#navbar">Navbar</a></li>
+                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+                <li><a href="./components.html#pagination">Pagination</a></li>
+                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+                <li><a href="./components.html#alerts">Alert messages</a></li>
+                <li><a href="./components.html#progress">Progress bars</a></li>
+              </ul>
+            </li>
+            <li class="dropdown {{ javascript }}">
+              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
+                Javascript plugins
+                <b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="./javascript.html#javascript">Overview</a></li>
+                <li><a href="./javascript.html#modals">Modal</a></li>
+                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
+                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+                <li><a href="./javascript.html#tabs">Tab</a></li>
+                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+                <li><a href="./javascript.html#popovers">Popover</a></li>
+                <li><a href="./javascript.html#alerts">Alert</a></li>
+                <li><a href="./javascript.html#buttons">Button</a></li>
+                <li><a href="./javascript.html#collapse">Collapse</a></li>
+                <li><a href="./javascript.html#carousel">Carousel</a></li>
+                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+              </ul>
+            </li>
+            <li class="{{ less }}">
+              <a href="./less.html">
+                Using LESS
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+{{>body}}
+
+      <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+      </footer>
+
+    </div><!-- /container -->
+
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
new file mode 100644
index 0000000000..3933c867dc
--- /dev/null
+++ b/docs/templates/pages/base-css.mustache
@@ -0,0 +1,1427 @@
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Base CSS</h1>
+  <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
+</header>
+
+
+<!-- Typography
+================================================== -->
+<section id="typography">
+  <div class="page-header">
+    <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
+  </div>
+
+  <h2>Headings &amp; body copy</h2>
+
+  <!-- Headings & Paragraph Copy -->
+  <div class="row">
+    <div class="span4">
+      <h3>Typographic scale</h3>
+      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
+      <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
+    </div>
+    <div class="span4">
+      <h3>Example body text</h3>
+      <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+      <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec sed odio dui.</p>
+    </div>
+    <div class="span4">
+      <div class="well">
+        <h1>h1. Heading 1</h1>
+        <h2>h2. Heading 2</h2>
+        <h3>h3. Heading 3</h3>
+        <h4>h4. Heading 4</h4>
+        <h5>h5. Heading 5</h5>
+        <h6>h6. Heading 6</h6>
+      </div>
+    </div>
+  </div>
+
+  <!-- Misc Elements -->
+  <h2>Emphasis, address, and abbreviation</h2>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th>Element</th>
+        <th>Usage</th>
+        <th>Optional</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <code>&lt;strong&gt;</code>
+        </td>
+        <td>
+          For emphasizing a snippet of text with <strong>important</strong>
+        </td>
+        <td>
+          <span class="muted">None</span>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;em&gt;</code>
+        </td>
+        <td>
+          For emphasizing a snippet of text with <em>stress</em>
+        </td>
+        <td>
+          <span class="muted">None</span>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;abbr&gt;</code>
+        </td>
+        <td>
+          Wraps abbreviations and acronyms to show the expanded version on hover
+        </td>
+        <td>
+          Include optional <code>title</code> for expanded text
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;address&gt;</code>
+        </td>
+        <td>
+          For contact information for its nearest ancestor or the entire body of work
+        </td>
+        <td>
+          Preserve formatting by ending all lines with <code>&lt;br&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Using emphasis</h3>
+      <p><a href="#">Fusce dapibus</a>, <strong>tellus ac cursus commodo</strong>, <em>tortor mauris condimentum nibh</em>, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.</p>
+      <p><strong>Note:</strong> Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5, but their usage has changed a bit. <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
+    </div>
+    <div class="span4">
+      <h3>Example addresses</h3>
+      <p>Here are two examples of how the <code>&lt;address&gt;</code> tag can be used:</p>
+      <address>
+        <strong>Twitter, Inc.</strong><br>
+        795 Folsom Ave, Suite 600<br>
+        San Francisco, CA 94107<br>
+        <abbr title="Phone">P:</abbr> (123) 456-7890
+      </address>
+      <address>
+        <strong>Full Name</strong><br>
+        <a mailto="#">first.last@gmail.com</a>
+      </address>
+    </div>
+    <div class="span4">
+      <h3>Example abbreviations</h3>
+      <p>Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.</p>
+      <p><abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.</p>
+      <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
+    </div>
+  </div>
+
+
+  <!-- Blockquotes -->
+  <h2>Blockquotes</h2>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th>Element</th>
+        <th>Usage</th>
+        <th>Optional</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <code>&lt;blockquote&gt;</code>
+        </td>
+        <td>
+          Block-level element for quoting content from another source
+        </td>
+        <td>
+          <p>Add <code>cite</code> attribute for source URL</p>
+          Use <code>.pull-left</code> and <code>.pull-right</code> classes for floated options
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <code>&lt;small&gt;</code>
+        </td>
+        <td>
+          Optional element for adding a user-facing citation, typically an author with title of work
+        </td>
+        <td>
+          Place the <code>&lt;cite&gt;</code> around the title or name of source
+        </td>
+      </tr>
+    </tbody>
+  </table>
+  <div class="row">
+    <div class="span4">
+      <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes we recommend a <code>&lt;p&gt;</code>.</p>
+      <p>Include an optional <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it for styling purposes.</p>
+    </div>
+    <div class="span8">
+<pre class="prettyprint linenums">
+&lt;blockquote&gt;
+  &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.&lt;/p&gt;
+  &lt;small&gt;Someone famous&lt;/small&gt;
+&lt;/blockquote&gt;
+</pre>
+    </div>
+  </div><!--/row-->
+
+  <h3>Example blockquotes</h3>
+  <div class="row">
+    <div class="span6">
+      <p>Default blockquotes are styled as such:</p>
+      <blockquote>
+        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
+        <small>Someone famous in <cite title="">Body of work</cite></small>
+      </blockquote>
+    </div>
+    <div class="span6">
+      <p>To float your blockquote to the right, add <code>class="pull-right"</code>:</p>
+      <blockquote class="pull-right">
+        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
+        <small>Someone famous in <cite title="">Body of work</cite></small>
+      </blockquote>
+    </div>
+  </div>
+
+
+  <!-- Lists -->
+  <h2>Lists</h2>
+  <div class="row">
+    <div class="span3">
+      <h4>Unordered</h4>
+      <p><code>&lt;ul&gt;</code></p>
+      <ul>
+        <li>Lorem ipsum dolor sit amet</li>
+        <li>Consectetur adipiscing elit</li>
+        <li>Integer molestie lorem at massa</li>
+        <li>Facilisis in pretium nisl aliquet</li>
+        <li>Nulla volutpat aliquam velit
+          <ul>
+            <li>Phasellus iaculis neque</li>
+            <li>Purus sodales ultricies</li>
+            <li>Vestibulum laoreet porttitor sem</li>
+            <li>Ac tristique libero volutpat at</li>
+          </ul>
+        </li>
+        <li>Faucibus porta lacus fringilla vel</li>
+        <li>Aenean sit amet erat nunc</li>
+        <li>Eget porttitor lorem</li>
+      </ul>
+    </div>
+    <div class="span3">
+      <h4>Unstyled</h4>
+      <p><code>&lt;ul class="unstyled"&gt;</code></p>
+      <ul class="unstyled">
+        <li>Lorem ipsum dolor sit amet</li>
+        <li>Consectetur adipiscing elit</li>
+        <li>Integer molestie lorem at massa</li>
+        <li>Facilisis in pretium nisl aliquet</li>
+        <li>Nulla volutpat aliquam velit
+          <ul>
+            <li>Phasellus iaculis neque</li>
+            <li>Purus sodales ultricies</li>
+            <li>Vestibulum laoreet porttitor sem</li>
+            <li>Ac tristique libero volutpat at</li>
+          </ul>
+        </li>
+        <li>Faucibus porta lacus fringilla vel</li>
+        <li>Aenean sit amet erat nunc</li>
+        <li>Eget porttitor lorem</li>
+      </ul>
+    </div>
+    <div class="span3">
+      <h4>Ordered</h4>
+      <p><code>&lt;ol&gt;</code></p>
+      <ol>
+        <li>Lorem ipsum dolor sit amet</li>
+        <li>Consectetur adipiscing elit</li>
+        <li>Integer molestie lorem at massa</li>
+        <li>Facilisis in pretium nisl aliquet</li>
+        <li>Nulla volutpat aliquam velit</li>
+        <li>Faucibus porta lacus fringilla vel</li>
+        <li>Aenean sit amet erat nunc</li>
+        <li>Eget porttitor lorem</li>
+      </ol>
+    </div>
+    <div class="span3">
+      <h4>Description</h4>
+      <p><code>&lt;dl&gt;</code></p>
+      <dl>
+        <dt>Description lists</dt>
+        <dd>A description list is perfect for defining terms.</dd>
+        <dt>Euismod</dt>
+        <dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
+        <dd>Donec id elit non mi porta gravida at eget metus.</dd>
+        <dt>Malesuada porta</dt>
+        <dd>Etiam porta sem malesuada magna mollis euismod.</dd>
+      </dl>
+    </div>
+  </div><!-- /row -->
+
+
+  <!-- Code -->
+
+  <h2>Code <small>Inline and block</small></h2>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">Element</th>
+        <th>Result</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>&lt;code&gt;</code></td>
+        <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
+      </tr>
+      <tr>
+        <td><code>&lt;pre&gt;</code></td>
+        <td>
+<pre>&lt;div&gt;
+  &lt;h1&gt;Heading&lt;/h1&gt;
+  &lt;p&gt;Something right here...&lt;/p&gt;
+&lt;/div&gt;</pre>
+          <p><strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.</p>
+        </td>
+      </tr>
+      <tr>
+        <td><code>&lt;pre class="prettyprint"&gt;</code></td>
+        <td>
+          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+<pre class="prettyprint">&lt;div&gt;
+  &lt;h1&gt;Heading&lt;/h1&gt;
+  &lt;p&gt;Something right here...&lt;/p&gt;
+&lt;/div&gt;</pre>
+<pre class="prettyprint linenums">&lt;div&gt;
+  &lt;h1&gt;Heading&lt;/h1&gt;
+  &lt;p&gt;Something right here...&lt;/p&gt;
+&lt;/div&gt;</pre>
+          <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
+  <!-- Labels -->
+  <h2>Inline labels <small>for special attention</small></h2>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">Labels</th>
+        <th>Markup</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <span class="label">Default</span>
+        </td>
+        <td>
+          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label success">New</span>
+        </td>
+        <td>
+          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label warning">Warning</span>
+        </td>
+        <td>
+          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label important">Important</span>
+        </td>
+        <td>
+          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label notice">Notice</span>
+        </td>
+        <td>
+          <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
+</section>
+
+
+
+<!-- Tables
+================================================== -->
+<section id="tables">
+  <div class="page-header">
+    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
+  </div>
+
+  <h2>Table markup</h2>
+  <div class="row">
+    <div class="span8">
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th>Tag</th>
+            <th>Description</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <code>&lt;table&gt;</code>
+            </td>
+            <td>
+              Wrapping element for displaying data in a tabular format
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;thead&gt;</code>
+            </td>
+            <td>
+              Container element for table header rows (<code>&lt;tr&gt;</code>) to label table columns
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;tbody&gt;</code>
+            </td>
+            <td>
+              Container element for table rows (<code>&lt;tr&gt;</code>) in the body of the table
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;tr&gt;</code>
+            </td>
+            <td>
+              Container element for a set of table cells (<code>&lt;td&gt;</code> or <code>&lt;th&gt;</code>) that appears on a single row
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;td&gt;</code>
+            </td>
+            <td>
+              Default table cell
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;th&gt;</code>
+            </td>
+            <td>
+              Special table cell for column (or row, depending on scope and placement) labels<br>
+              Must be used within a <code>&lt;thead&gt;</code>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <code>&lt;caption&gt;</code>
+            </td>
+            <td>
+              Description or summary of what the table holds, especially useful for screen readers
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span4">
+<pre class="prettyprint linenums">
+&lt;table&gt;
+  &lt;thead&gt;
+    &lt;tr&gt;
+      &lt;th&gt;...&lt;/th&gt;
+      &lt;th&gt;...&lt;/th&gt;
+    &lt;/tr&gt;
+  &lt;/thead&gt;
+  &lt;tbody&gt;
+    &lt;tr&gt;
+      &lt;td&gt;...&lt;/td&gt;
+      &lt;td&gt;...&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/tbody&gt;
+&lt;/table&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Table options</h2>
+  <table class="table table-bordered table-striped">
+  <thead>
+      <tr>
+        <th>Name</th>
+        <th>Class</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>Default</td>
+        <td class="muted">None</td>
+        <td>No styles, just columns and rows</td>
+      </tr>
+      <tr>
+        <td>Basic</td>
+        <td>
+          <code>.table</code>
+        </td>
+        <td>Only horizontal lines between rows</td>
+      </tr>
+      <tr>
+        <td>Bordered</td>
+        <td>
+          <code>.table-bordered</code>
+        </td>
+        <td>Rounds corners and adds outter border</td>
+      </tr>
+      <tr>
+        <td>Zebra-stripe</td>
+        <td>
+          <code>.table-striped</code>
+        </td>
+        <td>Adds light gray background color to odd rows (1, 3, 5, etc)</td>
+      </tr>
+      <tr>
+        <td>Condensed</td>
+        <td>
+          <code>.table-condensed</code>
+        </td>
+        <td>Cuts vertical padding in half, from 8px to 4px, within all <code>td</code> and <code>th</code> elements</td>
+      </tr>
+    </tbody>
+  </table>
+
+
+  <h2>Example tables</h2>
+
+  <h3>1. Default table styles</h3>
+  <div class="row">
+    <div class="span4">
+      <p>Tables are automatically styled with only a few borders to ensure readability and maintain structure. With 2.0, the <code>.table</code> class is required.</p>
+<pre class="prettyprint linenums">
+&lt;table class="table"&gt;
+  ...
+&lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="table">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+
+
+  <h3>2. Striped table</h3>
+  <div class="row">
+    <div class="span4">
+      <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.table-striped</code> class.</p>
+      <p class="muted"><strong>Note:</strong> Sprited tables use the <code>:nth-child</code> CSS selector and is not available in IE7-IE8.</p>
+<pre class="prettyprint linenums" style="margin-bottom: 18px;">
+&lt;table class="table table-striped"&gt;
+  ...
+&lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="table table-striped">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+
+
+  <h3>3. Bordered table</h3>
+  <div class="row">
+    <div class="span4">
+      <p>Add borders around the entire table and rounded corners for aesthetic purposes.</p>
+<pre class="prettyprint linenums">
+&lt;table class="table table-bordered"&gt;
+  ...
+&lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="table table-bordered">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td colspan="2">Mark Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td rowspan="2">Javascript</td>
+          </tr>
+          </tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Brosef</td>
+            <td>Stalin</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+
+
+  <h3>4. Condensed table</h3>
+  <div class="row">
+    <div class="span4">
+      <p>Make your tables more compact by adding the <code>.table-condensed</code> class to cut table cell padding in half (from 10px to 5px).</p>
+<pre class="prettyprint linenums" style="margin-bottom: 18px;">
+&lt;table class="table table-condensed"&gt;
+  ...
+&lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="table table-condensed">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>First Name</th>
+            <th>Last Name</th>
+            <th>Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+
+
+
+  <h3>5. Striped table w/ TableSorter.js</h3>
+  <div class="row">
+    <div class="span4">
+      <p>Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automaically get clear styles for sorted columns.</p>
+<pre class="prettyprint linenums">
+&lt;script src="jquery.tablesorter.js"&gt;&lt;/script&gt;
+&lt;script &gt;
+  $(function() {
+    $("table#sortTableExample")
+    .tablesorter({
+      sortList: [[1,0]]
+    });
+  });
+&lt;/script&gt;
+&lt;table class="table table-striped"&gt;
+  ...
+&lt;/table&gt;</pre>
+    </div>
+    <div class="span8">
+      <table class="table table-striped tablesorter-example">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th class="yellow">First Name</th>
+            <th class="blue">Last Name</th>
+            <th class="green">Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+          <tr>
+            <td>4</td>
+            <td>Brosef</td>
+            <td>Stalin</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+      <p>Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.</p>
+      <table class="table table-striped table-bordered table-condensed tablesorter-example">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th class="yellow">First Name</th>
+            <th class="blue">Last Name</th>
+            <th class="green">Language</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>1</td>
+            <td>Mark</td>
+            <td>Otto</td>
+            <td>CSS</td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>Jacob</td>
+            <td>Thornton</td>
+            <td>Javascript</td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>Stu</td>
+            <td>Dent</td>
+            <td>HTML</td>
+          </tr>
+          <tr>
+            <td>4</td>
+            <td>Brosef</td>
+            <td>Stalin</td>
+            <td>HTML</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Forms
+================================================== -->
+<section id="forms">
+  <div class="page-header">
+    <h1>Forms</h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h2>Flexible HTML and CSS</h2>
+      <p>The best part about forms in Bootstrap is that all your inputs and controls look great no matter how you build them in your markup. No superfluous HTML is required, but we provide the patterns for those who require it.</p>
+      <p>More complicated layouts come with succinct and scalable classes for easy styling and event binding, so you're covered at every step.</p>
+    </div>
+    <div class="span4">
+      <h2>Four layouts included</h2>
+      <p>Bootstrap comes with support for four types of form layouts:</p>
+      <ul>
+        <li>Vertical (default)</li>
+        <li>Search</li>
+        <li>Inline</li>
+        <li>Horizontal</li>
+      </ul>
+      <p>Different types of form layouts require some changes to markup, but the controls themselves remain and behave the same.</p>
+    </div>
+    <div class="span4">
+      <h2>Control states and more</h2>
+      <p>Bootstrap's forms include styles for all the base form controls like input, textarea, and select you'd expect. But it also comes with a number of custom components like appended and prepended inputs and support for lists of checkboxes.</p>
+      <p>States like error, warning, and success are included for each type of form control. Also included are styles for disabled controls.</p>
+    </div>
+  </div>
+
+  <h2>Four types of forms</h2>
+  <p>Bootstrap provides simple markup and styles for four styles of common web forms.</p>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Class</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <th>Vertical (default)</th>
+        <td><code>.vertical-form</code> <span class="muted">(not required)</span></td>
+        <td>Stacked, left-aligned labels over controls</td>
+      </tr>
+      <tr>
+        <th>Horizontal</th>
+        <td><code>.form-horizontal</code></td>
+        <td>Float left, right-aligned labels on same line as controls</td>
+      </tr>
+      <tr>
+        <th>Inline</th>
+        <td><code>.form-inline</code></td>
+        <td>Left-aligned label and inline-block controls for compact style</td>
+      </tr>
+      <tr>
+        <th>Search</th>
+        <td><code>.form-search</code></td>
+        <td>Extra-rounded text input for a typical search aesthetic</td>
+      </tr>
+    </tbody>
+  </table>
+
+
+  <h2>Example forms <small>using just form controls, no extra markup</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Basic form</h3>
+      <p>With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.</p>
+      <form class="well">
+        <label>Label name</label>
+        <input type="text" class="span3" placeholder="Type something...">
+        <label class="checkbox">
+          <input type="checkbox"> Check me out
+        </label>
+        <button type="submit" class="btn">Submit</button>
+      </form>
+    </div>
+    <div class="span4">
+      <h3>Search form</h3>
+      <p>Reflecting default WebKit styles, just add <code>.form-search</code> for extra rounded search fields.</p>
+      <form class="well form-search">
+        <input type="text" class="input-medium search-query">
+        <button type="submit" class="btn">Search</button>
+      </form>
+    </div>
+    <div class="span4">
+      <h3>Inline form</h3>
+      <p>Inputs are block level to start. For <code>.form-inline</code> and <code>.form-horizontal</code>, we use inline-block.</p>
+      <form class="well form-search">
+        <input type="text" class="input-small" placeholder="Email">
+        <input type="password" class="input-small" placeholder="Password">
+        <button type="submit" class="btn">Go</button>
+      </form>
+    </div>
+  </div><!-- /row -->
+
+  <br>
+
+  <h2>Horizontal forms</h2>
+  <div class="row">
+    <div class="span8">
+      <form class="form-horizontal">
+        <legend>Controls Bootstrap supports</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="input01">Text input</label>
+          <div class="controls">
+            <input type="text" class="xlarge" name="input01">
+            <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsCheckbox">Checkbox</label>
+          <div class="controls">
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckbox" value="option1">
+              Option one is this and that&mdash;be sure to include why it’s great
+            </label>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="select01">Select list</label>
+          <div class="controls">
+            <select name="select01">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="multiSelect">Multi-select</label>
+          <div class="controls">
+            <select multiple="multiple" name="multiSelect">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="fileInput">File input</label>
+          <div class="controls">
+            <input class="input-file" id="fileInput" name="fileInput" type="file">
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="textarea">Textarea</label>
+          <div class="controls">
+            <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+          </div>
+        </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
+    </div>
+    <div class="span4">
+      <div class="form-docs">
+        <h3>What's included</h3>
+        <p>Shown on the left are all the default form controls we support. Here's the bulleted list:</p>
+        <ul>
+          <li>text inputs (text, password, email, etc)</li>
+          <li>checkbox</li>
+          <li>radio</li>
+          <li>select</li>
+          <li>multiple select</li>
+          <li>file input</li>
+          <li>textarea</li>
+        </ul>
+        <hr>
+        <h3>New defaults with v2.0</h3>
+        <p>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.</p>
+      </div>
+    </div>
+  </div>
+
+  <br>
+
+  <div class="row">
+    <div class="span8">
+      <form class="form-horizontal">
+        <legend>Form control states</legend>
+        <fieldset class="control-group">
+          <label class="control-label" for="focusedInput">Focused input</label>
+          <div class="controls">
+            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused...">
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="disabledInput">Disabled input</label>
+          <div class="controls">
+            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here..." disabled>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsCheckbox">Disabled checkbox</label>
+          <div class="controls">
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
+              This is a disabled checkbox
+            </label>
+          </div>
+        </fieldset>
+        <fieldset class="control-group warning">
+          <label class="control-label" for="inputError">Input with warning</label>
+          <div class="controls">
+            <input type="text" name="inputError">
+            <span class="help-inline">Something may have gone wrong</span>
+          </div>
+        </fieldset>
+        <fieldset class="control-group error">
+          <label class="control-label" for="inputError">Input with error</label>
+          <div class="controls">
+            <input type="text" name="inputError">
+            <span class="help-inline">Please correct the error</span>
+          </div>
+        </fieldset>
+        <fieldset class="control-group success">
+          <label class="control-label" for="inputError">Input with success</label>
+          <div class="controls">
+            <input type="text" name="inputError">
+            <span class="help-inline">Woohoo!</span>
+          </div>
+        </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
+    </div>
+    <div class="span4">
+      <div class="form-docs">
+        <h3>Redesigned browser states</h3>
+        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in it's place for <code>:focus</code>.</p>
+        <hr>
+        <h3>Form validation</h3>
+        <p>It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.</p>
+<pre class="prettyprint linenums">
+&lt;fieldset
+  class="control-group error"&gt;
+  ...
+&lt;/fieldset&gt;
+</pre>
+      </div>
+    </div>
+  </div>
+
+  <br>
+
+  <div class="row">
+    <div class="span8">
+      <form class="form-horizontal">
+        <legend>Extending form controls</legend>
+        <fieldset class="control-group">
+          <label class="control-label">Form sizes</label>
+          <div class="controls docs-input-sizes">
+            <input class="span2" type="text" name="" placeholder=".span2">
+            <input class="span3" type="text" name="" placeholder=".span3">
+            <input class="span4" type="text" name="" placeholder=".span4">
+            <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="prependedInput">Prepended text</label>
+          <div class="controls">
+            <div class="input-prepend">
+              <span class="add-on">@</span>
+              <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
+            </div>
+            <p class="help-block">Here's some help text</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="appendedInput">Appended text</label>
+          <div class="controls">
+            <div class="input-append">
+              <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
+              <span class="add-on">.00</span>
+            </div>
+            <p class="help-block">Here's more help text</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="inlineCheckboxes">Inline checkboxes</label>
+          <div class="controls">
+            <label class="checkbox inline">
+              <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
+            </label>
+            <label class="checkbox inline">
+              <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
+            </label>
+            <label class="checkbox inline">
+              <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
+            </label>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
+          <div class="controls">
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckboxes" value="option1">
+              Option one is this and that&mdash;be sure to include why it’s great
+            </label>
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckboxes" value="option2">
+              Option two can also be checked and included in form results
+            </label>
+            <label class="checkbox">
+              <input type="checkbox" name="optionsCheckboxes" value="option3">
+              Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
+            </label>
+            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+          </div>
+        </fieldset>
+        <fieldset class="control-group">
+          <label class="control-label" for="optionsRadios">Radio buttons</label>
+          <div class="controls">
+            <label class="radio">
+              <input type="radio" checked name="optionsRadios" value="option1">
+              Option one is this and that&mdash;be sure to include why it’s great
+            </label>
+            <label class="radio">
+              <input type="radio" name="optionsRadios" value="option2">
+              Option two can is something else and selecting it will deselect option one
+            </label>
+          </div>
+        </fieldset>
+        <fieldset class="form-actions">
+          <button type="submit" class="btn primary">Save changes</button>
+          <button type="reset" class="btn">Cancel</button>
+        </fieldset>
+      </form>
+    </div>
+    <div class="span4">
+      <div class="form-docs">
+        <h3>Prepend &amp; append inputs</h3>
+        <p>Input groups&mdash;with appended or prepended text&mdash;provide an easy way to give more context for your inputs. Great examples include the @ sign for Twitter usernames or $ for finances.</p>
+        <hr>
+        <h3>Checkboxes and radios</h3>
+        <p>Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the <code>&lt;label class="checkbox"&gt;</code> that wraps the <code>&lt;input type="checkbox"&gt;</code>.</p>
+        <p>Inline checkboxes and radios are also supported. Just add <code>.inline</code> to any <code>.checkbox</code> or <code>.radio</code> and you're done.</p>
+      </div>
+    </div>
+  </div><!-- /row -->
+</section>
+
+
+
+<section id="buttons">
+  <div class="page-header">
+    <h1>Buttons</h1>
+  </div>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th>Button</th>
+        <th>Class</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><a class="btn" href="#">Default</a></td>
+        <td><code>.btn</code></td>
+        <td>Standard gray button with gradient</td>
+      </tr>
+      <tr>
+        <td><a class="btn primary" href="#">Primary</a></td>
+        <td><code>.primary</code></td>
+        <td>Provides extra visual weight and identifies the primary action in a set of buttons</td>
+      </tr>
+      <tr>
+        <td><a class="btn info" href="#">Info</a></td>
+        <td><code>.info</code></td>
+        <td>Used as an alternate to the default styles</td>
+      </tr>
+      <tr>
+        <td><a class="btn success" href="#">Success</a></td>
+        <td><code>.success</code></td>
+        <td>Indicates a successful or positive action</td>
+      </tr>
+      <tr>
+        <td><a class="btn danger" href="#">Danger</a></td>
+        <td><code>.danger</code></td>
+        <td>Indicates a dangerous or potentially negative action</td>
+      </tr>
+    </tbody>
+  </table>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Buttons for actions</h3>
+      <p>As a convention, buttons should only be used for actions while hyperlinks are to be used for objects. For instance, "Download" should be a button while "recent activity" should be a link.</p>
+    </div>
+    <div class="span4">
+      <h3>For anchors and forms</h3>
+      <p>Button styles can be applied to anything with the <code>.btn</code> applied. However, typically you’ll want to apply these to only <code>&lt;a&gt;</code> and <code>&lt;button&gt;</code> elements.</p>
+    </div>
+    <div class="span4">
+      <p><strong>Note:</strong> All buttons must include the <code>.btn</code> class. Button styles should be applied to <code>&lt;button&gt;</code> and <code>&lt;a&gt;</code> elements for consistency.</p>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Multiple sizes</h3>
+      <p>Fancy larger or smaller buttons? Have at it!</p>
+      <p>
+        <a href="#" class="btn large primary">Primary action</a>
+        <a href="#" class="btn large">Action</a>
+      </p>
+      <p>
+        <a href="#" class="btn small primary">Primary action</a>
+        <a href="#" class="btn small">Action</a>
+      </p>
+    </div>
+    <div class="span8">
+      <h3>Disabled state</h3>
+      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
+      <p>
+        <a href="#" class="btn large primary disabled">Primary action</a>
+        <a href="#" class="btn large disabled">Action</a>
+      </p>
+      <p>
+        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
+      </p>
+    </div>
+  </div>
+
+  <br>
+
+</section>
+
+
+
+<!-- Icons
+================================================== -->
+<section id="icons">
+  <div class="page-header">
+    <h1>Icons <small>Graciously provided by <a href="http://glyphicons.com" target="_blank">Glyphicons</a></small></h1>
+  </div>
+  <div class="row">
+    <div class="span2">
+      <div class="the-icons">
+        <i class="glass"></i>
+        <i class="music"></i>
+        <i class="search"></i>
+        <i class="envelope"></i>
+        <i class="heart"></i>
+        <i class="star"></i>
+        <i class="star-empty"></i>
+        <i class="user"></i>
+        <i class="film"></i>
+        <i class="th-large"></i>
+        <i class="th"></i>
+        <i class="th-list"></i>
+        <i class="ok"></i>
+        <i class="remove"></i>
+        <i class="zoom-in"></i>
+        <i class="zoom-out"></i>
+        <i class="off"></i>
+        <i class="signal"></i>
+        <i class="cog"></i>
+        <i class="trash"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="home"></i>
+        <i class="file"></i>
+        <i class="time"></i>
+        <i class="road"></i>
+        <i class="download-alt"></i>
+        <i class="download"></i>
+        <i class="upload"></i>
+        <i class="inbox"></i>
+        <i class="play-circle"></i>
+        <i class="repeat"></i>
+        <i class="refresh"></i>
+        <i class="calendar"></i>
+        <i class="lock"></i>
+        <i class="flag"></i>
+        <i class="headphones"></i>
+        <i class="volume-off"></i>
+        <i class="volume-down"></i>
+        <i class="volume-up"></i>
+        <i class="qrcode"></i>
+        <i class="barcode"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="tag"></i>
+        <i class="tags"></i>
+        <i class="book"></i>
+        <i class="bookmark"></i>
+        <i class="print"></i>
+        <i class="camera"></i>
+        <i class="font"></i>
+        <i class="bold"></i>
+        <i class="italic"></i>
+        <i class="text-height"></i>
+        <i class="text-width"></i>
+        <i class="align-left"></i>
+        <i class="align-center"></i>
+        <i class="align-right"></i>
+        <i class="align-justify"></i>
+        <i class="list"></i>
+        <i class="indent-left"></i>
+        <i class="indent-right"></i>
+        <i class="facetime-video"></i>
+        <i class="picture"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="pencil"></i>
+        <i class="map-marker"></i>
+        <i class="adjust"></i>
+        <i class="tint"></i>
+        <i class="edit"></i>
+        <i class="share"></i>
+        <i class="check"></i>
+        <i class="move"></i>
+        <i class="step-backward"></i>
+        <i class="fast-backward"></i>
+        <i class="backward"></i>
+        <i class="play"></i>
+        <i class="pause"></i>
+        <i class="stop"></i>
+        <i class="forward"></i>
+        <i class="fast-forward"></i>
+        <i class="step-forward"></i>
+        <i class="eject"></i>
+        <i class="chevron-left"></i>
+        <i class="chevron-right"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <div class="the-icons">
+        <i class="arrow-left"></i>
+        <i class="arrow-right"></i>
+        <i class="arrow-up"></i>
+        <i class="arrow-down"></i>
+        <i class="share-alt"></i>
+        <i class="resize-full"></i>
+        <i class="resize-small"></i>
+        <i class="plus"></i>
+        <i class="minus"></i>
+        <i class="asterisk"></i>
+      </div>
+    </div>
+    <div class="span2">
+      <p class="muted">Light red background color is only used to show the dimensions of the icons in the docs.</p>
+    </div>
+  </div>
+
+  <br>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Built as a sprite</h3>
+      <p>Instead of making every icon an extra request, we've compiled them into a sprite&mdash;a bunch of images in one file that uses CSS to position the images with <code>background-position</code>. This is the same method we use on Twitter.com and it has worked well for us.</p>
+      <p><a href="http://glyphicons.com" target="_blank">Glyphicons</a> has granted us use of the Halflings set in our open-source toolkit so long as we provide a link and credit. Please consider doing the same in your projects.</p>
+    </div>
+    <div class="span4">
+      <h3>How to use</h3>
+      <p>With v2.0.0, the <code>&lt;i&gt;</code> tag is essentially dedicated to iconography. To use the icons, you can place the follow code wherever you like one to appear:</p>
+<pre class="prettyprint linenums">
+&lt;i class="chevron-left"&gt;&lt;/i&gt;
+</pre>
+      <p>There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right class and you're set. You can find the full list in sprites.less or right here in this document.</p>
+    </div>
+    <div class="span4">
+      <h3>Use cases</h3>
+      <p>Icons are great, but where would one use them? Here are a few ideas:</p>
+      <ul>
+        <li>As visuals for your sidebar navigation</li>
+        <li>For a purely icon-driven nav</li>
+        <li>For buttons to help convey the meaning of an action</li>
+        <li>With links to share context on a user's destination</li>
+      </ul>
+      <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.</p>
+    </div>
+  </div>
+
+  <h3>Examples</h3>
+  <div class="row">
+    <div class="span4">
+      <p>Use them in buttons, or in button groups for a toolbar style presentation.</p>
+      <p>
+        <a class="btn" href="#"><i class="refresh"></i> Refresh</a>
+        <a class="btn" href="#"><i class="cog"></i> Settings</a>
+      </p>
+      <div class="btn-toolbar">
+        <div class="btn-group">
+          <a class="btn" href="#"><i class="font"></i></a>
+          <a class="btn" href="#"><i class="bold"></i></a>
+          <a class="btn" href="#"><i class="italic"></i></a>
+        </div>
+        <div class="btn-group">
+          <a class="btn" href="#"><i class="align-left"></i></a>
+          <a class="btn" href="#"><i class="align-center"></i></a>
+          <a class="btn" href="#"><i class="align-right"></i></a>
+          <a class="btn" href="#"><i class="align-justify"></i></a>
+        </div>
+      </div>
+    </div>
+    <div class="span3">
+      <p>Or, use them in navigation.</p>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
+          <li><a href="#"><i class="book"></i> Library</a></li>
+          <li><a href="#"><i class="pencil"></i> Applications</a></li>
+        </ul>
+      </div> <!-- /well -->
+    </div>
+  </div>
+</section>
\ No newline at end of file
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
new file mode 100644
index 0000000000..21ddf47477
--- /dev/null
+++ b/docs/templates/pages/components.mustache
@@ -0,0 +1,1176 @@
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Components</h1>
+  <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+</header>
+
+
+  <!-- Button Groups
+  ================================================== -->
+  <section id="buttonGroups">
+    <div class="page-header">
+      <h1>Button groups <small>Join buttons for more toolbar-like functionality</small></h1>
+    </div>
+    <div class="row">
+      <div class="span4">
+        <h3>Button groups</h3>
+        <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
+        <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
+        <div class="well" style="padding: 10px; margin-bottom: 9px;">
+          <div class="btn-group">
+            <a class="btn" href="#">Left</a>
+            <a class="btn" href="#">Middle</a>
+            <a class="btn" href="#">Right</a>
+          </div>
+        </div>
+        <div class="well" style="padding: 10px;">
+          <div class="btn-toolbar">
+            <div class="btn-group">
+              <a class="btn" href="#">1</a>
+              <a class="btn" href="#">2</a>
+              <a class="btn" href="#">3</a>
+              <a class="btn" href="#">4</a>
+            </div>
+            <div class="btn-group">
+              <a class="btn" href="#">5</a>
+              <a class="btn" href="#">6</a>
+              <a class="btn" href="#">7</a>
+            </div>
+            <div class="btn-group">
+              <a class="btn" href="#">8</a>
+            </div>
+          </div>
+        </div>
+
+      </div>
+      <div class="span4">
+        <h3>Example markup</h3>
+        <p>Here's how the HTML looks for a standard button group built with anchor tag buttons:</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-group"&gt;
+  &lt;a class="btn" href="#"&gt;1&lt;/a&gt;
+  &lt;a class="btn" href="#"&gt;2&lt;/a&gt;
+  &lt;a class="btn" href="#"&gt;3&lt;/a&gt;
+&lt;/div&gt;
+</pre>
+      <p>And with a toolbar for multiple groups:</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-toolbar"&gt;
+  &lt;div class="btn-group"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+      </div>
+      <div class="span4">
+        <h3>Checkbox and radio flavors</h3>
+        <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
+        <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
+        <hr>
+        <h4 class="muted">Heads up</h4>
+        <p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
+      </div>
+    </div>
+  </section>
+
+
+
+  <!-- Split button dropdowns
+  ================================================== -->
+  <section id="buttonDropdowns">
+    <div class="page-header">
+      <h1>Split button dropdowns <small>Built on button groups to provide contextual menus</small></h1>
+    </div>
+    <div class="row">
+      <div class="span4">
+        <h3>Split button dropdowns</h3>
+        <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
+        <div class="well" style="padding: 10px; margin-bottom: 9px;">
+          <div class="btn-toolbar" style="margin-bottom: 9px;">
+            <div class="btn-group">
+              <a class="btn" href="#">Action</a>
+              <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+            <div class="btn-group">
+              <a class="btn primary" href="#">Action</a>
+              <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+            <div class="btn-group">
+              <a class="btn danger" href="#">Danger</a>
+              <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+          </div>
+          <div class="btn-toolbar">
+            <div class="btn-group">
+              <a class="btn success" href="#">Success</a>
+              <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+            <div class="btn-group">
+              <a class="btn info" href="#">Info</a>
+              <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </div><!-- /btn-group -->
+          </div>
+        </div> <!-- /well -->
+      </div>
+      <div class="span8">
+        <h3>Example markup</h3>
+        <p>Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.</p>
+<pre class="prettyprint linenums">
+&lt;div class="btn-group"&gt;
+  &lt;a class="btn" href="#"&gt;Action&lt;/a&gt;
+  &lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&gt;
+    &lt;span class="caret"&gt;&lt;/span&gt;
+  &lt;/a&gt;
+  &lt;ul class="dropdown-menu"&gt;
+    &lt;!-- dropdown menu links --&gt;
+  &lt;/ul&gt;
+&lt;/div&gt;
+</pre>
+      </div>
+    </div>
+  </section>
+
+
+
+<!-- Nav, Tabs, & Pills
+================================================== -->
+<section id="navs">
+  <div class="page-header">
+    <h1>Nav, tabs, and pills <small>Highly customizable list-style navigation</small></h1>
+  </div>
+
+  <h2>Lightweight defaults <small>Same markup, different classes</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Powerful base class</h3>
+      <p>All nav components here&mdash;tabs, pills, and lists&mdash;<strong>share the same base markup and styles</strong> through the <code>.nav</code> class.</p>
+      <h3>Why tabs and pills</h3>
+      <p>Tabs and pills in Bootstrap are built on a <code>&lt;ul&gt;</code> with the same core HTML, a list of links. Swap between tabs or pills with only a class.</p>
+      <p>Both options are great for sub-sections of content or navigating between pages of related content.</p>
+    </div>
+    <div class="span4">
+      <h3>Basic tabs</h3>
+      <p>Take a regular <code>&lt;ul&gt;</code> of links and add <code>.tabs</code>:</p>
+      <ul class="nav tabs">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav tabs"&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Basic pills</h3>
+      <p>Take that same HTML, but use <code>.pills</code> instead:</p>
+      <ul class="nav pills">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav pills"&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Stackable <small>Make tabs or pills vertical</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>How to stack 'em</h3>
+      <p>As tabs and pills are horizontal by default, just add a second class, <code>.stacked</code>, to make them appear vertically stacked.</p>
+    </div>
+    <div class="span4">
+      <h3>Stacked tabs</h3>
+      <ul class="nav tabs stacked">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav tabs stacked"&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Stacked pills</h3>
+      <ul class="nav pills stacked">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li><a href="#">Messages</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav pills stacked"&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Dropdowns <small>For advanced nav components</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Rich menus made easy</h3>
+      <p>Dropdown menus in Bootstrap tabs and pills are super easy and require only a little extra HTML and a lightweight jQuery plugin.</p>
+      <p>Head over to the Javascript page to read the docs on <a href="./javascript.html#tabs">initializing dropdowns</a> in Bootstrap.</p>
+    </div>
+    <div class="span4">
+      <h3>Tabs with dropdowns</h3>
+      <ul class="nav tabs">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav tabs"&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a class="dropdown-toggle"
+       data-toggle="dropdown"
+       href="#"&gt;
+        Dropdown
+        &lt;b class="caret"&gt;&lt;/b&gt;
+      &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      &lt;!-- links --&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Pills with dropdowns</h3>
+      <ul class="nav pills">
+        <li class="active"><a href="#">Home</a></li>
+        <li><a href="#">Profile</a></li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="nav pills"&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a class="dropdown-toggle"
+       data-toggle="dropdown"
+       href="#"&gt;
+        Dropdown
+        &lt;b class="caret"&gt;&lt;/b&gt;
+      &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      &lt;!-- links --&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Nav lists <small>Build simple stacked navs, great for sidebars</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Application-style navigation</h3>
+      <p>Nav lists provide a simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.</p>
+      <p>Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.</p>
+      <h4>With icons</h4>
+      <p>Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.</p>
+    </div>
+    <div class="span4">
+      <h3>Example nav list</h3>
+      <p>Take a list of links and add <code>class="nav list"</code>:</p>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="nav-header">List header</li>
+          <li class="active"><a href="#">Home</a></li>
+          <li><a href="#">Library</a></li>
+          <li><a href="#">Applications</a></li>
+          <li class="nav-header">Another list header</li>
+          <li><a href="#">Profile</a></li>
+          <li><a href="#">Settings</a></li>
+          <li><a href="#">Help</a></li>
+        </ul>
+      </div> <!-- /well -->
+<pre class="prettyprint linenums">
+&lt;ul class="nav list"&gt;
+  &lt;li class="nav-header"&gt;
+    List header
+  &lt;/li&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Library&lt;/a&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Example with icons</h3>
+      <p>Same example, but with <code>&lt;i&gt;</code> tags for icons.</p>
+      <div class="well" style="padding: 8px 0;">
+        <ul class="nav list">
+          <li class="nav-header">List header</li>
+          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
+          <li><a href="#"><i class="book"></i> Library</a></li>
+          <li><a href="#"><i class="pencil"></i> Applications</a></li>
+          <li class="nav-header">Another list header</li>
+          <li><a href="#"><i class="user"></i> Profile</a></li>
+          <li><a href="#"><i class="cog"></i> Settings</a></li>
+          <li><a href="#"><i class="flag"></i> Help</a></li>
+        </ul>
+      </div> <!-- /well -->
+<pre class="prettyprint linenums">
+&lt;ul class="nav list"&gt;
+  ...
+  &lt;li&gt;
+    &lt;a href="#"&gt;
+      &lt;i class="book"&gt;&lt;/i&gt;
+      Library
+    &lt;/a&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div>
+
+
+  <h2>Tabbable nav <small>Bring tabs to life via javascript</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>What's included</h3>
+      <p>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.</p>
+      <p>Changing between them is easy and only requires changing very little markup.</p>
+    </div>
+    <div class="span4">
+      <h3>Tabbable example</h3>
+      <p>To make tabs tabbable, wrap the <code>.tabs</code> in another div with class <code>.tabbable</code>.</p>
+      <div class="tabbable" style="margin-bottom: 9px;">
+        <ul class="nav tabs">
+          <li class="active"><a href="#1" data-toggle="tab">Section 1</a></li>
+          <li><a href="#2" data-toggle="tab">Section 2</a></li>
+          <li><a href="#3" data-toggle="tab">Section 3</a></li>
+        </ul>
+        <div class="tab-content">
+          <div class="tab-pane active" id="1">
+            <p>I'm in Section 1.</p>
+          </div>
+          <div class="tab-pane" id="2">
+            <p>Howdy, I'm in Section 2.</p>
+          </div>
+          <div class="tab-pane" id="3">
+            <p>What up girl, this is Section 3.</p>
+          </div>
+        </div>
+      </div> <!-- /tabbable -->
+    </div>
+    <div class="span4">
+      <h3>Custom jQuery plugin</h3>
+      <p>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.</p>
+      <p><a class="btn" href="./javascript.html/#tabs">Get the javascript &rarr;</a></p>
+    </div>
+  </div>
+
+  <h3>Straightforward markup</h3>
+  <p>Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.</p>
+<pre class="prettyprint linenums">
+&lt;div class="tabbable"&gt;
+  &lt;ul class="nav tabs"&gt;
+    &lt;li class="active"&gt;&lt;a href="#1" data-toggle="tab"&gt;Section 1&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#2" data-toggle="tab"&gt;Section 2&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    &lt;div class="tab-pane active" id="1"&gt;
+      &lt;p&gt;I'm in Section 1.&lt;/p&gt;
+    &lt;/div&gt;
+    &lt;div class="tab-pane" id="2"&gt;
+      &lt;p&gt;Howdy, I'm in Section 2.&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+  <h3>Tabbable in any direction</h3>
+  <div class="row">
+<!--
+    <div class="span4">
+      <p>Swap the order of your HTML&mdash;placing <code>.tabs</code> after <code>.tab-content</code>&mdash;for tabs on the bottom.</p>
+    </div>
+-->
+    <div class="span4">
+      <h4>Tabs on the bottom</h4>
+      <p>Flip the order of the HTML and add a class to put tabs on the bottom.</p>
+      <div class="tabbable tabs-below">
+        <div class="tab-content">
+          <div class="tab-pane active" id="A">
+            <p>I'm in Section A.</p>
+          </div>
+          <div class="tab-pane" id="B">
+            <p>Howdy, I'm in Section B.</p>
+          </div>
+          <div class="tab-pane" id="C">
+            <p>What up girl, this is Section C.</p>
+          </div>
+        </div>
+        <ul class="nav tabs">
+          <li class="active"><a href="#A" data-toggle="tab">Section 1</a></li>
+          <li><a href="#B" data-toggle="tab">Section 2</a></li>
+          <li><a href="#C" data-toggle="tab">Section 3</a></li>
+        </ul>
+      </div> <!-- /tabbable -->
+<pre class="prettyprint linenums" style="margin-top: 11px;">
+&lt;div class="tabbable tabs-bottom"&gt;
+  &lt;ul class="nav tabs"&gt;
+    ...
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h4>Tabs on the left</h4>
+      <p>Swap the class to put tabs on the left.</p>
+      <div class="tabbable tabs-left">
+        <ul class="nav tabs">
+          <li class="active"><a href="#lA" data-toggle="tab">Section 1</a></li>
+          <li><a href="#lB" data-toggle="tab">Section 2</a></li>
+          <li><a href="#lC" data-toggle="tab">Section 3</a></li>
+        </ul>
+        <div class="tab-content">
+          <div class="tab-pane active" id="lA">
+            <p>I'm in Section A.</p>
+          </div>
+          <div class="tab-pane" id="lB">
+            <p>Howdy, I'm in Section B.</p>
+          </div>
+          <div class="tab-pane" id="lC">
+            <p>What up girl, this is Section C.</p>
+          </div>
+        </div>
+      </div> <!-- /tabbable -->
+<pre class="prettyprint linenums">
+&lt;div class="tabbable tabs-left"&gt;
+  &lt;ul class="nav tabs"&gt;
+    ...
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h4>Tabs on the right</h4>
+      <p>Swap the class to put tabs on the right.</p>
+      <div class="tabbable tabs-right">
+        <ul class="nav tabs">
+          <li class="active"><a href="#rA" data-toggle="tab">Section 1</a></li>
+          <li><a href="#rB" data-toggle="tab">Section 2</a></li>
+          <li><a href="#rC" data-toggle="tab">Section 3</a></li>
+        </ul>
+        <div class="tab-content">
+          <div class="tab-pane active" id="rA">
+            <p>I'm in Section A.</p>
+          </div>
+          <div class="tab-pane" id="rB">
+            <p>Howdy, I'm in Section B.</p>
+          </div>
+          <div class="tab-pane" id="rC">
+            <p>What up girl, this is Section C.</p>
+          </div>
+        </div>
+      </div> <!-- /tabbable -->
+<pre class="prettyprint linenums">
+&lt;div class="tabbable tabs-right"&gt;
+  &lt;ul class="nav tabs"&gt;
+    ...
+  &lt;/ul&gt;
+  &lt;div class="tab-content"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div>
+
+</section>
+
+
+
+<!-- Navbar
+================================================== -->
+<section id="navbar">
+  <div class="page-header">
+    <h1>Navbar</h1>
+  </div>
+  <h2>Static navbar example</h2>
+  <p>An example of a static (not fixed to the top) navbar with project name, navigation, and search form.</p>
+  <div class="navbar navbar-static">
+    <div class="navbar-inner">
+      <div class="container" style="width: auto;">
+        <a class="brand" href="#">Project name</a>
+        <ul class="nav">
+          <li class="active"><a href="#">Home</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Link</a></li>
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </li>
+        </ul>
+        <form class="navbar-search pull-left" action="">
+          <input type="text" class="search-query span2" placeholder="Search">
+        </form>
+        <ul class="nav pull-right">
+          <li><a href="#">Link</a></li>
+          <li class="vertical-divider"></li>
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </li>
+        </ul>
+      </div>
+    </div><!-- /navbar-inner -->
+  </div><!-- /navbar -->
+
+  <div class="row">
+    <div class="span8">
+      <h3>Navbar scaffolding</h3>
+      <p>The navbar requires only a few divs to structure it well for static or fixed display.</p>
+<pre class="prettyprint linenums">
+&lt;div class="navbar navbar-static"&gt;
+  &lt;div class="navbar-inner"&gt;
+    &lt;div class="container"&gt;
+      ...
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+      <p>To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+<pre class="prettyprint linenums">
+&lt;div class="navbar navbar-fixed"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+      <h3>Brand name</h3>
+      <p>A simple link to show your brand or project name only requires an anchor tag.</p>
+<pre class="prettyprint linenums">
+&lt;a class="brand" href="#"&gt;
+  Project name
+&lt;/a&gt;
+</pre>
+      <h3>Search form</h3>
+      <p>Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.</p>
+<pre class="prettyprint linenums">
+&lt;form class="navbar-search"&gt;
+  &lt;input type="text" class="search-query pull-left" placeholder="Search"&gt;
+&lt;/form&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Nav links</h3>
+      <p>Nav items are simple to add via unordered lists.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="nav"&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#">Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+      <h3>Adding dropdowns</h3>
+      <p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdown">our javascript plugin</a>.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="nav"&gt;
+  &lt;li class="dropdown"&gt;
+    &lt;a href="#"
+          class="dropdown-toggle"
+          data-toggle="dropdown">
+          Account
+          &lt;b class="caret"&gt;&lt;/b&gt;
+    &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      ...
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    <p><a class="btn" href="./javascript.html/#dropdown">Get the javascript &rarr;</a></p>
+    </div>
+  </div>
+
+</section>
+
+
+
+<!-- Breadcrumbs
+================================================== -->
+<section id="breadcrumbs">
+  <div class="page-header">
+    <h1>Breadcrumbs <small></small></h1>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h3>Why use them</h3>
+      <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation. Keep their use sparse and succinct to be most effective.</p>
+
+      <h3>Examples</h3>
+      <p>A single example shown as it might be displayed across multiple pages.</p>
+      <ul class="breadcrumb">
+        <li class="active">Home</li>
+      </ul>
+      <ul class="breadcrumb">
+        <li><a href="#">Home</a> <span class="divider">/</span></li>
+        <li class="active">Library</li>
+      </ul>
+      <ul class="breadcrumb">
+        <li><a href="#">Home</a> <span class="divider">/</span></li>
+        <li><a href="#">Library</a> <span class="divider">/</span></li>
+        <li class="active">Data</li>
+      </ul>
+    </div>
+    <div class="span6">
+      <h3>Markup</h3>
+      <p>HTML is your standard unordered list with links.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="breadcrumb"&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Home&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Library&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
+  &lt;/li&gt;
+  &lt;li class="active"&gt;
+    &lt;a href="#"&gt;Data&lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div>
+
+</section>
+
+
+
+<!-- Pagination
+================================================== -->
+<section id="pagination">
+  <div class="page-header">
+    <h1>Pagination <small>Two options for paging through content</small></h1>
+  </div>
+
+  <h2>Multi-page pagination</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>When to use</h3>
+      <p>Ultra simplistic and minimally styled pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.</p>
+      <h3>Stateful page links</h3>
+      <p>Links are customizable and work in a number of circumstances with the right class. <code>.disabled</code> for unclickable links and <code>.active</code> for current page.</p>
+      <h3>Flexible alignment</h3>
+      <p>Add either of two optional classes to change the alignment of pagination links: <code>.pagination-centered</code> and <code>.pagination-right</code>.</p>
+    </div>
+    <div class="span4">
+      <h3>Examples</h3>
+      <p>The default pagination component is flexible and works in a number of variations.</p>
+      <div class="pagination">
+        <ul>
+          <li class="disabled"><a href="#">&laquo;</a></li>
+          <li class="active"><a href="#">1</a></li>
+          <li><a href="#">2</a></li>
+          <li><a href="#">3</a></li>
+          <li><a href="#">4</a></li>
+          <li><a href="#">&raquo;</a></li>
+        </ul>
+      </div>
+      <div class="pagination">
+        <ul>
+          <li><a href="#">&laquo;</a></li>
+          <li><a href="#">10</a></li>
+          <li class="active"><a href="#">11</a></li>
+          <li><a href="#">12</a></li>
+          <li><a href="#">&raquo;</a></li>
+        </ul>
+      </div>
+      <div class="pagination">
+        <ul>
+          <li><a href="#">&larr;</a></li>
+          <li class="active"><a href="#">10</a></li>
+          <li class="disabled"><a href="#">...</a></li>
+          <li><a href="#">20</a></li>
+          <li><a href="#">&rarr;</a></li>
+        </ul>
+      </div>
+      <div class="pagination pagination-centered">
+        <ul>
+          <li class="active"><a href="#">1</a></li>
+          <li><a href="#">2</a></li>
+          <li><a href="#">3</a></li>
+          <li><a href="#">4</a></li>
+          <li><a href="#">5</a></li>
+        </ul>
+      </div>
+    </div>
+    <div class="span4">
+      <h3>Markup</h3>
+      <p>Wrapped in a <code>&lt;div&gt;</code>, pagination is just a <code>&lt;ul&gt;</code>.</p>
+<pre class="prettyprint linenums">
+&lt;div class="pagination"&gt;
+  &lt;ul&gt;
+    &lt;li&gt;&lt;a href="#"&gt;Prev&lt;/a&gt;&lt;/li>
+    &lt;li class="active"&gt;
+      &lt;a href="#"&gt;1&lt;/a&gt;
+    &lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;2&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;3&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;4&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#"&gt;Next&lt;/a&gt;&lt;/li>
+  &lt;/ul&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
+
+  <h2>Pager <small>For quick previous and next links</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>About pager</h3>
+      <p>The pager component is a set of links for simple pagination implemenations with light markup and even lighter styles. It's great for simple sites like blogs or magazines.</p>
+    </div>
+    <div class="span4">
+      <h3>Default example</h3>
+      <p>By default, the pager centers links.</p>
+      <ul class="pager">
+        <li><a href="#">Previous</a></li>
+        <li><a href="#">Next</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="pager"&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Previous&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href="#"&gt;Next&lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Aligned links</h3>
+      <p>Alternatively, you can align each link to the sides:</p>
+      <ul class="pager">
+        <li class="previous"><a href="#">&larr; Older</a></li>
+        <li class="next"><a href="#">Newer &rarr;</a></li>
+      </ul>
+<pre class="prettyprint linenums">
+&lt;ul class="pager"&gt;
+  &lt;li class="previous"&gt;
+    &lt;a href="#"&gt;&amp;larr; Older&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li class="next"&gt;
+    &lt;a href="#"&gt;Newer &amp;rarr;&lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+</pre>
+    </div>
+  </div><!-- /row -->
+</section>
+
+
+
+<!-- Thumbnails
+================================================== -->
+<section id="thumbnails">
+  <div class="page-header">
+    <h1>Thumbnails <small>Grids of images, videos, text, and more</small></h1>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h2>Default thumbnails</h2>
+      <p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p>
+      <ul class="thumbnails">
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+        <li class="span3">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+          </a>
+        </li>
+      </ul>
+    </div>
+    <div class="span6">
+      <h2>Highly customizable</h2>
+      <p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p>
+      <ul class="thumbnails">
+        <li class="span3">
+          <div class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+            <div class="caption">
+              <h5>Thumbnail label</h5>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+            </div>
+          </div>
+        </li>
+        <li class="span3">
+          <div class="thumbnail">
+            <img src="http://placehold.it/210x150" alt="">
+            <div class="caption">
+              <h5>Thumbnail label</h5>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+            </div>
+          </div>
+        </li>
+      </ul>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span4">
+      <h3>Why use thumbnails</h3>
+      <p>Thumbnails (previously <code>.media-grid</code> up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.</p>
+    </div>
+    <div class="span4">
+      <h3>Simple, flexible markup</h3>
+      <p>Thumbnail markup is simple&mdash;a <code>ul</code> with any number of <code>li</code> elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.</p>
+    </div>
+    <div class="span4">
+      <h3>Uses grid column sizes</h3>
+      <p>Lastly, the thumbnails component uses existing grid system classes&mdash;like <code>.span2</code> or <code>.span3</code>&mdash;for control of thumbnail dimensions.</p>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h2>The markup</h2>
+      <p>As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup <strong>for linked images</strong>:</p>
+<pre class="prettyprint linenums">
+&lt;ul class="thumbnails"&gt;
+  &lt;li class="span3"&gt;
+    &lt;a href="#" class="thumbnail"&gt;
+      &lt;img src="http://placehold.it/210x150" alt=""&gt;
+    &lt;/a&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+      <p>For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <code>&lt;a&gt;</code> for a <code>&lt;div&gt;</code> like so:</p>
+<pre class="prettyprint linenums">
+&lt;ul class="thumbnails"&gt;
+  &lt;li class="span3"&gt;
+    &lt;div class="thumbnail"&gt;
+      &lt;img src="http://placehold.it/210x150" alt=""&gt;
+      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
+      &lt;p&gt;Thumbnail caption right here...&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/li&gt;
+  ...
+&lt;/ul&gt;
+</pre>
+    </div>
+    <div class="span6">
+      <h2>More examples</h2>
+      <p>Explore all your options with the various grid classes available to you. You can also mix and match different sizes.</p>
+      <ul class="thumbnails">
+        <li class="span4">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/290x230" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+        <li class="span2">
+          <a href="#" class="thumbnail">
+            <img src="http://placehold.it/130x100" alt="">
+          </a>
+        </li>
+      </ul>
+    </div>
+  </div>
+
+</section>
+
+
+
+<!-- Alerts & Messages
+================================================== -->
+<section id="alerts">
+  <div class="page-header">
+    <h1>Alerts <small>Styles for success, warning, and error messages</small></h1>
+  </div>
+
+  <h2>Lightweight defaults</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Rewritten base class</h3>
+      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
+      <h3>Single alert message</h3>
+      <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
+      <hr>
+      <h3>Goes great with javascript</h3>
+      <p>Bootstrap comes with a great jQuery plugin that supports alert messages, making dismissing them quick and easy.</p>
+      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the plugin &raquo;</a></p>
+    </div>
+    <div class="span8">
+      <h3>Example alerts</h3>
+      <p>Wrap your message and an optional close icon in a div with simple class.</p>
+      <div class="alert">
+        <a class="close">&times;</a>
+        <strong>Warning!</strong> Best check yo self, you’re not looking too good.
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="alert"&gt;
+  &lt;a class="close"&gt;&times;&lt;/a&gt;
+  &lt;strong&gt;Warning!&lt;/strong&gt; Best check yo self, you’re not looking too good.
+&lt;/div&gt;
+</pre>
+      <p>Easily extend the standard alert message with two optional classes: <code>.alert-block</code> for more padding and text controls and <code>.alert-heading</code> for a matching heading.</p>
+      <div class="alert alert-block">
+        <a class="close">&times;</a>
+        <h4 class="alert-heading">Warning!</h4>
+        <p>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.</p>
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="alert alert-block"&gt;
+  &lt;a class="close"&gt;&times;&lt;/a&gt;
+  &lt;h4 class="alert-heading"&gt;Warning!&lt;/h4&gt;
+  Best check yo self, you’re not...
+&lt;/div&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Contextual alternatives <small>Add optional classes to change an alert's connotation</small></h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Error or danger</h3>
+      <div class="alert alert-error">
+        <a class="close">&times;</a>
+        <strong>Oh snap!</strong> Change a few things up and try submitting again.
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="alert alert-error"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Success</h3>
+      <div class="alert alert-success">
+        <a class="close">&times;</a>
+        <strong>Well done!</strong> You successfully read this important alert message.
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="alert alert-success"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <h3>Information</h3>
+      <div class="alert alert-info">
+        <a class="close">&times;</a>
+        <strong>Heads up!</strong> This alert needs your attention, but it’s not super important.
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="alert alert-info"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+    </div>
+  </div>
+
+</section>
+
+
+
+<!-- Progress bars
+================================================== -->
+      <section id="progress">
+        <div class="page-header">
+          <h1>Progress bars <small>For loading, redirecting, or action status</small></h1>
+        </div>
+
+        <h2>Examples and markup</h2>
+        <div class="row">
+          <div class="span4">
+            <h3>Basic</h3>
+            <p>Default progress bar with a vertical gradient.</p>
+            <div class="progress">
+              <div class="bar" style="width: 60%;"></div>
+            </div>
+<pre class="prettyprint linenums">
+&lt;div class="progress"&gt;
+  &lt;div class="bar"
+       style="width: 60%;"&gt;&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+          </div>
+          <div class="span4">
+            <h3>Striped</h3>
+            <p>Uses a gradient to create a striped effect.</p>
+            <div class="progress info striped">
+              <div class="bar" style="width: 20%;"></div>
+            </div>
+<pre class="prettyprint linenums">
+&lt;div class="progress info
+     striped"&gt;
+  &lt;div class="bar"
+       style="width: 20%;"&gt;&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+          </div>
+          <div class="span4">
+            <h3>Animated</h3>
+            <p>Takes the striped example and animates it.</p>
+            <div class="progress danger active striped">
+              <div class="bar" style="width: 45%"></div>
+            </div>
+<pre class="prettyprint linenums">
+&lt;div class="progress danger
+     striped active"&gt;
+  &lt;div class="bar"
+       style="width: 40%;"&gt;&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+          </div>
+        </div>
+
+        <h2>Options and browser support</h2>
+        <div class="row">
+          <div class="span4">
+            <h3>Additional colors</h3>
+            <p>Progress bars utilize some of the same classes as buttons and alert messages for quick styling.</p>
+            <ul>
+              <li><code>.info</code></li>
+              <li><code>.success</code></li>
+              <li><code>.danger</code></li>
+            </ul>
+            <p>Alternatively, you can customize the LESS files and roll your own colors and sizes.</p>
+          </div>
+          <div class="span4">
+            <h3>Behavior</h3>
+            <p>Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.</p>
+            <p>If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.</p>
+          </div>
+          <div class="span4">
+            <h3>Browser support</h3>
+            <p>Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.</p>
+            <p>Opera does not support animations at this time.</p>
+          </div>
+        </div>
+
+      </section>
\ No newline at end of file
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
new file mode 100644
index 0000000000..f07116a5af
--- /dev/null
+++ b/docs/templates/pages/index.mustache
@@ -0,0 +1,188 @@
+<div id="overview">
+
+  <!-- Masthead
+  ================================================== -->
+  <header class="jumbotron masthead">
+    <div class="inner">
+      <h1>Bootstrap,<br> from Twitter</h1>
+      <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
+      <p class="download-info">
+        <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
+        <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
+      </p>
+
+      <div class="benefits">
+        <h4>Feature highlights</h4>
+        <ul>
+          <li><span>&times;</span> Built on LESS</li>
+          <li><span>&times;</span> Complete styleguide docs</li>
+          <li><span>&times;</span> Fully responsive design</li>
+          <li><span>&times;</span> Small footprint (7kb gzipped)</li>
+          <li><span>&times;</span> Support for IE7 and up</li>
+          <li><span>&times;</span> Custom jQuery plugins</li>
+          <li><span>&times;</span> Dozens of components</li>
+        </ul>
+      </div>
+    </div>
+  </header>
+
+  <ul class="quick-links">
+    <li><strong>Quick links</strong></li>
+    <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
+    <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
+    <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
+    <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+    <li class="divider">&middot;</li>
+    <li>
+      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
+    </li>
+    <li>
+      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
+    </li>
+<!--
+    <li><strong>Authors</strong></li>
+    <li><a href="http://twitter.com/mdo">@mdo</a></li>
+    <li><a href="http://twitter.com/fat">@fat</a></li>
+-->
+
+    <li class="divider">&middot;</li>
+    <li class="follow-btn">
+      <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
+    </li>
+    <li class="tweet-btn">
+      <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
+    </li>
+  </ul>
+
+
+  <div class="marketing">
+    <h1>Built with Bootstrap.</h1>
+    <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+    <ul class="thumbnails example-sites">
+      <li class="span4">
+        <a class="thumbnail" href="http://kippt.com/" target="_blank">
+          <img src="assets/img/example-sites/kippt.png" alt="Kippt">
+        </a>
+      </li>
+      <li class="span4">
+        <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
+          <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
+        </a>
+      </li>
+      <li class="span4">
+        <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
+          <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
+        </a>
+      </li>
+    </ul>
+
+    <h1>Designed for everyone, everywhere.</h1>
+    <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
+    <div class="row">
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
+        <h2>Built for and by nerds</h2>
+        <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
+        <h2>For all skill levels</h2>
+        <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
+        <h2>Cross-everything</h2>
+        <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
+      </div>
+    </div><!--/row-->
+    <div class="row">
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+        <h2>12-column grid</h2>
+        <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+        <h2>Responsive design</h2>
+        <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
+        <h2>Styleguide docs</h2>
+        <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
+      </div>
+    </div><!--/row-->
+    <div class="row">
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+        <h2>Growing library</h2>
+        <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
+        <h2>Custom jQuery plugins</h2>
+        <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
+      </div>
+      <div class="span4">
+        <img class="icon" src="assets/img/less-small.png">
+        <h2>Built on LESS</h2>
+        <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
+      </div>
+    </div><!--/row-->
+    <div class="row">
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-html5.png">
+        <h3>HTML5</h3>
+        <p>Built to support new HTML5 elements and syntax.</p>
+      </div>
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-css3.png">
+        <h3>CSS3</h3>
+        <p>Progressively enhanced components for ultimate style.</p>
+      </div>
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-github.png">
+        <h3>Open-source</h3>
+        <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
+      </div>
+      <div class="span3">
+        <img class="small-icon" src="assets/img/icon-twitter.png">
+        <h3>Made at Twitter</h3>
+        <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
+      </div>
+    </div><!--/row-->
+
+
+    <!-- Quickstart options
+    ================================================== -->
+    <h1>Get started in no time.</h1>
+    <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
+    <table class="table table-bordered getting-started">
+      <tbody>
+        <tr>
+          <td class="quick-start">
+            <h3>Hotlink the CSS</h3>
+            <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+            <form>
+              <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+            </form>
+          </td>
+          <td class="quick-start">
+            <h3>Use it with LESS</h3>
+            <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
+            <form>
+              <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+            </form>
+          </td>
+          <td class="quick-start">
+            <h3>Fork on GitHub</h3>
+            <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
+            <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+            <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+  </div><!-- /.marketing -->
+</div><!-- /#overview -->
\ No newline at end of file
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
new file mode 100644
index 0000000000..aefe878469
--- /dev/null
+++ b/docs/templates/pages/javascript.mustache
@@ -0,0 +1,1299 @@
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Javascript for Bootstrap</h1>
+  <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
+</header>
+
+
+  <!-- Using Javascript w/ Bootstrap
+  ================================================== -->
+  <section id="javascript">
+    <div class="page-header">
+      <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
+    </div>
+  <div class="row">
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+        <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+        <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+        <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+        <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+      </label>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+        <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+        <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+        <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+        <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+        <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+      </label>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+        <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+        <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
+        <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+      </label>
+    </div>
+    <div class="span3">
+      <label>
+        <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+        <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
+        <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+      </label>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span5">
+      <div class="btn-group" id="javascriptBuilder">
+        <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
+        <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
+          <span class="caret"></span>
+        </a>
+        <ul class="dropdown-menu large">
+          <li class="active"><a href="#">Compressed</a></li>
+          <li><a href="#">Uncompressed</a></li>
+        </ul>
+      </div>
+    </div>
+  </div>
+  <hr>
+  <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
+  <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
+</section>
+
+
+
+<!-- Modal
+================================================== -->
+<section id="modals">
+  <div class="page-header">
+    <h1>Modals <small>bootstrap-modal.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About modals</h3>
+      <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+      <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Static example</h2>
+      <p>Below is a statically rendered modal.</p>
+      <div class="well" style="background-color: #888; border: none;">
+        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
+          <div class="modal-header">
+            <a href="#" class="close" data-dismiss="modal">&times;</a>
+            <h3>Modal header</h3>
+          </div>
+          <div class="modal-body">
+            <p>One fine body…</p>
+          </div>
+          <div class="modal-footer">
+            <a href="#" class="btn primary">Save changes</a>
+            <a href="#" class="btn">Close</a>
+          </div>
+        </div>
+      </div> <!-- /well -->
+
+      <h2>Live demo</h2>
+      <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
+      <!-- sample modal content -->
+      <div id="myModal" class="modal hide fade">
+        <div class="modal-header">
+          <a href="#" class="close" data-dismiss="modal" >&times;</a>
+          <h3>Modal Heading</h3>
+        </div>
+        <div class="modal-body">
+          <h4>Text in a modal</h4>
+          <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
+
+          <h4>Popover in a modal</h4>
+          <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+
+          <h4>Tooltips in a modal</h4>
+          <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
+        </div>
+        <div class="modal-footer">
+          <a href="#" class="btn primary">Save changes</a>
+          <a href="#" class="btn" data-dismiss="modal" >Close</a>
+        </div>
+      </div>
+      <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
+
+      <hr>
+
+      <h2>Using bootstrap-modal</h2>
+      <p>Call the modal via javascript:</p>
+      <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>backdrop</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>Includes a modal-backdrop element</td>
+         </tr>
+         <tr>
+           <td>keyboard</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>Closes the modal when escape key is pressed</td>
+         </tr>
+        </tbody>
+      </table>
+      <h3>Markup</h3>
+      <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
+      <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
+<pre class="prettyprint linenums">
+&lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
+</pre>
+
+<pre class="prettyprint linenums">
+&lt;div class="modal"&gt;
+&lt;div class="modal-header"&gt;
+&lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
+&lt;h3&gt;Modal header&lt;/h3&gt;
+&lt;/div&gt;
+&lt;div class="modal-body"&gt;
+&lt;p&gt;One fine body…&lt;/p&gt;
+&lt;/div&gt;
+&lt;div class="modal-footer"&gt;
+&lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
+&lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+      <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
+      <h3>Methods</h3>
+      <h4>.modal(options)</h4>
+      <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
+<pre class="prettyprint linenums">
+$('#myModal').modal({
+keyboard: false
+})</pre>
+      <h4>.modal('toggle')</h4>
+      <p>Manually toggles a modal.</p>
+      <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
+      <h4>.modal('show')</h4>
+      <p>Manually opens a modal.</p>
+      <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
+      <h4>.modal('hide')</h4>
+      <p>Manually hides a modal.</p>
+      <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
+      <h3>Events</h3>
+      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>show</td>
+           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+         </tr>
+         <tr>
+           <td>shown</td>
+           <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
+         </tr>
+         <tr>
+           <td>hide</td>
+           <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+         </tr>
+         <tr>
+           <td>hidden</td>
+           <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
+         </tr>
+        </tbody>
+      </table>
+
+<pre class="prettyprint linenums">
+$('#myModal').on('hidden', function () {
+// do something ...
+})</pre>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Dropdown
+================================================== -->
+<section id="dropdowns">
+  <div class="page-header">
+    <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About dropdowns</h3>
+      <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+      <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Examples</h2>
+      <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
+      <div id="navbar-example" class="navbar navbar-static">
+        <div class="navbar-inner">
+          <div class="container" style="width: auto;">
+            <a class="brand" href="#">Project Name</a>
+            <ul class="nav">
+              <li class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#">Action</a></li>
+                  <li><a href="#">Another action</a></li>
+                  <li><a href="#">Something else here</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#">Separated link</a></li>
+                </ul>
+              </li>
+              <li class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#">Action</a></li>
+                  <li><a href="#">Another action</a></li>
+                  <li><a href="#">Something else here</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#">Separated link</a></li>
+                </ul>
+              </li>
+            </ul>
+            <ul class="nav pull-right">
+              <li id="fat-menu" class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#">Action</a></li>
+                  <li><a href="#">Another action</a></li>
+                  <li><a href="#">Something else here</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#">Separated link</a></li>
+                </ul>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div> <!-- /navbar-example -->
+
+      <ul class="nav pills">
+        <li class="active"><a href="#">Regular link</a></li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <ul id="menu1" class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
+          <ul id="menu2" class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
+          <ul id="menu3" class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+      </ul> <!-- /tabs -->
+
+      <hr>
+
+      <h2>Using bootstrap-dropdown.js</h2>
+      <p>Call the dropdowns via javascript:</p>
+      <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
+      <h3>Markup</h3>
+      <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
+      <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+
+<pre class="prettyprint linenums">
+&lt;ul class="nav pills"&gt;
+&lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
+&lt;li class="dropdown" id="menu1"&gt;
+&lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
+  Dropdown
+  &lt;b class="caret"&gt;&lt;/b&gt;
+&lt;/a&gt;
+&lt;ul class="dropdown-menu"&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="divider"&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/li&gt;
+...
+&lt;/ul&gt;</pre>
+      <h3>Methods</h3>
+      <h4>$().dropdown()</h4>
+      <p>
+      A programatic api for activating menus for a given navbar or tabbed navigation.
+      </p>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- ScrollSpy
+================================================== -->
+<section id="scrollspy">
+  <div class="page-header">
+    <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
+      <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example navbar with scrollspy</h2>
+      <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
+      <div id="navbarExample" class="navbar navbar-static">
+        <div class="navbar-inner">
+          <div class="container" style="width: auto;">
+            <a class="brand" href="#">Project Name</a>
+            <ul class="nav">
+              <li><a href="#fat">@fat</a></li>
+              <li><a href="#mdo">@mdo</a></li>
+              <li class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                <ul class="dropdown-menu">
+                  <li><a href="#one">one</a></li>
+                  <li><a href="#two">two</a></li>
+                  <li class="divider"></li>
+                  <li><a href="#three">three</a></li>
+                </ul>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+      <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
+        <h4 id="fat">@fat</h4>
+        <p>
+        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+        </p>
+        <h4 id="mdo">@mdo</h4>
+        <p>
+        Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
+        </p>
+        <h4 id="one">one</h4>
+        <p>
+        Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
+        </p>
+        <h4 id="two">two</h4>
+        <p>
+        In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
+        </p>
+        <h4 id="three">three</h4>
+        <p>
+        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+        </p>
+        <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
+        </p>
+      </div>
+      <hr>
+      <h2>Using bootstrap-scrollspy.js</h2>
+      <p>Call the scrollspy via javascript:</p>
+      <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
+      <h3>Markup</h3>
+      <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+      <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
+       <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 100px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>offset</td>
+           <td>number</td>
+           <td>10</td>
+           <td>Pixels to offset from top when calculating position of scroll.</td>
+         </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Tabs
+================================================== -->
+<section id="tabs">
+  <div class="page-header">
+    <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
+      <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example tabs</h2>
+      <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
+      <ul id="tab" class="nav tabs">
+        <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
+        <li><a href="#profile" data-toggle="tab">Profile</a></li>
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
+            <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
+          </ul>
+        </li>
+      </ul>
+      <div id="myTabContent" class="tab-content">
+        <div class="tab-pane fade in active" id="home">
+          <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+        </div>
+        <div class="tab-pane fade" id="profile">
+          <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+        </div>
+        <div class="tab-pane fade" id="dropdown1">
+          <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+        </div>
+        <div class="tab-pane fade" id="dropdown2">
+          <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+        </div>
+      </div>
+      <hr>
+      <h2>Using bootstrap-tab.js</h2>
+      <p>Enable tabbable tabs via javascript:</p>
+      <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
+      <h3>Markup</h3>
+      <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
+<pre class="prettyprint linenums">
+&lt;ul class="tabs"&gt;
+&lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;</pre>
+      <h3>Methods</h3>
+      <h4>$().tab</h4>
+      <p>
+        Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
+      </p>
+<pre class="prettyprint linenums">
+&lt;ul class="tabs"&gt;
+&lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;div class="tab-content"&gt;
+&lt;div class="active" id="home"&gt;...&lt;/div&gt;
+&lt;div id="profile"&gt;...&lt;/div&gt;
+&lt;div id="messages"&gt;...&lt;/div&gt;
+&lt;div id="settings"&gt;...&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;script&gt;
+$(function () {
+$('.tabs a:last').tab('show')
+})
+&lt;/script&gt;</pre>
+      </p>
+      <h3>Events</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>show</td>
+           <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+        </tr>
+        <tr>
+           <td>shown</td>
+           <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+         </tr>
+        </tbody>
+      </table>
+
+      <pre class="prettyprint linenums">
+$('a[data-toggle="tab"]').on('shown', function (e) {
+e.target // activated tab
+e.relatedTarget // previous tab
+})</pre>
+   </div>
+  </div>
+</section>
+
+
+<!-- Tooltips
+================================================== -->
+<section id="tooltips">
+  <div class="page-header">
+    <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About Tooltips</h3>
+      <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
+      <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example use of Tooltips</h2>
+      <p>Hover over the links below to see tooltips:</p>
+      <div class="tooltip-demo well">
+        <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+        </p>
+      </div>
+      <hr>
+      <h2>Using bootstrap-tooltip.js</h2>
+      <p>Trigger the tooltip via javascript:</p>
+      <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 100px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>animation</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>apply a css fade transition to the tooltip</td>
+         </tr>
+         <tr>
+           <td>placement</td>
+           <td>string</td>
+           <td>'top'</td>
+           <td>how to position the tooltip - top | bottom | left | right</td>
+         </tr>
+         <tr>
+           <td>selector</td>
+           <td>string</td>
+           <td>false</td>
+           <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
+         </tr>
+         <tr>
+           <td>title</td>
+           <td>string | function</td>
+           <td>''</td>
+           <td>default title value if `title` tag isn't present</td>
+         </tr>
+         <tr>
+           <td>trigger</td>
+           <td>string</td>
+           <td>'hover'</td>
+           <td>how tooltip is triggered - hover | focus | manual</td>
+         </tr>
+         <tr>
+           <td>delay</td>
+           <td>number | object</td>
+           <td>0</td>
+           <td>
+            <p>delay showing/hiding the tooltip (ms)</p>
+            <p>If a number is supplied, delay is applied to both hide/show</p>
+            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+           </td>
+         </tr>
+        </tbody>
+      </table>
+      <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
+      <h3>Markup</h3>
+      <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
+      <h3>Methods</h3>
+      <h4>$().tooltip(options)</h4>
+      <p>Attaches a tooltip handler to an element collection.</p>
+      <h4>.tooltip('show')</h4>
+      <p>Reveals an elements tooltip.</p>
+      <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
+      <h4>.tooltip('hide')</h4>
+      <p>Hides an elements tooltip.</p>
+      <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Popovers
+================================================== -->
+<section id="popovers">
+  <div class="page-header">
+    <h1>Popovers <small>bootstrap-popover.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About popovers</h3>
+      <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+      <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
+      <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example hover popover</h2>
+      <p>Hover over the button to trigger the popover.</p>
+      <div class="well">
+        <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
+      </div>
+      <hr>
+      <h2>Using bootstrap-popover.js</h2>
+      <p>Enable popovers via javascript:</p>
+      <pre class="prettyprint linenums">$('#example').popover(options)</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 100px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>animation</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>apply a css fade transition to the tooltip</td>
+         </tr>
+         <tr>
+           <td>placement</td>
+           <td>string</td>
+           <td>'right'</td>
+           <td>how to position the popover - top | bottom | left | right</td>
+         </tr>
+         <tr>
+           <td>selector</td>
+           <td>string</td>
+           <td>false</td>
+           <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
+         </tr>
+         <tr>
+           <td>trigger</td>
+           <td>string</td>
+           <td>'hover'</td>
+           <td>how tooltip is triggered - hover | focus | manual</td>
+         </tr>
+         <tr>
+           <td>title</td>
+           <td>string | function</td>
+           <td>''</td>
+           <td>default title value if `title` attribute isn't present</td>
+         </tr>
+         <tr>
+           <td>content</td>
+           <td>string | function</td>
+           <td>''</td>
+           <td>default content value if `data-content` attribute isn't present</td>
+         </tr>
+         <tr>
+           <td>delay</td>
+           <td>number | object</td>
+           <td>0</td>
+           <td>
+            <p>delay showing/hiding the popover (ms)</p>
+            <p>If a number is supplied, delay is applied to both hide/show</p>
+            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+           </td>
+         </tr>
+        </tbody>
+      </table>
+      <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
+      <h3>Markup</h3>
+      <p>
+      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.
+      </p>
+      <h3>Methods</h3>
+      <h4>$().popover(options)</h4>
+      <p>Initializes popovers for an element collection.</p>
+      <h4>.popover('show')</h4>
+      <p>Reveals an elements popover.</p>
+      <pre class="prettyprint linenums">$('#element').popover('show')</pre>
+      <h4>.popover('hide')</h4>
+      <p>Hides an elements popover.</p>
+      <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Alert
+================================================== -->
+<section id="alerts">
+  <div class="page-header">
+    <h1>Alert messages <small>bootstrap-alert.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About alerts</h3>
+      <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+      <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example alerts</h2>
+      <p>The alerts plugin works on regular alert messages, and block messages.</p>
+      <div class="alert fade in">
+        <a class="close" data-dismiss="alert" href="#">&times;</a>
+        <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
+      </div>
+      <div class="alert alert-block alert-error fade in">
+        <a class="close" data-dismiss="alert" href="#">&times;</a>
+        <h4 class="alert-heading">Oh snap! You got an error!</h4>
+        <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+        <p>
+          <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+        </p>
+      </div>
+      <hr>
+      <h2>Using bootstrap-alerts.js</h2>
+      <p>Enable dismissal of an alert via javascript:</p>
+      <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
+      <h3>Markup</h3>
+      <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
+      <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
+      <h3>Methods</h3>
+      <h4>$().alert()</h4>
+      <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
+      <h4>.alert('close')</h4>
+      <p>Closes an alert.</p>
+      <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
+      <h3>Events</h3>
+      <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>close</td>
+           <td>This event fires immediately when the <code>close</code> instance method is called.</td>
+         </tr>
+         <tr>
+           <td>closed</td>
+           <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
+         </tr>
+        </tbody>
+      </table>
+<pre class="prettyprint linenums">
+$('#my-alert').bind('closed', function () {
+// do something ...
+})</pre>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Buttons
+================================================== -->
+<section id="buttons">
+  <div class="page-header">
+    <h1>Buttons <small>bootstrap-button.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+      <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example uses</h2>
+      <p>Use the buttons plugin for states and toggles.</p>
+      <table class="table table-bordered table-striped">
+        <tbody>
+         <tr>
+           <td>Stateful</td>
+           <td>
+              <button id="fat-btn" data-loading-text="loading..." class="btn primary">
+                Loading State
+              </button>
+            </td>
+         </tr>
+         <tr>
+           <td>Single toggle</td>
+           <td>
+              <button class="btn primary" data-toggle="button">Single Toggle</button>
+            </td>
+         </tr>
+         <tr>
+           <td>Checkbox</td>
+           <td>
+              <div class="btn-group" data-toggle="buttons-checkbox">
+                <button class="btn primary">Left</button>
+                <button class="btn primary">Middle</button>
+                <button class="btn primary">Right</button>
+              </div>
+           </td>
+         </tr>
+         <tr>
+           <td>Radio</td>
+           <td>
+              <div class="btn-group" data-toggle="buttons-radio">
+                <button class="btn primary">Left</button>
+                <button class="btn primary">Middle</button>
+                <button class="btn primary">Right</button>
+              </div>
+           </td>
+         </tr>
+        </tbody>
+      </table>
+      <hr>
+      <h2>Using bootstrap-button.js</h2>
+      <p>Enable buttons via javascript:</p>
+      <pre class="prettyprint linenums">$('.tabs').button()</pre>
+        <h3>Markup</h3>
+      <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
+<pre class="prettyprint linenums">
+&lt;!-- Add data-toggle="button" to activate toggling on a single button --&gt;
+&lt;button class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;
+
+&lt;!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group --&gt;
+&lt;div class="btn-group" data-toggle="buttons-checkbox"&gt;
+&lt;button class="btn"&gt;Left&lt;/button&gt;
+&lt;button class="btn"&gt;Middle&lt;/button&gt;
+&lt;button class="btn"&gt;Right&lt;/button&gt;
+&lt;/div&gt;
+
+&lt;!-- Add data-toggle="buttons-radio" for radio style toggling on btn-group --&gt;
+&lt;div class="btn-group" data-toggle="buttons-radio"&gt;
+&lt;button class="btn"&gt;Left&lt;/button&gt;
+&lt;button class="btn"&gt;Middle&lt;/button&gt;
+&lt;button class="btn"&gt;Right&lt;/button&gt;
+&lt;/div&gt;
+</pre>
+      <h3>Methods</h3>
+      <h4>$().button('toggle')</h4>
+      <p>Toggles push state. Gives btn the look that it's been activated.</p>
+      <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
+      <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
+      <h4>$().button('loading')</h4>
+      <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
+      </p>
+       <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+      <p>
+        <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
+      </p>
+       <h4>$().button('reset')</h4>
+       <p>Resets button state - swaps text to original text.</p>
+       <h4>$().button(string)</h4>
+       <p>Resets button state - swaps text to any data defined text state.</p>
+<pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
+&lt;script&gt;
+$('.btn').button('complete')
+&lt;/script&gt;</pre>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Collapse
+================================================== -->
+<section id="collapse">
+  <div class="page-header">
+    <h1>Collapse <small>bootstrap-collapse.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+      <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example accordion</h2>
+      <p>Using the collapse plugin, we built a simple accordion style widget:</p>
+    
+      <div class="accordion" id="accordion2">
+        <div class="accordion-group">
+          <div class="accordion-heading">
+            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+              Collapsible Group Item #1
+            </a>
+          </div>
+          <div id="collapseOne" class="accordion-body collapse in">
+            <div class="accordion-inner">
+              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+            </div>
+          </div>
+        </div>
+        <div class="accordion-group">
+          <div class="accordion-heading">
+            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+              Collapsible Group Item #2
+            </a>
+          </div>
+          <div id="collapseTwo" class="accordion-body collapse">
+            <div class="accordion-inner">
+              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+            </div>
+          </div>
+        </div>
+        <div class="accordion-group">
+          <div class="accordion-heading">
+            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+              Collapsible Group Item #3
+            </a>
+          </div>
+          <div id="collapseThree" class="accordion-body collapse">
+            <div class="accordion-inner">
+              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+            </div>
+          </div>
+        </div>
+      </div>
+
+      
+      <hr>
+      <h2>Using bootstrap-collapse.js</h2>
+      <p>Enable via javascript:</p>
+      <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>parent</td>
+           <td>selector</td>
+           <td>false</td>
+           <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
+         </tr>
+         <tr>
+           <td>toggle</td>
+           <td>boolean</td>
+           <td>true</td>
+           <td>Toggles the collapsible element on invocation</td>
+         </tr>
+        </tbody>
+      </table>
+      <h3>Markup</h3>
+      <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
+      <pre class="prettyprint linenums">
+&lt;button class="btn danger" data-toggle="collapse" data-target="#demo"&gt;
+simple collapsible
+&lt;/button&gt;
+
+&lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
+     <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
+      <h3>Methods</h3>
+      <h4>.collapse(options)</h4>
+      <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
+<pre class="prettyprint linenums">
+$('#myCollapsible').collapse({
+toggle: false
+})</pre>
+      <h4>.collapse('toggle')</h4>
+      <p>Toggles a collapsible element to shown or hidden.</p>
+      <h4>.collapse('show')</h4>
+      <p>Shows a collapsible element.</p>
+      <h4>.collapse('hide')</h4>
+      <p>Hides a collapsible element.</p>
+      <h3>Events</h3>
+      <p>
+        Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
+      </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>show</td>
+           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+         </tr>
+         <tr>
+           <td>shown</td>
+           <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
+         </tr>
+         <tr>
+           <td>hide</td>
+           <td>
+            This event is fired immediately when the <code>hide</code> method has been called.
+           </td>
+         </tr>
+         <tr>
+           <td>hidden</td>
+           <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
+         </tr>
+        </tbody>
+      </table>
+
+<pre class="prettyprint linenums">
+$('#myCollapsible').on('hidden', function () {
+// do something ...
+})</pre>
+    </div>
+  </div>
+</section>
+
+
+
+ <!-- Carousel
+================================================== -->
+<section id="carousel">
+  <div class="page-header">
+    <h1>Carousel <small>bootstrap-carousel.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>A generic plugin for cycling through elements. A merry-go-round.</p>
+      <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example carousel</h2>
+      <p>Watch the slideshow below.</p>
+      <div id="myCarousel" class="carousel slide">
+        <div class="carousel-inner">
+          <div class="item active">
+            <img src="http://placehold.it/1000x500" alt="">
+            <div class="carousel-caption">
+              <h4>First Thumbnail label</h4>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+            </div>
+          </div>
+          <div class="item">
+            <img src="http://placehold.it/1000x500" alt="">
+            <div class="carousel-caption">
+              <h4>Second Thumbnail label</h4>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+            </div>
+          </div>
+          <div class="item">
+            <img src="http://placehold.it/1000x500" alt="">
+            <div class="carousel-caption">
+              <h4>Third Thumbnail label</h4>
+              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+            </div>
+          </div>
+        </div>
+        <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
+        <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
+      </div>
+      <hr>
+      <h2>Using bootstrap-carousel.js</h2>
+      <p>Call via javascript:</p>
+      <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>interval</td>
+           <td>number</td>
+           <td>5000</td>
+           <td>The amount of type to delay between automatically cycling an item.</td>
+         </tr>
+        </tbody>
+      </table>
+      <h3>Markup</h3>
+      <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
+<pre class="prettyprint linenums">
+&lt;div class="carousel"&gt;
+&lt;!-- Carousel items --&gt;
+&lt;div class="carousel-inner"&gt;
+...
+&lt;/div&gt;
+&lt;!-- Carousel nav --&gt;
+&lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
+&lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
+&lt;/div&gt;
+</pre>
+      <h3>Methods</h3>
+      <h4>.carousel(options)</h4>
+      <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
+<pre class="prettyprint linenums">
+$('.myCarousel').carousel({
+interval: 2000
+})
+</pre>
+      <h4>.carousel('cycle')</h4>
+      <p>Cycles through the carousel items from left to right.</p>
+      <h4>.carousel('pause')</h4>
+      <p>Stops the carousel from cycling through items.</p>
+      <h4>.carousel(number)</h4>
+      <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
+      <h4>.carousel('prev')</h4>
+      <p>Cycles to the previous item.</p>
+      <h4>.carousel('next')</h4>
+      <p>Cycles to the next item.</p>
+      <h3>Events</h3>
+      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 150px;">Event</th>
+           <th>Description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>slide</td>
+           <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
+         </tr>
+         <tr>
+           <td>slid</td>
+           <td>This event is fired when the carousel has completed it's slide transition.</td>
+         </tr>
+         </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+</section>
+
+
+
+<!-- Typeahead
+================================================== -->
+<section id="typeahead">
+  <div class="page-header">
+    <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
+  </div>
+  <div class="row">
+    <div class="span3 columns">
+      <h3>About</h3>
+      <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+      <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
+    </div>
+    <div class="span9 columns">
+      <h2>Example</h2>
+      <p>Start typing in the field below to show the typeahead results.</p>
+      <div class="well">
+        <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+      </div>
+      <hr>
+      <h2>Using bootstrap-typeahead.js</h2>
+      <p>Call the typeahead via javascript:</p>
+      <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
+      <h3>Options</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+         <tr>
+           <th style="width: 100px;">Name</th>
+           <th style="width: 50px;">type</th>
+           <th style="width: 50px;">default</th>
+           <th>description</th>
+         </tr>
+        </thead>
+        <tbody>
+         <tr>
+           <td>items</td>
+           <td>number</td>
+           <td>8</td>
+           <td>The max number of items to display in the dropdown.</td>
+         </tr>
+        </tbody>
+      </table>
+
+      <h3>Markup</h3>
+      <p>Add data attributes to register an element with typeahead functionality.</p>
+<pre class="prettyprint linenums">
+&lt;input type="text" data-provide="typeahead"&gt;
+</pre>
+    </div>
+  </div>
+</section>
\ No newline at end of file
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
new file mode 100644
index 0000000000..568e857bef
--- /dev/null
+++ b/docs/templates/pages/less.mustache
@@ -0,0 +1,406 @@
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Using LESS with Bootstrap</h1>
+        <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
+      </header>
+
+
+
+      <!-- BUILT WITH LESS
+      ================================================== -->
+      <div class="page-header">
+        <h1>Built with LESS</h1>
+      </div>
+      <div class="row">
+        <div class="span4">
+          <h3>Why LESS?</h3>
+          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+        </div>
+        <div class="span4">
+          <h3>What's included?</h3>
+          <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
+        </div>
+        <div class="span4">
+          <h3>Learn more</h3>
+          <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
+          <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
+        </div>
+      </div>
+      <div class="row">
+        <div class="span4">
+          <h3>Variables</h3>
+          <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
+        </div>
+        <div class="span4">
+          <h3>Mixins</h3>
+          <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
+        </div>
+        <div class="span4">
+          <h3>Operations</h3>
+          <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
+        </div>
+      </div>
+
+
+
+      <!-- VARIABLES
+      ================================================== -->
+      <div class="page-header" id="variables">
+        <h1>Variables <small>from variables.less</small></h1>
+      </div>
+
+          <h3>Hyperlinks</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+              <tr>
+                <th>Variable</th>
+                <th>Value</th>
+                <th>Usage</th>
+              </tr>
+            </thead>
+            <tbody>
+              <tr>
+                <td><code>@linkColor</code></td>
+                <td>#0069d6</td>
+                <td>Default link text color</td>
+              </tr>
+              <tr>
+                <td><code>@linkColorHover</code></td>
+                <td><code>darken(@linkColor, 15)</code></td>
+                <td>Default link text hover color</td>
+              </tr>
+            </tbody>
+          </table>
+
+      <div class="row">
+        <div class="span6">
+          <h3>Grayscale colors</h3>
+          <table class="table table-bordered table-striped">
+            <tbody>
+              <tr>
+                <td><code>@black</code></td>
+                <td>#000</td>
+              </tr>
+              <tr>
+                <td><code>@grayDark</code></td>
+                <td><code>lighten(@black, 25%)</code></td>
+              </tr>
+              <tr>
+                <td><code>@gray</code></td>
+                <td><code>lighten(@black, 50%)</code></td>
+              </tr>
+              <tr>
+                <td><code>@grayLight</code></td>
+                <td><code>lighten(@black, 75%)</code></td>
+              </tr>
+              <tr>
+                <td><code>@grayLighter</code></td>
+                <td><code>lighten(@black, 90%)</code></td>
+              </tr>
+              <tr>
+                <td><code>@white</code></td>
+                <td>#fff</td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+        <div class="span6">
+          <h3>Accent colors</h3>
+          <table class="table table-bordered table-striped">
+            <tbody>
+              <tr>
+                <td><code>@blue</code></td>
+                <td>#049CDB</td>
+              </tr>
+              <tr>
+                <td><code>@green</code></td>
+                <td>#46a546</td>
+              </tr>
+              <tr>
+                <td><code>@red</code></td>
+                <td>#9d261d</td>
+              </tr>
+              <tr>
+                <td><code>@yellow</code></td>
+                <td>#ffc40d</td>
+              </tr>
+              <tr>
+                <td><code>@orange</code></td>
+                <td>#f89406</td>
+              </tr>
+              <tr>
+                <td><code>@pink</code></td>
+                <td>#c3325f</td>
+              </tr>
+              <tr>
+                <td><code>@purple</code></td>
+                <td>#7a43b6</td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+      <div class="row">
+        <div class="span6">
+          <h3>Grid system</h3>
+          <table class="table table-bordered table-striped">
+            <tbody>
+              <tr>
+                <td><code>@gridColumns</code></td>
+                <td>12</td>
+              </tr>
+              <tr>
+                <td><code>@gridColumnWidth</code></td>
+                <td>60px</td>
+              </tr>
+              <tr>
+                <td><code>@gridGutterWidth</code></td>
+                <td>20px</td>
+              </tr>
+              <tr>
+                <td><code>@siteWidth</code></td>
+                <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+        <div class="span6">
+          <h3>Typography</h3>
+          <table class="table table-bordered table-striped">
+            <tbody>
+              <tr>
+                <td><code>@baseFontSize</code></td>
+                <td>13px</td>
+              </tr>
+              <tr>
+                <td><code>@baseFontFamily</code></td>
+                <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
+                <td></td>
+              </tr>
+              <tr>
+                <td><code>@baseLineHeight</code></td>
+                <td>18px</td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+      <div class="row">
+        <div class="span3">
+          <h3>Visuals</h3>
+        </div>
+        <div class="span9">
+          <table class="table table-bordered table-striped">
+            <tbody>
+              <tr>
+                <td><code>@primaryButtonColor</code></td>
+                <td><code>@blue</code></td>
+                <td></td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+
+
+      <!-- MIXINS
+      ================================================== -->
+      <div class="page-header" id="mixins">
+        <h1>Mixins <small>from mixins.less</small></h1>
+      </div>
+
+
+
+      <!-- OPERATIONS
+      ================================================== -->
+      <div class="page-header" id="operations">
+        <h1>Operations</h1>
+      </div>
+
+
+
+      <!-- COMPILING LESS AND BOOTSTRAP
+      ================================================== -->
+      <div class="page-header" id="compiling">
+        <h1>Compiling LESS and Bootstrap</h1>
+      </div>
+
+
+
+
+<!-- Using Bootstrap w/ Less
+================================================== -->
+<section id="less">
+<div class="page-header">
+  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
+</div>
+<div class="row">
+  <div class="span3">
+    <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
+    <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
+  </div>
+  <div class="span9">
+    <h2>How to use it</h2>
+    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
+<pre class="prettyprint linenums">
+&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
+&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
+<p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
+
+    <h2>What’s included</h2>
+    <p>Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.</p>
+    <h3>Variables</h3>
+    <p>Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.</p>
+<pre class="prettyprint linenums">
+// Links
+@linkColor:         #8b59c2;
+@linkColorHover:    darken(@linkColor, 10);
+
+// Grays
+@black:             #000;
+@grayDark:          lighten(@black, 25%);
+@gray:              lighten(@black, 50%);
+@grayLight:         lighten(@black, 70%);
+@grayLighter:       lighten(@black, 90%);
+@white:             #fff;
+
+// Accent Colors
+@blue:              #08b5fb;
+@green:             #46a546;
+@red:               #9d261d;
+@yellow:            #ffc40d;
+@orange:            #f89406;
+@pink:              #c3325f;
+@purple:            #7a43b6;
+
+// Baseline grid
+@basefont:          13px;
+@baseline:          18px;
+</pre>
+
+<h3>Commenting</h3>
+<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
+<pre class="prettyprint linenums">
+// This is a comment
+/* This is also a comment */
+</pre>
+
+<h3>Mixins up the wazoo</h3>
+<p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
+<h4>Font stacks</h4>
+<pre class="prettyprint linenums">
+#font {
+  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
+    font-size: @size;
+    font-weight: @weight;
+    line-height: @lineHeight;
+  }
+  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+    font-size: @size;
+    font-weight: @weight;
+    line-height: @lineHeight;
+  }
+  ...
+}
+</pre>
+<h4>Gradients</h4>
+<pre class="prettyprint linenums">
+#gradient {
+  ...
+  .vertical (@startColor: #555, @endColor: #333) {
+    background-color: @endColor;
+    background-repeat: repeat-x;
+    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
+    background-image: -moz-linear-gradient(@startColor, @endColor); // FF 3.6+
+    background-image: -ms-linear-gradient(@startColor, @endColor); // IE10
+    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
+    background-image: -webkit-linear-gradient(@startColor, @endColor); // Safari 5.1+, Chrome 10+
+    background-image: -o-linear-gradient(@startColor, @endColor); // Opera 11.10
+    background-image: linear-gradient(@startColor, @endColor); // The standard
+  }
+  ...
+}
+</pre>
+
+<h3>Operations</h3>
+<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
+<pre class="prettyprint linenums">
+// Griditude
+@gridColumns:       16;
+@gridColumnWidth:   40px;
+@gridGutterWidth:   20px;
+@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
+
+// Make some columns
+.columns(@columnSpan: 1) {
+  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+}
+</pre>
+
+    <h2 id="compiling">Compiling Less</h2>
+    <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
+    <h3>Ways to compile</h3>
+    <table class="table table-bordered table-striped">
+      <thead>
+        <tr>
+          <th style="width: 120px;">Method</th>
+          <th>Steps</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>Node with makefile</td>
+          <td>
+            <p>Install the LESS command line compiler with npm by running the following command:</p>
+            <pre>$ npm install less</pre>
+            <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
+            <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
+          </td>
+        </tr>
+          <td>Javascript</td>
+          <td>
+            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.</p>
+<pre class="prettyprint">
+&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
+</pre>
+            <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
+          </td>
+        </tr>
+        <tr>
+          <td>Command line</td>
+          <td>
+            <p>Install the LESS command line tool via Node and run the following command:</p>
+              <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
+            <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
+          </td>
+        </tr>
+        <tr>
+          <td><a href="http://incident57.com/less/" target="_blank">Unofficial Mac app</a></td>
+          <td>
+            <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
+            <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
+          </td>
+        </tr>
+        <tr>
+          <td><a href="http://crunchapp.net/" target="_blank">Crunch</a></td>
+          <td>Crunch is a great looking LESS editor and compiler built on Adobe Air.</td>
+        </tr>
+        <tr>
+          <td><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></td>
+          <td>Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.</td>
+        </tr>
+        <tr>
+          <td><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></td>
+          <td>Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.</td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
+</div>
+
+</section>
\ No newline at end of file
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
new file mode 100644
index 0000000000..567ac6d0d4
--- /dev/null
+++ b/docs/templates/pages/scaffolding.mustache
@@ -0,0 +1,311 @@
+
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Scaffolding</h1>
+  <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
+</header>
+
+
+
+<!-- Grid system
+================================================== -->
+<section id="grid-system">
+  <div class="page-header">
+    <h1>Grid system <small>12 columns with a responsive twist</small></h1>
+  </div>
+
+  <h2>Default 940px grid</h2>
+  <div class="row show-grid">
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+    <div class="span1">1</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span4">4</div>
+    <div class="span4">4</div>
+    <div class="span4">4</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span4">4</div>
+    <div class="span8">8</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span6">6</div>
+    <div class="span6">6</div>
+  </div>
+  <div class="row show-grid">
+    <div class="span12">12</div>
+  </div>
+
+  <div class="row">
+    <div class="span4">
+      <p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
+      <p>It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.</p>
+    </div>
+    <div class="span4">
+<pre class="prettyprint linenums">
+&lt;div class="row"&gt;
+  &lt;div class="span4"&gt;...&lt;/div&gt;
+  &lt;div class="span8"&gt;...&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+    <div class="span4">
+      <p>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.</p>
+    </div>
+  </div><!-- /row -->
+
+  <h2>Offsetting columns</h2>
+  <div class="row show-grid">
+    <div class="span4">4</div>
+    <div class="span4 offset4">4 offset 4</div>
+  </div><!-- /row -->
+  <div class="row show-grid">
+    <div class="span3 offset3">3 offset 3</div>
+    <div class="span3 offset3">3 offset 3</div>
+  </div><!-- /row -->
+  <div class="row show-grid">
+    <div class="span8 offset4">8 offset 4</div>
+  </div><!-- /row -->
+
+  <br>
+
+  <h2>Nesting columns</h2>
+  <div class="row">
+    <div class="span6">
+      <p>With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.</p>
+      <h4>Example</h4>
+      <div class="row show-grid">
+        <div class="span6">
+          Level 1 of column
+          <div class="row show-grid">
+            <div class="span3">
+              Level 2
+            </div>
+            <div class="span3">
+              Level 2
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="span6">
+<pre class="prettyprint linenums">
+&lt;div class="row"&gt;
+  &lt;div class="span12"&gt;
+    Level 1 of column
+    &lt;div class="row"&gt;
+      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
+      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+</pre>
+    </div>
+  </div>
+
+  <h2>Grid customization</h2>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th>Variable</th>
+        <th>Default value</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>@gridColumns</code></td>
+        <td>12</td>
+        <td>Number of columns</td>
+      </tr>
+      <tr>
+        <td><code>@gridColumnWidth</code></td>
+        <td>60px</td>
+        <td>Width of each column</td>
+      </tr>
+      <tr>
+        <td><code>@gridGutterWidth</code></td>
+        <td>20px</td>
+        <td>Negative space between columns</td>
+      </tr>
+      <tr>
+        <td><code>@siteWidth</code></td>
+        <td><em>Computed sum of all columns and gutters</em></td>
+        <td>Counts number of columns and gutters to set width of the <code>.fixed-container()</code> mixin</td>
+      </tr>
+    </tbody>
+  </table>
+  <div class="row">
+    <div class="span4">
+      <h3>Variables in LESS</h3>
+      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.</p>
+    </div>
+    <div class="span4">
+      <h3>How to customize</h3>
+      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.</p>
+    </div>
+    <div class="span4">
+      <h3>Staying responsive</h3>
+      <p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
+    </div>
+  </div><!-- /row -->
+
+</section>
+
+
+
+<!-- Layouts (Default and fluid)
+================================================== -->
+<section id="layouts">
+  <div class="page-header">
+    <h1>Layouts <small>Basic templates to create webpages</small></h1>
+  </div>
+
+  <div class="row">
+    <div class="span6">
+      <h2>Fixed layout</h2>
+      <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div class="container"&gt;</code>.</p>
+      <div class="mini-layout">
+        <div class="mini-layout-body"></div>
+      </div>
+<pre class="prettyprint linenums">
+&lt;body&gt;
+  &lt;div class="container"&gt;
+    ...
+  &lt;/div&gt;
+&lt;/body&gt;
+</pre>
+    </div><!-- /col -->
+    <div class="span6">
+      <h2>Fluid layout</h2>
+      <p><code>&lt;div class="fluid-container"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.</p>
+      <div class="mini-layout fluid">
+        <div class="mini-layout-sidebar"></div>
+        <div class="mini-layout-body"></div>
+      </div>
+<pre class="prettyprint linenums">
+&lt;body&gt;
+  &lt;div class="fluid-container sidebar-left"&gt;
+    &lt;div class="fluid-sidebar"&gt;
+      ...
+    &lt;/div&gt;
+    &lt;div class="fluid-content"&gt;
+      ...
+    &lt;/div&gt;
+  &lt;/div&gt;
+&lt;/body&gt;
+</pre>
+    </div><!-- /col -->
+  </div><!-- /row -->
+</section>
+
+
+
+
+<!-- Responsive design
+================================================== -->
+<section id="responsive">
+  <div class="page-header">
+    <h1>Responsive design <small>Media queries for various devices and resolutions</small></h1>
+  </div>
+  <!-- Supported devices -->
+  <div class="row">
+    <div class="span4">
+      <img src="assets/img/responsive-illustrations.png" alt="Responsive devices">
+    </div>
+    <div class="span8">
+      <h2>Supported devices</h2>
+      <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th>Label</th>
+            <th>Layout width</th>
+            <th>Column width</th>
+            <th>Gutter width</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>Smartphones</td>
+            <td>480px and below</td>
+            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+          </tr>
+          <tr>
+            <td>Portrait tablets</td>
+            <td>480px to 768px</td>
+            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+          </tr>
+          <tr>
+            <td>Landscape tablets</td>
+            <td>768px to 940px</td>
+            <td>44px</td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td>Default</td>
+            <td>940px and up</td>
+            <td>60px</td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td>Large display</td>
+            <td>1210px and up</td>
+            <td>70px</td>
+            <td>30px</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <h3>What they do</h3>
+      <p>Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
+      <ul>
+        <li>Modify the width of column in our grid</li>
+        <li>Stack elements instead of float wherever necessary</li>
+        <li>Resize headings and text to be more appropriate for devices</li>
+      </ul>
+    </div>
+  </div>
+
+  <br>
+
+  <!-- Media query code -->
+  <h2>Using the media queries</h2>
+  <div class="row">
+    <div class="span5">
+      <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
+      <ol>
+        <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
+        <li>Add @import "responsive.less" and recompile Bootstrap</li>
+        <li>Compile responsive.less as a separate file and include that</li>
+      </ol>
+      <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
+    </div>
+    <div class="span7">
+<pre class="prettyprint linenums">
+  // Landscape phones and down
+  @media (max-width: 480px) { ... }
+
+  // Landscape phone to portrait tablet
+  @media (min-width: 480px) and (max-width: 768px) { ... }
+
+  // Portrait tablet to landscape and desktop
+  @media (min-width: 768px) and (max-width: 940px) { ... }
+
+  // Large desktop
+  @media (min-width: 1210px) { .. }
+</pre>
+    </div>
+  </div>
+</section>
\ No newline at end of file
diff --git a/docs/templates/pages/upgrading.mustache b/docs/templates/pages/upgrading.mustache
new file mode 100644
index 0000000000..a243d6ad5d
--- /dev/null
+++ b/docs/templates/pages/upgrading.mustache
@@ -0,0 +1,86 @@
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Upgrading to Bootstrap 2</h1>
+  <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
+</header>
+
+
+<h2>Rough outline</h2>
+<ul>
+  <li>Docs completely overhauled
+    <ul>
+      <li>Responsive thanks to new grid system</li>
+      <li>Now less marketing and more information</li>
+      <li>Extensive use of tables to share classes and elements of most components</li>
+      <li>Broken down into several pages for easier consumption</li>
+    </ul>
+  </li>
+  <li>Updated grid system, now only 12 columns
+    <ul>
+      <li>Same great classes, but now only 12 columns</li>
+      <li>Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more</li>
+    </ul>
+  </li>
+  <li>New thumbnails (previously media grids)
+    <ul>
+      <li><code>.media-grid</code> class has been changed to <code>.thumbnails</code></li>
+      <li>Individual thumbnails now require <code>.thumbnail</code> class</li>
+    </ul>
+  </li>
+  <li>Updated forms
+    <ul>
+      <li>Default form style is now stacked to use less CSS and add flexibility</li>
+      <li>Exact same markup is required for vertical or horizontal forms&mdash;just swap the classes</li>
+      <li>New form defaults for search, inline, vertical, and horizontal</li>
+    </ul>
+  </li>
+  <li>Updated tables
+    <ul>
+      <li>Table classes made more consistent</li>
+      <li>Removed unused table color options (too much code for such little impact)</li>
+    </ul>
+  </li>
+  <li>Typography
+    <ul>
+      <li>Right-aligned option for blockquotes if float: right;</li>
+      <li><code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px</li>
+      <li><code>h5</code> elements were dropped from 14px to 12px</li>
+      <li><code>h6</code> elements were dropped from 13px to 11px</li>
+    </ul>
+  </li>
+  <li>Buttons
+    <ul>
+      <li>Added button bar options</li>
+    </ul>
+  </li>
+  <li>Examples
+    <ul>
+      <li>Fluid examples redone. <code>.fluid-container</code> now requires a <code>.sidebar-left</code> or <code>.sidebar-right</code> as well. Fluid sidebar element has a new class, <code>.fluid-sidebar</code>.</li>
+    </ul>
+  </li>
+  <li>Dropdown menus
+    <ul>
+      <li>Updated the <code>.dropdown-menu</code> to tighten up spacing</li>
+      <li>Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow</li>
+      <li>The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.</li>
+    </ul>
+  </li>
+  <li>Navigation
+    <ul>
+      <li>Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code></li>
+      <li>New nav list component added that uses the same base class, <code>.nav</code></li>
+      <li>Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code></li>
+      <li>Pills were restyled to be less rounded by default</li>
+      <li>Pills now have dropdown menu support (they share the same markup and styles as tabs)</li>
+    </ul>
+  </li>
+</ul>
+<!--
+  <li>
+    <ul>
+      <li></li>
+    </ul>
+  </li>
+-->
+</ul>
\ No newline at end of file
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 42521bb9a8..7e43408ac7 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -2,12 +2,12 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-    <title>Bootstrap, from Twitter: Upgrading from v1.4 to v2.0</title>
+    <title>Bootstrap, from Twitter</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
     <!--[if lt IE 9]>
       <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
@@ -18,10 +18,11 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+
   </head>
 
   <body>
@@ -33,8 +34,8 @@
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li><a href="./index.html">Overview</a></li>
-            <li class="dropdown">
+            <li class=""><a href="./index.html">Overview</a></li>
+            <li class="dropdown ">
               <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
                 Scaffolding
                 <b class="caret"></b>
@@ -45,7 +46,7 @@
                 <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
                 Base CSS
                 <b class="caret"></b>
@@ -58,7 +59,7 @@
                 <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
                 Components
                 <b class="caret"></b>
@@ -75,7 +76,7 @@
                 <li><a href="./components.html#progress">Progress bars</a></li>
               </ul>
             </li>
-            <li class="dropdown">
+            <li class="dropdown ">
               <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
                 Javascript plugins
                 <b class="caret"></b>
@@ -95,7 +96,7 @@
                 <li><a href="./javascript.html#typeahead">Typeahead</a></li>
               </ul>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">
                 Using LESS
               </a>
@@ -107,12 +108,12 @@
 
     <div class="container">
 
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Upgrading to Bootstrap 2</h1>
-        <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
-      </header>
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Upgrading to Bootstrap 2</h1>
+  <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
+</header>
 
 
 <h2>Rough outline</h2>
@@ -193,8 +194,6 @@
   </li>
 -->
 </ul>
-
-
       <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -203,14 +202,27 @@
         <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
         <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
       </footer>
+
     </div><!-- /container -->
 
+
     <!-- Le javascript -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
-    <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
-    <script src="assets/js/application.js"></script>
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
-
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
+    <script src="assets/js/application.js"></script>
   </body>
 </html>
-- 
GitLab


From 9a68f115e7d850c47297bc7931fcbd1125b39f59 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 23 Jan 2012 15:07:07 -0800
Subject: [PATCH 357/576] rebuild

---
 bootstrap.css     | 12 ++++--------
 bootstrap.min.css |  6 +++---
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 2908ac2963..c1ac5102fa 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,11 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
-<<<<<<< HEAD
- * Date: Mon Jan 23 14:12:25 PST 2012
-=======
- * Date: Mon Jan 23 13:48:03 PST 2012
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
+ * Date: Mon Jan 23 15:07:02 PST 2012
  */
 article,
 aside,
@@ -1850,7 +1846,7 @@ i {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2505,7 +2501,7 @@ i {
   padding: 7px 9px 7px;
   font-size: 11px;
 }
-:root .alert-message, :root .btn {
+:root .btn {
   border-radius: 0 \0;
 }
 button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
@@ -3067,7 +3063,7 @@ a.thumbnail:hover {
     padding-left: 0;
   }
   .modal {
-    position: fixed;
+    position: absolute;
     top: 20px;
     left: 20px;
     right: 20px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 733ad5d11e..0416ccc6ea 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -376,7 +376,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
@@ -462,7 +462,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
-:root .alert-message,:root .btn{border-radius:0 \0;}
+:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
 .btn-group{position:relative;*zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";}
 .btn-group:after{clear:both;}
@@ -539,4 +539,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .show{display:block;}
 .invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
-- 
GitLab


From b4b1ef68398b68dcdfa29465d06cd76d6bf2c49d Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 23 Jan 2012 15:17:32 -0800
Subject: [PATCH 358/576] rebuild with new templates

---
 bootstrap.css                             |    2 +-
 docs/assets/js/application.js             |    1 +
 docs/base-css.html                        |   95 +-
 docs/components.html                      |  110 +-
 docs/index.html                           |  438 ++--
 docs/javascript.html                      | 2442 ++++++++++-----------
 docs/less.html                            |   78 +-
 docs/scaffolding.html                     |   93 +-
 docs/templates/layout.mustache            |   79 +-
 docs/templates/pages/base-css.mustache    |    7 +
 docs/templates/pages/components.mustache  |   26 +-
 docs/templates/pages/index.mustache       |  356 +--
 docs/templates/pages/javascript.mustache  | 2338 ++++++++++----------
 docs/templates/pages/scaffolding.mustache |   18 +-
 docs/templates/pages/upgrading.mustache   |   12 +-
 docs/upgrading.html                       |   89 +-
 16 files changed, 2868 insertions(+), 3316 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c1ac5102fa..c448c33c5f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan 23 15:07:02 PST 2012
+ * Date: Mon Jan 23 15:15:08 PST 2012
  */
 article,
 aside,
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 93f7ea719c..2da4ab8e2e 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -24,6 +24,7 @@ $(function(){
   // table sort example
   if ($.fn.tableSorter) {
     $("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
+    $(".tablesorter-example").tablesorter({ sortList: [[1,0]] })
   }
 
   // add on logic
diff --git a/docs/base-css.html b/docs/base-css.html
index a869eecf87..91cb4ec70b 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -27,86 +27,30 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-<<<<<<< HEAD
-            <li class=""><a href="./index.html">Overview</a></li>
-            <li class="dropdown ">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
-=======
-            <li><a href="./index.html">Overview</a></li>
-            <li>
+            <li class="">
+              <a href="./index.html">Overview</a>
+            </li>
+            <li class="">
               <a href="./scaffolding.html">Scaffolding</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
             <li class="active">
               <a href="./base-css.html">Base CSS</a>
             </li>
-<<<<<<< HEAD
-            <li class="dropdown ">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
-            </li>
             <li class="">
-              <a href="./less.html">
-                Using LESS
-              </a>
-=======
-            <li>
               <a href="./components.html">Components</a>
             </li>
-            <li>
+            <li class="">
               <a href="./javascript.html">Javascript plugins</a>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">Using LESS</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
           </ul>
         </div>
@@ -115,28 +59,19 @@
 
     <div class="container">
 
-<<<<<<< HEAD
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
   <h1>Base CSS</h1>
   <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
+  <ul class="nav pills">
+    <li><a href="./base-css.html#typography">Typography</a></li>
+    <li><a href="./base-css.html#tables">Tables</a></li>
+    <li><a href="./base-css.html#forms">Forms</a></li>
+    <li><a href="./base-css.html#buttons">Buttons</a></li>
+    <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+  </ul>
 </header>
-=======
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Base CSS</h1>
-        <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
-        <ul class="nav pills">
-          <li><a href="./base-css.html#typography">Typography</a></li>
-          <li><a href="./base-css.html#tables">Tables</a></li>
-          <li><a href="./base-css.html#forms">Forms</a></li>
-          <li><a href="./base-css.html#buttons">Buttons</a></li>
-          <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-        </ul>
-      </header>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
 
 
 <!-- Typography
@@ -1558,7 +1493,7 @@
     </div>
   </div>
 </section>
-      <!-- Footer
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
diff --git a/docs/components.html b/docs/components.html
index ee14526e5c..4a1e4fc6fc 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -27,82 +27,30 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-<<<<<<< HEAD
-            <li class=""><a href="./index.html">Overview</a></li>
-            <li class="dropdown ">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li class="">
+              <a href="./index.html">Overview</a>
             </li>
-            <li class="dropdown ">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
-=======
-            <li><a href="./index.html">Overview</a></li>
-            <li>
+            <li class="">
               <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li>
+            <li class="">
               <a href="./base-css.html">Base CSS</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
             <li class="active">
               <a href="./components.html">Components</a>
             </li>
-<<<<<<< HEAD
-            <li class="dropdown ">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
-            </li>
             <li class="">
-              <a href="./less.html">
-                Using LESS
-              </a>
-=======
-            <li>
               <a href="./javascript.html">Javascript plugins</a>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">Using LESS</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
           </ul>
         </div>
@@ -111,33 +59,24 @@
 
     <div class="container">
 
-<<<<<<< HEAD
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Components</h1>
-  <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
-</header>
-=======
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Components</h1>
-        <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
-        <ul class="nav pills">
-          <li><a href="./components.html#buttonGroups">Button groups</a></li>
-          <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
-          <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-          <li><a href="./components.html#navbar">Navbar</a></li>
-          <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-          <li><a href="./components.html#pagination">Pagination</a></li>
-          <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-          <li><a href="./components.html#alerts">Alerts</a></li>
-          <li><a href="./components.html#progress">Progress bars</a></li>
-        </ul>
-      </header>
+  <!-- Masthead
+  ================================================== -->
+  <header class="jumbotron subhead" id="overview">
+    <h1>Components</h1>
+    <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+    <ul class="nav pills">
+      <li><a href="./components.html#buttonGroups">Button groups</a></li>
+      <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
+      <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+      <li><a href="./components.html#navbar">Navbar</a></li>
+      <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+      <li><a href="./components.html#pagination">Pagination</a></li>
+      <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+      <li><a href="./components.html#alerts">Alerts</a></li>
+      <li><a href="./components.html#progress">Progress bars</a></li>
+    </ul>
+  </header>
 
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
 
 
   <!-- Button Groups
@@ -1308,7 +1247,8 @@
         </div>
 
       </section>
-      <!-- Footer
+
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
diff --git a/docs/index.html b/docs/index.html
index f61518e074..9693b9f7e0 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -27,96 +27,30 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li class="active"><a href="./index.html">Overview</a></li>
-<<<<<<< HEAD
-            <li class="dropdown ">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li class="active">
+              <a href="./index.html">Overview</a>
             </li>
             <li class="">
-              <a href="./less.html">
-                Using LESS
-              </a>
-=======
-            <li>
               <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li>
+            <li class="">
               <a href="./base-css.html">Base CSS</a>
             </li>
-            <li>
+            <li class="">
               <a href="./components.html">Components</a>
             </li>
-            <li>
+            <li class="">
               <a href="./javascript.html">Javascript plugins</a>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">Using LESS</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
           </ul>
         </div>
@@ -125,195 +59,195 @@
 
     <div class="container">
 
-<div id="overview">
+      <div id="overview">
 
-  <!-- Masthead
-  ================================================== -->
-  <header class="jumbotron masthead">
-    <div class="inner">
-      <h1>Bootstrap,<br> from Twitter</h1>
-      <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
-      <p class="download-info">
-        <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
-        <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
-      </p>
+        <!-- Masthead
+        ================================================== -->
+        <header class="jumbotron masthead">
+          <div class="inner">
+            <h1>Bootstrap,<br> from Twitter</h1>
+            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
+            <p class="download-info">
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
+              <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
+            </p>
 
-      <div class="benefits">
-        <h4>Feature highlights</h4>
-        <ul>
-          <li><span>&times;</span> Built on LESS</li>
-          <li><span>&times;</span> Complete styleguide docs</li>
-          <li><span>&times;</span> Fully responsive design</li>
-          <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-          <li><span>&times;</span> Support for IE7 and up</li>
-          <li><span>&times;</span> Custom jQuery plugins</li>
-          <li><span>&times;</span> Dozens of components</li>
-        </ul>
-      </div>
-    </div>
-  </header>
+            <div class="benefits">
+              <h4>Feature highlights</h4>
+              <ul>
+                <li><span>&times;</span> Built on LESS</li>
+                <li><span>&times;</span> Complete styleguide docs</li>
+                <li><span>&times;</span> Fully responsive design</li>
+                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
+                <li><span>&times;</span> Support for IE7 and up</li>
+                <li><span>&times;</span> Custom jQuery plugins</li>
+                <li><span>&times;</span> Dozens of components</li>
+              </ul>
+            </div>
+          </div>
+        </header>
 
-  <ul class="quick-links">
-    <li><strong>Quick links</strong></li>
-    <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-    <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
-    <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
-    <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
-    <li class="divider">&middot;</li>
-    <li>
-      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
-    </li>
-    <li>
-      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
-    </li>
+        <ul class="quick-links">
+          <li><strong>Quick links</strong></li>
+          <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+          <li class="divider">&middot;</li>
+          <li>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
+          </li>
+          <li>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
+          </li>
 <!--
-    <li><strong>Authors</strong></li>
-    <li><a href="http://twitter.com/mdo">@mdo</a></li>
-    <li><a href="http://twitter.com/fat">@fat</a></li>
--->
+          <li><strong>Authors</strong></li>
+          <li><a href="http://twitter.com/mdo">@mdo</a></li>
+          <li><a href="http://twitter.com/fat">@fat</a></li>
+ -->
 
-    <li class="divider">&middot;</li>
-    <li class="follow-btn">
-      <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
-    </li>
-    <li class="tweet-btn">
-      <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
-    </li>
-  </ul>
+          <li class="divider">&middot;</li>
+          <li class="follow-btn">
+            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
+          </li>
+          <li class="tweet-btn">
+            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
+          </li>
+        </ul>
 
 
-  <div class="marketing">
-    <h1>Built with Bootstrap.</h1>
-    <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
-    <ul class="thumbnails example-sites">
-      <li class="span4">
-        <a class="thumbnail" href="http://kippt.com/" target="_blank">
-          <img src="assets/img/example-sites/kippt.png" alt="Kippt">
-        </a>
-      </li>
-      <li class="span4">
-        <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
-          <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
-        </a>
-      </li>
-      <li class="span4">
-        <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
-          <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
-        </a>
-      </li>
-    </ul>
+        <div class="marketing">
+          <h1>Built with Bootstrap.</h1>
+          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+          <ul class="thumbnails example-sites">
+            <li class="span4">
+              <a class="thumbnail" href="http://kippt.com/" target="_blank">
+                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
+                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
+                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
+              </a>
+            </li>
+          </ul>
 
-    <h1>Designed for everyone, everywhere.</h1>
-    <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
-    <div class="row">
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
-        <h2>Built for and by nerds</h2>
-        <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
-        <h2>For all skill levels</h2>
-        <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
-        <h2>Cross-everything</h2>
-        <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
-      </div>
-    </div><!--/row-->
-    <div class="row">
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
-        <h2>12-column grid</h2>
-        <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
-        <h2>Responsive design</h2>
-        <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
-        <h2>Styleguide docs</h2>
-        <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
-      </div>
-    </div><!--/row-->
-    <div class="row">
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
-        <h2>Growing library</h2>
-        <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
-        <h2>Custom jQuery plugins</h2>
-        <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/less-small.png">
-        <h2>Built on LESS</h2>
-        <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
-      </div>
-    </div><!--/row-->
-    <div class="row">
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-html5.png">
-        <h3>HTML5</h3>
-        <p>Built to support new HTML5 elements and syntax.</p>
-      </div>
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-css3.png">
-        <h3>CSS3</h3>
-        <p>Progressively enhanced components for ultimate style.</p>
-      </div>
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-github.png">
-        <h3>Open-source</h3>
-        <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
-      </div>
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-twitter.png">
-        <h3>Made at Twitter</h3>
-        <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
-      </div>
-    </div><!--/row-->
+          <h1>Designed for everyone, everywhere.</h1>
+          <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
+          <div class="row">
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
+              <h2>Built for and by nerds</h2>
+              <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
+              <h2>For all skill levels</h2>
+              <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
+              <h2>Cross-everything</h2>
+              <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <h2>12-column grid</h2>
+              <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+              <h2>Responsive design</h2>
+              <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
+              <h2>Styleguide docs</h2>
+              <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+              <h2>Growing library</h2>
+              <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
+              <h2>Custom jQuery plugins</h2>
+              <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/less-small.png">
+              <h2>Built on LESS</h2>
+              <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-html5.png">
+              <h3>HTML5</h3>
+              <p>Built to support new HTML5 elements and syntax.</p>
+            </div>
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-css3.png">
+              <h3>CSS3</h3>
+              <p>Progressively enhanced components for ultimate style.</p>
+            </div>
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-github.png">
+              <h3>Open-source</h3>
+              <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
+            </div>
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-twitter.png">
+              <h3>Made at Twitter</h3>
+              <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
+            </div>
+          </div><!--/row-->
 
 
-    <!-- Quickstart options
-    ================================================== -->
-    <h1>Get started in no time.</h1>
-    <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-    <table class="table table-bordered getting-started">
-      <tbody>
-        <tr>
-          <td class="quick-start">
-            <h3>Hotlink the CSS</h3>
-            <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
-            <form>
-              <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-            </form>
-          </td>
-          <td class="quick-start">
-            <h3>Use it with LESS</h3>
-            <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
-            <form>
-              <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-            </form>
-          </td>
-          <td class="quick-start">
-            <h3>Fork on GitHub</h3>
-            <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-            <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-            <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </div><!-- /.marketing -->
-</div><!-- /#overview -->
-      <!-- Footer
+          <!-- Quickstart options
+          ================================================== -->
+          <h1>Get started in no time.</h1>
+          <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
+          <table class="table table-bordered getting-started">
+            <tbody>
+              <tr>
+                <td class="quick-start">
+                  <h3>Hotlink the CSS</h3>
+                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                  <form>
+                    <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+                  </form>
+                </td>
+                <td class="quick-start">
+                  <h3>Use it with LESS</h3>
+                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
+                  <form>
+                    <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+      &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+                  </form>
+                </td>
+                <td class="quick-start">
+                  <h3>Fork on GitHub</h3>
+                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
+                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+                  <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div><!-- /.marketing -->
+      </div><!-- /#overview -->
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
diff --git a/docs/javascript.html b/docs/javascript.html
index ac933b9cf7..7b7f88c5ca 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -27,79 +27,30 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-<<<<<<< HEAD
-            <li class=""><a href="./index.html">Overview</a></li>
-            <li class="dropdown ">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li class="">
+              <a href="./index.html">Overview</a>
             </li>
-            <li class="dropdown ">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
-=======
-            <li><a href="./index.html">Overview</a></li>
-            <li>
+            <li class="">
               <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li>
+            <li class="">
               <a href="./base-css.html">Base CSS</a>
             </li>
-            <li>
+            <li class="">
               <a href="./components.html">Components</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
             <li class="active">
               <a href="./javascript.html">Javascript plugins</a>
             </li>
-<<<<<<< HEAD
             <li class="">
-              <a href="./less.html">
-                Using LESS
-              </a>
-=======
-            <li>
               <a href="./less.html">Using LESS</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
           </ul>
         </div>
@@ -107,8 +58,7 @@
     </div>
 
     <div class="container">
-<<<<<<< HEAD
-=======
+
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
@@ -129,1308 +79,1300 @@
           <li><a href="./javascript.html#typeahead">Typeahead</a></li>
         </ul>
       </header>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
 
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Javascript for Bootstrap</h1>
-  <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
-</header>
 
-
-  <!-- Using Javascript w/ Bootstrap
-  ================================================== -->
-  <section id="javascript">
-    <div class="page-header">
-      <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
-    </div>
-  <div class="row">
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
-        <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
-        <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
-        <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
-        <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
-      </label>
-    </div>
-  </div> <!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
-        <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
-        <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-        <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
-        <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
-        <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
-      </label>
-    </div>
-  </div> <!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
-        <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
-        <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
-        <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
-        <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
-        <p class="muted"><strong>*</strong> Required for animation in plugins</p>
-      </label>
-    </div>
-  </div> <!-- /row -->
-  <div class="row">
-    <div class="span5">
-      <div class="btn-group" id="javascriptBuilder">
-        <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
-        <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
-          <span class="caret"></span>
-        </a>
-        <ul class="dropdown-menu large">
-          <li class="active"><a href="#">Compressed</a></li>
-          <li><a href="#">Uncompressed</a></li>
-        </ul>
-      </div>
-    </div>
-  </div>
-  <hr>
-  <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
-  <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
-</section>
-
-
-
-<!-- Modal
-================================================== -->
-<section id="modals">
-  <div class="page-header">
-    <h1>Modals <small>bootstrap-modal.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About modals</h3>
-      <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
-      <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Static example</h2>
-      <p>Below is a statically rendered modal.</p>
-      <div class="well" style="background-color: #888; border: none;">
-        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
-          <div class="modal-header">
-            <a href="#" class="close" data-dismiss="modal">&times;</a>
-            <h3>Modal header</h3>
-          </div>
-          <div class="modal-body">
-            <p>One fine body…</p>
-          </div>
-          <div class="modal-footer">
-            <a href="#" class="btn primary">Save changes</a>
-            <a href="#" class="btn">Close</a>
-          </div>
+      <!-- Using Javascript w/ Bootstrap
+      ================================================== -->
+      <section id="javascript">
+        <div class="page-header">
+          <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
         </div>
-      </div> <!-- /well -->
-
-      <h2>Live demo</h2>
-      <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
-      <!-- sample modal content -->
-      <div id="myModal" class="modal hide fade">
-        <div class="modal-header">
-          <a href="#" class="close" data-dismiss="modal" >&times;</a>
-          <h3>Modal Heading</h3>
+      <div class="row">
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+            <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+          </label>
         </div>
-        <div class="modal-body">
-          <h4>Text in a modal</h4>
-          <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
-
-          <h4>Popover in a modal</h4>
-          <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
-
-          <h4>Tooltips in a modal</h4>
-          <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+            <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+            <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+            <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+          </label>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+            <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+            <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+            <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+            <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+            <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+          </label>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+            <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+            <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
+            <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+          </label>
         </div>
-        <div class="modal-footer">
-          <a href="#" class="btn primary">Save changes</a>
-          <a href="#" class="btn" data-dismiss="modal" >Close</a>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
+            <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+          </label>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span5">
+          <div class="btn-group" id="javascriptBuilder">
+            <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
+            <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
+              <span class="caret"></span>
+            </a>
+            <ul class="dropdown-menu large">
+              <li class="active"><a href="#">Compressed</a></li>
+              <li><a href="#">Uncompressed</a></li>
+            </ul>
+          </div>
         </div>
       </div>
-      <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
-
       <hr>
+      <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
+      <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
+    </section>
+
+
+
+    <!-- Modal
+    ================================================== -->
+    <section id="modals">
+      <div class="page-header">
+        <h1>Modals <small>bootstrap-modal.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About modals</h3>
+          <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+          <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Static example</h2>
+          <p>Below is a statically rendered modal.</p>
+          <div class="well" style="background-color: #888; border: none;">
+            <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
+              <div class="modal-header">
+                <a href="#" class="close" data-dismiss="modal">&times;</a>
+                <h3>Modal header</h3>
+              </div>
+              <div class="modal-body">
+                <p>One fine body…</p>
+              </div>
+              <div class="modal-footer">
+                <a href="#" class="btn primary">Save changes</a>
+                <a href="#" class="btn">Close</a>
+              </div>
+            </div>
+          </div> <!-- /well -->
+
+          <h2>Live demo</h2>
+          <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
+          <!-- sample modal content -->
+          <div id="myModal" class="modal hide fade">
+            <div class="modal-header">
+              <a href="#" class="close" data-dismiss="modal" >&times;</a>
+              <h3>Modal Heading</h3>
+            </div>
+            <div class="modal-body">
+              <h4>Text in a modal</h4>
+              <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
 
-      <h2>Using bootstrap-modal</h2>
-      <p>Call the modal via javascript:</p>
-      <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>backdrop</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>Includes a modal-backdrop element</td>
-         </tr>
-         <tr>
-           <td>keyboard</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>Closes the modal when escape key is pressed</td>
-         </tr>
-        </tbody>
-      </table>
-      <h3>Markup</h3>
-      <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
-      <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
+              <h4>Popover in a modal</h4>
+              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+
+              <h4>Tooltips in a modal</h4>
+              <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
+            </div>
+            <div class="modal-footer">
+              <a href="#" class="btn primary">Save changes</a>
+              <a href="#" class="btn" data-dismiss="modal" >Close</a>
+            </div>
+          </div>
+          <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
+
+          <hr>
+
+          <h2>Using bootstrap-modal</h2>
+          <p>Call the modal via javascript:</p>
+          <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>backdrop</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>Includes a modal-backdrop element</td>
+             </tr>
+             <tr>
+               <td>keyboard</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>Closes the modal when escape key is pressed</td>
+             </tr>
+            </tbody>
+          </table>
+          <h3>Markup</h3>
+          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
+          <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
 <pre class="prettyprint linenums">
 &lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
 </pre>
 
 <pre class="prettyprint linenums">
 &lt;div class="modal"&gt;
-&lt;div class="modal-header"&gt;
-&lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
-&lt;h3&gt;Modal header&lt;/h3&gt;
-&lt;/div&gt;
-&lt;div class="modal-body"&gt;
-&lt;p&gt;One fine body…&lt;/p&gt;
-&lt;/div&gt;
-&lt;div class="modal-footer"&gt;
-&lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
-&lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
-&lt;/div&gt;
+  &lt;div class="modal-header"&gt;
+    &lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
+    &lt;h3&gt;Modal header&lt;/h3&gt;
+  &lt;/div&gt;
+  &lt;div class="modal-body"&gt;
+    &lt;p&gt;One fine body…&lt;/p&gt;
+  &lt;/div&gt;
+  &lt;div class="modal-footer"&gt;
+    &lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
+    &lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
+  &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
-      <h3>Methods</h3>
-      <h4>.modal(options)</h4>
-      <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
+          <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
+          <h3>Methods</h3>
+          <h4>.modal(options)</h4>
+          <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
 $('#myModal').modal({
-keyboard: false
+  keyboard: false
 })</pre>
-      <h4>.modal('toggle')</h4>
-      <p>Manually toggles a modal.</p>
-      <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
-      <h4>.modal('show')</h4>
-      <p>Manually opens a modal.</p>
-      <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
-      <h4>.modal('hide')</h4>
-      <p>Manually hides a modal.</p>
-      <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
-      <h3>Events</h3>
-      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>show</td>
-           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
-         </tr>
-         <tr>
-           <td>shown</td>
-           <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
-         </tr>
-         <tr>
-           <td>hide</td>
-           <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
-         </tr>
-         <tr>
-           <td>hidden</td>
-           <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
-         </tr>
-        </tbody>
-      </table>
+          <h4>.modal('toggle')</h4>
+          <p>Manually toggles a modal.</p>
+          <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
+          <h4>.modal('show')</h4>
+          <p>Manually opens a modal.</p>
+          <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
+          <h4>.modal('hide')</h4>
+          <p>Manually hides a modal.</p>
+          <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
+          <h3>Events</h3>
+          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>show</td>
+               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>shown</td>
+               <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
+             </tr>
+             <tr>
+               <td>hide</td>
+               <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+             </tr>
+             <tr>
+               <td>hidden</td>
+               <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
 
 <pre class="prettyprint linenums">
 $('#myModal').on('hidden', function () {
-// do something ...
+  // do something ...
 })</pre>
-    </div>
-  </div>
-</section>
-
-
-
-<!-- Dropdown
-================================================== -->
-<section id="dropdowns">
-  <div class="page-header">
-    <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About dropdowns</h3>
-      <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
-      <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Examples</h2>
-      <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
-      <div id="navbar-example" class="navbar navbar-static">
-        <div class="navbar-inner">
-          <div class="container" style="width: auto;">
-            <a class="brand" href="#">Project Name</a>
-            <ul class="nav">
-              <li class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#">Action</a></li>
-                  <li><a href="#">Another action</a></li>
-                  <li><a href="#">Something else here</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#">Separated link</a></li>
-                </ul>
-              </li>
-              <li class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#">Action</a></li>
-                  <li><a href="#">Another action</a></li>
-                  <li><a href="#">Something else here</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#">Separated link</a></li>
+        </div>
+      </div>
+    </section>
+
+
+
+    <!-- Dropdown
+    ================================================== -->
+    <section id="dropdowns">
+      <div class="page-header">
+        <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About dropdowns</h3>
+          <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+          <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Examples</h2>
+          <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
+          <div id="navbar-example" class="navbar navbar-static">
+            <div class="navbar-inner">
+              <div class="container" style="width: auto;">
+                <a class="brand" href="#">Project Name</a>
+                <ul class="nav">
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
                 </ul>
-              </li>
-            </ul>
-            <ul class="nav pull-right">
-              <li id="fat-menu" class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#">Action</a></li>
-                  <li><a href="#">Another action</a></li>
-                  <li><a href="#">Something else here</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#">Separated link</a></li>
+                <ul class="nav pull-right">
+                  <li id="fat-menu" class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
                 </ul>
-              </li>
-            </ul>
-          </div>
-        </div>
-      </div> <!-- /navbar-example -->
-
-      <ul class="nav pills">
-        <li class="active"><a href="#">Regular link</a></li>
-        <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
-          <ul id="menu1" class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
-          </ul>
-        </li>
-        <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
-          <ul id="menu2" class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
-          </ul>
-        </li>
-        <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
-          <ul id="menu3" class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
-          </ul>
-        </li>
-      </ul> <!-- /tabs -->
+              </div>
+            </div>
+          </div> <!-- /navbar-example -->
+
+          <ul class="nav pills">
+            <li class="active"><a href="#">Regular link</a></li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+              <ul id="menu1" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
+              <ul id="menu2" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
+              <ul id="menu3" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+          </ul> <!-- /tabs -->
 
-      <hr>
+          <hr>
 
-      <h2>Using bootstrap-dropdown.js</h2>
-      <p>Call the dropdowns via javascript:</p>
-      <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
-      <h3>Markup</h3>
-      <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
-      <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+          <h2>Using bootstrap-dropdown.js</h2>
+          <p>Call the dropdowns via javascript:</p>
+          <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
+          <h3>Markup</h3>
+          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
+          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
 
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
-&lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
-&lt;li class="dropdown" id="menu1"&gt;
-&lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
-  Dropdown
-  &lt;b class="caret"&gt;&lt;/b&gt;
-&lt;/a&gt;
-&lt;ul class="dropdown-menu"&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
-  &lt;li class="divider"&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/li&gt;
-...
+  &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="dropdown" id="menu1"&gt;
+    &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
+      Dropdown
+      &lt;b class="caret"&gt;&lt;/b&gt;
+    &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
+      &lt;li class="divider"&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+  ...
 &lt;/ul&gt;</pre>
-      <h3>Methods</h3>
-      <h4>$().dropdown()</h4>
-      <p>
-      A programatic api for activating menus for a given navbar or tabbed navigation.
-      </p>
-    </div>
-  </div>
-</section>
+          <h3>Methods</h3>
+          <h4>$().dropdown()</h4>
+          <p>
+          A programatic api for activating menus for a given navbar or tabbed navigation.
+          </p>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- ScrollSpy
-================================================== -->
-<section id="scrollspy">
-  <div class="page-header">
-    <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
-      <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example navbar with scrollspy</h2>
-      <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
-      <div id="navbarExample" class="navbar navbar-static">
-        <div class="navbar-inner">
-          <div class="container" style="width: auto;">
-            <a class="brand" href="#">Project Name</a>
-            <ul class="nav">
-              <li><a href="#fat">@fat</a></li>
-              <li><a href="#mdo">@mdo</a></li>
-              <li class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#one">one</a></li>
-                  <li><a href="#two">two</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#three">three</a></li>
+   <!-- ScrollSpy
+    ================================================== -->
+    <section id="scrollspy">
+      <div class="page-header">
+        <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
+          <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example navbar with scrollspy</h2>
+          <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
+          <div id="navbarExample" class="navbar navbar-static">
+            <div class="navbar-inner">
+              <div class="container" style="width: auto;">
+                <a class="brand" href="#">Project Name</a>
+                <ul class="nav">
+                  <li><a href="#fat">@fat</a></li>
+                  <li><a href="#mdo">@mdo</a></li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#one">one</a></li>
+                      <li><a href="#two">two</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#three">three</a></li>
+                    </ul>
+                  </li>
                 </ul>
-              </li>
-            </ul>
+              </div>
+            </div>
           </div>
+          <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
+            <h4 id="fat">@fat</h4>
+            <p>
+            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+            </p>
+            <h4 id="mdo">@mdo</h4>
+            <p>
+            Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
+            </p>
+            <h4 id="one">one</h4>
+            <p>
+            Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
+            </p>
+            <h4 id="two">two</h4>
+            <p>
+            In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
+            </p>
+            <h4 id="three">three</h4>
+            <p>
+            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+            </p>
+            <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
+            </p>
+          </div>
+          <hr>
+          <h2>Using bootstrap-scrollspy.js</h2>
+          <p>Call the scrollspy via javascript:</p>
+          <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
+          <h3>Markup</h3>
+          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+          <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
+           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 100px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>offset</td>
+               <td>number</td>
+               <td>10</td>
+               <td>Pixels to offset from top when calculating position of scroll.</td>
+             </tr>
+            </tbody>
+          </table>
         </div>
       </div>
-      <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
-        <h4 id="fat">@fat</h4>
-        <p>
-        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
-        </p>
-        <h4 id="mdo">@mdo</h4>
-        <p>
-        Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
-        </p>
-        <h4 id="one">one</h4>
-        <p>
-        Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
-        </p>
-        <h4 id="two">two</h4>
-        <p>
-        In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
-        </p>
-        <h4 id="three">three</h4>
-        <p>
-        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
-        </p>
-        <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
-        </p>
-      </div>
-      <hr>
-      <h2>Using bootstrap-scrollspy.js</h2>
-      <p>Call the scrollspy via javascript:</p>
-      <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
-      <h3>Markup</h3>
-      <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
-      <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-       <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 100px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>offset</td>
-           <td>number</td>
-           <td>10</td>
-           <td>Pixels to offset from top when calculating position of scroll.</td>
-         </tr>
-        </tbody>
-      </table>
-    </div>
-  </div>
-</section>
+    </section>
 
 
 
-<!-- Tabs
-================================================== -->
-<section id="tabs">
-  <div class="page-header">
-    <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
-      <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example tabs</h2>
-      <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
-      <ul id="tab" class="nav tabs">
-        <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
-        <li><a href="#profile" data-toggle="tab">Profile</a></li>
-        <li class="dropdown">
-          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-          <ul class="dropdown-menu">
-            <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
-            <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
-          </ul>
-        </li>
-      </ul>
-      <div id="myTabContent" class="tab-content">
-        <div class="tab-pane fade in active" id="home">
-          <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
-        </div>
-        <div class="tab-pane fade" id="profile">
-          <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
-        </div>
-        <div class="tab-pane fade" id="dropdown1">
-          <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
-        </div>
-        <div class="tab-pane fade" id="dropdown2">
-          <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
-        </div>
+    <!-- Tabs
+    ================================================== -->
+    <section id="tabs">
+      <div class="page-header">
+        <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
       </div>
-      <hr>
-      <h2>Using bootstrap-tab.js</h2>
-      <p>Enable tabbable tabs via javascript:</p>
-      <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
-      <h3>Markup</h3>
-      <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
+      <div class="row">
+        <div class="span3 columns">
+          <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
+          <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example tabs</h2>
+          <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
+          <ul id="tab" class="nav tabs">
+            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
+            <li><a href="#profile" data-toggle="tab">Profile</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
+                <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
+              </ul>
+            </li>
+          </ul>
+          <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade in active" id="home">
+              <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+            </div>
+            <div class="tab-pane fade" id="profile">
+              <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+            </div>
+            <div class="tab-pane fade" id="dropdown1">
+              <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+            </div>
+            <div class="tab-pane fade" id="dropdown2">
+              <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+            </div>
+          </div>
+          <hr>
+          <h2>Using bootstrap-tab.js</h2>
+          <p>Enable tabbable tabs via javascript:</p>
+          <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
+          <h3>Markup</h3>
+          <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-&lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;</pre>
-      <h3>Methods</h3>
-      <h4>$().tab</h4>
-      <p>
-        Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
-      </p>
+          <h3>Methods</h3>
+          <h4>$().tab</h4>
+          <p>
+            Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
+          </p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-&lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content"&gt;
-&lt;div class="active" id="home"&gt;...&lt;/div&gt;
-&lt;div id="profile"&gt;...&lt;/div&gt;
-&lt;div id="messages"&gt;...&lt;/div&gt;
-&lt;div id="settings"&gt;...&lt;/div&gt;
+  &lt;div class="active" id="home"&gt;...&lt;/div&gt;
+  &lt;div id="profile"&gt;...&lt;/div&gt;
+  &lt;div id="messages"&gt;...&lt;/div&gt;
+  &lt;div id="settings"&gt;...&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;script&gt;
-$(function () {
-$('.tabs a:last').tab('show')
-})
+  $(function () {
+    $('.tabs a:last').tab('show')
+  })
 &lt;/script&gt;</pre>
-      </p>
-      <h3>Events</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>show</td>
-           <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
-        </tr>
-        <tr>
-           <td>shown</td>
-           <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
-         </tr>
-        </tbody>
-      </table>
-
-      <pre class="prettyprint linenums">
+          </p>
+          <h3>Events</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>show</td>
+               <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+            </tr>
+            <tr>
+               <td>shown</td>
+               <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+             </tr>
+            </tbody>
+          </table>
+
+          <pre class="prettyprint linenums">
 $('a[data-toggle="tab"]').on('shown', function (e) {
-e.target // activated tab
-e.relatedTarget // previous tab
+  e.target // activated tab
+  e.relatedTarget // previous tab
 })</pre>
-   </div>
-  </div>
-</section>
-
-
-<!-- Tooltips
-================================================== -->
-<section id="tooltips">
-  <div class="page-header">
-    <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About Tooltips</h3>
-      <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
-      <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example use of Tooltips</h2>
-      <p>Hover over the links below to see tooltips:</p>
-      <div class="tooltip-demo well">
-        <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
-        </p>
+       </div>
       </div>
-      <hr>
-      <h2>Using bootstrap-tooltip.js</h2>
-      <p>Trigger the tooltip via javascript:</p>
-      <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 100px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>animation</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>apply a css fade transition to the tooltip</td>
-         </tr>
-         <tr>
-           <td>placement</td>
-           <td>string</td>
-           <td>'top'</td>
-           <td>how to position the tooltip - top | bottom | left | right</td>
-         </tr>
-         <tr>
-           <td>selector</td>
-           <td>string</td>
-           <td>false</td>
-           <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
-         </tr>
-         <tr>
-           <td>title</td>
-           <td>string | function</td>
-           <td>''</td>
-           <td>default title value if `title` tag isn't present</td>
-         </tr>
-         <tr>
-           <td>trigger</td>
-           <td>string</td>
-           <td>'hover'</td>
-           <td>how tooltip is triggered - hover | focus | manual</td>
-         </tr>
-         <tr>
-           <td>delay</td>
-           <td>number | object</td>
-           <td>0</td>
-           <td>
-            <p>delay showing/hiding the tooltip (ms)</p>
-            <p>If a number is supplied, delay is applied to both hide/show</p>
-            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
-           </td>
-         </tr>
-        </tbody>
-      </table>
-      <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
-      <h3>Markup</h3>
-      <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
-      <h3>Methods</h3>
-      <h4>$().tooltip(options)</h4>
-      <p>Attaches a tooltip handler to an element collection.</p>
-      <h4>.tooltip('show')</h4>
-      <p>Reveals an elements tooltip.</p>
-      <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
-      <h4>.tooltip('hide')</h4>
-      <p>Hides an elements tooltip.</p>
-      <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
-    </div>
-  </div>
-</section>
-
-
-
-<!-- Popovers
-================================================== -->
-<section id="popovers">
-  <div class="page-header">
-    <h1>Popovers <small>bootstrap-popover.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About popovers</h3>
-      <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-      <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
-      <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example hover popover</h2>
-      <p>Hover over the button to trigger the popover.</p>
-      <div class="well">
-        <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
+    </section>
+
+
+    <!-- Tooltips
+    ================================================== -->
+    <section id="tooltips">
+      <div class="page-header">
+        <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
       </div>
-      <hr>
-      <h2>Using bootstrap-popover.js</h2>
-      <p>Enable popovers via javascript:</p>
-      <pre class="prettyprint linenums">$('#example').popover(options)</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 100px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>animation</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>apply a css fade transition to the tooltip</td>
-         </tr>
-         <tr>
-           <td>placement</td>
-           <td>string</td>
-           <td>'right'</td>
-           <td>how to position the popover - top | bottom | left | right</td>
-         </tr>
-         <tr>
-           <td>selector</td>
-           <td>string</td>
-           <td>false</td>
-           <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
-         </tr>
-         <tr>
-           <td>trigger</td>
-           <td>string</td>
-           <td>'hover'</td>
-           <td>how tooltip is triggered - hover | focus | manual</td>
-         </tr>
-         <tr>
-           <td>title</td>
-           <td>string | function</td>
-           <td>''</td>
-           <td>default title value if `title` attribute isn't present</td>
-         </tr>
-         <tr>
-           <td>content</td>
-           <td>string | function</td>
-           <td>''</td>
-           <td>default content value if `data-content` attribute isn't present</td>
-         </tr>
-         <tr>
-           <td>delay</td>
-           <td>number | object</td>
-           <td>0</td>
-           <td>
-            <p>delay showing/hiding the popover (ms)</p>
-            <p>If a number is supplied, delay is applied to both hide/show</p>
-            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
-           </td>
-         </tr>
-        </tbody>
-      </table>
-      <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
-      <h3>Markup</h3>
-      <p>
-      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.
-      </p>
-      <h3>Methods</h3>
-      <h4>$().popover(options)</h4>
-      <p>Initializes popovers for an element collection.</p>
-      <h4>.popover('show')</h4>
-      <p>Reveals an elements popover.</p>
-      <pre class="prettyprint linenums">$('#element').popover('show')</pre>
-      <h4>.popover('hide')</h4>
-      <p>Hides an elements popover.</p>
-      <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
-    </div>
-  </div>
-</section>
-
-
-
-<!-- Alert
-================================================== -->
-<section id="alerts">
-  <div class="page-header">
-    <h1>Alert messages <small>bootstrap-alert.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About alerts</h3>
-      <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-      <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example alerts</h2>
-      <p>The alerts plugin works on regular alert messages, and block messages.</p>
-      <div class="alert fade in">
-        <a class="close" data-dismiss="alert" href="#">&times;</a>
-        <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About Tooltips</h3>
+          <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
+          <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example use of Tooltips</h2>
+          <p>Hover over the links below to see tooltips:</p>
+          <div class="tooltip-demo well">
+            <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+            </p>
+          </div>
+          <hr>
+          <h2>Using bootstrap-tooltip.js</h2>
+          <p>Trigger the tooltip via javascript:</p>
+          <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 100px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>animation</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>apply a css fade transition to the tooltip</td>
+             </tr>
+             <tr>
+               <td>placement</td>
+               <td>string</td>
+               <td>'top'</td>
+               <td>how to position the tooltip - top | bottom | left | right</td>
+             </tr>
+             <tr>
+               <td>selector</td>
+               <td>string</td>
+               <td>false</td>
+               <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
+             </tr>
+             <tr>
+               <td>title</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default title value if `title` tag isn't present</td>
+             </tr>
+             <tr>
+               <td>trigger</td>
+               <td>string</td>
+               <td>'hover'</td>
+               <td>how tooltip is triggered - hover | focus | manual</td>
+             </tr>
+             <tr>
+               <td>delay</td>
+               <td>number | object</td>
+               <td>0</td>
+               <td>
+                <p>delay showing/hiding the tooltip (ms)</p>
+                <p>If a number is supplied, delay is applied to both hide/show</p>
+                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
+          <h3>Markup</h3>
+          <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
+          <h3>Methods</h3>
+          <h4>$().tooltip(options)</h4>
+          <p>Attaches a tooltip handler to an element collection.</p>
+          <h4>.tooltip('show')</h4>
+          <p>Reveals an elements tooltip.</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
+          <h4>.tooltip('hide')</h4>
+          <p>Hides an elements tooltip.</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
+        </div>
       </div>
-      <div class="alert alert-block alert-error fade in">
-        <a class="close" data-dismiss="alert" href="#">&times;</a>
-        <h4 class="alert-heading">Oh snap! You got an error!</h4>
-        <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
-        <p>
-          <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </p>
+    </section>
+
+
+
+    <!-- Popovers
+    ================================================== -->
+    <section id="popovers">
+      <div class="page-header">
+        <h1>Popovers <small>bootstrap-popover.js</small></h1>
       </div>
-      <hr>
-      <h2>Using bootstrap-alerts.js</h2>
-      <p>Enable dismissal of an alert via javascript:</p>
-      <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
-      <h3>Markup</h3>
-      <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
-      <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
-      <h3>Methods</h3>
-      <h4>$().alert()</h4>
-      <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
-      <h4>.alert('close')</h4>
-      <p>Closes an alert.</p>
-      <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
-      <h3>Events</h3>
-      <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>close</td>
-           <td>This event fires immediately when the <code>close</code> instance method is called.</td>
-         </tr>
-         <tr>
-           <td>closed</td>
-           <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
-         </tr>
-        </tbody>
-      </table>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About popovers</h3>
+          <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+          <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
+          <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example hover popover</h2>
+          <p>Hover over the button to trigger the popover.</p>
+          <div class="well">
+            <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
+          </div>
+          <hr>
+          <h2>Using bootstrap-popover.js</h2>
+          <p>Enable popovers via javascript:</p>
+          <pre class="prettyprint linenums">$('#example').popover(options)</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 100px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>animation</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>apply a css fade transition to the tooltip</td>
+             </tr>
+             <tr>
+               <td>placement</td>
+               <td>string</td>
+               <td>'right'</td>
+               <td>how to position the popover - top | bottom | left | right</td>
+             </tr>
+             <tr>
+               <td>selector</td>
+               <td>string</td>
+               <td>false</td>
+               <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
+             </tr>
+             <tr>
+               <td>trigger</td>
+               <td>string</td>
+               <td>'hover'</td>
+               <td>how tooltip is triggered - hover | focus | manual</td>
+             </tr>
+             <tr>
+               <td>title</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default title value if `title` attribute isn't present</td>
+             </tr>
+             <tr>
+               <td>content</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default content value if `data-content` attribute isn't present</td>
+             </tr>
+             <tr>
+               <td>delay</td>
+               <td>number | object</td>
+               <td>0</td>
+               <td>
+                <p>delay showing/hiding the popover (ms)</p>
+                <p>If a number is supplied, delay is applied to both hide/show</p>
+                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
+          <h3>Markup</h3>
+          <p>
+          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.
+          </p>
+          <h3>Methods</h3>
+          <h4>$().popover(options)</h4>
+          <p>Initializes popovers for an element collection.</p>
+          <h4>.popover('show')</h4>
+          <p>Reveals an elements popover.</p>
+          <pre class="prettyprint linenums">$('#element').popover('show')</pre>
+          <h4>.popover('hide')</h4>
+          <p>Hides an elements popover.</p>
+          <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
+        </div>
+      </div>
+    </section>
+
+
+
+    <!-- Alert
+    ================================================== -->
+    <section id="alerts">
+      <div class="page-header">
+        <h1>Alert messages <small>bootstrap-alert.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About alerts</h3>
+          <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example alerts</h2>
+          <p>The alerts plugin works on regular alert messages, and block messages.</p>
+          <div class="alert fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
+            <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
+          </div>
+          <div class="alert alert-block alert-error fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
+            <h4 class="alert-heading">Oh snap! You got an error!</h4>
+            <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+            <p>
+              <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+            </p>
+          </div>
+          <hr>
+          <h2>Using bootstrap-alerts.js</h2>
+          <p>Enable dismissal of an alert via javascript:</p>
+          <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
+          <h3>Markup</h3>
+          <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
+          <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
+          <h3>Methods</h3>
+          <h4>$().alert()</h4>
+          <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
+          <h4>.alert('close')</h4>
+          <p>Closes an alert.</p>
+          <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
+          <h3>Events</h3>
+          <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>close</td>
+               <td>This event fires immediately when the <code>close</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>closed</td>
+               <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
 <pre class="prettyprint linenums">
 $('#my-alert').bind('closed', function () {
-// do something ...
+  // do something ...
 })</pre>
-    </div>
-  </div>
-</section>
-
-
-
-<!-- Buttons
-================================================== -->
-<section id="buttons">
-  <div class="page-header">
-    <h1>Buttons <small>bootstrap-button.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
-      <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example uses</h2>
-      <p>Use the buttons plugin for states and toggles.</p>
-      <table class="table table-bordered table-striped">
-        <tbody>
-         <tr>
-           <td>Stateful</td>
-           <td>
-              <button id="fat-btn" data-loading-text="loading..." class="btn primary">
-                Loading State
-              </button>
-            </td>
-         </tr>
-         <tr>
-           <td>Single toggle</td>
-           <td>
-              <button class="btn primary" data-toggle="button">Single Toggle</button>
-            </td>
-         </tr>
-         <tr>
-           <td>Checkbox</td>
-           <td>
-              <div class="btn-group" data-toggle="buttons-checkbox">
-                <button class="btn primary">Left</button>
-                <button class="btn primary">Middle</button>
-                <button class="btn primary">Right</button>
-              </div>
-           </td>
-         </tr>
-         <tr>
-           <td>Radio</td>
-           <td>
-              <div class="btn-group" data-toggle="buttons-radio">
-                <button class="btn primary">Left</button>
-                <button class="btn primary">Middle</button>
-                <button class="btn primary">Right</button>
-              </div>
-           </td>
-         </tr>
-        </tbody>
-      </table>
-      <hr>
-      <h2>Using bootstrap-button.js</h2>
-      <p>Enable buttons via javascript:</p>
-      <pre class="prettyprint linenums">$('.tabs').button()</pre>
-        <h3>Markup</h3>
-      <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
+        </div>
+      </div>
+    </section>
+
+
+
+    <!-- Buttons
+    ================================================== -->
+    <section id="buttons">
+      <div class="page-header">
+        <h1>Buttons <small>bootstrap-button.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+          <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example uses</h2>
+          <p>Use the buttons plugin for states and toggles.</p>
+          <table class="table table-bordered table-striped">
+            <tbody>
+             <tr>
+               <td>Stateful</td>
+               <td>
+                  <button id="fat-btn" data-loading-text="loading..." class="btn primary">
+                    Loading State
+                  </button>
+                </td>
+             </tr>
+             <tr>
+               <td>Single toggle</td>
+               <td>
+                  <button class="btn primary" data-toggle="button">Single Toggle</button>
+                </td>
+             </tr>
+             <tr>
+               <td>Checkbox</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-checkbox">
+                    <button class="btn primary">Left</button>
+                    <button class="btn primary">Middle</button>
+                    <button class="btn primary">Right</button>
+                  </div>
+               </td>
+             </tr>
+             <tr>
+               <td>Radio</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-radio">
+                    <button class="btn primary">Left</button>
+                    <button class="btn primary">Middle</button>
+                    <button class="btn primary">Right</button>
+                  </div>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+          <hr>
+          <h2>Using bootstrap-button.js</h2>
+          <p>Enable buttons via javascript:</p>
+          <pre class="prettyprint linenums">$('.tabs').button()</pre>
+            <h3>Markup</h3>
+          <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
 &lt;!-- Add data-toggle="button" to activate toggling on a single button --&gt;
 &lt;button class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;
 
 &lt;!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group --&gt;
 &lt;div class="btn-group" data-toggle="buttons-checkbox"&gt;
-&lt;button class="btn"&gt;Left&lt;/button&gt;
-&lt;button class="btn"&gt;Middle&lt;/button&gt;
-&lt;button class="btn"&gt;Right&lt;/button&gt;
+  &lt;button class="btn"&gt;Left&lt;/button&gt;
+  &lt;button class="btn"&gt;Middle&lt;/button&gt;
+  &lt;button class="btn"&gt;Right&lt;/button&gt;
 &lt;/div&gt;
 
 &lt;!-- Add data-toggle="buttons-radio" for radio style toggling on btn-group --&gt;
 &lt;div class="btn-group" data-toggle="buttons-radio"&gt;
-&lt;button class="btn"&gt;Left&lt;/button&gt;
-&lt;button class="btn"&gt;Middle&lt;/button&gt;
-&lt;button class="btn"&gt;Right&lt;/button&gt;
+  &lt;button class="btn"&gt;Left&lt;/button&gt;
+  &lt;button class="btn"&gt;Middle&lt;/button&gt;
+  &lt;button class="btn"&gt;Right&lt;/button&gt;
 &lt;/div&gt;
 </pre>
-      <h3>Methods</h3>
-      <h4>$().button('toggle')</h4>
-      <p>Toggles push state. Gives btn the look that it's been activated.</p>
-      <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
-      <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
-      <h4>$().button('loading')</h4>
-      <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
-      </p>
-       <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
-      <p>
-        <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
-      </p>
-       <h4>$().button('reset')</h4>
-       <p>Resets button state - swaps text to original text.</p>
-       <h4>$().button(string)</h4>
-       <p>Resets button state - swaps text to any data defined text state.</p>
+          <h3>Methods</h3>
+          <h4>$().button('toggle')</h4>
+          <p>Toggles push state. Gives btn the look that it's been activated.</p>
+          <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
+          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
+          <h4>$().button('loading')</h4>
+          <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
+          </p>
+           <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+          <p>
+            <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
+          </p>
+           <h4>$().button('reset')</h4>
+           <p>Resets button state - swaps text to original text.</p>
+           <h4>$().button(string)</h4>
+           <p>Resets button state - swaps text to any data defined text state.</p>
 <pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
 &lt;script&gt;
-$('.btn').button('complete')
+  $('.btn').button('complete')
 &lt;/script&gt;</pre>
-    </div>
-  </div>
-</section>
-
-
-
-<!-- Collapse
-================================================== -->
-<section id="collapse">
-  <div class="page-header">
-    <h1>Collapse <small>bootstrap-collapse.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
-      <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example accordion</h2>
-      <p>Using the collapse plugin, we built a simple accordion style widget:</p>
-    
-      <div class="accordion" id="accordion2">
-        <div class="accordion-group">
-          <div class="accordion-heading">
-            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
-              Collapsible Group Item #1
-            </a>
-          </div>
-          <div id="collapseOne" class="accordion-body collapse in">
-            <div class="accordion-inner">
-              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-            </div>
-          </div>
         </div>
-        <div class="accordion-group">
-          <div class="accordion-heading">
-            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
-              Collapsible Group Item #2
-            </a>
-          </div>
-          <div id="collapseTwo" class="accordion-body collapse">
-            <div class="accordion-inner">
-              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-            </div>
-          </div>
+      </div>
+    </section>
+
+
+
+    <!-- Collapse
+    ================================================== -->
+    <section id="collapse">
+      <div class="page-header">
+        <h1>Collapse <small>bootstrap-collapse.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
         </div>
-        <div class="accordion-group">
-          <div class="accordion-heading">
-            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
-              Collapsible Group Item #3
-            </a>
-          </div>
-          <div id="collapseThree" class="accordion-body collapse">
-            <div class="accordion-inner">
-              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+        <div class="span9 columns">
+          <h2>Example accordion</h2>
+          <p>Using the collapse plugin, we built a simple accordion style widget:</p>
+        
+          <div class="accordion" id="accordion2">
+            <div class="accordion-group">
+              <div class="accordion-heading">
+                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+                  Collapsible Group Item #1
+                </a>
+              </div>
+              <div id="collapseOne" class="accordion-body collapse in">
+                <div class="accordion-inner">
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                </div>
+              </div>
+            </div>
+            <div class="accordion-group">
+              <div class="accordion-heading">
+                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+                  Collapsible Group Item #2
+                </a>
+              </div>
+              <div id="collapseTwo" class="accordion-body collapse">
+                <div class="accordion-inner">
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                </div>
+              </div>
+            </div>
+            <div class="accordion-group">
+              <div class="accordion-heading">
+                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+                  Collapsible Group Item #3
+                </a>
+              </div>
+              <div id="collapseThree" class="accordion-body collapse">
+                <div class="accordion-inner">
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                </div>
+              </div>
             </div>
           </div>
-        </div>
-      </div>
 
-      
-      <hr>
-      <h2>Using bootstrap-collapse.js</h2>
-      <p>Enable via javascript:</p>
-      <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>parent</td>
-           <td>selector</td>
-           <td>false</td>
-           <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
-         </tr>
-         <tr>
-           <td>toggle</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>Toggles the collapsible element on invocation</td>
-         </tr>
-        </tbody>
-      </table>
-      <h3>Markup</h3>
-      <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
-      <pre class="prettyprint linenums">
+          
+          <hr>
+          <h2>Using bootstrap-collapse.js</h2>
+          <p>Enable via javascript:</p>
+          <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>parent</td>
+               <td>selector</td>
+               <td>false</td>
+               <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
+             </tr>
+             <tr>
+               <td>toggle</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>Toggles the collapsible element on invocation</td>
+             </tr>
+            </tbody>
+          </table>
+          <h3>Markup</h3>
+          <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
+          <pre class="prettyprint linenums">
 &lt;button class="btn danger" data-toggle="collapse" data-target="#demo"&gt;
-simple collapsible
+  simple collapsible
 &lt;/button&gt;
 
 &lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
-     <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
-      <h3>Methods</h3>
-      <h4>.collapse(options)</h4>
-      <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
+         <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
+          <h3>Methods</h3>
+          <h4>.collapse(options)</h4>
+          <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
 $('#myCollapsible').collapse({
-toggle: false
+  toggle: false
 })</pre>
-      <h4>.collapse('toggle')</h4>
-      <p>Toggles a collapsible element to shown or hidden.</p>
-      <h4>.collapse('show')</h4>
-      <p>Shows a collapsible element.</p>
-      <h4>.collapse('hide')</h4>
-      <p>Hides a collapsible element.</p>
-      <h3>Events</h3>
-      <p>
-        Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
-      </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>show</td>
-           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
-         </tr>
-         <tr>
-           <td>shown</td>
-           <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
-         </tr>
-         <tr>
-           <td>hide</td>
-           <td>
-            This event is fired immediately when the <code>hide</code> method has been called.
-           </td>
-         </tr>
-         <tr>
-           <td>hidden</td>
-           <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
-         </tr>
-        </tbody>
-      </table>
+          <h4>.collapse('toggle')</h4>
+          <p>Toggles a collapsible element to shown or hidden.</p>
+          <h4>.collapse('show')</h4>
+          <p>Shows a collapsible element.</p>
+          <h4>.collapse('hide')</h4>
+          <p>Hides a collapsible element.</p>
+          <h3>Events</h3>
+          <p>
+            Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
+          </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>show</td>
+               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>shown</td>
+               <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
+             </tr>
+             <tr>
+               <td>hide</td>
+               <td>
+                This event is fired immediately when the <code>hide</code> method has been called.
+               </td>
+             </tr>
+             <tr>
+               <td>hidden</td>
+               <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
 
 <pre class="prettyprint linenums">
 $('#myCollapsible').on('hidden', function () {
-// do something ...
+  // do something ...
 })</pre>
-    </div>
-  </div>
-</section>
-
-
-
- <!-- Carousel
-================================================== -->
-<section id="carousel">
-  <div class="page-header">
-    <h1>Carousel <small>bootstrap-carousel.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>A generic plugin for cycling through elements. A merry-go-round.</p>
-      <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example carousel</h2>
-      <p>Watch the slideshow below.</p>
-      <div id="myCarousel" class="carousel slide">
-        <div class="carousel-inner">
-          <div class="item active">
-            <img src="http://placehold.it/1000x500" alt="">
-            <div class="carousel-caption">
-              <h4>First Thumbnail label</h4>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-            </div>
-          </div>
-          <div class="item">
-            <img src="http://placehold.it/1000x500" alt="">
-            <div class="carousel-caption">
-              <h4>Second Thumbnail label</h4>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-            </div>
-          </div>
-          <div class="item">
-            <img src="http://placehold.it/1000x500" alt="">
-            <div class="carousel-caption">
-              <h4>Third Thumbnail label</h4>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-            </div>
-          </div>
         </div>
-        <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
-        <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
       </div>
-      <hr>
-      <h2>Using bootstrap-carousel.js</h2>
-      <p>Call via javascript:</p>
-      <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>interval</td>
-           <td>number</td>
-           <td>5000</td>
-           <td>The amount of type to delay between automatically cycling an item.</td>
-         </tr>
-        </tbody>
-      </table>
-      <h3>Markup</h3>
-      <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
+    </section>
+
+
+
+     <!-- Carousel
+    ================================================== -->
+    <section id="carousel">
+      <div class="page-header">
+        <h1>Carousel <small>bootstrap-carousel.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>A generic plugin for cycling through elements. A merry-go-round.</p>
+          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example carousel</h2>
+          <p>Watch the slideshow below.</p>
+          <div id="myCarousel" class="carousel slide">
+            <div class="carousel-inner">
+              <div class="item active">
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>First Thumbnail label</h4>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+              <div class="item">
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>Second Thumbnail label</h4>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+              <div class="item">
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>Third Thumbnail label</h4>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+            </div>
+            <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
+            <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
+          </div>
+          <hr>
+          <h2>Using bootstrap-carousel.js</h2>
+          <p>Call via javascript:</p>
+          <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>interval</td>
+               <td>number</td>
+               <td>5000</td>
+               <td>The amount of type to delay between automatically cycling an item.</td>
+             </tr>
+            </tbody>
+          </table>
+          <h3>Markup</h3>
+          <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
 &lt;div class="carousel"&gt;
-&lt;!-- Carousel items --&gt;
-&lt;div class="carousel-inner"&gt;
-...
-&lt;/div&gt;
-&lt;!-- Carousel nav --&gt;
-&lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
-&lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
+  &lt;!-- Carousel items --&gt;
+  &lt;div class="carousel-inner"&gt;
+    ...
+  &lt;/div&gt;
+  &lt;!-- Carousel nav --&gt;
+  &lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
+  &lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
 &lt;/div&gt;
 </pre>
-      <h3>Methods</h3>
-      <h4>.carousel(options)</h4>
-      <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
+          <h3>Methods</h3>
+          <h4>.carousel(options)</h4>
+          <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
 <pre class="prettyprint linenums">
 $('.myCarousel').carousel({
-interval: 2000
+  interval: 2000
 })
 </pre>
-      <h4>.carousel('cycle')</h4>
-      <p>Cycles through the carousel items from left to right.</p>
-      <h4>.carousel('pause')</h4>
-      <p>Stops the carousel from cycling through items.</p>
-      <h4>.carousel(number)</h4>
-      <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
-      <h4>.carousel('prev')</h4>
-      <p>Cycles to the previous item.</p>
-      <h4>.carousel('next')</h4>
-      <p>Cycles to the next item.</p>
-      <h3>Events</h3>
-      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>slide</td>
-           <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
-         </tr>
-         <tr>
-           <td>slid</td>
-           <td>This event is fired when the carousel has completed it's slide transition.</td>
-         </tr>
-         </tr>
-        </tbody>
-      </table>
-    </div>
-  </div>
-</section>
-
-
-
-<!-- Typeahead
-================================================== -->
-<section id="typeahead">
-  <div class="page-header">
-    <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
-      <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example</h2>
-      <p>Start typing in the field below to show the typeahead results.</p>
-      <div class="well">
-        <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+          <h4>.carousel('cycle')</h4>
+          <p>Cycles through the carousel items from left to right.</p>
+          <h4>.carousel('pause')</h4>
+          <p>Stops the carousel from cycling through items.</p>
+          <h4>.carousel(number)</h4>
+          <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
+          <h4>.carousel('prev')</h4>
+          <p>Cycles to the previous item.</p>
+          <h4>.carousel('next')</h4>
+          <p>Cycles to the next item.</p>
+          <h3>Events</h3>
+          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>slide</td>
+               <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
+             </tr>
+             <tr>
+               <td>slid</td>
+               <td>This event is fired when the carousel has completed it's slide transition.</td>
+             </tr>
+             </tr>
+            </tbody>
+          </table>
+        </div>
       </div>
-      <hr>
-      <h2>Using bootstrap-typeahead.js</h2>
-      <p>Call the typeahead via javascript:</p>
-      <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>items</td>
-           <td>number</td>
-           <td>8</td>
-           <td>The max number of items to display in the dropdown.</td>
-         </tr>
-        </tbody>
-      </table>
-
-      <h3>Markup</h3>
-      <p>Add data attributes to register an element with typeahead functionality.</p>
+    </section>
+
+
+
+    <!-- Typeahead
+    ================================================== -->
+    <section id="typeahead">
+      <div class="page-header">
+        <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example</h2>
+          <p>Start typing in the field below to show the typeahead results.</p>
+          <div class="well">
+            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+          </div>
+          <hr>
+          <h2>Using bootstrap-typeahead.js</h2>
+          <p>Call the typeahead via javascript:</p>
+          <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>items</td>
+               <td>number</td>
+               <td>8</td>
+               <td>The max number of items to display in the dropdown.</td>
+             </tr>
+            </tbody>
+          </table>
+
+          <h3>Markup</h3>
+          <p>Add data attributes to register an element with typeahead functionality.</p>
 <pre class="prettyprint linenums">
 &lt;input type="text" data-provide="typeahead"&gt;
 </pre>
-    </div>
-  </div>
-</section>
-      <!-- Footer
+        </div>
+      </div>
+    </section>
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
diff --git a/docs/less.html b/docs/less.html
index 5c8eb735dc..76a47f2691 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -27,89 +27,27 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-<<<<<<< HEAD
-            <li class=""><a href="./index.html">Overview</a></li>
-            <li class="dropdown ">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li class="">
+              <a href="./index.html">Overview</a>
             </li>
-            <li class="dropdown ">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
-=======
-            <li><a href="./index.html">Overview</a></li>
-            <li>
+            <li class="">
               <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li>
+            <li class="">
               <a href="./base-css.html">Base CSS</a>
             </li>
-            <li>
+            <li class="">
               <a href="./components.html">Components</a>
             </li>
-            <li>
+            <li class="">
               <a href="./javascript.html">Javascript plugins</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
             <li class="active">
               <a href="./less.html">Using LESS</a>
@@ -527,7 +465,7 @@
 </div>
 
 </section>
-      <!-- Footer
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 904d53af67..be49f94d59 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -27,97 +27,30 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-<<<<<<< HEAD
-            <li class=""><a href="./index.html">Overview</a></li>
-            <li class="dropdown active">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
-            </li>
-            <li class="dropdown ">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
-            </li>
             <li class="">
-              <a href="./less.html">
-                Using LESS
-              </a>
-=======
-            <li><a href="./index.html">Overview</a></li>
+              <a href="./index.html">Overview</a>
+            </li>
             <li class="active">
               <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li>
+            <li class="">
               <a href="./base-css.html">Base CSS</a>
             </li>
-            <li>
+            <li class="">
               <a href="./components.html">Components</a>
             </li>
-            <li>
+            <li class="">
               <a href="./javascript.html">Javascript plugins</a>
             </li>
-            <li>
+            <li class="">
               <a href="./less.html">Using LESS</a>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
             </li>
           </ul>
         </div>
@@ -126,15 +59,6 @@
 
     <div class="container">
 
-<<<<<<< HEAD
-
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Scaffolding</h1>
-  <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
-</header>
-=======
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
@@ -146,7 +70,6 @@
           <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
         </ul>
       </header>
->>>>>>> a074087034716804610637a5ad9cc0447a2cccb2
 
 
 
@@ -451,7 +374,7 @@
     </div>
   </div>
 </section>
-      <!-- Footer
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index cc36a05ed8..eccc679746 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -27,79 +27,30 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li class="{{ index }}"><a href="./index.html">Overview</a></li>
-            <li class="dropdown {{ scaffolding }}">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li class="{{index}}">
+              <a href="./index.html">Overview</a>
             </li>
-            <li class="dropdown {{ base-css }}">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li class="{{scaffolding}}">
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown {{ components }}">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li class="{{base-css}}">
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown {{ javascript }}">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li class="{{components}}">
+              <a href="./components.html">Components</a>
             </li>
-            <li class="{{ less }}">
-              <a href="./less.html">
-                Using LESS
-              </a>
+            <li class="{{javascript}}">
+              <a href="./javascript.html">Javascript plugins</a>
+            </li>
+            <li class="{{less}}">
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
@@ -110,7 +61,7 @@
 
 {{>body}}
 
-      <!-- Footer
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 3933c867dc..28ca2912bf 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -3,6 +3,13 @@
 <header class="jumbotron subhead" id="overview">
   <h1>Base CSS</h1>
   <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
+  <ul class="nav pills">
+    <li><a href="./base-css.html#typography">Typography</a></li>
+    <li><a href="./base-css.html#tables">Tables</a></li>
+    <li><a href="./base-css.html#forms">Forms</a></li>
+    <li><a href="./base-css.html#buttons">Buttons</a></li>
+    <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+  </ul>
 </header>
 
 
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 21ddf47477..20d7ae9214 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -1,9 +1,21 @@
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Components</h1>
-  <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
-</header>
+  <!-- Masthead
+  ================================================== -->
+  <header class="jumbotron subhead" id="overview">
+    <h1>Components</h1>
+    <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+    <ul class="nav pills">
+      <li><a href="./components.html#buttonGroups">Button groups</a></li>
+      <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
+      <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
+      <li><a href="./components.html#navbar">Navbar</a></li>
+      <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
+      <li><a href="./components.html#pagination">Pagination</a></li>
+      <li><a href="./components.html#thumbnails">Thumbnails</a></li>
+      <li><a href="./components.html#alerts">Alerts</a></li>
+      <li><a href="./components.html#progress">Progress bars</a></li>
+    </ul>
+  </header>
+
 
 
   <!-- Button Groups
@@ -1173,4 +1185,4 @@
           </div>
         </div>
 
-      </section>
\ No newline at end of file
+      </section>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index f07116a5af..8927bc640d 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -1,188 +1,188 @@
-<div id="overview">
+      <div id="overview">
 
-  <!-- Masthead
-  ================================================== -->
-  <header class="jumbotron masthead">
-    <div class="inner">
-      <h1>Bootstrap,<br> from Twitter</h1>
-      <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
-      <p class="download-info">
-        <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
-        <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
-      </p>
+        <!-- Masthead
+        ================================================== -->
+        <header class="jumbotron masthead">
+          <div class="inner">
+            <h1>Bootstrap,<br> from Twitter</h1>
+            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
+            <p class="download-info">
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
+              <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
+            </p>
 
-      <div class="benefits">
-        <h4>Feature highlights</h4>
-        <ul>
-          <li><span>&times;</span> Built on LESS</li>
-          <li><span>&times;</span> Complete styleguide docs</li>
-          <li><span>&times;</span> Fully responsive design</li>
-          <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-          <li><span>&times;</span> Support for IE7 and up</li>
-          <li><span>&times;</span> Custom jQuery plugins</li>
-          <li><span>&times;</span> Dozens of components</li>
-        </ul>
-      </div>
-    </div>
-  </header>
+            <div class="benefits">
+              <h4>Feature highlights</h4>
+              <ul>
+                <li><span>&times;</span> Built on LESS</li>
+                <li><span>&times;</span> Complete styleguide docs</li>
+                <li><span>&times;</span> Fully responsive design</li>
+                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
+                <li><span>&times;</span> Support for IE7 and up</li>
+                <li><span>&times;</span> Custom jQuery plugins</li>
+                <li><span>&times;</span> Dozens of components</li>
+              </ul>
+            </div>
+          </div>
+        </header>
 
-  <ul class="quick-links">
-    <li><strong>Quick links</strong></li>
-    <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-    <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
-    <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
-    <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
-    <li class="divider">&middot;</li>
-    <li>
-      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
-    </li>
-    <li>
-      <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
-    </li>
+        <ul class="quick-links">
+          <li><strong>Quick links</strong></li>
+          <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+          <li class="divider">&middot;</li>
+          <li>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
+          </li>
+          <li>
+            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
+          </li>
 <!--
-    <li><strong>Authors</strong></li>
-    <li><a href="http://twitter.com/mdo">@mdo</a></li>
-    <li><a href="http://twitter.com/fat">@fat</a></li>
--->
+          <li><strong>Authors</strong></li>
+          <li><a href="http://twitter.com/mdo">@mdo</a></li>
+          <li><a href="http://twitter.com/fat">@fat</a></li>
+ -->
 
-    <li class="divider">&middot;</li>
-    <li class="follow-btn">
-      <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
-    </li>
-    <li class="tweet-btn">
-      <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
-    </li>
-  </ul>
+          <li class="divider">&middot;</li>
+          <li class="follow-btn">
+            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
+          </li>
+          <li class="tweet-btn">
+            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
+          </li>
+        </ul>
 
 
-  <div class="marketing">
-    <h1>Built with Bootstrap.</h1>
-    <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
-    <ul class="thumbnails example-sites">
-      <li class="span4">
-        <a class="thumbnail" href="http://kippt.com/" target="_blank">
-          <img src="assets/img/example-sites/kippt.png" alt="Kippt">
-        </a>
-      </li>
-      <li class="span4">
-        <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
-          <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
-        </a>
-      </li>
-      <li class="span4">
-        <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
-          <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
-        </a>
-      </li>
-    </ul>
+        <div class="marketing">
+          <h1>Built with Bootstrap.</h1>
+          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+          <ul class="thumbnails example-sites">
+            <li class="span4">
+              <a class="thumbnail" href="http://kippt.com/" target="_blank">
+                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
+                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
+                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
+              </a>
+            </li>
+          </ul>
 
-    <h1>Designed for everyone, everywhere.</h1>
-    <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
-    <div class="row">
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
-        <h2>Built for and by nerds</h2>
-        <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
-        <h2>For all skill levels</h2>
-        <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
-        <h2>Cross-everything</h2>
-        <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
-      </div>
-    </div><!--/row-->
-    <div class="row">
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
-        <h2>12-column grid</h2>
-        <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
-        <h2>Responsive design</h2>
-        <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
-        <h2>Styleguide docs</h2>
-        <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
-      </div>
-    </div><!--/row-->
-    <div class="row">
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
-        <h2>Growing library</h2>
-        <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
-        <h2>Custom jQuery plugins</h2>
-        <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
-      </div>
-      <div class="span4">
-        <img class="icon" src="assets/img/less-small.png">
-        <h2>Built on LESS</h2>
-        <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
-      </div>
-    </div><!--/row-->
-    <div class="row">
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-html5.png">
-        <h3>HTML5</h3>
-        <p>Built to support new HTML5 elements and syntax.</p>
-      </div>
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-css3.png">
-        <h3>CSS3</h3>
-        <p>Progressively enhanced components for ultimate style.</p>
-      </div>
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-github.png">
-        <h3>Open-source</h3>
-        <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
-      </div>
-      <div class="span3">
-        <img class="small-icon" src="assets/img/icon-twitter.png">
-        <h3>Made at Twitter</h3>
-        <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
-      </div>
-    </div><!--/row-->
+          <h1>Designed for everyone, everywhere.</h1>
+          <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
+          <div class="row">
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
+              <h2>Built for and by nerds</h2>
+              <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
+              <h2>For all skill levels</h2>
+              <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
+              <h2>Cross-everything</h2>
+              <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <h2>12-column grid</h2>
+              <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+              <h2>Responsive design</h2>
+              <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
+              <h2>Styleguide docs</h2>
+              <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+              <h2>Growing library</h2>
+              <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
+              <h2>Custom jQuery plugins</h2>
+              <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
+            </div>
+            <div class="span4">
+              <img class="icon" src="assets/img/less-small.png">
+              <h2>Built on LESS</h2>
+              <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
+            </div>
+          </div><!--/row-->
+          <div class="row">
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-html5.png">
+              <h3>HTML5</h3>
+              <p>Built to support new HTML5 elements and syntax.</p>
+            </div>
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-css3.png">
+              <h3>CSS3</h3>
+              <p>Progressively enhanced components for ultimate style.</p>
+            </div>
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-github.png">
+              <h3>Open-source</h3>
+              <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
+            </div>
+            <div class="span3">
+              <img class="small-icon" src="assets/img/icon-twitter.png">
+              <h3>Made at Twitter</h3>
+              <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
+            </div>
+          </div><!--/row-->
 
 
-    <!-- Quickstart options
-    ================================================== -->
-    <h1>Get started in no time.</h1>
-    <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-    <table class="table table-bordered getting-started">
-      <tbody>
-        <tr>
-          <td class="quick-start">
-            <h3>Hotlink the CSS</h3>
-            <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
-            <form>
-              <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-            </form>
-          </td>
-          <td class="quick-start">
-            <h3>Use it with LESS</h3>
-            <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
-            <form>
-              <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-            </form>
-          </td>
-          <td class="quick-start">
-            <h3>Fork on GitHub</h3>
-            <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-            <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-            <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </div><!-- /.marketing -->
-</div><!-- /#overview -->
\ No newline at end of file
+          <!-- Quickstart options
+          ================================================== -->
+          <h1>Get started in no time.</h1>
+          <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
+          <table class="table table-bordered getting-started">
+            <tbody>
+              <tr>
+                <td class="quick-start">
+                  <h3>Hotlink the CSS</h3>
+                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                  <form>
+                    <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+                  </form>
+                </td>
+                <td class="quick-start">
+                  <h3>Use it with LESS</h3>
+                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
+                  <form>
+                    <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+      &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+                  </form>
+                </td>
+                <td class="quick-start">
+                  <h3>Fork on GitHub</h3>
+                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
+                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+                  <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div><!-- /.marketing -->
+      </div><!-- /#overview -->
\ No newline at end of file
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index aefe878469..93789cc034 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -1,1299 +1,1313 @@
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Javascript for Bootstrap</h1>
-  <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
-</header>
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Javascript for Bootstrap</h1>
+        <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
+        <ul class="nav pills">
+          <li><a href="./javascript.html#javascript">Overview</a></li>
+          <li><a href="./javascript.html#modals">Modal</a></li>
+          <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
+          <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+          <li><a href="./javascript.html#tabs">Tab</a></li>
+          <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+          <li><a href="./javascript.html#popovers">Popover</a></li>
+          <li><a href="./javascript.html#alerts">Alert</a></li>
+          <li><a href="./javascript.html#buttons">Button</a></li>
+          <li><a href="./javascript.html#collapse">Collapse</a></li>
+          <li><a href="./javascript.html#carousel">Carousel</a></li>
+          <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+        </ul>
+      </header>
 
 
-  <!-- Using Javascript w/ Bootstrap
-  ================================================== -->
-  <section id="javascript">
-    <div class="page-header">
-      <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
-    </div>
-  <div class="row">
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
-        <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
-        <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
-        <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
-        <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
-      </label>
-    </div>
-  </div> <!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
-        <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
-        <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-        <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
-        <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
-        <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
-      </label>
-    </div>
-  </div> <!-- /row -->
-  <div class="row">
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
-        <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
-        <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
-        <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
-      </label>
-    </div>
-    <div class="span3">
-      <label>
-        <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
-        <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
-        <p class="muted"><strong>*</strong> Required for animation in plugins</p>
-      </label>
-    </div>
-  </div> <!-- /row -->
-  <div class="row">
-    <div class="span5">
-      <div class="btn-group" id="javascriptBuilder">
-        <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
-        <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
-          <span class="caret"></span>
-        </a>
-        <ul class="dropdown-menu large">
-          <li class="active"><a href="#">Compressed</a></li>
-          <li><a href="#">Uncompressed</a></li>
-        </ul>
+      <!-- Using Javascript w/ Bootstrap
+      ================================================== -->
+      <section id="javascript">
+        <div class="page-header">
+          <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
+        </div>
+      <div class="row">
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+            <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+            <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+            <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+            <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+          </label>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+            <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+            <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+            <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+            <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+            <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+          </label>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+            <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+            <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
+            <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+          </label>
+        </div>
+        <div class="span3">
+          <label>
+            <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
+            <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+          </label>
+        </div>
+      </div> <!-- /row -->
+      <div class="row">
+        <div class="span5">
+          <div class="btn-group" id="javascriptBuilder">
+            <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
+            <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
+              <span class="caret"></span>
+            </a>
+            <ul class="dropdown-menu large">
+              <li class="active"><a href="#">Compressed</a></li>
+              <li><a href="#">Uncompressed</a></li>
+            </ul>
+          </div>
+        </div>
       </div>
-    </div>
-  </div>
-  <hr>
-  <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
-  <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
-</section>
+      <hr>
+      <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
+      <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
+    </section>
 
 
 
-<!-- Modal
-================================================== -->
-<section id="modals">
-  <div class="page-header">
-    <h1>Modals <small>bootstrap-modal.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About modals</h3>
-      <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
-      <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Static example</h2>
-      <p>Below is a statically rendered modal.</p>
-      <div class="well" style="background-color: #888; border: none;">
-        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
-          <div class="modal-header">
-            <a href="#" class="close" data-dismiss="modal">&times;</a>
-            <h3>Modal header</h3>
-          </div>
-          <div class="modal-body">
-            <p>One fine body…</p>
-          </div>
-          <div class="modal-footer">
-            <a href="#" class="btn primary">Save changes</a>
-            <a href="#" class="btn">Close</a>
-          </div>
+    <!-- Modal
+    ================================================== -->
+    <section id="modals">
+      <div class="page-header">
+        <h1>Modals <small>bootstrap-modal.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About modals</h3>
+          <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+          <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
         </div>
-      </div> <!-- /well -->
+        <div class="span9 columns">
+          <h2>Static example</h2>
+          <p>Below is a statically rendered modal.</p>
+          <div class="well" style="background-color: #888; border: none;">
+            <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
+              <div class="modal-header">
+                <a href="#" class="close" data-dismiss="modal">&times;</a>
+                <h3>Modal header</h3>
+              </div>
+              <div class="modal-body">
+                <p>One fine body…</p>
+              </div>
+              <div class="modal-footer">
+                <a href="#" class="btn primary">Save changes</a>
+                <a href="#" class="btn">Close</a>
+              </div>
+            </div>
+          </div> <!-- /well -->
 
-      <h2>Live demo</h2>
-      <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
-      <!-- sample modal content -->
-      <div id="myModal" class="modal hide fade">
-        <div class="modal-header">
-          <a href="#" class="close" data-dismiss="modal" >&times;</a>
-          <h3>Modal Heading</h3>
-        </div>
-        <div class="modal-body">
-          <h4>Text in a modal</h4>
-          <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
+          <h2>Live demo</h2>
+          <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
+          <!-- sample modal content -->
+          <div id="myModal" class="modal hide fade">
+            <div class="modal-header">
+              <a href="#" class="close" data-dismiss="modal" >&times;</a>
+              <h3>Modal Heading</h3>
+            </div>
+            <div class="modal-body">
+              <h4>Text in a modal</h4>
+              <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
 
-          <h4>Popover in a modal</h4>
-          <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+              <h4>Popover in a modal</h4>
+              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
 
-          <h4>Tooltips in a modal</h4>
-          <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
-        </div>
-        <div class="modal-footer">
-          <a href="#" class="btn primary">Save changes</a>
-          <a href="#" class="btn" data-dismiss="modal" >Close</a>
-        </div>
-      </div>
-      <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
+              <h4>Tooltips in a modal</h4>
+              <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
+            </div>
+            <div class="modal-footer">
+              <a href="#" class="btn primary">Save changes</a>
+              <a href="#" class="btn" data-dismiss="modal" >Close</a>
+            </div>
+          </div>
+          <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
 
-      <hr>
+          <hr>
 
-      <h2>Using bootstrap-modal</h2>
-      <p>Call the modal via javascript:</p>
-      <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>backdrop</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>Includes a modal-backdrop element</td>
-         </tr>
-         <tr>
-           <td>keyboard</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>Closes the modal when escape key is pressed</td>
-         </tr>
-        </tbody>
-      </table>
-      <h3>Markup</h3>
-      <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
-      <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
+          <h2>Using bootstrap-modal</h2>
+          <p>Call the modal via javascript:</p>
+          <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>backdrop</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>Includes a modal-backdrop element</td>
+             </tr>
+             <tr>
+               <td>keyboard</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>Closes the modal when escape key is pressed</td>
+             </tr>
+            </tbody>
+          </table>
+          <h3>Markup</h3>
+          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
+          <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
 <pre class="prettyprint linenums">
 &lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
 </pre>
 
 <pre class="prettyprint linenums">
 &lt;div class="modal"&gt;
-&lt;div class="modal-header"&gt;
-&lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
-&lt;h3&gt;Modal header&lt;/h3&gt;
-&lt;/div&gt;
-&lt;div class="modal-body"&gt;
-&lt;p&gt;One fine body…&lt;/p&gt;
-&lt;/div&gt;
-&lt;div class="modal-footer"&gt;
-&lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
-&lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
-&lt;/div&gt;
+  &lt;div class="modal-header"&gt;
+    &lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
+    &lt;h3&gt;Modal header&lt;/h3&gt;
+  &lt;/div&gt;
+  &lt;div class="modal-body"&gt;
+    &lt;p&gt;One fine body…&lt;/p&gt;
+  &lt;/div&gt;
+  &lt;div class="modal-footer"&gt;
+    &lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
+    &lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
+  &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
-      <h3>Methods</h3>
-      <h4>.modal(options)</h4>
-      <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
+          <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
+          <h3>Methods</h3>
+          <h4>.modal(options)</h4>
+          <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
 $('#myModal').modal({
-keyboard: false
+  keyboard: false
 })</pre>
-      <h4>.modal('toggle')</h4>
-      <p>Manually toggles a modal.</p>
-      <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
-      <h4>.modal('show')</h4>
-      <p>Manually opens a modal.</p>
-      <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
-      <h4>.modal('hide')</h4>
-      <p>Manually hides a modal.</p>
-      <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
-      <h3>Events</h3>
-      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>show</td>
-           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
-         </tr>
-         <tr>
-           <td>shown</td>
-           <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
-         </tr>
-         <tr>
-           <td>hide</td>
-           <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
-         </tr>
-         <tr>
-           <td>hidden</td>
-           <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
-         </tr>
-        </tbody>
-      </table>
+          <h4>.modal('toggle')</h4>
+          <p>Manually toggles a modal.</p>
+          <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
+          <h4>.modal('show')</h4>
+          <p>Manually opens a modal.</p>
+          <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
+          <h4>.modal('hide')</h4>
+          <p>Manually hides a modal.</p>
+          <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
+          <h3>Events</h3>
+          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>show</td>
+               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>shown</td>
+               <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
+             </tr>
+             <tr>
+               <td>hide</td>
+               <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+             </tr>
+             <tr>
+               <td>hidden</td>
+               <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
 
 <pre class="prettyprint linenums">
 $('#myModal').on('hidden', function () {
-// do something ...
+  // do something ...
 })</pre>
-    </div>
-  </div>
-</section>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- Dropdown
-================================================== -->
-<section id="dropdowns">
-  <div class="page-header">
-    <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About dropdowns</h3>
-      <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
-      <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Examples</h2>
-      <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
-      <div id="navbar-example" class="navbar navbar-static">
-        <div class="navbar-inner">
-          <div class="container" style="width: auto;">
-            <a class="brand" href="#">Project Name</a>
-            <ul class="nav">
-              <li class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#">Action</a></li>
-                  <li><a href="#">Another action</a></li>
-                  <li><a href="#">Something else here</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#">Separated link</a></li>
+    <!-- Dropdown
+    ================================================== -->
+    <section id="dropdowns">
+      <div class="page-header">
+        <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About dropdowns</h3>
+          <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+          <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Examples</h2>
+          <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
+          <div id="navbar-example" class="navbar navbar-static">
+            <div class="navbar-inner">
+              <div class="container" style="width: auto;">
+                <a class="brand" href="#">Project Name</a>
+                <ul class="nav">
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
                 </ul>
-              </li>
-              <li class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#">Action</a></li>
-                  <li><a href="#">Another action</a></li>
-                  <li><a href="#">Something else here</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#">Separated link</a></li>
+                <ul class="nav pull-right">
+                  <li id="fat-menu" class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#">Action</a></li>
+                      <li><a href="#">Another action</a></li>
+                      <li><a href="#">Something else here</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#">Separated link</a></li>
+                    </ul>
+                  </li>
                 </ul>
-              </li>
-            </ul>
-            <ul class="nav pull-right">
-              <li id="fat-menu" class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#">Action</a></li>
-                  <li><a href="#">Another action</a></li>
-                  <li><a href="#">Something else here</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#">Separated link</a></li>
-                </ul>
-              </li>
-            </ul>
-          </div>
-        </div>
-      </div> <!-- /navbar-example -->
+              </div>
+            </div>
+          </div> <!-- /navbar-example -->
 
-      <ul class="nav pills">
-        <li class="active"><a href="#">Regular link</a></li>
-        <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
-          <ul id="menu1" class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
-          </ul>
-        </li>
-        <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
-          <ul id="menu2" class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
-          </ul>
-        </li>
-        <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
-          <ul id="menu3" class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
-            <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
-          </ul>
-        </li>
-      </ul> <!-- /tabs -->
+          <ul class="nav pills">
+            <li class="active"><a href="#">Regular link</a></li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+              <ul id="menu1" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
+              <ul id="menu2" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
+              <ul id="menu3" class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+          </ul> <!-- /tabs -->
 
-      <hr>
+          <hr>
 
-      <h2>Using bootstrap-dropdown.js</h2>
-      <p>Call the dropdowns via javascript:</p>
-      <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
-      <h3>Markup</h3>
-      <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
-      <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+          <h2>Using bootstrap-dropdown.js</h2>
+          <p>Call the dropdowns via javascript:</p>
+          <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
+          <h3>Markup</h3>
+          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
+          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
 
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
-&lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
-&lt;li class="dropdown" id="menu1"&gt;
-&lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
-  Dropdown
-  &lt;b class="caret"&gt;&lt;/b&gt;
-&lt;/a&gt;
-&lt;ul class="dropdown-menu"&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
-  &lt;li class="divider"&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/li&gt;
-...
+  &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="dropdown" id="menu1"&gt;
+    &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
+      Dropdown
+      &lt;b class="caret"&gt;&lt;/b&gt;
+    &lt;/a&gt;
+    &lt;ul class="dropdown-menu"&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
+      &lt;li class="divider"&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+  ...
 &lt;/ul&gt;</pre>
-      <h3>Methods</h3>
-      <h4>$().dropdown()</h4>
-      <p>
-      A programatic api for activating menus for a given navbar or tabbed navigation.
-      </p>
-    </div>
-  </div>
-</section>
+          <h3>Methods</h3>
+          <h4>$().dropdown()</h4>
+          <p>
+          A programatic api for activating menus for a given navbar or tabbed navigation.
+          </p>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- ScrollSpy
-================================================== -->
-<section id="scrollspy">
-  <div class="page-header">
-    <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
-      <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example navbar with scrollspy</h2>
-      <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
-      <div id="navbarExample" class="navbar navbar-static">
-        <div class="navbar-inner">
-          <div class="container" style="width: auto;">
-            <a class="brand" href="#">Project Name</a>
-            <ul class="nav">
-              <li><a href="#fat">@fat</a></li>
-              <li><a href="#mdo">@mdo</a></li>
-              <li class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="#one">one</a></li>
-                  <li><a href="#two">two</a></li>
-                  <li class="divider"></li>
-                  <li><a href="#three">three</a></li>
+   <!-- ScrollSpy
+    ================================================== -->
+    <section id="scrollspy">
+      <div class="page-header">
+        <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
+          <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example navbar with scrollspy</h2>
+          <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
+          <div id="navbarExample" class="navbar navbar-static">
+            <div class="navbar-inner">
+              <div class="container" style="width: auto;">
+                <a class="brand" href="#">Project Name</a>
+                <ul class="nav">
+                  <li><a href="#fat">@fat</a></li>
+                  <li><a href="#mdo">@mdo</a></li>
+                  <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                      <li><a href="#one">one</a></li>
+                      <li><a href="#two">two</a></li>
+                      <li class="divider"></li>
+                      <li><a href="#three">three</a></li>
+                    </ul>
+                  </li>
                 </ul>
-              </li>
-            </ul>
+              </div>
+            </div>
           </div>
+          <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
+            <h4 id="fat">@fat</h4>
+            <p>
+            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+            </p>
+            <h4 id="mdo">@mdo</h4>
+            <p>
+            Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
+            </p>
+            <h4 id="one">one</h4>
+            <p>
+            Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
+            </p>
+            <h4 id="two">two</h4>
+            <p>
+            In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
+            </p>
+            <h4 id="three">three</h4>
+            <p>
+            Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
+            </p>
+            <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
+            </p>
+          </div>
+          <hr>
+          <h2>Using bootstrap-scrollspy.js</h2>
+          <p>Call the scrollspy via javascript:</p>
+          <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
+          <h3>Markup</h3>
+          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+          <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
+           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 100px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>offset</td>
+               <td>number</td>
+               <td>10</td>
+               <td>Pixels to offset from top when calculating position of scroll.</td>
+             </tr>
+            </tbody>
+          </table>
         </div>
       </div>
-      <div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
-        <h4 id="fat">@fat</h4>
-        <p>
-        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
-        </p>
-        <h4 id="mdo">@mdo</h4>
-        <p>
-        Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.
-        </p>
-        <h4 id="one">one</h4>
-        <p>
-        Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.
-        </p>
-        <h4 id="two">two</h4>
-        <p>
-        In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.
-        </p>
-        <h4 id="three">three</h4>
-        <p>
-        Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.
-        </p>
-        <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
-        </p>
-      </div>
-      <hr>
-      <h2>Using bootstrap-scrollspy.js</h2>
-      <p>Call the scrollspy via javascript:</p>
-      <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
-      <h3>Markup</h3>
-      <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
-      <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-       <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 100px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>offset</td>
-           <td>number</td>
-           <td>10</td>
-           <td>Pixels to offset from top when calculating position of scroll.</td>
-         </tr>
-        </tbody>
-      </table>
-    </div>
-  </div>
-</section>
+    </section>
 
 
 
-<!-- Tabs
-================================================== -->
-<section id="tabs">
-  <div class="page-header">
-    <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
-      <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example tabs</h2>
-      <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
-      <ul id="tab" class="nav tabs">
-        <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
-        <li><a href="#profile" data-toggle="tab">Profile</a></li>
-        <li class="dropdown">
-          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-          <ul class="dropdown-menu">
-            <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
-            <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
-          </ul>
-        </li>
-      </ul>
-      <div id="myTabContent" class="tab-content">
-        <div class="tab-pane fade in active" id="home">
-          <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
-        </div>
-        <div class="tab-pane fade" id="profile">
-          <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
-        </div>
-        <div class="tab-pane fade" id="dropdown1">
-          <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
-        </div>
-        <div class="tab-pane fade" id="dropdown2">
-          <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
-        </div>
+    <!-- Tabs
+    ================================================== -->
+    <section id="tabs">
+      <div class="page-header">
+        <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
       </div>
-      <hr>
-      <h2>Using bootstrap-tab.js</h2>
-      <p>Enable tabbable tabs via javascript:</p>
-      <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
-      <h3>Markup</h3>
-      <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
+      <div class="row">
+        <div class="span3 columns">
+          <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
+          <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example tabs</h2>
+          <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
+          <ul id="tab" class="nav tabs">
+            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
+            <li><a href="#profile" data-toggle="tab">Profile</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
+                <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
+              </ul>
+            </li>
+          </ul>
+          <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade in active" id="home">
+              <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+            </div>
+            <div class="tab-pane fade" id="profile">
+              <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+            </div>
+            <div class="tab-pane fade" id="dropdown1">
+              <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+            </div>
+            <div class="tab-pane fade" id="dropdown2">
+              <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+            </div>
+          </div>
+          <hr>
+          <h2>Using bootstrap-tab.js</h2>
+          <p>Enable tabbable tabs via javascript:</p>
+          <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
+          <h3>Markup</h3>
+          <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-&lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;</pre>
-      <h3>Methods</h3>
-      <h4>$().tab</h4>
-      <p>
-        Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
-      </p>
+          <h3>Methods</h3>
+          <h4>$().tab</h4>
+          <p>
+            Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
+          </p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-&lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content"&gt;
-&lt;div class="active" id="home"&gt;...&lt;/div&gt;
-&lt;div id="profile"&gt;...&lt;/div&gt;
-&lt;div id="messages"&gt;...&lt;/div&gt;
-&lt;div id="settings"&gt;...&lt;/div&gt;
+  &lt;div class="active" id="home"&gt;...&lt;/div&gt;
+  &lt;div id="profile"&gt;...&lt;/div&gt;
+  &lt;div id="messages"&gt;...&lt;/div&gt;
+  &lt;div id="settings"&gt;...&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;script&gt;
-$(function () {
-$('.tabs a:last').tab('show')
-})
+  $(function () {
+    $('.tabs a:last').tab('show')
+  })
 &lt;/script&gt;</pre>
-      </p>
-      <h3>Events</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>show</td>
-           <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
-        </tr>
-        <tr>
-           <td>shown</td>
-           <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
-         </tr>
-        </tbody>
-      </table>
+          </p>
+          <h3>Events</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>show</td>
+               <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+            </tr>
+            <tr>
+               <td>shown</td>
+               <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+             </tr>
+            </tbody>
+          </table>
 
-      <pre class="prettyprint linenums">
+          <pre class="prettyprint linenums">
 $('a[data-toggle="tab"]').on('shown', function (e) {
-e.target // activated tab
-e.relatedTarget // previous tab
+  e.target // activated tab
+  e.relatedTarget // previous tab
 })</pre>
-   </div>
-  </div>
-</section>
+       </div>
+      </div>
+    </section>
 
 
-<!-- Tooltips
-================================================== -->
-<section id="tooltips">
-  <div class="page-header">
-    <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About Tooltips</h3>
-      <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
-      <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example use of Tooltips</h2>
-      <p>Hover over the links below to see tooltips:</p>
-      <div class="tooltip-demo well">
-        <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
-        </p>
+    <!-- Tooltips
+    ================================================== -->
+    <section id="tooltips">
+      <div class="page-header">
+        <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
       </div>
-      <hr>
-      <h2>Using bootstrap-tooltip.js</h2>
-      <p>Trigger the tooltip via javascript:</p>
-      <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 100px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>animation</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>apply a css fade transition to the tooltip</td>
-         </tr>
-         <tr>
-           <td>placement</td>
-           <td>string</td>
-           <td>'top'</td>
-           <td>how to position the tooltip - top | bottom | left | right</td>
-         </tr>
-         <tr>
-           <td>selector</td>
-           <td>string</td>
-           <td>false</td>
-           <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
-         </tr>
-         <tr>
-           <td>title</td>
-           <td>string | function</td>
-           <td>''</td>
-           <td>default title value if `title` tag isn't present</td>
-         </tr>
-         <tr>
-           <td>trigger</td>
-           <td>string</td>
-           <td>'hover'</td>
-           <td>how tooltip is triggered - hover | focus | manual</td>
-         </tr>
-         <tr>
-           <td>delay</td>
-           <td>number | object</td>
-           <td>0</td>
-           <td>
-            <p>delay showing/hiding the tooltip (ms)</p>
-            <p>If a number is supplied, delay is applied to both hide/show</p>
-            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
-           </td>
-         </tr>
-        </tbody>
-      </table>
-      <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
-      <h3>Markup</h3>
-      <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
-      <h3>Methods</h3>
-      <h4>$().tooltip(options)</h4>
-      <p>Attaches a tooltip handler to an element collection.</p>
-      <h4>.tooltip('show')</h4>
-      <p>Reveals an elements tooltip.</p>
-      <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
-      <h4>.tooltip('hide')</h4>
-      <p>Hides an elements tooltip.</p>
-      <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
-    </div>
-  </div>
-</section>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About Tooltips</h3>
+          <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
+          <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example use of Tooltips</h2>
+          <p>Hover over the links below to see tooltips:</p>
+          <div class="tooltip-demo well">
+            <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+            </p>
+          </div>
+          <hr>
+          <h2>Using bootstrap-tooltip.js</h2>
+          <p>Trigger the tooltip via javascript:</p>
+          <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 100px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>animation</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>apply a css fade transition to the tooltip</td>
+             </tr>
+             <tr>
+               <td>placement</td>
+               <td>string</td>
+               <td>'top'</td>
+               <td>how to position the tooltip - top | bottom | left | right</td>
+             </tr>
+             <tr>
+               <td>selector</td>
+               <td>string</td>
+               <td>false</td>
+               <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
+             </tr>
+             <tr>
+               <td>title</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default title value if `title` tag isn't present</td>
+             </tr>
+             <tr>
+               <td>trigger</td>
+               <td>string</td>
+               <td>'hover'</td>
+               <td>how tooltip is triggered - hover | focus | manual</td>
+             </tr>
+             <tr>
+               <td>delay</td>
+               <td>number | object</td>
+               <td>0</td>
+               <td>
+                <p>delay showing/hiding the tooltip (ms)</p>
+                <p>If a number is supplied, delay is applied to both hide/show</p>
+                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
+          <h3>Markup</h3>
+          <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
+          <h3>Methods</h3>
+          <h4>$().tooltip(options)</h4>
+          <p>Attaches a tooltip handler to an element collection.</p>
+          <h4>.tooltip('show')</h4>
+          <p>Reveals an elements tooltip.</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
+          <h4>.tooltip('hide')</h4>
+          <p>Hides an elements tooltip.</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- Popovers
-================================================== -->
-<section id="popovers">
-  <div class="page-header">
-    <h1>Popovers <small>bootstrap-popover.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About popovers</h3>
-      <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-      <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
-      <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example hover popover</h2>
-      <p>Hover over the button to trigger the popover.</p>
-      <div class="well">
-        <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
+    <!-- Popovers
+    ================================================== -->
+    <section id="popovers">
+      <div class="page-header">
+        <h1>Popovers <small>bootstrap-popover.js</small></h1>
       </div>
-      <hr>
-      <h2>Using bootstrap-popover.js</h2>
-      <p>Enable popovers via javascript:</p>
-      <pre class="prettyprint linenums">$('#example').popover(options)</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 100px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>animation</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>apply a css fade transition to the tooltip</td>
-         </tr>
-         <tr>
-           <td>placement</td>
-           <td>string</td>
-           <td>'right'</td>
-           <td>how to position the popover - top | bottom | left | right</td>
-         </tr>
-         <tr>
-           <td>selector</td>
-           <td>string</td>
-           <td>false</td>
-           <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
-         </tr>
-         <tr>
-           <td>trigger</td>
-           <td>string</td>
-           <td>'hover'</td>
-           <td>how tooltip is triggered - hover | focus | manual</td>
-         </tr>
-         <tr>
-           <td>title</td>
-           <td>string | function</td>
-           <td>''</td>
-           <td>default title value if `title` attribute isn't present</td>
-         </tr>
-         <tr>
-           <td>content</td>
-           <td>string | function</td>
-           <td>''</td>
-           <td>default content value if `data-content` attribute isn't present</td>
-         </tr>
-         <tr>
-           <td>delay</td>
-           <td>number | object</td>
-           <td>0</td>
-           <td>
-            <p>delay showing/hiding the popover (ms)</p>
-            <p>If a number is supplied, delay is applied to both hide/show</p>
-            <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
-           </td>
-         </tr>
-        </tbody>
-      </table>
-      <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
-      <h3>Markup</h3>
-      <p>
-      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.
-      </p>
-      <h3>Methods</h3>
-      <h4>$().popover(options)</h4>
-      <p>Initializes popovers for an element collection.</p>
-      <h4>.popover('show')</h4>
-      <p>Reveals an elements popover.</p>
-      <pre class="prettyprint linenums">$('#element').popover('show')</pre>
-      <h4>.popover('hide')</h4>
-      <p>Hides an elements popover.</p>
-      <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
-    </div>
-  </div>
-</section>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About popovers</h3>
+          <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
+          <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
+          <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example hover popover</h2>
+          <p>Hover over the button to trigger the popover.</p>
+          <div class="well">
+            <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
+          </div>
+          <hr>
+          <h2>Using bootstrap-popover.js</h2>
+          <p>Enable popovers via javascript:</p>
+          <pre class="prettyprint linenums">$('#example').popover(options)</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 100px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>animation</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>apply a css fade transition to the tooltip</td>
+             </tr>
+             <tr>
+               <td>placement</td>
+               <td>string</td>
+               <td>'right'</td>
+               <td>how to position the popover - top | bottom | left | right</td>
+             </tr>
+             <tr>
+               <td>selector</td>
+               <td>string</td>
+               <td>false</td>
+               <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
+             </tr>
+             <tr>
+               <td>trigger</td>
+               <td>string</td>
+               <td>'hover'</td>
+               <td>how tooltip is triggered - hover | focus | manual</td>
+             </tr>
+             <tr>
+               <td>title</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default title value if `title` attribute isn't present</td>
+             </tr>
+             <tr>
+               <td>content</td>
+               <td>string | function</td>
+               <td>''</td>
+               <td>default content value if `data-content` attribute isn't present</td>
+             </tr>
+             <tr>
+               <td>delay</td>
+               <td>number | object</td>
+               <td>0</td>
+               <td>
+                <p>delay showing/hiding the popover (ms)</p>
+                <p>If a number is supplied, delay is applied to both hide/show</p>
+                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
+          <h3>Markup</h3>
+          <p>
+          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.
+          </p>
+          <h3>Methods</h3>
+          <h4>$().popover(options)</h4>
+          <p>Initializes popovers for an element collection.</p>
+          <h4>.popover('show')</h4>
+          <p>Reveals an elements popover.</p>
+          <pre class="prettyprint linenums">$('#element').popover('show')</pre>
+          <h4>.popover('hide')</h4>
+          <p>Hides an elements popover.</p>
+          <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- Alert
-================================================== -->
-<section id="alerts">
-  <div class="page-header">
-    <h1>Alert messages <small>bootstrap-alert.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About alerts</h3>
-      <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-      <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example alerts</h2>
-      <p>The alerts plugin works on regular alert messages, and block messages.</p>
-      <div class="alert fade in">
-        <a class="close" data-dismiss="alert" href="#">&times;</a>
-        <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
+    <!-- Alert
+    ================================================== -->
+    <section id="alerts">
+      <div class="page-header">
+        <h1>Alert messages <small>bootstrap-alert.js</small></h1>
       </div>
-      <div class="alert alert-block alert-error fade in">
-        <a class="close" data-dismiss="alert" href="#">&times;</a>
-        <h4 class="alert-heading">Oh snap! You got an error!</h4>
-        <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
-        <p>
-          <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-        </p>
-      </div>
-      <hr>
-      <h2>Using bootstrap-alerts.js</h2>
-      <p>Enable dismissal of an alert via javascript:</p>
-      <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
-      <h3>Markup</h3>
-      <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
-      <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
-      <h3>Methods</h3>
-      <h4>$().alert()</h4>
-      <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
-      <h4>.alert('close')</h4>
-      <p>Closes an alert.</p>
-      <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
-      <h3>Events</h3>
-      <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>close</td>
-           <td>This event fires immediately when the <code>close</code> instance method is called.</td>
-         </tr>
-         <tr>
-           <td>closed</td>
-           <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
-         </tr>
-        </tbody>
-      </table>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About alerts</h3>
+          <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example alerts</h2>
+          <p>The alerts plugin works on regular alert messages, and block messages.</p>
+          <div class="alert fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
+            <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
+          </div>
+          <div class="alert alert-block alert-error fade in">
+            <a class="close" data-dismiss="alert" href="#">&times;</a>
+            <h4 class="alert-heading">Oh snap! You got an error!</h4>
+            <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+            <p>
+              <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+            </p>
+          </div>
+          <hr>
+          <h2>Using bootstrap-alerts.js</h2>
+          <p>Enable dismissal of an alert via javascript:</p>
+          <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
+          <h3>Markup</h3>
+          <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
+          <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
+          <h3>Methods</h3>
+          <h4>$().alert()</h4>
+          <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
+          <h4>.alert('close')</h4>
+          <p>Closes an alert.</p>
+          <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
+          <h3>Events</h3>
+          <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>close</td>
+               <td>This event fires immediately when the <code>close</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>closed</td>
+               <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
 <pre class="prettyprint linenums">
 $('#my-alert').bind('closed', function () {
-// do something ...
+  // do something ...
 })</pre>
-    </div>
-  </div>
-</section>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- Buttons
-================================================== -->
-<section id="buttons">
-  <div class="page-header">
-    <h1>Buttons <small>bootstrap-button.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
-      <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example uses</h2>
-      <p>Use the buttons plugin for states and toggles.</p>
-      <table class="table table-bordered table-striped">
-        <tbody>
-         <tr>
-           <td>Stateful</td>
-           <td>
-              <button id="fat-btn" data-loading-text="loading..." class="btn primary">
-                Loading State
-              </button>
-            </td>
-         </tr>
-         <tr>
-           <td>Single toggle</td>
-           <td>
-              <button class="btn primary" data-toggle="button">Single Toggle</button>
-            </td>
-         </tr>
-         <tr>
-           <td>Checkbox</td>
-           <td>
-              <div class="btn-group" data-toggle="buttons-checkbox">
-                <button class="btn primary">Left</button>
-                <button class="btn primary">Middle</button>
-                <button class="btn primary">Right</button>
-              </div>
-           </td>
-         </tr>
-         <tr>
-           <td>Radio</td>
-           <td>
-              <div class="btn-group" data-toggle="buttons-radio">
-                <button class="btn primary">Left</button>
-                <button class="btn primary">Middle</button>
-                <button class="btn primary">Right</button>
-              </div>
-           </td>
-         </tr>
-        </tbody>
-      </table>
-      <hr>
-      <h2>Using bootstrap-button.js</h2>
-      <p>Enable buttons via javascript:</p>
-      <pre class="prettyprint linenums">$('.tabs').button()</pre>
-        <h3>Markup</h3>
-      <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
+    <!-- Buttons
+    ================================================== -->
+    <section id="buttons">
+      <div class="page-header">
+        <h1>Buttons <small>bootstrap-button.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+          <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example uses</h2>
+          <p>Use the buttons plugin for states and toggles.</p>
+          <table class="table table-bordered table-striped">
+            <tbody>
+             <tr>
+               <td>Stateful</td>
+               <td>
+                  <button id="fat-btn" data-loading-text="loading..." class="btn primary">
+                    Loading State
+                  </button>
+                </td>
+             </tr>
+             <tr>
+               <td>Single toggle</td>
+               <td>
+                  <button class="btn primary" data-toggle="button">Single Toggle</button>
+                </td>
+             </tr>
+             <tr>
+               <td>Checkbox</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-checkbox">
+                    <button class="btn primary">Left</button>
+                    <button class="btn primary">Middle</button>
+                    <button class="btn primary">Right</button>
+                  </div>
+               </td>
+             </tr>
+             <tr>
+               <td>Radio</td>
+               <td>
+                  <div class="btn-group" data-toggle="buttons-radio">
+                    <button class="btn primary">Left</button>
+                    <button class="btn primary">Middle</button>
+                    <button class="btn primary">Right</button>
+                  </div>
+               </td>
+             </tr>
+            </tbody>
+          </table>
+          <hr>
+          <h2>Using bootstrap-button.js</h2>
+          <p>Enable buttons via javascript:</p>
+          <pre class="prettyprint linenums">$('.tabs').button()</pre>
+            <h3>Markup</h3>
+          <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
 &lt;!-- Add data-toggle="button" to activate toggling on a single button --&gt;
 &lt;button class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;
 
 &lt;!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group --&gt;
 &lt;div class="btn-group" data-toggle="buttons-checkbox"&gt;
-&lt;button class="btn"&gt;Left&lt;/button&gt;
-&lt;button class="btn"&gt;Middle&lt;/button&gt;
-&lt;button class="btn"&gt;Right&lt;/button&gt;
+  &lt;button class="btn"&gt;Left&lt;/button&gt;
+  &lt;button class="btn"&gt;Middle&lt;/button&gt;
+  &lt;button class="btn"&gt;Right&lt;/button&gt;
 &lt;/div&gt;
 
 &lt;!-- Add data-toggle="buttons-radio" for radio style toggling on btn-group --&gt;
 &lt;div class="btn-group" data-toggle="buttons-radio"&gt;
-&lt;button class="btn"&gt;Left&lt;/button&gt;
-&lt;button class="btn"&gt;Middle&lt;/button&gt;
-&lt;button class="btn"&gt;Right&lt;/button&gt;
+  &lt;button class="btn"&gt;Left&lt;/button&gt;
+  &lt;button class="btn"&gt;Middle&lt;/button&gt;
+  &lt;button class="btn"&gt;Right&lt;/button&gt;
 &lt;/div&gt;
 </pre>
-      <h3>Methods</h3>
-      <h4>$().button('toggle')</h4>
-      <p>Toggles push state. Gives btn the look that it's been activated.</p>
-      <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
-      <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
-      <h4>$().button('loading')</h4>
-      <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
-      </p>
-       <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
-      <p>
-        <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
-      </p>
-       <h4>$().button('reset')</h4>
-       <p>Resets button state - swaps text to original text.</p>
-       <h4>$().button(string)</h4>
-       <p>Resets button state - swaps text to any data defined text state.</p>
+          <h3>Methods</h3>
+          <h4>$().button('toggle')</h4>
+          <p>Toggles push state. Gives btn the look that it's been activated.</p>
+          <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
+          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
+          <h4>$().button('loading')</h4>
+          <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
+          </p>
+           <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+          <p>
+            <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
+          </p>
+           <h4>$().button('reset')</h4>
+           <p>Resets button state - swaps text to original text.</p>
+           <h4>$().button(string)</h4>
+           <p>Resets button state - swaps text to any data defined text state.</p>
 <pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
 &lt;script&gt;
-$('.btn').button('complete')
+  $('.btn').button('complete')
 &lt;/script&gt;</pre>
-    </div>
-  </div>
-</section>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- Collapse
-================================================== -->
-<section id="collapse">
-  <div class="page-header">
-    <h1>Collapse <small>bootstrap-collapse.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
-      <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example accordion</h2>
-      <p>Using the collapse plugin, we built a simple accordion style widget:</p>
-    
-      <div class="accordion" id="accordion2">
-        <div class="accordion-group">
-          <div class="accordion-heading">
-            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
-              Collapsible Group Item #1
-            </a>
-          </div>
-          <div id="collapseOne" class="accordion-body collapse in">
-            <div class="accordion-inner">
-              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
-            </div>
-          </div>
+    <!-- Collapse
+    ================================================== -->
+    <section id="collapse">
+      <div class="page-header">
+        <h1>Collapse <small>bootstrap-collapse.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
         </div>
-        <div class="accordion-group">
-          <div class="accordion-heading">
-            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
-              Collapsible Group Item #2
-            </a>
-          </div>
-          <div id="collapseTwo" class="accordion-body collapse">
-            <div class="accordion-inner">
-              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+        <div class="span9 columns">
+          <h2>Example accordion</h2>
+          <p>Using the collapse plugin, we built a simple accordion style widget:</p>
+        
+          <div class="accordion" id="accordion2">
+            <div class="accordion-group">
+              <div class="accordion-heading">
+                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+                  Collapsible Group Item #1
+                </a>
+              </div>
+              <div id="collapseOne" class="accordion-body collapse in">
+                <div class="accordion-inner">
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                </div>
+              </div>
             </div>
-          </div>
-        </div>
-        <div class="accordion-group">
-          <div class="accordion-heading">
-            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
-              Collapsible Group Item #3
-            </a>
-          </div>
-          <div id="collapseThree" class="accordion-body collapse">
-            <div class="accordion-inner">
-              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+            <div class="accordion-group">
+              <div class="accordion-heading">
+                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+                  Collapsible Group Item #2
+                </a>
+              </div>
+              <div id="collapseTwo" class="accordion-body collapse">
+                <div class="accordion-inner">
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                </div>
+              </div>
+            </div>
+            <div class="accordion-group">
+              <div class="accordion-heading">
+                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+                  Collapsible Group Item #3
+                </a>
+              </div>
+              <div id="collapseThree" class="accordion-body collapse">
+                <div class="accordion-inner">
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                </div>
+              </div>
             </div>
           </div>
-        </div>
-      </div>
 
-      
-      <hr>
-      <h2>Using bootstrap-collapse.js</h2>
-      <p>Enable via javascript:</p>
-      <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>parent</td>
-           <td>selector</td>
-           <td>false</td>
-           <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
-         </tr>
-         <tr>
-           <td>toggle</td>
-           <td>boolean</td>
-           <td>true</td>
-           <td>Toggles the collapsible element on invocation</td>
-         </tr>
-        </tbody>
-      </table>
-      <h3>Markup</h3>
-      <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
-      <pre class="prettyprint linenums">
+          
+          <hr>
+          <h2>Using bootstrap-collapse.js</h2>
+          <p>Enable via javascript:</p>
+          <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>parent</td>
+               <td>selector</td>
+               <td>false</td>
+               <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
+             </tr>
+             <tr>
+               <td>toggle</td>
+               <td>boolean</td>
+               <td>true</td>
+               <td>Toggles the collapsible element on invocation</td>
+             </tr>
+            </tbody>
+          </table>
+          <h3>Markup</h3>
+          <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
+          <pre class="prettyprint linenums">
 &lt;button class="btn danger" data-toggle="collapse" data-target="#demo"&gt;
-simple collapsible
+  simple collapsible
 &lt;/button&gt;
 
 &lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
-     <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
-      <h3>Methods</h3>
-      <h4>.collapse(options)</h4>
-      <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
+         <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
+          <h3>Methods</h3>
+          <h4>.collapse(options)</h4>
+          <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
 <pre class="prettyprint linenums">
 $('#myCollapsible').collapse({
-toggle: false
+  toggle: false
 })</pre>
-      <h4>.collapse('toggle')</h4>
-      <p>Toggles a collapsible element to shown or hidden.</p>
-      <h4>.collapse('show')</h4>
-      <p>Shows a collapsible element.</p>
-      <h4>.collapse('hide')</h4>
-      <p>Hides a collapsible element.</p>
-      <h3>Events</h3>
-      <p>
-        Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
-      </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>show</td>
-           <td>This event fires immediately when the <code>show</code> instance method is called.</td>
-         </tr>
-         <tr>
-           <td>shown</td>
-           <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
-         </tr>
-         <tr>
-           <td>hide</td>
-           <td>
-            This event is fired immediately when the <code>hide</code> method has been called.
-           </td>
-         </tr>
-         <tr>
-           <td>hidden</td>
-           <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
-         </tr>
-        </tbody>
-      </table>
+          <h4>.collapse('toggle')</h4>
+          <p>Toggles a collapsible element to shown or hidden.</p>
+          <h4>.collapse('show')</h4>
+          <p>Shows a collapsible element.</p>
+          <h4>.collapse('hide')</h4>
+          <p>Hides a collapsible element.</p>
+          <h3>Events</h3>
+          <p>
+            Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
+          </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>show</td>
+               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+             </tr>
+             <tr>
+               <td>shown</td>
+               <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
+             </tr>
+             <tr>
+               <td>hide</td>
+               <td>
+                This event is fired immediately when the <code>hide</code> method has been called.
+               </td>
+             </tr>
+             <tr>
+               <td>hidden</td>
+               <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
+             </tr>
+            </tbody>
+          </table>
 
 <pre class="prettyprint linenums">
 $('#myCollapsible').on('hidden', function () {
-// do something ...
+  // do something ...
 })</pre>
-    </div>
-  </div>
-</section>
+        </div>
+      </div>
+    </section>
 
 
 
- <!-- Carousel
-================================================== -->
-<section id="carousel">
-  <div class="page-header">
-    <h1>Carousel <small>bootstrap-carousel.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>A generic plugin for cycling through elements. A merry-go-round.</p>
-      <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example carousel</h2>
-      <p>Watch the slideshow below.</p>
-      <div id="myCarousel" class="carousel slide">
-        <div class="carousel-inner">
-          <div class="item active">
-            <img src="http://placehold.it/1000x500" alt="">
-            <div class="carousel-caption">
-              <h4>First Thumbnail label</h4>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-            </div>
-          </div>
-          <div class="item">
-            <img src="http://placehold.it/1000x500" alt="">
-            <div class="carousel-caption">
-              <h4>Second Thumbnail label</h4>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-            </div>
-          </div>
-          <div class="item">
-            <img src="http://placehold.it/1000x500" alt="">
-            <div class="carousel-caption">
-              <h4>Third Thumbnail label</h4>
-              <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+     <!-- Carousel
+    ================================================== -->
+    <section id="carousel">
+      <div class="page-header">
+        <h1>Carousel <small>bootstrap-carousel.js</small></h1>
+      </div>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>A generic plugin for cycling through elements. A merry-go-round.</p>
+          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example carousel</h2>
+          <p>Watch the slideshow below.</p>
+          <div id="myCarousel" class="carousel slide">
+            <div class="carousel-inner">
+              <div class="item active">
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>First Thumbnail label</h4>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+              <div class="item">
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>Second Thumbnail label</h4>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
+              <div class="item">
+                <img src="http://placehold.it/1000x500" alt="">
+                <div class="carousel-caption">
+                  <h4>Third Thumbnail label</h4>
+                  <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+                </div>
+              </div>
             </div>
+            <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
+            <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
           </div>
-        </div>
-        <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>
-        <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
-      </div>
-      <hr>
-      <h2>Using bootstrap-carousel.js</h2>
-      <p>Call via javascript:</p>
-      <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>interval</td>
-           <td>number</td>
-           <td>5000</td>
-           <td>The amount of type to delay between automatically cycling an item.</td>
-         </tr>
-        </tbody>
-      </table>
-      <h3>Markup</h3>
-      <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
+          <hr>
+          <h2>Using bootstrap-carousel.js</h2>
+          <p>Call via javascript:</p>
+          <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>interval</td>
+               <td>number</td>
+               <td>5000</td>
+               <td>The amount of type to delay between automatically cycling an item.</td>
+             </tr>
+            </tbody>
+          </table>
+          <h3>Markup</h3>
+          <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
 <pre class="prettyprint linenums">
 &lt;div class="carousel"&gt;
-&lt;!-- Carousel items --&gt;
-&lt;div class="carousel-inner"&gt;
-...
-&lt;/div&gt;
-&lt;!-- Carousel nav --&gt;
-&lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
-&lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
+  &lt;!-- Carousel items --&gt;
+  &lt;div class="carousel-inner"&gt;
+    ...
+  &lt;/div&gt;
+  &lt;!-- Carousel nav --&gt;
+  &lt;a class="carousel-control left" href="#myCarousel" data-slide="prev"&gt;&amp;lsaquo;&lt;/a&gt;
+  &lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
 &lt;/div&gt;
 </pre>
-      <h3>Methods</h3>
-      <h4>.carousel(options)</h4>
-      <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
+          <h3>Methods</h3>
+          <h4>.carousel(options)</h4>
+          <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
 <pre class="prettyprint linenums">
 $('.myCarousel').carousel({
-interval: 2000
+  interval: 2000
 })
 </pre>
-      <h4>.carousel('cycle')</h4>
-      <p>Cycles through the carousel items from left to right.</p>
-      <h4>.carousel('pause')</h4>
-      <p>Stops the carousel from cycling through items.</p>
-      <h4>.carousel(number)</h4>
-      <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
-      <h4>.carousel('prev')</h4>
-      <p>Cycles to the previous item.</p>
-      <h4>.carousel('next')</h4>
-      <p>Cycles to the next item.</p>
-      <h3>Events</h3>
-      <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 150px;">Event</th>
-           <th>Description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>slide</td>
-           <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
-         </tr>
-         <tr>
-           <td>slid</td>
-           <td>This event is fired when the carousel has completed it's slide transition.</td>
-         </tr>
-         </tr>
-        </tbody>
-      </table>
-    </div>
-  </div>
-</section>
+          <h4>.carousel('cycle')</h4>
+          <p>Cycles through the carousel items from left to right.</p>
+          <h4>.carousel('pause')</h4>
+          <p>Stops the carousel from cycling through items.</p>
+          <h4>.carousel(number)</h4>
+          <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
+          <h4>.carousel('prev')</h4>
+          <p>Cycles to the previous item.</p>
+          <h4>.carousel('next')</h4>
+          <p>Cycles to the next item.</p>
+          <h3>Events</h3>
+          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 150px;">Event</th>
+               <th>Description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>slide</td>
+               <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
+             </tr>
+             <tr>
+               <td>slid</td>
+               <td>This event is fired when the carousel has completed it's slide transition.</td>
+             </tr>
+             </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+    </section>
 
 
 
-<!-- Typeahead
-================================================== -->
-<section id="typeahead">
-  <div class="page-header">
-    <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
-  </div>
-  <div class="row">
-    <div class="span3 columns">
-      <h3>About</h3>
-      <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
-      <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
-    </div>
-    <div class="span9 columns">
-      <h2>Example</h2>
-      <p>Start typing in the field below to show the typeahead results.</p>
-      <div class="well">
-        <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+    <!-- Typeahead
+    ================================================== -->
+    <section id="typeahead">
+      <div class="page-header">
+        <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
       </div>
-      <hr>
-      <h2>Using bootstrap-typeahead.js</h2>
-      <p>Call the typeahead via javascript:</p>
-      <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
-      <h3>Options</h3>
-      <table class="table table-bordered table-striped">
-        <thead>
-         <tr>
-           <th style="width: 100px;">Name</th>
-           <th style="width: 50px;">type</th>
-           <th style="width: 50px;">default</th>
-           <th>description</th>
-         </tr>
-        </thead>
-        <tbody>
-         <tr>
-           <td>items</td>
-           <td>number</td>
-           <td>8</td>
-           <td>The max number of items to display in the dropdown.</td>
-         </tr>
-        </tbody>
-      </table>
+      <div class="row">
+        <div class="span3 columns">
+          <h3>About</h3>
+          <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
+        </div>
+        <div class="span9 columns">
+          <h2>Example</h2>
+          <p>Start typing in the field below to show the typeahead results.</p>
+          <div class="well">
+            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+          </div>
+          <hr>
+          <h2>Using bootstrap-typeahead.js</h2>
+          <p>Call the typeahead via javascript:</p>
+          <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
+          <h3>Options</h3>
+          <table class="table table-bordered table-striped">
+            <thead>
+             <tr>
+               <th style="width: 100px;">Name</th>
+               <th style="width: 50px;">type</th>
+               <th style="width: 50px;">default</th>
+               <th>description</th>
+             </tr>
+            </thead>
+            <tbody>
+             <tr>
+               <td>items</td>
+               <td>number</td>
+               <td>8</td>
+               <td>The max number of items to display in the dropdown.</td>
+             </tr>
+            </tbody>
+          </table>
 
-      <h3>Markup</h3>
-      <p>Add data attributes to register an element with typeahead functionality.</p>
+          <h3>Markup</h3>
+          <p>Add data attributes to register an element with typeahead functionality.</p>
 <pre class="prettyprint linenums">
 &lt;input type="text" data-provide="typeahead"&gt;
 </pre>
-    </div>
-  </div>
-</section>
\ No newline at end of file
+        </div>
+      </div>
+    </section>
\ No newline at end of file
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index 567ac6d0d4..c586af1b91 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -1,10 +1,14 @@
-
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Scaffolding</h1>
-  <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
-</header>
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Scaffolding</h1>
+        <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
+        <ul class="nav pills">
+          <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
+          <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+          <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+        </ul>
+      </header>
 
 
 
diff --git a/docs/templates/pages/upgrading.mustache b/docs/templates/pages/upgrading.mustache
index a243d6ad5d..475539284b 100644
--- a/docs/templates/pages/upgrading.mustache
+++ b/docs/templates/pages/upgrading.mustache
@@ -1,9 +1,9 @@
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Upgrading to Bootstrap 2</h1>
-  <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
-</header>
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Upgrading to Bootstrap 2</h1>
+        <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
+      </header>
 
 
 <h2>Rough outline</h2>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 7e43408ac7..ee18cbeb07 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -27,79 +27,30 @@
 
   <body>
 
-    <!-- Navbar
+  <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
-            <li class=""><a href="./index.html">Overview</a></li>
-            <li class="dropdown ">
-              <a href="./scaffolding.html" class="dropdown-toggle" data-toggle="dropdown">
-                Scaffolding
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-                <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-                <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-              </ul>
+            <li class="">
+              <a href="./index.html">Overview</a>
             </li>
-            <li class="dropdown ">
-              <a href="./base-css.html" class="dropdown-toggle" data-toggle="dropdown">
-                Base CSS
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./base-css.html#typography">Typography</a></li>
-                <li><a href="./base-css.html#tables">Tables</a></li>
-                <li><a href="./base-css.html#forms">Forms</a></li>
-                <li><a href="./base-css.html#buttons">Buttons</a></li>
-                <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-              </ul>
+            <li class="">
+              <a href="./scaffolding.html">Scaffolding</a>
             </li>
-            <li class="dropdown ">
-              <a href="./components.html" class="dropdown-toggle" data-toggle="dropdown">
-                Components
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./components.html#buttonGroups">Button groups</a></li>
-                <li><a href="./components.html#buttonDropdowns">Split button dropdowns</a></li>
-                <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-                <li><a href="./components.html#navbar">Navbar</a></li>
-                <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-                <li><a href="./components.html#pagination">Pagination</a></li>
-                <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-                <li><a href="./components.html#alerts">Alert messages</a></li>
-                <li><a href="./components.html#progress">Progress bars</a></li>
-              </ul>
+            <li class="">
+              <a href="./base-css.html">Base CSS</a>
             </li>
-            <li class="dropdown ">
-              <a href="./javascript.html" class="dropdown-toggle" data-toggle="dropdown">
-                Javascript plugins
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><a href="./javascript.html#javascript">Overview</a></li>
-                <li><a href="./javascript.html#modals">Modal</a></li>
-                <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-                <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-                <li><a href="./javascript.html#tabs">Tab</a></li>
-                <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-                <li><a href="./javascript.html#popovers">Popover</a></li>
-                <li><a href="./javascript.html#alerts">Alert</a></li>
-                <li><a href="./javascript.html#buttons">Button</a></li>
-                <li><a href="./javascript.html#collapse">Collapse</a></li>
-                <li><a href="./javascript.html#carousel">Carousel</a></li>
-                <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-              </ul>
+            <li class="">
+              <a href="./components.html">Components</a>
             </li>
             <li class="">
-              <a href="./less.html">
-                Using LESS
-              </a>
+              <a href="./javascript.html">Javascript plugins</a>
+            </li>
+            <li class="">
+              <a href="./less.html">Using LESS</a>
             </li>
           </ul>
         </div>
@@ -108,12 +59,12 @@
 
     <div class="container">
 
-<!-- Masthead
-================================================== -->
-<header class="jumbotron subhead" id="overview">
-  <h1>Upgrading to Bootstrap 2</h1>
-  <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
-</header>
+      <!-- Masthead
+      ================================================== -->
+      <header class="jumbotron subhead" id="overview">
+        <h1>Upgrading to Bootstrap 2</h1>
+        <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
+      </header>
 
 
 <h2>Rough outline</h2>
@@ -194,7 +145,7 @@
   </li>
 -->
 </ul>
-      <!-- Footer
+     <!-- Footer
       ================================================== -->
       <footer class="footer">
         <p class="pull-right"><a href="#">Back to top</a></p>
-- 
GitLab


From 82de03b67cf729291ea5a73741e44838a42940f8 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 23 Jan 2012 19:55:00 -0800
Subject: [PATCH 359/576] start wrapping text in {{_i}} for translation

---
 docs/base-css.html                       |   3 +-
 docs/build/index.js                      |   6 +-
 docs/components.html                     |   3 +-
 docs/index.html                          |   3 +-
 docs/javascript.html                     |  17 +-
 docs/less.html                           |   3 +-
 docs/scaffolding.html                    |   3 +-
 docs/templates/layout.mustache           |   3 +-
 docs/templates/pages/javascript.mustache | 460 +++++++++++------------
 docs/upgrading.html                      |   3 +-
 10 files changed, 247 insertions(+), 257 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 91cb4ec70b..6485d76a22 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
diff --git a/docs/build/index.js b/docs/build/index.js
index 4536238c41..9c240ca360 100644
--- a/docs/build/index.js
+++ b/docs/build/index.js
@@ -6,7 +6,7 @@ var layout, pages
 
 // compile layout template
 layout = fs.readFileSync(__dirname + '/../templates/layout.mustache', 'utf-8')
-layout = hogan.compile(layout)
+layout = hogan.compile(layout, { sectionTags: [{o:'_i', c:'i'}] })
 
 // retrieve pages
 pages = fs.readdirSync(__dirname + '/../templates/pages')
@@ -18,7 +18,9 @@ pages.forEach(function (name) {
     , context = {}
 
   context[name.replace(/\.mustache$/, '')] = 'active'
-  page = hogan.compile(page)
+  context._i = true
+
+  page = hogan.compile(page, { sectionTags: [{o:'_i', c:'i'}] })
   page = layout.render(context, {
     body: page
   })
diff --git a/docs/components.html b/docs/components.html
index 4a1e4fc6fc..9d28b9e06b 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
diff --git a/docs/index.html b/docs/index.html
index 9693b9f7e0..1743676b6c 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
diff --git a/docs/javascript.html b/docs/javascript.html
index 7b7f88c5ca..cc641ed492 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -299,7 +298,7 @@
           <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
           <h3>Methods</h3>
           <h4>.modal(options)</h4>
-          <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
+          <p>Activates your content as a modal. Accepts an optional options <code>object</code>.</p>
 <pre class="prettyprint linenums">
 $('#myModal').modal({
   keyboard: false
@@ -314,7 +313,7 @@ $('#myModal').modal({
           <p>Manually hides a modal.</p>
           <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
           <h3>Events</h3>
-          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality.</p>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
@@ -344,7 +343,7 @@ $('#myModal').modal({
 
 <pre class="prettyprint linenums">
 $('#myModal').on('hidden', function () {
-  // do something ...
+  // do something…
 })</pre>
         </div>
       </div>
@@ -472,9 +471,7 @@ $('#myModal').on('hidden', function () {
 &lt;/ul&gt;</pre>
           <h3>Methods</h3>
           <h4>$().dropdown()</h4>
-          <p>
-          A programatic api for activating menus for a given navbar or tabbed navigation.
-          </p>
+          <p>A programatic api for activating menus for a given navbar or tabbed navigation.</p>
         </div>
       </div>
     </section>
@@ -544,9 +541,9 @@ $('#myModal').on('hidden', function () {
           <p>Call the scrollspy via javascript:</p>
           <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
           <h3>Markup</h3>
-          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).</p>
           <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.</p>
           <h3>Options</h3>
           <table class="table table-bordered table-striped">
             <thead>
diff --git a/docs/less.html b/docs/less.html
index 76a47f2691..cd486ac986 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index be49f94d59..2684e32ec8 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index eccc679746..919872db24 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 93789cc034..e1856d6c20 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -1,21 +1,21 @@
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
-        <h1>Javascript for Bootstrap</h1>
-        <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
+        <h1>{{_i}}Javascript for{{/i}} Bootstrap</h1>
+        <p class="lead">{{_i}}Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.{{/i}}
         <ul class="nav pills">
-          <li><a href="./javascript.html#javascript">Overview</a></li>
-          <li><a href="./javascript.html#modals">Modal</a></li>
-          <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-          <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-          <li><a href="./javascript.html#tabs">Tab</a></li>
-          <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-          <li><a href="./javascript.html#popovers">Popover</a></li>
-          <li><a href="./javascript.html#alerts">Alert</a></li>
-          <li><a href="./javascript.html#buttons">Button</a></li>
-          <li><a href="./javascript.html#collapse">Collapse</a></li>
-          <li><a href="./javascript.html#carousel">Carousel</a></li>
-          <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+          <li><a href="./javascript.html#javascript">{{_i}}Overview{{/i}}</a></li>
+          <li><a href="./javascript.html#modals">{{_i}}Modal{{/i}}</a></li>
+          <li><a href="./javascript.html#dropdowns">{{_i}}Dropdown{{/i}}</a></li>
+          <li><a href="./javascript.html#scrollspy">{{_i}}Scrollspy{{/i}}</a></li>
+          <li><a href="./javascript.html#tabs">{{_i}}Tab{{/i}}</a></li>
+          <li><a href="./javascript.html#tooltips">{{_i}}Tooltip{{/i}}</a></li>
+          <li><a href="./javascript.html#popovers">{{_i}}Popover{{/i}}</a></li>
+          <li><a href="./javascript.html#alerts">{{_i}}Alert{{/i}}</a></li>
+          <li><a href="./javascript.html#buttons">{{_i}}Button{{/i}}</a></li>
+          <li><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a></li>
+          <li><a href="./javascript.html#carousel">{{_i}}Carousel{{/i}}</a></li>
+          <li><a href="./javascript.html#typeahead">{{_i}}Typeahead{{/i}}</a></li>
         </ul>
       </header>
 
@@ -24,105 +24,105 @@
       ================================================== -->
       <section id="javascript">
         <div class="page-header">
-          <h1>jQuery plugins <small>A dozen Bootstrap plugins to get you started</small></h1>
+          <h1>{{_i}}jQuery plugins{{/i}} <small>{{_i}}A dozen Bootstrap plugins to get you started{{/i}}</small></h1>
         </div>
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
-            <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
+            <h3><a href="./javascript.html#modals">{{_i}}Modals{{/i}}</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+            <p>{{_i}}A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
-            <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
+            <h3><a href="./javascript.html#dropdowns">{{_i}}Dropdowns{{/i}}</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+            <p>{{_i}}Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
-            <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
+            <h3><a href="./javascript.html#scrollspy">{{_i}}Scrollspy{{/i}}</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+            <p>{{_i}}Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
-            <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
+            <h3><a href="./javascript.html#tabs">{{_i}}Togglable tabs{{/i}}</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+            <p>{{_i}}Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.{{/i}}</p>
           </label>
         </div>
       </div> <!-- /row -->
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
-            <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
+            <h3><a href="./javascript.html#tooltips">{{_i}}Tooltips{{/i}}</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+            <p>{{_i}}A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
-            <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-            <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
+            <h3><a href="./javascript.html#popovers">{{_i}}Popovers{{/i}}</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+            <p>{{_i}}Add small overlays of content, like those on the iPad, to any element for housing secondary information.{{/i}}</p>
+            <p class="muted"><strong>*</strong> {{_i}}Requires <a href="#tooltips">Tooltips</a> to be included{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
-            <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
+            <h3><a href="./javascript.html#alerts">{{_i}}Alert messages{{/i}}</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+            <p>{{_i}}The alert plugin is a tiny class for adding close functionality to alerts.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
-            <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
+            <h3><a href="./javascript.html#buttons">{{_i}}Buttons{{/i}}</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+            <p>{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}</p>
           </label>
         </div>
       </div> <!-- /row -->
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
-            <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
+            <h3><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+            <p>{{_i}}Get base styles and flexible support for collapsible components like accordions and navigation.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
-            <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
+            <h3><a href="./javascript.html#carousel">{{_i}}Carousel{{/i}}</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+            <p>{{_i}}Create a merry-go-round of any content you wish to provide an interactive slideshow of content.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
             <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
-            <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
+            <p>{{_i}}A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
-            <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
-            <p class="muted"><strong>*</strong> Required for animation in plugins</p>
+            <h3><a href="./javascript.html#transitions">{{_i}}Transitions{{/i}}</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <p>{{_i}}For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.{{/i}}</p>
+            <p class="muted"><strong>*</strong> {{_i}}Required for animation in plugins{{/i}}</p>
           </label>
         </div>
       </div> <!-- /row -->
       <div class="row">
         <div class="span5">
           <div class="btn-group" id="javascriptBuilder">
-            <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
+            <a id="javascriptBuild" class="btn primary large" href="#">{{_i}}Download Source{{/i}}</a>
             <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
               <span class="caret"></span>
             </a>
             <ul class="dropdown-menu large">
-              <li class="active"><a href="#">Compressed</a></li>
-              <li><a href="#">Uncompressed</a></li>
+              <li class="active"><a href="#">{{_i}}Compressed{{/i}}</a></li>
+              <li><a href="#">{{_i}}Uncompressed{{/i}}</a></li>
             </ul>
           </div>
         </div>
       </div>
       <hr>
-      <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
-      <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
+      <a id="selectAll" href="#" style="float:right">{{_i}}Select/Unselect All Plugins{{/i}}</a>
+      <p class="muted">{{_i}}<span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p>
     </section>
 
 
@@ -131,93 +131,93 @@
     ================================================== -->
     <section id="modals">
       <div class="page-header">
-        <h1>Modals <small>bootstrap-modal.js</small></h1>
+        <h1>{{_i}}Modals{{/i}} <small>bootstrap-modal.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About modals</h3>
-          <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
-          <a href="../js/bootstrap-modal.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About modals{{/i}}</h3>
+          <p>{{_i}}A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.{{/i}}</p>
+          <a href="../js/bootstrap-modal.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Static example</h2>
-          <p>Below is a statically rendered modal.</p>
+          <h2>{{_i}}Static example{{/i}}</h2>
+          <p>{{_i}}Below is a statically rendered modal.{{/i}}</p>
           <div class="well" style="background-color: #888; border: none;">
             <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
               <div class="modal-header">
                 <a href="#" class="close" data-dismiss="modal">&times;</a>
-                <h3>Modal header</h3>
+                <h3>{{_i}}Modal header{{/i}}</h3>
               </div>
               <div class="modal-body">
-                <p>One fine body…</p>
+                <p>{{_i}}One fine body…{{/i}}</p>
               </div>
               <div class="modal-footer">
-                <a href="#" class="btn primary">Save changes</a>
-                <a href="#" class="btn">Close</a>
+                <a href="#" class="btn primary">{{_i}}Save changes{{/i}}</a>
+                <a href="#" class="btn">{{_i}}Close{{/i}}</a>
               </div>
             </div>
           </div> <!-- /well -->
 
-          <h2>Live demo</h2>
-          <p>Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.</p>
+          <h2>{{_i}}Live demo{{/i}}</h2>
+          <p>{{_i}}Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.{{/i}}</p>
           <!-- sample modal content -->
           <div id="myModal" class="modal hide fade">
             <div class="modal-header">
               <a href="#" class="close" data-dismiss="modal" >&times;</a>
-              <h3>Modal Heading</h3>
+              <h3>{{_i}}Modal Heading{{/i}}</h3>
             </div>
             <div class="modal-body">
-              <h4>Text in a modal</h4>
+              <h4>{{_i}}Text in a modal{{/i}}</h4>
               <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
 
-              <h4>Popover in a modal</h4>
-              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+              <h4>{{_i}}Popover in a modal{{/i}}</h4>
+              <p>{{_i}}This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.{{/i}}</p>
 
-              <h4>Tooltips in a modal</h4>
-              <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
+              <h4>{{_i}}Tooltips in a modal{{/i}}</h4>
+              <p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p>
             </div>
             <div class="modal-footer">
-              <a href="#" class="btn primary">Save changes</a>
-              <a href="#" class="btn" data-dismiss="modal" >Close</a>
+              <a href="#" class="btn primary">{{_i}}Save changes<{{/i}}/a>
+              <a href="#" class="btn" data-dismiss="modal" >{{_i}}Close{{/i}}</a>
             </div>
           </div>
-          <a data-toggle="modal" href="#myModal" class="btn primary large">Launch demo modal</a>
+          <a data-toggle="modal" href="#myModal" class="btn primary large">{{_i}}Launch demo modal{{/i}}</a>
 
           <hr>
 
-          <h2>Using bootstrap-modal</h2>
-          <p>Call the modal via javascript:</p>
+          <h2>{{_i}}Using bootstrap-modal{{/i}}</h2>
+          <p>{{_i}}Call the modal via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$('#myModal').modal(options)</pre>
-          <h3>Options</h3>
+          <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
+               <th style="width: 100px;">{{_i}}Name{{/i}}</th>
+               <th style="width: 50px;">{{_i}}type{{/i}}</th>
+               <th style="width: 50px;">{{_i}}default{{/i}}</th>
+               <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>backdrop</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>Includes a modal-backdrop element</td>
+               <td>{{_i}}backdrop{{/i}}</td>
+               <td>{{_i}}boolean{{/i}}</td>
+               <td>{{_i}}true{{/i}}</td>
+               <td>{{_i}}Includes a modal-backdrop element{{/i}}</td>
              </tr>
              <tr>
-               <td>keyboard</td>
-               <td>boolean</td>
-               <td>true</td>
-               <td>Closes the modal when escape key is pressed</td>
+               <td>{{_i}}keyboard{{/i}}</td>
+               <td>{{_i}}boolean{{/i}}</td>
+               <td>{{_i}}true{{/i}}</td>
+               <td>{{_i}}Closes the modal when escape key is pressed{{/i}}</td>
              </tr>
             </tbody>
           </table>
-          <h3>Markup</h3>
-          <p>You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
-          <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}You can activate modals on your page easily without having to write a single line of javascript. Just set <code>data-toggle="modal"</code> on a controller element with a <code>data-target="#foo"</code> or <code>href="#foo"</code> which corresponds to a modal element id, and when clicked, it will launch your modal.</p>
+          <p>Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.{{/i}}</p>
 <pre class="prettyprint linenums">
-&lt;a class="btn" data-toggle="modal" href="#myModal" &gt;Launch Modal&lt;/a&gt;
+&lt;a class="btn" data-toggle="modal" href="#myModal" &gt;{{_i}}Launch Modal{{/i}}&lt;/a&gt;
 </pre>
 
 <pre class="prettyprint linenums">
@@ -227,63 +227,63 @@
     &lt;h3&gt;Modal header&lt;/h3&gt;
   &lt;/div&gt;
   &lt;div class="modal-body"&gt;
-    &lt;p&gt;One fine body…&lt;/p&gt;
+    &lt;p&gt;{{_i}}One fine body…{{/i}}&lt;/p&gt;
   &lt;/div&gt;
   &lt;div class="modal-footer"&gt;
-    &lt;a href="#" class="btn primary"&gt;Save changes&lt;/a&gt;
-    &lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
+    &lt;a href="#" class="btn primary"&gt;{{_i}}Save changes{{/i}}&lt;/a&gt;
+    &lt;a href="#" class="btn"&gt;{{_i}}Close{{/i}}&lt;/a&gt;
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
-          <h3>Methods</h3>
-          <h4>.modal(options)</h4>
-          <p>Activates your content as a modal. Accepts an optional options <code>object</code>.
+          <p>{{_i}}<span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).{{/i}}</p>
+          <h3{{_i}}>Methods{{/i}}</h3>
+          <h4>.modal({{_i}}options{{/i}})</h4>
+          <p>{{_i}}Activates your content as a modal. Accepts an optional options <code>object</code>.{{/i}}</p>
 <pre class="prettyprint linenums">
 $('#myModal').modal({
   keyboard: false
 })</pre>
           <h4>.modal('toggle')</h4>
-          <p>Manually toggles a modal.</p>
+          <p>{{_i}}Manually toggles a modal.{{/i}}</p>
           <pre class="prettyprint linenums">$('#myModal').modal('toggle')</pre>
           <h4>.modal('show')</h4>
-          <p>Manually opens a modal.</p>
+          <p>{{_i}}Manually opens a modal.{{/i}}</p>
           <pre class="prettyprint linenums">$('#myModal').modal('show')</pre>
           <h4>.modal('hide')</h4>
-          <p>Manually hides a modal.</p>
+          <p>{{_i}}Manually hides a modal.{{/i}}</p>
           <pre class="prettyprint linenums">$('#myModal').modal('hide')</pre>
-          <h3>Events</h3>
-          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <h3>{{_i}}Events{{/i}}</h3>
+          <p>{{_i}}Bootstrap's modal class exposes a few events for hooking into modal functionality.{{/i}}</p>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
+               <th style="width: 150px;">{{_i}}Event{{/i}}</th>
+               <th>{{_i}}Description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>show</td>
-               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+               <td>{{_i}}show{{/i}}</td>
+               <td>{{_i}}This event fires immediately when the <code>show</code> instance method is called.{{/i}}</td>
              </tr>
              <tr>
-               <td>shown</td>
-               <td>This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).</td>
+               <td>{{_i}}shown{{/i}}</td>
+               <td>{{_i}}This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).{{/i}}</td>
              </tr>
              <tr>
-               <td>hide</td>
-               <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+               <td>{{_i}}hide{{/i}}</td>
+               <td>{{_i}}This event is fired immediately when the <code>hide</code> instance method has been called.{{/i}}</td>
              </tr>
              <tr>
-               <td>hidden</td>
-               <td>This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).</td>
+               <td>{{_i}}hidden{{/i}}</td>
+               <td>{{_i}}This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).{{/i}}</td>
              </tr>
             </tbody>
           </table>
 
 <pre class="prettyprint linenums">
 $('#myModal').on('hidden', function () {
-  // do something ...
+  // {{_i}}do something…{{/i}}
 })</pre>
         </div>
       </div>
@@ -295,52 +295,52 @@ $('#myModal').on('hidden', function () {
     ================================================== -->
     <section id="dropdowns">
       <div class="page-header">
-        <h1>Dropdowns <small>bootstrap-dropdown.js</small></h1>
+        <h1>{{_i}}Dropdowns{{/i}} <small>bootstrap-dropdown.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About dropdowns</h3>
-          <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
-          <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About dropdowns{{/i}}</h3>
+          <p>{{_i}}Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.{{/i}}</p>
+          <a href="../js/bootstrap-dropdown.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Examples</h2>
-          <p>Click on the dropdown nav links in the navbar and pills below to test dropdowns.</p>
+          <h2>{{_i}}Examples{{/i}}</h2>
+          <p>{{_i}}Click on the dropdown nav links in the navbar and pills below to test dropdowns.{{/i}}</p>
           <div id="navbar-example" class="navbar navbar-static">
             <div class="navbar-inner">
               <div class="container" style="width: auto;">
-                <a class="brand" href="#">Project Name</a>
+                <a class="brand" href="#">{{_i}}Project Name{{/i}}</a>
                 <ul class="nav">
                   <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
                     <ul class="dropdown-menu">
-                      <li><a href="#">Action</a></li>
-                      <li><a href="#">Another action</a></li>
-                      <li><a href="#">Something else here</a></li>
+                      <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                      <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                      <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                       <li class="divider"></li>
-                      <li><a href="#">Separated link</a></li>
+                      <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
                     </ul>
                   </li>
                   <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown 2 {{/i}}<b class="caret"></b></a>
                     <ul class="dropdown-menu">
-                      <li><a href="#">Action</a></li>
-                      <li><a href="#">Another action</a></li>
-                      <li><a href="#">Something else here</a></li>
+                      <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                      <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                      <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                       <li class="divider"></li>
-                      <li><a href="#">Separated link</a></li>
+                      <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
                     </ul>
                   </li>
                 </ul>
                 <ul class="nav pull-right">
                   <li id="fat-menu" class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown 3{{/i}} <b class="caret"></b></a>
                     <ul class="dropdown-menu">
-                      <li><a href="#">Action</a></li>
-                      <li><a href="#">Another action</a></li>
-                      <li><a href="#">Something else here</a></li>
+                      <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                      <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                      <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                       <li class="divider"></li>
-                      <li><a href="#">Separated link</a></li>
+                      <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
                     </ul>
                   </li>
                 </ul>
@@ -349,71 +349,69 @@ $('#myModal').on('hidden', function () {
           </div> <!-- /navbar-example -->
 
           <ul class="nav pills">
-            <li class="active"><a href="#">Regular link</a></li>
+            <li class="active"><a href="#">{{_i}}Regular link{{/i}}</a></li>
             <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
               <ul id="menu1" class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </li>
             <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown 2{{/i}} <b class="caret"></b></a>
               <ul id="menu2" class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </li>
             <li class="dropdown">
-              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown 3{{/i}} <b class="caret"></b></a>
               <ul id="menu3" class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </li>
           </ul> <!-- /tabs -->
 
           <hr>
 
-          <h2>Using bootstrap-dropdown.js</h2>
-          <p>Call the dropdowns via javascript:</p>
+          <h2>{{_i}}Using{{/i}} bootstrap-dropdown.js</h2>
+          <p>{{_i}}Call the dropdowns via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
-          <h3>Markup</h3>
-          <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
-          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.{{/i}}</p>
+          <p>{{_i}}<span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.{{/i}}</p>
 
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
   &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
   &lt;li class="dropdown" id="menu1"&gt;
     &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
-      Dropdown
+      {{_i}}Dropdown{{/i}}
       &lt;b class="caret"&gt;&lt;/b&gt;
     &lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Action&lt;/a&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Another action&lt;/a&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Something else here&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;{{_i}}Action{{/i}}&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;{{_i}}Another action{{/i}}&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;{{_i}}Something else here{{/i}}&lt;/a&gt;&lt;/li&gt;
       &lt;li class="divider"&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href="#"&gt;Separated link&lt;/a&gt;&lt;/li&gt;
+      &lt;li&gt;&lt;a href="#"&gt;{{_i}}Separated link{{/i}}&lt;/a&gt;&lt;/li&gt;
     &lt;/ul&gt;
   &lt;/li&gt;
   ...
 &lt;/ul&gt;</pre>
-          <h3>Methods</h3>
+          <h3>{{_i}}Methods{{/i}}</h3>
           <h4>$().dropdown()</h4>
-          <p>
-          A programatic api for activating menus for a given navbar or tabbed navigation.
-          </p>
+          <p>{{_i}}A programatic api for activating menus for a given navbar or tabbed navigation.{{/i}}</p>
         </div>
       </div>
     </section>
@@ -424,30 +422,30 @@ $('#myModal').on('hidden', function () {
     ================================================== -->
     <section id="scrollspy">
       <div class="page-header">
-        <h1>ScrollSpy <small>bootstrap-scrollspy.js</small></h1>
+        <h1>{{_i}}ScrollSpy{{/i}} <small>bootstrap-scrollspy.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position.</p>
-          <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">Download file</a>
+          <p>{{_i}}The ScrollSpy plugin is for automatically updating nav targets based on scroll position.{{/i}}</p>
+          <a href="../js/bootstrap-scrollspy.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example navbar with scrollspy</h2>
-          <p>Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!</p>
+          <h2>{{_i}}Example navbar with scrollspy{{/i}}</h2>
+          <p>{{_i}}Scroll the area below and watch the navigation update. The dropdown sub items will be highlighted as well. Try it!{{/i}}</p>
           <div id="navbarExample" class="navbar navbar-static">
             <div class="navbar-inner">
               <div class="container" style="width: auto;">
-                <a class="brand" href="#">Project Name</a>
+                <a class="brand" href="#">{{_i}}Project Name{{/i}}</a>
                 <ul class="nav">
                   <li><a href="#fat">@fat</a></li>
                   <li><a href="#mdo">@mdo</a></li>
                   <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
                     <ul class="dropdown-menu">
-                      <li><a href="#one">one</a></li>
-                      <li><a href="#two">two</a></li>
+                      <li><a href="#one">{{_i}}one{{/i}}</a></li>
+                      <li><a href="#two">{{_i}}two{{/i}}</a></li>
                       <li class="divider"></li>
-                      <li><a href="#three">three</a></li>
+                      <li><a href="#three">{{_i}}three{{/i}}</a></li>
                     </ul>
                   </li>
                 </ul>
@@ -479,29 +477,29 @@ $('#myModal').on('hidden', function () {
             </p>
           </div>
           <hr>
-          <h2>Using bootstrap-scrollspy.js</h2>
-          <p>Call the scrollspy via javascript:</p>
+          <h2>{{_i}}Using bootstrap-scrollspy.js{{/i}}</h2>
+          <p>{{_i}}Call the scrollspy via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$('#navbar').scrollspy()</pre>
-          <h3>Markup</h3>
-          <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).{{/i}}</p>
           <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
-          <h3>Options</h3>
+           <p>{{_i}}<span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.{{/i}}</p>
+          <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 100px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
+               <th style="width: 100px;">{{_i}}Name{{/i}}</th>
+               <th style="width: 100px;">{{_i}}type{{/i}}</th>
+               <th style="width: 50px;">{{_i}}default{{/i}}</th>
+               <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>offset</td>
-               <td>number</td>
-               <td>10</td>
-               <td>Pixels to offset from top when calculating position of scroll.</td>
+               <td>{{_i}}offset{{/i}}</td>
+               <td>{{_i}}number{{/i}}</td>
+               <td>{{_i}}10{{/i}}</td>
+               <td>{{_i}}Pixels to offset from top when calculating position of scroll.{{/i}}</td>
              </tr>
             </tbody>
           </table>
@@ -515,21 +513,21 @@ $('#myModal').on('hidden', function () {
     ================================================== -->
     <section id="tabs">
       <div class="page-header">
-        <h1>Togglable tabs <small>bootstrap-tab.js</small></h1>
+        <h1>{{_i}}Togglable tabs{{/i}} <small>bootstrap-tab.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <p>This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.</p>
-          <a href="../js/bootstrap-tab.js" target="_blank" class="btn">Download file</a>
+          <p>{{_i}}This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.{{/i}}</p>
+          <a href="../js/bootstrap-tab.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example tabs</h2>
-          <p>Click the tabs below to toggle between hidden panes, even via dropdown menus.</p>
+          <h2>{{_i}}Example tabs{{/i}}</h2>
+          <p>{{_i}}Click the tabs below to toggle between hidden panes, even via dropdown menus.{{/i}}</p>
           <ul id="tab" class="nav tabs">
-            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
-            <li><a href="#profile" data-toggle="tab">Profile</a></li>
+            <li class="active"><a href="#home" data-toggle="tab">{{_i}}Home{{/i}}</a></li>
+            <li><a href="#profile" data-toggle="tab">{{_i}}Profile{{/i}}</a></li>
             <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
               <ul class="dropdown-menu">
                 <li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
                 <li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
@@ -551,29 +549,29 @@ $('#myModal').on('hidden', function () {
             </div>
           </div>
           <hr>
-          <h2>Using bootstrap-tab.js</h2>
-          <p>Enable tabbable tabs via javascript:</p>
+          <h2>{{_i}}Using bootstrap-tab.js{{/i}}</h2>
+          <p>{{_i}}Enable tabbable tabs via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$('#myTab').tab('show')</pre>
-          <h3>Markup</h3>
-          <p>You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}You can activate a tab or pill navigation without writing any javascript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-  &lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#home" data-toggle="tab"&gt;{{_i}}Home{{/i}}&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#profile" data-toggle="tab"&gt;{{_i}}Profile{{/i}}&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#messages" data-toggle="tab"&gt;{{_i}}Messages{{/i}}&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#ettings" data-toggle="tab"&gt;{{_i}}Settings{{/i}}&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;</pre>
-          <h3>Methods</h3>
+          <h3>{{_i}}Methods{{/i}}</h3>
           <h4>$().tab</h4>
           <p>
-            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}}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}}
           </p>
 <pre class="prettyprint linenums">
 &lt;ul class="tabs"&gt;
-  &lt;li class="active"&gt;&lt;a href="#home"&gt;Home&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#profile"&gt;Profile&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#messages"&gt;Messages&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#settings"&gt;Settings&lt;/a&gt;&lt;/li&gt;
+  &lt;li class="active"&gt;&lt;a href="#home"&gt;{{_i}}Home{{/i}}&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#profile"&gt;{{_i}}Profile{{/i}}&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#messages"&gt;{{_i}}Messages{{/i}}&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#settings"&gt;{{_i}}Settings{{/i}}&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content"&gt;
@@ -589,22 +587,22 @@ $('#myModal').on('hidden', function () {
   })
 &lt;/script&gt;</pre>
           </p>
-          <h3>Events</h3>
+          <h3>{{_i}}Events{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
+               <th style="width: 150px;">{{_i}}Event{{/i}}</th>
+               <th>{{_i}}Description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>show</td>
-               <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+               <td>{{_i}}show{{/i}}</td>
+               <td>{{_i}}This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.{{/i}}</td>
             </tr>
             <tr>
-               <td>shown</td>
-               <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+               <td>{{_i}}shown{{/i}}</td>
+               <td>{{_i}}This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.{{/i}}</td>
              </tr>
             </tbody>
           </table>
@@ -623,41 +621,41 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
     ================================================== -->
     <section id="tooltips">
       <div class="page-header">
-        <h1>Tooltips <small>bootstrap-tooltip.js</small></h1>
+        <h1>{{_i}}Tooltips{{/i}} <small>bootstrap-tooltip.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About Tooltips</h3>
-          <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.</p>
-          <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About Tooltips{{/i}}</h3>
+          <p>{{_i}}Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.{{/i}}</p>
+          <a href="../js/bootstrap-tooltip.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example use of Tooltips</h2>
-          <p>Hover over the links below to see tooltips:</p>
+          <h2>{{_i}}Example use of Tooltips{{/i}}</h2>
+          <p>{{_i}}Hover over the links below to see tooltips:{{/i}}</p>
           <div class="tooltip-demo well">
-            <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
+            <p class="muted" style="margin-bottom: 0;">{{_i}}Tight pants next level keffiyeh <a href="#" rel='tooltip' title="first tooltip">you probably</a> 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 <a href="#" rel='tooltip' title='Another tooltip'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='tooltip' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='tooltip' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.{{/i}}
             </p>
           </div>
           <hr>
-          <h2>Using bootstrap-tooltip.js</h2>
-          <p>Trigger the tooltip via javascript:</p>
-          <pre class="prettyprint linenums">$('#example').tooltip(options)</pre>
-          <h3>Options</h3>
+          <h2>{{_i}}Using{{/i}} bootstrap-tooltip.js</h2>
+          <p>{{_i}}Trigger the tooltip via javascript:{{/i}}</p>
+          <pre class="prettyprint linenums">$('#example').tooltip({{_i}}options{{/i}})</pre>
+          <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 100px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
+               <th style="width: 100px;">{{_i}}Name{{/i}}</th>
+               <th style="width: 100px;">{{_i}}type{{/i}}</th>
+               <th style="width: 50px;"{{_i}}>default{{/i}}</th>
+               <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>animation</td>
-               <td>boolean</td>
+               <td>{{_i}}animation{{/i}}</td>
+               <td>{{_i}}boolean{{/i}}</td>
                <td>true</td>
-               <td>apply a css fade transition to the tooltip</td>
+               <td>{{_i}}apply a css fade transition to the tooltip{{/i}}</td>
              </tr>
              <tr>
                <td>placement</td>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index ee18cbeb07..7dab4c0000 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -22,11 +22,10 @@
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-
   </head>
 
   <body>
-
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
-- 
GitLab


From 16440eea92e97ae1027ba867839170bfe88ae38d Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Mon, 23 Jan 2012 19:59:05 -0800
Subject: [PATCH 360/576] move translation tag for bootstrap

---
 docs/templates/pages/javascript.mustache | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index e1856d6c20..1170c21ccf 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -1,7 +1,7 @@
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
-        <h1>{{_i}}Javascript for{{/i}} Bootstrap</h1>
+        <h1>{{_i}}Javascript for Bootstrap{{/i}}</h1>
         <p class="lead">{{_i}}Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.{{/i}}
         <ul class="nav pills">
           <li><a href="./javascript.html#javascript">{{_i}}Overview{{/i}}</a></li>
-- 
GitLab


From ec68b84123f7938c7216c63525f37d38572c5a9e Mon Sep 17 00:00:00 2001
From: Eden <github@eden2.com>
Date: Tue, 24 Jan 2012 08:27:19 -0800
Subject: [PATCH 361/576] i don't think the batch s/2011/2012/ was supposed to
 hit this. :)

---
 js/tests/vendor/jquery.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/js/tests/vendor/jquery.js b/js/tests/vendor/jquery.js
index 4c7013a87d..00c4e23a27 100644
--- a/js/tests/vendor/jquery.js
+++ b/js/tests/vendor/jquery.js
@@ -1461,7 +1461,7 @@ jQuery.support = (function() {
 	// Check if div with explicit width and no margin-right incorrectly
 	// gets computed margin-right based on width of container. For more
 	// info see bug #3333
-	// Fails in WebKit before Feb 2012 nightlies
+	// Fails in WebKit before Feb 2011 nightlies
 	// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
 	if ( window.getComputedStyle ) {
 		marginDiv = document.createElement( "div" );
-- 
GitLab


From eab4d34ea06a3a76bba59faa5412affb8877b44c Mon Sep 17 00:00:00 2001
From: Kevin Martensson <kevinmartensson@gmail.com>
Date: Tue, 24 Jan 2012 17:55:01 +0100
Subject: [PATCH 362/576] Remove specific top value from large btn-dropdown.

---
 lib/button-groups.less | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/button-groups.less b/lib/button-groups.less
index 93fbb7f183..4be4aca717 100644
--- a/lib/button-groups.less
+++ b/lib/button-groups.less
@@ -90,7 +90,6 @@
   display: block;
   margin-top: 1px;
   .border-radius(5px);
-  &.large { top: 40px; }
 }
 .btn-group.open .dropdown-toggle {
   background-image: none;
-- 
GitLab


From 91b32f47838d1da117998cee3ffa2ec5e5cd905c Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Tue, 24 Jan 2012 12:12:35 -0500
Subject: [PATCH 363/576] Fixes apostrophe usage in base-css.html

---
 docs/base-css.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index df0c9c7ce9..ec749894fd 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -364,7 +364,7 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+          <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here...&lt;/p&gt;
@@ -1103,7 +1103,7 @@
     <div class="span4">
       <div class="form-docs">
         <h3>Redesigned browser states</h3>
-        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in it's place for <code>:focus</code>.</p>
+        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in its place for <code>:focus</code>.</p>
         <hr>
         <h3>Form validation</h3>
         <p>It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.</p>
-- 
GitLab


From 37b38fe2a0cf34142eb617a1e6db155849cf55ac Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Tue, 24 Jan 2012 12:49:30 -0500
Subject: [PATCH 364/576] Spelling and typos in components.html and
 javascript.html

---
 docs/components.html | 2 +-
 docs/javascript.html | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index 8cd76bedc8..e3d67aad56 100755
--- a/docs/components.html
+++ b/docs/components.html
@@ -1086,7 +1086,7 @@
   <div class="row">
     <div class="span4">
       <h3>Rewritten base class</h3>
-      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
+      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outer <code>&lt;div&gt;</code>.</p>
       <h3>Single alert message</h3>
       <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
       <hr>
diff --git a/docs/javascript.html b/docs/javascript.html
index 0a0a0c9efd..4f9344446e 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -856,7 +856,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
           <p>
-          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.
           </p>
           <h3>Methods</h3>
           <h4>$().popover(options)</h4>
-- 
GitLab


From 04efc8d0a85f76402527e5e8658df43a8e4deb6c Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Tue, 24 Jan 2012 12:52:06 -0500
Subject: [PATCH 365/576] Fixes apostrophe in less.html

---
 docs/less.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/less.html b/docs/less.html
index 0348c0cafa..54558e716b 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -73,7 +73,7 @@
       <div class="row">
         <div class="span4">
           <h3>Why LESS?</h3>
-          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+          <p>Bootstrap is made with LESS at its core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
         </div>
         <div class="span4">
           <h3>What's included?</h3>
-- 
GitLab


From 7d2e13f1b4e0de55f3107f2aaa22326e26866541 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 10:43:13 -0800
Subject: [PATCH 366/576] remake css

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c448c33c5f..cce7b74424 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Mon Jan 23 15:15:08 PST 2012
+ * Date: Tue Jan 24 10:43:08 PST 2012
  */
 article,
 aside,
@@ -1846,7 +1846,7 @@ i {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 0416ccc6ea..60d30609a5 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -376,7 +376,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
@@ -539,4 +539,4 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .show{display:block;}
 .invisible{visibility:hidden;}
 .hidden{display:none;visibility:hidden;}
-@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
-- 
GitLab


From b0bd1d82035c22031e75627df0d3853c9d1e285c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 10:45:29 -0800
Subject: [PATCH 367/576] add bottom-up styles to the dropdown menus

---
 bootstrap.css      | 7 ++++++-
 bootstrap.min.css  | 3 ++-
 lib/dropdowns.less | 7 +++++++
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index cce7b74424..ee88e9d4c6 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 10:43:08 PST 2012
+ * Date: Tue Jan 24 10:45:20 PST 2012
  */
 article,
 aside,
@@ -1417,6 +1417,11 @@ i {
   *border-right-width: 2px;
   *border-bottom-width: 2px;
 }
+.dropdown-menu.bottom-up {
+  top: auto;
+  bottom: 100%;
+  margin-bottom: 2px;
+}
 .dropdown-menu .divider {
   height: 1px;
   margin: 5px 1px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 60d30609a5..563efd8fa9 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -302,7 +302,8 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
 .dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
+.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
+.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
 .dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
diff --git a/lib/dropdowns.less b/lib/dropdowns.less
index e2c32f1804..06114b254d 100644
--- a/lib/dropdowns.less
+++ b/lib/dropdowns.less
@@ -54,6 +54,13 @@
   *border-right-width: 2px;
   *border-bottom-width: 2px;
 
+  // Allow for dropdowns to go bottom up (aka, dropup-menu)
+  &.bottom-up {
+    top: auto;
+    bottom: 100%;
+    margin-bottom: 2px;
+  }
+
   // Dividers (basically an hr) within the dropdown
   .divider {
     height: 1px;
-- 
GitLab


From 84a8aa1beac447cbbe77983730f7590fc955b312 Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Tue, 24 Jan 2012 11:08:03 -0800
Subject: [PATCH 368/576] 2.0-wip: fix js heads

---
 js/bootstrap-button.js     | 2 +-
 js/bootstrap-carousel.js   | 2 +-
 js/bootstrap-collapse.js   | 4 ++--
 js/bootstrap-dropdown.js   | 2 +-
 js/bootstrap-modal.js      | 2 +-
 js/bootstrap-popover.js    | 2 +-
 js/bootstrap-tab.js        | 2 +-
 js/bootstrap-tooltip.js    | 2 +-
 js/bootstrap-transition.js | 4 ++--
 js/bootstrap-typeahead.js  | 2 +-
 10 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js
index 046d256142..2461ffec6e 100644
--- a/js/bootstrap-button.js
+++ b/js/bootstrap-button.js
@@ -1,5 +1,5 @@
 /* ============================================================
- * bootstrap-buttons.js v2.0.0
+ * bootstrap-button.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#buttons
  * ============================================================
  * Copyright 2012 Twitter, Inc.
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 4e12e31b54..3262f0cab0 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -1,6 +1,6 @@
 /* ==========================================================
  * bootstrap-carousel.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * http://twitter.github.com/bootstrap/javascript.html#carousel
  * ==========================================================
  * Copyright 2012 Twitter, Inc.
  *
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 9278f66d0e..ac434dcf37 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -1,6 +1,6 @@
 /* =============================================================
- * bootstrap-collapsible.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#collapsible
+ * bootstrap-collapse.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
  * =============================================================
  * Copyright 2012 Twitter, Inc.
  *
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 923da6bfa6..f9d93fc72a 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -1,6 +1,6 @@
 /* ============================================================
  * bootstrap-dropdown.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#dropdown
+ * http://twitter.github.com/bootstrap/javascript.html#dropdowns
  * ============================================================
  * Copyright 2012 Twitter, Inc.
  *
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 3652f5c8b5..ecb7b5add7 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -1,6 +1,6 @@
 /* =========================================================
  * bootstrap-modal.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#modal
+ * http://twitter.github.com/bootstrap/javascript.html#modals
  * =========================================================
  * Copyright 2012 Twitter, Inc.
  *
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index a0de0f08dc..57864fc6e9 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -1,6 +1,6 @@
 /* ===========================================================
  * bootstrap-popover.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#popover
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
  * ===========================================================
  * Copyright 2012 Twitter, Inc.
  *
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index e5b85e2325..d52be872f1 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -1,5 +1,5 @@
 /* ========================================================
- * bootstrap-tabs.js v2.0.0
+ * bootstrap-tab.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#tabs
  * ========================================================
  * Copyright 2012 Twitter, Inc.
diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index 07a5d46f56..21f2311fb2 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -1,6 +1,6 @@
 /* ===========================================================
  * bootstrap-tooltip.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#tooltip
+ * http://twitter.github.com/bootstrap/javascript.html#tooltips
  * Inspired by the original jQuery.tipsy by Jason Frame
  * ===========================================================
  * Copyright 2012 Twitter, Inc.
diff --git a/js/bootstrap-transition.js b/js/bootstrap-transition.js
index 8f6e86e442..94f1dbdf80 100644
--- a/js/bootstrap-transition.js
+++ b/js/bootstrap-transition.js
@@ -1,6 +1,6 @@
 /* ===================================================
- * bootstrap-transitions.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html
+ * bootstrap-transition.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#transitions
  * ===================================================
  * Copyright 2012 Twitter, Inc.
  *
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index b8ff5aab00..f64fcca01e 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -1,6 +1,6 @@
 /* =============================================================
  * bootstrap-typeahead.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#collapsible
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
  * =============================================================
  * Copyright 2012 Twitter, Inc.
  *
-- 
GitLab


From 54f04d3b13a1103a1e45e5ad2290cd55fe96ffea Mon Sep 17 00:00:00 2001
From: Marc Chung <mchung@gmail.com>
Date: Tue, 24 Jan 2012 12:37:57 -0700
Subject: [PATCH 369/576] Fixed typo in Makefile

---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 05ac491684..f4324e5665 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ VERSION=2.0.0
 BOOTSTRAP = ./bootstrap.css
 BOOTSTRAP_MIN = ./bootstrap.min.css
 BOOTSTRAP_LESS = ./lib/bootstrap.less
-LESS_COMPESSOR ?= `which lessc`
+LESS_COMPRESSOR ?= `which lessc`
 UGLIFY_JS ?= `which uglifyjs`
 WATCHR ?= `which watchr`
 
@@ -11,7 +11,7 @@ WATCHR ?= `which watchr`
 #
 
 build:
-	@@if test ! -z ${LESS_COMPESSOR}; then \
+	@@if test ! -z ${LESS_COMPRESSOR}; then \
 		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_LESS} >${BOOTSTRAP_LESS}.tmp; \
 		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP}; \
 		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP_MIN} --compress; \
-- 
GitLab


From 222067b360ecf4c6c082d3d364d464a26ef13ae9 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 12:11:05 -0800
Subject: [PATCH 370/576] javascript pages markedup with {{_i}}

---
 docs/javascript.html                     |  12 +-
 docs/templates/pages/javascript.mustache | 454 +++++++++++------------
 2 files changed, 233 insertions(+), 233 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index cc641ed492..a35c299136 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -914,7 +914,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p>Closes an alert.</p>
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
           <h3>Events</h3>
-          <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
+          <p>Bootstrap's alert class exposes a few events for hooking into alert functionality.</p>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
@@ -935,7 +935,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           </table>
 <pre class="prettyprint linenums">
 $('#my-alert').bind('closed', function () {
-  // do something ...
+  // do something…
 })</pre>
         </div>
       </div>
@@ -1024,7 +1024,7 @@ $('#my-alert').bind('closed', function () {
           <h4>$().button('toggle')</h4>
           <p>Toggles push state. Gives btn the look that it's been activated.</p>
           <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
-          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
+          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;…&lt;/button&gt;</pre>
           <h4>$().button('loading')</h4>
           <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
           </p>
@@ -1166,7 +1166,7 @@ $('#myCollapsible').collapse({
             </thead>
             <tbody>
              <tr>
-               <td>show</td>
+               <td>show/td>
                <td>This event fires immediately when the <code>show</code> instance method is called.</td>
              </tr>
              <tr>
@@ -1188,7 +1188,7 @@ $('#myCollapsible').collapse({
 
 <pre class="prettyprint linenums">
 $('#myCollapsible').on('hidden', function () {
-  // do something ...
+  // do something…
 })</pre>
         </div>
       </div>
@@ -1293,7 +1293,7 @@ $('.myCarousel').carousel({
           <h4>.carousel('next')</h4>
           <p>Cycles to the next item.</p>
           <h3>Events</h3>
-          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality.</p>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 1170c21ccf..c85b9d2a2e 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -658,52 +658,52 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>{{_i}}apply a css fade transition to the tooltip{{/i}}</td>
              </tr>
              <tr>
-               <td>placement</td>
-               <td>string</td>
+               <td>{{_i}}placement{{/i}}</td>
+               <td>{{_i}}string{{/i}}</td>
                <td>'top'</td>
-               <td>how to position the tooltip - top | bottom | left | right</td>
+               <td>{{_i}}how to position the tooltip{{/i}} - top | bottom | left | right</td>
              </tr>
              <tr>
-               <td>selector</td>
-               <td>string</td>
+               <td>{{_i}}selector{{/i}}</td>
+               <td>{{_i}}string{{/i}}</td>
                <td>false</td>
-               <td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td>
+               <td>{{_i}}If a selector is provided, tooltip objects will be delegated to the specified targets.{{/i}}</td>
              </tr>
              <tr>
-               <td>title</td>
-               <td>string | function</td>
+               <td>{{_i}}title{{/i}}</td>
+               <td>{{_i}}string | function{{/i}}</td>
                <td>''</td>
-               <td>default title value if `title` tag isn't present</td>
+               <td>{{_i}}default title value if `title` tag isn't present{{/i}}</td>
              </tr>
              <tr>
-               <td>trigger</td>
-               <td>string</td>
+               <td>{{_i}}trigger{{/i}}</td>
+               <td>{{_i}}string{{/i}}</td>
                <td>'hover'</td>
-               <td>how tooltip is triggered - hover | focus | manual</td>
+               <td>{{_i}}how tooltip is triggered{{/i}} - hover | focus | manual</td>
              </tr>
              <tr>
-               <td>delay</td>
-               <td>number | object</td>
+               <td>{{_i}}delay{{/i}}</td>
+               <td>{{_i}}number | object{{/i}}</td>
                <td>0</td>
                <td>
-                <p>delay showing/hiding the tooltip (ms)</p>
-                <p>If a number is supplied, delay is applied to both hide/show</p>
-                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+                <p>{{_i}}delay showing/hiding the tooltip (ms){{/i}}</p>
+                <p>{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}</p>
+                <p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
                </td>
              </tr>
             </tbody>
           </table>
-          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
-          <h3>Markup</h3>
-          <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
-          <h3>Methods</h3>
-          <h4>$().tooltip(options)</h4>
-          <p>Attaches a tooltip handler to an element collection.</p>
+          <p>{{_i}}<span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code>{{/i}}</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_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}}</p>
+          <h3>{{_i}}Methods{{/i}}</h3>
+          <h4>$().tooltip({{_i}}options{{/i}})</h4>
+          <p>{{_i}}Attaches a tooltip handler to an element collection.{{/i}}</p>
           <h4>.tooltip('show')</h4>
-          <p>Reveals an elements tooltip.</p>
+          <p>{{_i}}Reveals an elements tooltip.{{/i}}</p>
           <pre class="prettyprint linenums">$('#element').tooltip('show')</pre>
           <h4>.tooltip('hide')</h4>
-          <p>Hides an elements tooltip.</p>
+          <p>{{_i}}Hides an elements tooltip.{{/i}}</p>
           <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
         </div>
       </div>
@@ -715,97 +715,97 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
     ================================================== -->
     <section id="popovers">
       <div class="page-header">
-        <h1>Popovers <small>bootstrap-popover.js</small></h1>
+        <h1>{{_i}}Popovers{{/i}} <small>bootstrap-popover.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About popovers</h3>
-          <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
-          <p class="muted"><strong>*</strong> Requires <a href="#tooltip">Tooltip</a> to be included</p>
-          <a href="../js/bootstrap-popover.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About popovers{{/i}}</h3>
+          <p>{{_i}}Add small overlays of content, like those on the iPad, to any element for housing secondary information.{{/i}}</p>
+          <p class="muted"><strong>*</strong> {{_i}}Requires <a href="#tooltip">Tooltip</a> to be included{{/i}}</p>
+          <a href="../js/bootstrap-popover.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example hover popover</h2>
-          <p>Hover over the button to trigger the popover.</p>
+          <h2>{{_i}}Example hover popover{{/i}}</h2>
+          <p>{{_i}}Hover over the button to trigger the popover.{{/i}}</p>
           <div class="well">
-            <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover for popover</a>
+            <a href="#" class="btn danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">{{_i}}hover for popover{{/i}}</a>
           </div>
           <hr>
-          <h2>Using bootstrap-popover.js</h2>
-          <p>Enable popovers via javascript:</p>
-          <pre class="prettyprint linenums">$('#example').popover(options)</pre>
-          <h3>Options</h3>
+          <h2>{{_i}}Using bootstrap-popover.js{{/i}}</h2>
+          <p>{{_i}}Enable popovers via javascript:{{/i}}</p>
+          <pre class="prettyprint linenums">$('#example').popover({{_i}}options{{/i}})</pre>
+          <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 100px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
+               <th style="width: 100px;">{{_i}}Name{{/i}}</th>
+               <th style="width: 100px;">{{_i}}type{{/i}}</th>
+               <th style="width: 50px;">{{_i}}default{{/i}}</th>
+               <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>animation</td>
-               <td>boolean</td>
+               <td>{{_i}}animation{{/i}}</td>
+               <td>{{_i}}boolean{{/i}}</td>
                <td>true</td>
-               <td>apply a css fade transition to the tooltip</td>
+               <td>{{_i}}apply a css fade transition to the tooltip{{/i}}</td>
              </tr>
              <tr>
-               <td>placement</td>
-               <td>string</td>
+               <td>{{_i}}placement{{/i}}</td>
+               <td>{{_i}}string{{/i}}</td>
                <td>'right'</td>
-               <td>how to position the popover - top | bottom | left | right</td>
+               <td>{{_i}}how to position the popover{{/i}} - top | bottom | left | right</td>
              </tr>
              <tr>
-               <td>selector</td>
-               <td>string</td>
+               <td>{{_i}}selector{{/i}}</td>
+               <td>{{_i}}string{{/i}}</td>
                <td>false</td>
-               <td>if a selector is provided, tooltip objects will be delegated to the specified targets</td>
+               <td>{{_i}}if a selector is provided, tooltip objects will be delegated to the specified targets{{/i}}</td>
              </tr>
              <tr>
-               <td>trigger</td>
-               <td>string</td>
+               <td>{{_i}}trigger{{/i}}</td>
+               <td>{{_i}}string{{/i}}</td>
                <td>'hover'</td>
-               <td>how tooltip is triggered - hover | focus | manual</td>
+               <td>{{_i}}how tooltip is triggered{{/i}} - hover | focus | manual</td>
              </tr>
              <tr>
-               <td>title</td>
-               <td>string | function</td>
+               <td>{{_i}}title{{/i}}</td>
+               <td>{{_i}}string | function{{/i}}</td>
                <td>''</td>
-               <td>default title value if `title` attribute isn't present</td>
+               <td>{{_i}}default title value if `title` attribute isn't present{{/i}}</td>
              </tr>
              <tr>
-               <td>content</td>
-               <td>string | function</td>
+               <td>{{_i}}content{{/i}}</td>
+               <td>{{_i}}string | function{{/i}}</td>
                <td>''</td>
-               <td>default content value if `data-content` attribute isn't present</td>
+               <td>{{_i}}default content value if `data-content` attribute isn't present{{/i}}</td>
              </tr>
              <tr>
-               <td>delay</td>
-               <td>number | object</td>
+               <td>{{_i}}delay{{/i}}</td>
+               <td>{{_i}}number | object{{/i}}</td>
                <td>0</td>
                <td>
-                <p>delay showing/hiding the popover (ms)</p>
-                <p>If a number is supplied, delay is applied to both hide/show</p>
-                <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
+                <p>{{_i}}delay showing/hiding the popover (ms){{/i}}</p>
+                <p>{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}</p>
+                <p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
                </td>
              </tr>
             </tbody>
           </table>
-          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
-          <h3>Markup</h3>
+          <p>{{_i}}<span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code>{{/i}}</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
           <p>
-          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}}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}}
           </p>
-          <h3>Methods</h3>
-          <h4>$().popover(options)</h4>
-          <p>Initializes popovers for an element collection.</p>
+          <h3>{{_i}}Methods{{/i}}</h3>
+          <h4>$().popover({{_i}}options{{/i}})</h4>
+          <p>{{_i}}Initializes popovers for an element collection.{{/i}}</p>
           <h4>.popover('show')</h4>
-          <p>Reveals an elements popover.</p>
+          <p>{{_i}}Reveals an elements popover.{{/i}}</p>
           <pre class="prettyprint linenums">$('#element').popover('show')</pre>
           <h4>.popover('hide')</h4>
-          <p>Hides an elements popover.</p>
+          <p>{{_i}}Hides an elements popover.{{/i}}</p>
           <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
         </div>
       </div>
@@ -817,65 +817,65 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
     ================================================== -->
     <section id="alerts">
       <div class="page-header">
-        <h1>Alert messages <small>bootstrap-alert.js</small></h1>
+        <h1>{{_i}}Alert messages{{/i}} <small>bootstrap-alert.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About alerts</h3>
-          <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
+          <h3>{{_i}}About alerts{{/i}}</h3>
+          <p>{{_i}}The alert plugin is a tiny class for adding close functionality to alerts.{{/i}}</p>
+          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">{{_i}}Download{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example alerts</h2>
-          <p>The alerts plugin works on regular alert messages, and block messages.</p>
+          <h2>{{_i}}Example alerts{{/i}}</h2>
+          <p>{{_i}}The alerts plugin works on regular alert messages, and block messages.{{/i}}</p>
           <div class="alert fade in">
             <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.
+            <strong>{{_i}}Holy guacamole!{{/i}}</strong> {{_i}}Best check yo self, you’re not looking too good.{{/i}}
           </div>
           <div class="alert alert-block alert-error fade in">
             <a class="close" data-dismiss="alert" href="#">&times;</a>
-            <h4 class="alert-heading">Oh snap! You got an error!</h4>
-            <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+            <h4 class="alert-heading">{{_i}}Oh snap! You got an error!{{/i}}</h4>
+            <p>{{_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}}</p>
             <p>
-              <a class="btn danger small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+              <a class="btn danger small" href="#">{{_i}}Take this action{{/i}}</a> <a class="btn small" href="#">{{_i}}Or do this{{/i}}</a>
             </p>
           </div>
           <hr>
-          <h2>Using bootstrap-alerts.js</h2>
-          <p>Enable dismissal of an alert via javascript:</p>
+          <h2>{{_i}}Using bootstrap-alerts.js{{/i}}</h2>
+          <p>{{_i}}Enable dismissal of an alert via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$(".alert-message").alert()</pre>
-          <h3>Markup</h3>
-          <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.{{/i}}</p>
           <pre class="prettyprint linenums">&lt;a class="close" data-dismiss="alert" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
-          <h3>Methods</h3>
+          <h3>{{_i}}Methods{{/i}}</h3>
           <h4>$().alert()</h4>
-          <p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
+          <p>{{_i}}Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.{{/i}}</p>
           <h4>.alert('close')</h4>
-          <p>Closes an alert.</p>
+          <p>{{_i}}Closes an alert.{{/i}}</p>
           <pre class="prettyprint linenums">$(".alert-message").alert('close')</pre>
-          <h3>Events</h3>
-          <p>Bootstrap's alert class exposes a few events for hooking into alert functionality. </p>
+          <h3>{{_i}}Events{{/i}}</h3>
+          <p>{{_i}}Bootstrap's alert class exposes a few events for hooking into alert functionality.{{/i}}</p>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
+               <th style="width: 150px;">{{_i}}Event{{/i}}</th>
+               <th>{{_i}}Description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>close</td>
-               <td>This event fires immediately when the <code>close</code> instance method is called.</td>
+               <td>{{_i}}close{{/i}}</td>
+               <td>{{_i}}This event fires immediately when the <code>close</code> instance method is called.{{/i}}</td>
              </tr>
              <tr>
-               <td>closed</td>
-               <td>This event is fired when the alert has been closed (will wait for css transitions to complete).</td>
+               <td>{{_i}}closed{{/i}}</td>
+               <td>{{_i}}This event is fired when the alert has been closed (will wait for css transitions to complete).{{/i}}</td>
              </tr>
             </tbody>
           </table>
 <pre class="prettyprint linenums">
 $('#my-alert').bind('closed', function () {
-  // do something ...
+  // {{_i}}do something…{{/i}}
 })</pre>
         </div>
       </div>
@@ -887,61 +887,61 @@ $('#my-alert').bind('closed', function () {
     ================================================== -->
     <section id="buttons">
       <div class="page-header">
-        <h1>Buttons <small>bootstrap-button.js</small></h1>
+        <h1>{{_i}}Buttons{{/i}} <small>bootstrap-button.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About</h3>
-          <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
-          <a href="../js/bootstrap-button.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About{{/i}}</h3>
+          <p>{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}</p>
+          <a href="../js/bootstrap-button.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example uses</h2>
-          <p>Use the buttons plugin for states and toggles.</p>
+          <h2>{{_i}}Example uses{{/i}}</h2>
+          <p>{{_i}}Use the buttons plugin for states and toggles.{{/i}}</p>
           <table class="table table-bordered table-striped">
             <tbody>
              <tr>
-               <td>Stateful</td>
+               <td>{{_i}}Stateful{{/i}}</td>
                <td>
                   <button id="fat-btn" data-loading-text="loading..." class="btn primary">
-                    Loading State
+                    {{_i}}Loading State{{/i}}
                   </button>
                 </td>
              </tr>
              <tr>
-               <td>Single toggle</td>
+               <td>{{_i}}Single toggle{{/i}}</td>
                <td>
-                  <button class="btn primary" data-toggle="button">Single Toggle</button>
+                  <button class="btn primary" data-toggle="button">{{_i}}Single Toggle{{/i}}</button>
                 </td>
              </tr>
              <tr>
-               <td>Checkbox</td>
+               <td>{{_i}}Checkbox{{/i}}</td>
                <td>
                   <div class="btn-group" data-toggle="buttons-checkbox">
-                    <button class="btn primary">Left</button>
-                    <button class="btn primary">Middle</button>
-                    <button class="btn primary">Right</button>
+                    <button class="btn primary">{{_i}}Left{{/i}}</button>
+                    <button class="btn primary">{{_i}}Middle{{/i}}</button>
+                    <button class="btn primary">{{_i}}Right{{/i}}</button>
                   </div>
                </td>
              </tr>
              <tr>
-               <td>Radio</td>
+               <td>{{_i}}Radio{{/i}}</td>
                <td>
                   <div class="btn-group" data-toggle="buttons-radio">
-                    <button class="btn primary">Left</button>
-                    <button class="btn primary">Middle</button>
-                    <button class="btn primary">Right</button>
+                    <button class="btn primary">{{_i}}Left{{/i}}</button>
+                    <button class="btn primary">{{_i}}Middle{{/i}}</button>
+                    <button class="btn primary">{{_i}}Right{{/i}}</button>
                   </div>
                </td>
              </tr>
             </tbody>
           </table>
           <hr>
-          <h2>Using bootstrap-button.js</h2>
-          <p>Enable buttons via javascript:</p>
+          <h2>{{_i}}Using bootstrap-button.js{{/i}}</h2>
+          <p>{{_i}}Enable buttons via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$('.tabs').button()</pre>
-            <h3>Markup</h3>
-          <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
+            <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}Data attributes are integral to the button plugin. Check out the example code below for the various markup types.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;!-- Add data-toggle="button" to activate toggling on a single button --&gt;
 &lt;button class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;
@@ -960,22 +960,22 @@ $('#my-alert').bind('closed', function () {
   &lt;button class="btn"&gt;Right&lt;/button&gt;
 &lt;/div&gt;
 </pre>
-          <h3>Methods</h3>
+          <h3>{{_i}}Methods{{/i}}</h3>
           <h4>$().button('toggle')</h4>
-          <p>Toggles push state. Gives btn the look that it's been activated.</p>
-          <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
-          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;...&lt;/button&gt;</pre>
+          <p>{{_i}}Toggles push state. Gives btn the look that it's been activated.{{/i}}</p>
+          <p>{{_i}}<span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.{{/i}}</p>
+          <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;…&lt;/button&gt;</pre>
           <h4>$().button('loading')</h4>
-          <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
+          <p>{{_i}}Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.{{/i}}
           </p>
            <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
           <p>
-            <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
+            {{_i}}<span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.{{/i}}
           </p>
            <h4>$().button('reset')</h4>
-           <p>Resets button state - swaps text to original text.</p>
+           <p>{{_i}}Resets button state - swaps text to original text.{{/i}}</p>
            <h4>$().button(string)</h4>
-           <p>Resets button state - swaps text to any data defined text state.</p>
+           <p>{{_i}}Resets button state - swaps text to any data defined text state.{{/i}}</p>
 <pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
 &lt;script&gt;
   $('.btn').button('complete')
@@ -990,23 +990,23 @@ $('#my-alert').bind('closed', function () {
     ================================================== -->
     <section id="collapse">
       <div class="page-header">
-        <h1>Collapse <small>bootstrap-collapse.js</small></h1>
+        <h1>{{_i}}Collapse{{/i}} <small>bootstrap-collapse.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About</h3>
-          <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
-          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About{{/i}}</h3>
+          <p>{{_i}}Get base styles and flexible support for collapsible components like accordions and navigation.{{/i}}</p>
+          <a href="../js/bootstrap-collapse.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example accordion</h2>
-          <p>Using the collapse plugin, we built a simple accordion style widget:</p>
+          <h2>{{_i}}Example accordion{{/i}}</h2>
+          <p>{{_i}}Using the collapse plugin, we built a simple accordion style widget:{{/i}}</p>
         
           <div class="accordion" id="accordion2">
             <div class="accordion-group">
               <div class="accordion-heading">
                 <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
-                  Collapsible Group Item #1
+                  {{_i}}Collapsible Group Item #1{{/i}}
                 </a>
               </div>
               <div id="collapseOne" class="accordion-body collapse in">
@@ -1018,7 +1018,7 @@ $('#my-alert').bind('closed', function () {
             <div class="accordion-group">
               <div class="accordion-heading">
                 <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
-                  Collapsible Group Item #2
+                  {{_i}}Collapsible Group Item #2{{/i}}
                 </a>
               </div>
               <div id="collapseTwo" class="accordion-body collapse">
@@ -1030,7 +1030,7 @@ $('#my-alert').bind('closed', function () {
             <div class="accordion-group">
               <div class="accordion-heading">
                 <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
-                  Collapsible Group Item #3
+                  {{_i}}Collapsible Group Item #3{{/i}}
                 </a>
               </div>
               <div id="collapseThree" class="accordion-body collapse">
@@ -1043,92 +1043,92 @@ $('#my-alert').bind('closed', function () {
 
           
           <hr>
-          <h2>Using bootstrap-collapse.js</h2>
+          <h2>{{_i}}Using bootstrap-collapse.js{{/i}}</h2>
           <p>Enable via javascript:</p>
           <pre class="prettyprint linenums">$(".collapse").collapse()</pre>
-          <h3>Options</h3>
+          <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
+               <th style="width: 100px;">{{_i}}Name{{/i}}</th>
+               <th style="width: 50px;">{{_i}}type{{/i}}</th>
+               <th style="width: 50px;">{{_i}}default{{/i}}</th>
+               <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>parent</td>
-               <td>selector</td>
+               <td>{{_i}}parent{{/i}}</td>
+               <td>{{_i}}selector{{/i}}</td>
                <td>false</td>
-               <td>If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)</td>
+               <td>{{_i}}If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior){{/i}}</td>
              </tr>
              <tr>
-               <td>toggle</td>
-               <td>boolean</td>
+               <td>{{_i}}toggle{{/i}}</td>
+               <td>{{_i}}boolean{{/i}}</td>
                <td>true</td>
-               <td>Toggles the collapsible element on invocation</td>
+               <td>{{_i}}Toggles the collapsible element on invocation{{/i}}</td>
              </tr>
             </tbody>
           </table>
-          <h3>Markup</h3>
-          <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a css selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.{{/i}}</p>
           <pre class="prettyprint linenums">
 &lt;button class="btn danger" data-toggle="collapse" data-target="#demo"&gt;
-  simple collapsible
+  {{_i}}simple collapsible{{/i}}
 &lt;/button&gt;
 
 &lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
-         <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
-          <h3>Methods</h3>
-          <h4>.collapse(options)</h4>
-          <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
+         <p>{{_i}}<span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.{{/i}}</p>
+          <h3>{{_i}}Methods{{/i}}</h3>
+          <h4>.collapse({{_i}}options{{/i}})</h4>
+          <p>{{_i}}Activates your content as a collapsible element. Accepts an optional options <code>object</code>.{{/i}}
 <pre class="prettyprint linenums">
 $('#myCollapsible').collapse({
   toggle: false
 })</pre>
           <h4>.collapse('toggle')</h4>
-          <p>Toggles a collapsible element to shown or hidden.</p>
+          <p>{{_i}}Toggles a collapsible element to shown or hidden.{{/i}}</p>
           <h4>.collapse('show')</h4>
-          <p>Shows a collapsible element.</p>
+          <p>{{_i}}Shows a collapsible element.{{/i}}</p>
           <h4>.collapse('hide')</h4>
-          <p>Hides a collapsible element.</p>
-          <h3>Events</h3>
+          <p>{{_i}}Hides a collapsible element.{{/i}}</p>
+          <h3>{{_i}}Events{{/i}}</h3>
           <p>
-            Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
+            {{_i}}Bootstrap's collapse class exposes a few events for hooking into collapse functionality.{{/i}}
           </p>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
+               <th style="width: 150px;">{{_i}}Event{{/i}}</th>
+               <th>{{_i}}Description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>show</td>
-               <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+               <td>{{_i}}show{{/i}}/td>
+               <td>{{_i}}This event fires immediately when the <code>show</code> instance method is called.{{/i}}</td>
              </tr>
              <tr>
-               <td>shown</td>
-               <td>This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).</td>
+               <td>{{_i}}shown{{/i}}</td>
+               <td>{{_i}}This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).{{/i}}</td>
              </tr>
              <tr>
-               <td>hide</td>
+               <td>{{_i}}hide{{/i}}</td>
                <td>
-                This event is fired immediately when the <code>hide</code> method has been called.
+                {{_i}}This event is fired immediately when the <code>hide</code> method has been called.{{/i}}
                </td>
              </tr>
              <tr>
-               <td>hidden</td>
-               <td>This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).</td>
+               <td>{{_i}}hidden{{/i}}</td>
+               <td>{{_i}}This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).{{/i}}</td>
              </tr>
             </tbody>
           </table>
 
 <pre class="prettyprint linenums">
 $('#myCollapsible').on('hidden', function () {
-  // do something ...
+  // {{_i}}do something…{{/i}}
 })</pre>
         </div>
       </div>
@@ -1140,37 +1140,37 @@ $('#myCollapsible').on('hidden', function () {
     ================================================== -->
     <section id="carousel">
       <div class="page-header">
-        <h1>Carousel <small>bootstrap-carousel.js</small></h1>
+        <h1>{{_i}}Carousel{{/i}} <small>bootstrap-carousel.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About</h3>
-          <p>A generic plugin for cycling through elements. A merry-go-round.</p>
-          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About{{/i}}</h3>
+          <p>{{_i}}A generic plugin for cycling through elements. A merry-go-round.{{/i}}</p>
+          <a href="../js/bootstrap-carousel.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example carousel</h2>
-          <p>Watch the slideshow below.</p>
+          <h2>{{_i}}Example carousel{{/i}}</h2>
+          <p>{{_i}}Watch the slideshow below.{{/i}}</p>
           <div id="myCarousel" class="carousel slide">
             <div class="carousel-inner">
               <div class="item active">
                 <img src="http://placehold.it/1000x500" alt="">
                 <div class="carousel-caption">
-                  <h4>First Thumbnail label</h4>
+                  <h4>{{_i}}First Thumbnail label{{/i}}</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
                 <img src="http://placehold.it/1000x500" alt="">
                 <div class="carousel-caption">
-                  <h4>Second Thumbnail label</h4>
+                  <h4>{{_i}}Second Thumbnail label{{/i}}</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
                 <img src="http://placehold.it/1000x500" alt="">
                 <div class="carousel-caption">
-                  <h4>Third Thumbnail label</h4>
+                  <h4>{{_i}}Third Thumbnail label{{/i}}</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
@@ -1179,30 +1179,30 @@ $('#myCollapsible').on('hidden', function () {
             <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>
           </div>
           <hr>
-          <h2>Using bootstrap-carousel.js</h2>
-          <p>Call via javascript:</p>
+          <h2>{{_i}}Using bootstrap-carousel.js{{/i}}</h2>
+          <p>{{_i}}Call via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
-          <h3>Options</h3>
+          <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
+               <th style="width: 100px;">{{_i}}Name{{/i}}</th>
+               <th style="width: 50px;">{{_i}}type{{/i}}</th>
+               <th style="width: 50px;">{{_i}}default{{/i}}</th>
+               <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>interval</td>
-               <td>number</td>
+               <td>{{_i}}interval{{/i}}</td>
+               <td>{{_i}}number{{/i}}</td>
                <td>5000</td>
-               <td>The amount of type to delay between automatically cycling an item.</td>
+               <td>{{_i}}The amount of type to delay between automatically cycling an item.{{/i}}</td>
              </tr>
             </tbody>
           </table>
-          <h3>Markup</h3>
-          <p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="carousel"&gt;
   &lt;!-- Carousel items --&gt;
@@ -1214,41 +1214,41 @@ $('#myCollapsible').on('hidden', function () {
   &lt;a class="carousel-control right" href="#myCarousel" data-slide="next"&gt;&amp;rsaquo;&lt;/a&gt;
 &lt;/div&gt;
 </pre>
-          <h3>Methods</h3>
-          <h4>.carousel(options)</h4>
-          <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
+          <h3>{{_i}}Methods{{/i}}</h3>
+          <h4>.carousel({{_i}}options{{/i}})</h4>
+          <p>{{_i}}Initializes the carousel with an optional options <code>object</code> and starts cycling through items.{{/i}}</p>
 <pre class="prettyprint linenums">
 $('.myCarousel').carousel({
   interval: 2000
 })
 </pre>
           <h4>.carousel('cycle')</h4>
-          <p>Cycles through the carousel items from left to right.</p>
+          <p>{{_i}}Cycles through the carousel items from left to right.{{/i}}</p>
           <h4>.carousel('pause')</h4>
-          <p>Stops the carousel from cycling through items.</p>
+          <p>{{_i}}Stops the carousel from cycling through items.{{/i}}</p>
           <h4>.carousel(number)</h4>
-          <p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
+          <p>{{_i}}Cycles the carousel to a particular frame (0 based, similar to an array).{{/i}}</p>
           <h4>.carousel('prev')</h4>
-          <p>Cycles to the previous item.</p>
+          <p>{{_i}}Cycles to the previous item.{{/i}}</p>
           <h4>.carousel('next')</h4>
-          <p>Cycles to the next item.</p>
-          <h3>Events</h3>
-          <p>Bootstrap's modal class exposes a few events for hooking into modal functionality. </p>
+          <p>{{_i}}Cycles to the next item.{{/i}}</p>
+          <h3>{{_i}}Events{{/i}}</h3>
+          <p>{{_i}}Bootstrap's modal class exposes a few events for hooking into modal functionality.{{/i}}</p>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 150px;">Event</th>
-               <th>Description</th>
+               <th style="width: 150px;">{{_i}}Event{{/i}}</th>
+               <th>{{_i}}Description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>slide</td>
-               <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
+               <td>{{_i}}slide{{/i}}</td>
+               <td>{{_i}}This event fires immediately when the <code>slide</code> instance method is invoked.{{/i}}</td>
              </tr>
              <tr>
-               <td>slid</td>
-               <td>This event is fired when the carousel has completed it's slide transition.</td>
+               <td>{{_i}}slid{{/i}}</td>
+               <td>{{_i}}This event is fired when the carousel has completed it's slide transition.{{/i}}</td>
              </tr>
              </tr>
             </tbody>
@@ -1263,46 +1263,46 @@ $('.myCarousel').carousel({
     ================================================== -->
     <section id="typeahead">
       <div class="page-header">
-        <h1>Typeahead <small>bootstrap-typeahead.js</small></h1>
+        <h1>{{_i}}Typeahead{{/i}} <small>bootstrap-typeahead.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
-          <h3>About</h3>
-          <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
-          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">Download file</a>
+          <h3>{{_i}}About{{/i}}</h3>
+          <p>{{_i}}A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.{{/i}}</p>
+          <a href="../js/bootstrap-typeahead.js" target="_blank" class="btn">{{_i}}Download file{{/i}}</a>
         </div>
         <div class="span9 columns">
-          <h2>Example</h2>
-          <p>Start typing in the field below to show the typeahead results.</p>
+          <h2>{{_i}}Example{{/i}}</h2>
+          <p>{{_i}}Start typing in the field below to show the typeahead results.{{/i}}</p>
           <div class="well">
             <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
           </div>
           <hr>
-          <h2>Using bootstrap-typeahead.js</h2>
-          <p>Call the typeahead via javascript:</p>
+          <h2>{{_i}}Using bootstrap-typeahead.js{{/i}}</h2>
+          <p>{{_i}}Call the typeahead via javascript:{{/i}}</p>
           <pre class="prettyprint linenums">$('.typeahead').typeahead()</pre>
-          <h3>Options</h3>
+          <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
              <tr>
-               <th style="width: 100px;">Name</th>
-               <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
-               <th>description</th>
+               <th style="width: 100px;">{{_i}}Name{{/i}}</th>
+               <th style="width: 50px;">{{_i}}type{{/i}}</th>
+               <th style="width: 50px;">{{_i}}default{{/i}}</th>
+               <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
             <tbody>
              <tr>
-               <td>items</td>
-               <td>number</td>
+               <td>{{_i}}items{{/i}}</td>
+               <td>{{_i}}number{{/i}}</td>
                <td>8</td>
-               <td>The max number of items to display in the dropdown.</td>
+               <td>{{_i}}The max number of items to display in the dropdown.{{/i}}</td>
              </tr>
             </tbody>
           </table>
 
-          <h3>Markup</h3>
-          <p>Add data attributes to register an element with typeahead functionality.</p>
+          <h3>{{_i}}Markup{{/i}}</h3>
+          <p>{{_i}}Add data attributes to register an element with typeahead functionality.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;input type="text" data-provide="typeahead"&gt;
 </pre>
-- 
GitLab


From e829001e5cb488a7708878b074205fc41e82fc82 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 12:28:20 -0800
Subject: [PATCH 371/576] attempt to fix select list alignment in Firefox by
 removing padding. not quite fixed 100%, but getting there.

---
 bootstrap.css     | 3 +--
 bootstrap.min.css | 2 +-
 lib/forms.less    | 1 -
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ee88e9d4c6..71d9424011 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 10:45:20 PST 2012
+ * Date: Tue Jan 24 12:27:30 PST 2012
  */
 article,
 aside,
@@ -537,7 +537,6 @@ select, input[type=file] {
 }
 select {
   width: 220px;
-  padding: 0;
   vertical-align: middle;
   background-color: #ffffff;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 563efd8fa9..f0412c724d 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -98,7 +98,7 @@ input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;*margin-top:4px;line-height:27px;}
-select{width:220px;padding:0;vertical-align:middle;background-color:#ffffff;}
+select{width:220px;vertical-align:middle;background-color:#ffffff;}
 select[multiple],select[size]{height:inherit;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
diff --git a/lib/forms.less b/lib/forms.less
index be53c60cbc..1f424abaae 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -107,7 +107,6 @@ input[type=file] {
 // Chrome on Linux and Mobile Safari need background-color
 select {
   width: 220px; // default input width + 10px of padding that doesn't get applied
-  padding: 0;
   vertical-align: middle;
   background-color: @white;
 }
-- 
GitLab


From bc9c89f1577aea454111a01a3d7a565c4cc63ded Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ga=C3=ABtan=20Muller?= <m.gaetan89@gmail.com>
Date: Tue, 24 Jan 2012 21:29:55 +0100
Subject: [PATCH 372/576] Start adding tag for Base CSS translation

---
 docs/templates/pages/base-css.mustache | 154 ++++++++++++-------------
 1 file changed, 77 insertions(+), 77 deletions(-)

diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 28ca2912bf..3b9cbd39a9 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1,14 +1,14 @@
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
-  <h1>Base CSS</h1>
-  <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
+  <h1>{{_i}}Base CSS{{/i}}</h1>
+  <p class="lead">{{_i}}On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.{{/i}}</p>
   <ul class="nav pills">
-    <li><a href="./base-css.html#typography">Typography</a></li>
-    <li><a href="./base-css.html#tables">Tables</a></li>
-    <li><a href="./base-css.html#forms">Forms</a></li>
-    <li><a href="./base-css.html#buttons">Buttons</a></li>
-    <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+    <li><a href="./base-css.html#typography">{{_i}}Typography{{/i}}</a></li>
+    <li><a href="./base-css.html#tables">{{_i}}Tables{{/i}}</a></li>
+    <li><a href="./base-css.html#forms">{{_i}}Forms{{/i}}</a></li>
+    <li><a href="./base-css.html#buttons">{{_i}}Buttons{{/i}}</a></li>
+    <li><a href="./base-css.html#icons">{{_i}}Icons by Glyphicons{{/i}}</a></li>
   </ul>
 </header>
 
@@ -17,43 +17,43 @@
 ================================================== -->
 <section id="typography">
   <div class="page-header">
-    <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
+    <h1>{{_i}}Typography <small>Headings, paragraphs, lists, and other inline type elements</small>{{/i}}</h1>
   </div>
 
-  <h2>Headings &amp; body copy</h2>
+  <h2>{{_i}}Headings &amp; body copy{{/i}}</h2>
 
   <!-- Headings & Paragraph Copy -->
   <div class="row">
     <div class="span4">
-      <h3>Typographic scale</h3>
-      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
-      <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
+      <h3>{{_i}}Typographic scale{{/i}}</h3>
+      <p>{{_i}}The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.{{/i}}</p>
+      <p>{{_i}}We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Example body text</h3>
+      <h3>{{_i}}Example body text{{/i}}</h3>
       <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
       <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec sed odio dui.</p>
     </div>
     <div class="span4">
       <div class="well">
-        <h1>h1. Heading 1</h1>
-        <h2>h2. Heading 2</h2>
-        <h3>h3. Heading 3</h3>
-        <h4>h4. Heading 4</h4>
-        <h5>h5. Heading 5</h5>
-        <h6>h6. Heading 6</h6>
+        <h1>h1. {{_i}}Heading 1{{/i}}</h1>
+        <h2>h2. {{_i}}Heading 2{{/i}}</h2>
+        <h3>h3. {{_i}}Heading 3{{/i}}</h3>
+        <h4>h4. {{_i}}Heading 4{{/i}}</h4>
+        <h5>h5. {{_i}}Heading 5{{/i}}</h5>
+        <h6>h6. {{_i}}Heading 6{{/i}}</h6>
       </div>
     </div>
   </div>
 
   <!-- Misc Elements -->
-  <h2>Emphasis, address, and abbreviation</h2>
+  <h2>{{_i}}Emphasis, address, and abbreviation{{/i}}</h2>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th>Element</th>
-        <th>Usage</th>
-        <th>Optional</th>
+        <th>{{_i}}Element{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
+        <th>{{_i}}Optional{{/i}}</th>
       </tr>
     </thead>
     <tbody>
@@ -62,10 +62,10 @@
           <code>&lt;strong&gt;</code>
         </td>
         <td>
-          For emphasizing a snippet of text with <strong>important</strong>
+          {{_i}}For emphasizing a snippet of text with <strong>important</strong>{{/i}}
         </td>
         <td>
-          <span class="muted">None</span>
+          <span class="muted">{{_i}}None{{/i}}</span>
         </td>
       </tr>
       <tr>
@@ -73,10 +73,10 @@
           <code>&lt;em&gt;</code>
         </td>
         <td>
-          For emphasizing a snippet of text with <em>stress</em>
+          {{_i}}For emphasizing a snippet of text with <em>stress</em>{{/i}}
         </td>
         <td>
-          <span class="muted">None</span>
+          <span class="muted">{{_i}}None{{/i}}</span>
         </td>
       </tr>
       <tr>
@@ -84,10 +84,10 @@
           <code>&lt;abbr&gt;</code>
         </td>
         <td>
-          Wraps abbreviations and acronyms to show the expanded version on hover
+          {{_i}}Wraps abbreviations and acronyms to show the expanded version on hover{{/i}}
         </td>
         <td>
-          Include optional <code>title</code> for expanded text
+          {{_i}}Include optional <code>title</code> for expanded text{{/i}}
         </td>
       </tr>
       <tr>
@@ -95,10 +95,10 @@
           <code>&lt;address&gt;</code>
         </td>
         <td>
-          For contact information for its nearest ancestor or the entire body of work
+          {{_i}}For contact information for its nearest ancestor or the entire body of work{{/i}}
         </td>
         <td>
-          Preserve formatting by ending all lines with <code>&lt;br&gt;</code>
+          {{_i}}Preserve formatting by ending all lines with <code>&lt;br&gt;</code>{{/i}}
         </td>
       </tr>
     </tbody>
@@ -106,13 +106,13 @@
 
   <div class="row">
     <div class="span4">
-      <h3>Using emphasis</h3>
+      <h3>{{_i}}Using emphasis{{/i}}</h3>
       <p><a href="#">Fusce dapibus</a>, <strong>tellus ac cursus commodo</strong>, <em>tortor mauris condimentum nibh</em>, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.</p>
-      <p><strong>Note:</strong> Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5, but their usage has changed a bit. <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
+      <p>{{_i}}<strong>Note:</strong> Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5, but their usage has changed a bit. <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Example addresses</h3>
-      <p>Here are two examples of how the <code>&lt;address&gt;</code> tag can be used:</p>
+      <h3>{{_i}}Example addresses{{/i}}</h3>
+      <p>{{_i}}Here are two examples of how the <code>&lt;address&gt;</code> tag can be used:{{/i}}</p>
       <address>
         <strong>Twitter, Inc.</strong><br>
         795 Folsom Ave, Suite 600<br>
@@ -120,15 +120,15 @@
         <abbr title="Phone">P:</abbr> (123) 456-7890
       </address>
       <address>
-        <strong>Full Name</strong><br>
-        <a mailto="#">first.last@gmail.com</a>
+        <strong>{{_i}}Full Name{{/i}}</strong><br>
+        <a mailto="#">{{_i}}first.last@gmail.com{{/i}}</a>
       </address>
     </div>
     <div class="span4">
-      <h3>Example abbreviations</h3>
-      <p>Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.</p>
-      <p><abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.</p>
-      <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
+      <h3>{{_i}}Example abbreviations{{/i}}</h3>
+      <p>{{_i}}Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.{{/i}}</p>
+      <p>{{_i}}<abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.{{/i}}</p>
+      <p>{{_i}}An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.{{/i}}</p>
     </div>
   </div>
 
@@ -138,9 +138,9 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th>Element</th>
-        <th>Usage</th>
-        <th>Optional</th>
+        <th>{{_i}}Element{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
+        <th>{{_i}}Optional{{/i}}</th>
       </tr>
     </thead>
     <tbody>
@@ -149,11 +149,11 @@
           <code>&lt;blockquote&gt;</code>
         </td>
         <td>
-          Block-level element for quoting content from another source
+          {{_i}}Block-level element for quoting content from another source{{/i}}
         </td>
         <td>
-          <p>Add <code>cite</code> attribute for source URL</p>
-          Use <code>.pull-left</code> and <code>.pull-right</code> classes for floated options
+          <p>{{_i}}Add <code>cite</code> attribute for source URL{{/i}}</p>
+          {{_i}}Use <code>.pull-left</code> and <code>.pull-right</code> classes for floated options{{/i}}
         </td>
       </tr>
       <tr>
@@ -161,53 +161,53 @@
           <code>&lt;small&gt;</code>
         </td>
         <td>
-          Optional element for adding a user-facing citation, typically an author with title of work
+          {{_i}}Optional element for adding a user-facing citation, typically an author with title of work{{/i}}
         </td>
         <td>
-          Place the <code>&lt;cite&gt;</code> around the title or name of source
+          {{_i}}Place the <code>&lt;cite&gt;</code> around the title or name of source{{/i}}
         </td>
       </tr>
     </tbody>
   </table>
   <div class="row">
     <div class="span4">
-      <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes we recommend a <code>&lt;p&gt;</code>.</p>
-      <p>Include an optional <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it for styling purposes.</p>
+      <p>{{_i}}To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes we recommend a <code>&lt;p&gt;</code>.{{/i}}</p>
+      <p>{{_i}}Include an optional <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it for styling purposes.{{/i}}</p>
     </div>
     <div class="span8">
 <pre class="prettyprint linenums">
 &lt;blockquote&gt;
   &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.&lt;/p&gt;
-  &lt;small&gt;Someone famous&lt;/small&gt;
+  &lt;small&gt;{{_i}}Someone famous{{/i}}&lt;/small&gt;
 &lt;/blockquote&gt;
 </pre>
     </div>
   </div><!--/row-->
 
-  <h3>Example blockquotes</h3>
+  <h3>{{_i}}Example blockquotes{{/i}}</h3>
   <div class="row">
     <div class="span6">
-      <p>Default blockquotes are styled as such:</p>
+      <p>{{_i}}Default blockquotes are styled as such:{{/i}}</p>
       <blockquote>
         <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
-        <small>Someone famous in <cite title="">Body of work</cite></small>
+        <small>{{_i}}Someone famous in <cite title="">Body of work</cite>{{/i}}</small>
       </blockquote>
     </div>
     <div class="span6">
-      <p>To float your blockquote to the right, add <code>class="pull-right"</code>:</p>
+      <p>{{_i}}To float your blockquote to the right, add <code>class="pull-right"</code>:{{/i}}</p>
       <blockquote class="pull-right">
         <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p>
-        <small>Someone famous in <cite title="">Body of work</cite></small>
+        <small>{{_i}}Someone famous in <cite title="">Body of work</cite>{{/i}}</small>
       </blockquote>
     </div>
   </div>
 
 
   <!-- Lists -->
-  <h2>Lists</h2>
+  <h2>{{_i}}Lists{{/i}}</h2>
   <div class="row">
     <div class="span3">
-      <h4>Unordered</h4>
+      <h4>{{_i}}Unordered{{/i}}</h4>
       <p><code>&lt;ul&gt;</code></p>
       <ul>
         <li>Lorem ipsum dolor sit amet</li>
@@ -228,7 +228,7 @@
       </ul>
     </div>
     <div class="span3">
-      <h4>Unstyled</h4>
+      <h4>{{_i}}Unstyled{{/i}}</h4>
       <p><code>&lt;ul class="unstyled"&gt;</code></p>
       <ul class="unstyled">
         <li>Lorem ipsum dolor sit amet</li>
@@ -249,7 +249,7 @@
       </ul>
     </div>
     <div class="span3">
-      <h4>Ordered</h4>
+      <h4>{{_i}}Ordered{{/i}}</h4>
       <p><code>&lt;ol&gt;</code></p>
       <ol>
         <li>Lorem ipsum dolor sit amet</li>
@@ -263,11 +263,11 @@
       </ol>
     </div>
     <div class="span3">
-      <h4>Description</h4>
+      <h4>{{_i}}Description{{/i}}</h4>
       <p><code>&lt;dl&gt;</code></p>
       <dl>
-        <dt>Description lists</dt>
-        <dd>A description list is perfect for defining terms.</dd>
+        <dt>{{_i}}Description lists{{/i}}</dt>
+        <dd>{{_i}}A description list is perfect for defining terms.{{/i}}</dd>
         <dt>Euismod</dt>
         <dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
         <dd>Donec id elit non mi porta gravida at eget metus.</dd>
@@ -280,42 +280,42 @@
 
   <!-- Code -->
 
-  <h2>Code <small>Inline and block</small></h2>
+  <h2>{{_i}}Code <small>Inline and block</small>{{/i}}</h2>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th style="width: 190px;">Element</th>
-        <th>Result</th>
+        <th style="width: 190px;">{{_i}}Element{{/i}}</th>
+        <th>{{_i}}Result{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>&lt;code&gt;</code></td>
-        <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
+        <td>{{_i}}In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.{{/i}}</td>
       </tr>
       <tr>
         <td><code>&lt;pre&gt;</code></td>
         <td>
 <pre>&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
+  &lt;h1&gt;{{_i}}Heading{{/i}}&lt;/h1&gt;
+  &lt;p&gt;{{_i}}Something right here…{{/i}}&lt;/p&gt;
 &lt;/div&gt;</pre>
-          <p><strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.</p>
+          <p>{{_i}}<strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.{{/i}}</p>
         </td>
       </tr>
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+          <p>{{_i}}Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.{{/i}}</p>
 <pre class="prettyprint">&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
+  &lt;h1&gt;{{_i}}Heading{{/i}}&lt;/h1&gt;
+  &lt;p&gt;{{_i}}Something right here…{{/i}}&lt;/p&gt;
 &lt;/div&gt;</pre>
 <pre class="prettyprint linenums">&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
+  &lt;h1&gt;{{_i}}Heading{{/i}}&lt;/h1&gt;
+  &lt;p&gt;{{_i}}Something right here…{{/i}}&lt;/p&gt;
 &lt;/div&gt;</pre>
-          <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
+          <p>{{_i}}<a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.{{/i}}</p>
         </td>
       </tr>
     </tbody>
-- 
GitLab


From a9c6dca0940f5f689e9e8d70eda42783265bee37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ga=C3=ABtan=20Muller?= <m.gaetan89@gmail.com>
Date: Tue, 24 Jan 2012 21:45:42 +0100
Subject: [PATCH 373/576] More translation tags in Base CSS

---
 docs/templates/pages/base-css.mustache | 162 ++++++++++++-------------
 1 file changed, 81 insertions(+), 81 deletions(-)

diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 3b9cbd39a9..5a58b96638 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -134,7 +134,7 @@
 
 
   <!-- Blockquotes -->
-  <h2>Blockquotes</h2>
+  <h2>{{_i}}Blockquotes{{/i}}</h2>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
@@ -322,53 +322,53 @@
   </table>
 
   <!-- Labels -->
-  <h2>Inline labels <small>for special attention</small></h2>
+  <h2>{{_i}}Inline labels <small>for special attention</small>{{/i}}</h2>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th style="width: 190px;">Labels</th>
-        <th>Markup</th>
+        <th style="width: 190px;">{{_i}}Labels{{/i}}</th>
+        <th>{{_i}}Markup{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>
-          <span class="label">Default</span>
+          <span class="label">{{_i}}Default{{/i}}</span>
         </td>
         <td>
-          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
+          <code>&lt;span class="label"&gt;{{_i}}Default{{/i}}&lt;/span&gt;</code>
         </td>
       </tr>
       <tr>
         <td>
-          <span class="label success">New</span>
+          <span class="label success">{{_i}}New{{/i}}</span>
         </td>
         <td>
-          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
+          <code>&lt;span class="label success"&gt;{{/_i}}New{{/i}}&lt;/span&gt;</code>
         </td>
       </tr>
       <tr>
         <td>
-          <span class="label warning">Warning</span>
+          <span class="label warning">{{_i}}Warning{{/i}}</span>
         </td>
         <td>
-          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
+          <code>&lt;span class="label warning"&gt;{{_i}}Warning{{/i}}&lt;/span&gt;</code>
         </td>
       </tr>
       <tr>
         <td>
-          <span class="label important">Important</span>
+          <span class="label important">{{_i}}Important{{/i}}</span>
         </td>
         <td>
-          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
+          <code>&lt;span class="label important"&gt;{{_i}}Important{{/i}}&lt;/span&gt;</code>
         </td>
       </tr>
       <tr>
         <td>
-          <span class="label notice">Notice</span>
+          <span class="label notice">{{_i}}Notice{{/i}}</span>
         </td>
         <td>
-          <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
+          <code>&lt;span class="label notice"&gt;{{_i}}Notice{{/i}}&lt;/span&gt;</code>
         </td>
       </tr>
     </tbody>
@@ -382,17 +382,17 @@
 ================================================== -->
 <section id="tables">
   <div class="page-header">
-    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
+    <h1>{{_i}}Tables <small>For, you guessed it, tabular data</small>{{/i}}</h1>
   </div>
 
-  <h2>Table markup</h2>
+  <h2>{{_i}}Table markup{{/i}}</h2>
   <div class="row">
     <div class="span8">
       <table class="table table-bordered table-striped">
         <thead>
           <tr>
-            <th>Tag</th>
-            <th>Description</th>
+            <th>{{_i}}Tag{{/i}}</th>
+            <th>{{_i}}Description{{/i}}</th>
           </tr>
         </thead>
         <tbody>
@@ -401,7 +401,7 @@
               <code>&lt;table&gt;</code>
             </td>
             <td>
-              Wrapping element for displaying data in a tabular format
+              {{_i}}Wrapping element for displaying data in a tabular format{{/i}}
             </td>
           </tr>
           <tr>
@@ -409,7 +409,7 @@
               <code>&lt;thead&gt;</code>
             </td>
             <td>
-              Container element for table header rows (<code>&lt;tr&gt;</code>) to label table columns
+              {{_i}}Container element for table header rows (<code>&lt;tr&gt;</code>) to label table columns{{/i}}
             </td>
           </tr>
           <tr>
@@ -417,7 +417,7 @@
               <code>&lt;tbody&gt;</code>
             </td>
             <td>
-              Container element for table rows (<code>&lt;tr&gt;</code>) in the body of the table
+              {{_i}}Container element for table rows (<code>&lt;tr&gt;</code>) in the body of the table{{/i}}
             </td>
           </tr>
           <tr>
@@ -425,7 +425,7 @@
               <code>&lt;tr&gt;</code>
             </td>
             <td>
-              Container element for a set of table cells (<code>&lt;td&gt;</code> or <code>&lt;th&gt;</code>) that appears on a single row
+              {{_i}}Container element for a set of table cells (<code>&lt;td&gt;</code> or <code>&lt;th&gt;</code>) that appears on a single row{{/i}}
             </td>
           </tr>
           <tr>
@@ -433,7 +433,7 @@
               <code>&lt;td&gt;</code>
             </td>
             <td>
-              Default table cell
+              {{_i}}Default table cell{{/i}}
             </td>
           </tr>
           <tr>
@@ -441,8 +441,8 @@
               <code>&lt;th&gt;</code>
             </td>
             <td>
-              Special table cell for column (or row, depending on scope and placement) labels<br>
-              Must be used within a <code>&lt;thead&gt;</code>
+              {{_i}}Special table cell for column (or row, depending on scope and placement) labels{{/i}}<br>
+              {{_i}}Must be used within a <code>&lt;thead&gt;</code>{{/i}}
             </td>
           </tr>
           <tr>
@@ -450,7 +450,7 @@
               <code>&lt;caption&gt;</code>
             </td>
             <td>
-              Description or summary of what the table holds, especially useful for screen readers
+              {{_i}}Description or summary of what the table holds, especially useful for screen readers{{/i}}
             </td>
           </tr>
         </tbody>
@@ -461,14 +461,14 @@
 &lt;table&gt;
   &lt;thead&gt;
     &lt;tr&gt;
-      &lt;th&gt;...&lt;/th&gt;
-      &lt;th&gt;...&lt;/th&gt;
+      &lt;th&gt;…&lt;/th&gt;
+      &lt;th&gt;…&lt;/th&gt;
     &lt;/tr&gt;
   &lt;/thead&gt;
   &lt;tbody&gt;
     &lt;tr&gt;
-      &lt;td&gt;...&lt;/td&gt;
-      &lt;td&gt;...&lt;/td&gt;
+      &lt;td&gt;…&lt;/td&gt;
+      &lt;td&gt;…&lt;/td&gt;
     &lt;/tr&gt;
   &lt;/tbody&gt;
 &lt;/table&gt;
@@ -476,62 +476,62 @@
     </div>
   </div>
 
-  <h2>Table options</h2>
+  <h2>{{_i}}Table options{{/i}}</h2>
   <table class="table table-bordered table-striped">
   <thead>
       <tr>
-        <th>Name</th>
-        <th>Class</th>
-        <th>Description</th>
+        <th>{{_i}}Name{{/i}}</th>
+        <th>{{_i}}Class{{/i}}</th>
+        <th>{{_i}}Description{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
-        <td>Default</td>
-        <td class="muted">None</td>
-        <td>No styles, just columns and rows</td>
+        <td>{{_i}}Default{{/i}}</td>
+        <td class="muted">{{_i}}None{{/i}}</td>
+        <td>{{_i}}No styles, just columns and rows{{/i}}</td>
       </tr>
       <tr>
-        <td>Basic</td>
+        <td>{{_i}}Basic{{/i}}</td>
         <td>
           <code>.table</code>
         </td>
-        <td>Only horizontal lines between rows</td>
+        <td>{{_i}}Only horizontal lines between rows{{/i}}</td>
       </tr>
       <tr>
-        <td>Bordered</td>
+        <td>{{_i}}Bordered{{/i}}</td>
         <td>
           <code>.table-bordered</code>
         </td>
-        <td>Rounds corners and adds outter border</td>
+        <td>{{_i}}Rounds corners and adds outter border{{/i}}</td>
       </tr>
       <tr>
-        <td>Zebra-stripe</td>
+        <td>{{_i}}Zebra-stripe{{/i}}</td>
         <td>
           <code>.table-striped</code>
         </td>
-        <td>Adds light gray background color to odd rows (1, 3, 5, etc)</td>
+        <td>{{_i}}Adds light gray background color to odd rows (1, 3, 5, etc){{/i}}</td>
       </tr>
       <tr>
-        <td>Condensed</td>
+        <td>{{_i}}Condensed{{/i}}</td>
         <td>
           <code>.table-condensed</code>
         </td>
-        <td>Cuts vertical padding in half, from 8px to 4px, within all <code>td</code> and <code>th</code> elements</td>
+        <td>{{_i}}Cuts vertical padding in half, from 8px to 4px, within all <code>td</code> and <code>th</code> elements{{/i}}</td>
       </tr>
     </tbody>
   </table>
 
 
-  <h2>Example tables</h2>
+  <h2>{{_i}}Example tables{{/i}}</h2>
 
-  <h3>1. Default table styles</h3>
+  <h3>1. {{_i}}Default table styles{{/i}}</h3>
   <div class="row">
     <div class="span4">
-      <p>Tables are automatically styled with only a few borders to ensure readability and maintain structure. With 2.0, the <code>.table</code> class is required.</p>
+      <p>{{_i}}Tables are automatically styled with only a few borders to ensure readability and maintain structure. With 2.0, the <code>.table</code> class is required.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;table class="table"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -539,9 +539,9 @@
         <thead>
           <tr>
             <th>#</th>
-            <th>First Name</th>
-            <th>Last Name</th>
-            <th>Language</th>
+            <th>{{_i}}First Name{{/i}}</th>
+            <th>{{_i}}Last Name{{/i}}</th>
+            <th>{{_i}}Language{{/i}}</th>
           </tr>
         </thead>
         <tbody>
@@ -569,14 +569,14 @@
   </div>
 
 
-  <h3>2. Striped table</h3>
+  <h3>2. {{_i}}Striped table{{/i}}</h3>
   <div class="row">
     <div class="span4">
-      <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.table-striped</code> class.</p>
-      <p class="muted"><strong>Note:</strong> Sprited tables use the <code>:nth-child</code> CSS selector and is not available in IE7-IE8.</p>
+      <p>{{_i}}Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.table-striped</code> class.{{/i}}</p>
+      <p class="muted">{{_i}}<strong>Note:</strong> Sprited tables use the <code>:nth-child</code> CSS selector and is not available in IE7-IE8.{{/i}}</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
 &lt;table class="table table-striped"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -584,9 +584,9 @@
         <thead>
           <tr>
             <th>#</th>
-            <th>First Name</th>
-            <th>Last Name</th>
-            <th>Language</th>
+            <th>{{_i}}First Name{{/i}}</th>
+            <th>{{_i}}Last Name{{/i}}</th>
+            <th>{{_i}}Language{{/i}}</th>
           </tr>
         </thead>
         <tbody>
@@ -614,13 +614,13 @@
   </div>
 
 
-  <h3>3. Bordered table</h3>
+  <h3>3. {{_i}}Bordered table{{/i}}</h3>
   <div class="row">
     <div class="span4">
-      <p>Add borders around the entire table and rounded corners for aesthetic purposes.</p>
+      <p>{{_i}}Add borders around the entire table and rounded corners for aesthetic purposes.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;table class="table table-bordered"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -628,9 +628,9 @@
         <thead>
           <tr>
             <th>#</th>
-            <th>First Name</th>
-            <th>Last Name</th>
-            <th>Language</th>
+            <th>{{_i}}First Name{{/i}}</th>
+            <th>{{_i}}Last Name{{/i}}</th>
+            <th>{{_i}}Language{{/i}}</th>
           </tr>
         </thead>
         <tbody>
@@ -662,13 +662,13 @@
   </div>
 
 
-  <h3>4. Condensed table</h3>
+  <h3>4. {{_i}}Condensed table{{/i}}</h3>
   <div class="row">
     <div class="span4">
-      <p>Make your tables more compact by adding the <code>.table-condensed</code> class to cut table cell padding in half (from 10px to 5px).</p>
+      <p>{{_i}}Make your tables more compact by adding the <code>.table-condensed</code> class to cut table cell padding in half (from 8px to 4px).{{/i}}</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
 &lt;table class="table table-condensed"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -676,9 +676,9 @@
         <thead>
           <tr>
             <th>#</th>
-            <th>First Name</th>
-            <th>Last Name</th>
-            <th>Language</th>
+            <th>{{_i}}First Name{{/i}}</th>
+            <th>{{_i}}Last Name{{/i}}</th>
+            <th>{{_i}}Language{{/i}}</th>
           </tr>
         </thead>
         <tbody>
@@ -707,10 +707,10 @@
 
 
 
-  <h3>5. Striped table w/ TableSorter.js</h3>
+  <h3>5. {{_i}}Striped table w/ TableSorter.js{{/i}}</h3>
   <div class="row">
     <div class="span4">
-      <p>Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automaically get clear styles for sorted columns.</p>
+      <p>{{_i}}Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automatically get clear styles for sorted columns.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;script src="jquery.tablesorter.js"&gt;&lt;/script&gt;
 &lt;script &gt;
@@ -722,7 +722,7 @@
   });
 &lt;/script&gt;
 &lt;table class="table table-striped"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -730,9 +730,9 @@
         <thead>
           <tr>
             <th>#</th>
-            <th class="yellow">First Name</th>
-            <th class="blue">Last Name</th>
-            <th class="green">Language</th>
+            <th class="yellow">{{_i}}First Name{{/i}}</th>
+            <th class="blue">{{_i}}Last Name{{/i}}</th>
+            <th class="green">{{_i}}Language{{/i}}</th>
           </tr>
         </thead>
         <tbody>
@@ -762,14 +762,14 @@
           </tr>
         </tbody>
       </table>
-      <p>Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.</p>
+      <p>{{_i}}Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.{{/i}}</p>
       <table class="table table-striped table-bordered table-condensed tablesorter-example">
         <thead>
           <tr>
             <th>#</th>
-            <th class="yellow">First Name</th>
-            <th class="blue">Last Name</th>
-            <th class="green">Language</th>
+            <th class="yellow">{{_i}}First Name{{/i}}</th>
+            <th class="blue">{{_i}}Last Name{{/i}}</th>
+            <th class="green">{{_i}}Language{{/i}}</th>
           </tr>
         </thead>
         <tbody>
-- 
GitLab


From 3f54db9c6ac0126b071a1874cd2f5c0379a4f393 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 12:53:30 -0800
Subject: [PATCH 374/576] remake

---
 bootstrap.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 71d9424011..845598de29 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 12:27:30 PST 2012
+ * Date: Tue Jan 24 12:53:25 PST 2012
  */
 article,
 aside,
-- 
GitLab


From 540d229eba6e65c0d18b706df73fb51322b5ea40 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Robichet?= <calvein@gmail.com>
Date: Tue, 24 Jan 2012 21:57:30 +0100
Subject: [PATCH 375/576] Fixed a mailto typo

---
 docs/base-css.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index f21f25f6b3..79200009a2 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -181,7 +181,7 @@
       </address>
       <address>
         <strong>Full Name</strong><br>
-        <a mailto="#">first.last@gmail.com</a>
+        <a href="mailto:#">first.last@gmail.com</a>
       </address>
     </div>
     <div class="span4">
-- 
GitLab


From 925fef411090f06b34c5e86f4d0ed5630adff87b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Robichet?= <calvein@gmail.com>
Date: Tue, 24 Jan 2012 22:11:09 +0100
Subject: [PATCH 376/576] Typo on tablesorter

---
 docs/assets/js/application.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 2da4ab8e2e..95caa0f31a 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -22,7 +22,7 @@ $(function(){
   window.prettyPrint && prettyPrint()
 
   // table sort example
-  if ($.fn.tableSorter) {
+  if ($.fn.tablesorter) {
     $("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
     $(".tablesorter-example").tablesorter({ sortList: [[1,0]] })
   }
-- 
GitLab


From 5fb31670af6df88afb0a82872b6f7935486f91c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Robichet?= <calvein@gmail.com>
Date: Tue, 24 Jan 2012 22:12:37 +0100
Subject: [PATCH 377/576] Added jquery.tablesorter js file

---
 docs/base-css.html | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/base-css.html b/docs/base-css.html
index 79200009a2..01c4d115c9 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1509,6 +1509,7 @@
     <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="assets/js/jquery.tablesorter.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
     <script src="../js/bootstrap-alert.js"></script>
     <script src="../js/bootstrap-modal.js"></script>
-- 
GitLab


From 425e5bfb71527e932858ad41f9e234fc05d65c6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ga=C3=ABtan=20Muller?= <m.gaetan89@gmail.com>
Date: Tue, 24 Jan 2012 22:17:32 +0100
Subject: [PATCH 378/576] Final translation tags in Base CSS

---
 docs/templates/pages/base-css.mustache | 325 +++++++++++++------------
 1 file changed, 163 insertions(+), 162 deletions(-)

diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 5a58b96638..b8c413888a 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -809,125 +809,125 @@
 ================================================== -->
 <section id="forms">
   <div class="page-header">
-    <h1>Forms</h1>
+    <h1>{{_i}}Forms{{/i}}</h1>
   </div>
   <div class="row">
     <div class="span4">
-      <h2>Flexible HTML and CSS</h2>
-      <p>The best part about forms in Bootstrap is that all your inputs and controls look great no matter how you build them in your markup. No superfluous HTML is required, but we provide the patterns for those who require it.</p>
-      <p>More complicated layouts come with succinct and scalable classes for easy styling and event binding, so you're covered at every step.</p>
+      <h2>{{_i}}Flexible HTML and CSS{{/i}}</h2>
+      <p>{{_i}}The best part about forms in Bootstrap is that all your inputs and controls look great no matter how you build them in your markup. No superfluous HTML is required, but we provide the patterns for those who require it.{{/i}}</p>
+      <p>{{_i}}More complicated layouts come with succinct and scalable classes for easy styling and event binding, so you're covered at every step.{{/i}}</p>
     </div>
     <div class="span4">
-      <h2>Four layouts included</h2>
-      <p>Bootstrap comes with support for four types of form layouts:</p>
+      <h2>{{_i}}Four layouts included{{/i}}</h2>
+      <p>{{_i}}Bootstrap comes with support for four types of form layouts:{{/i}}</p>
       <ul>
-        <li>Vertical (default)</li>
-        <li>Search</li>
-        <li>Inline</li>
-        <li>Horizontal</li>
+        <li>{{_i}}Vertical (default){{/i}}</li>
+        <li>{{_i}}Search{{/i}}</li>
+        <li>{{_i}}Inline{{/i}}</li>
+        <li>{{_i}}Horizontal{{/i}}</li>
       </ul>
-      <p>Different types of form layouts require some changes to markup, but the controls themselves remain and behave the same.</p>
+      <p>{{_i}}Different types of form layouts require some changes to markup, but the controls themselves remain and behave the same.{{/i}}</p>
     </div>
     <div class="span4">
-      <h2>Control states and more</h2>
-      <p>Bootstrap's forms include styles for all the base form controls like input, textarea, and select you'd expect. But it also comes with a number of custom components like appended and prepended inputs and support for lists of checkboxes.</p>
-      <p>States like error, warning, and success are included for each type of form control. Also included are styles for disabled controls.</p>
+      <h2>{{_i}}Control states and more{{/i}}</h2>
+      <p>{{_i}}Bootstrap's forms include styles for all the base form controls like input, textarea, and select you'd expect. But it also comes with a number of custom components like appended and prepended inputs and support for lists of checkboxes.{{/i}}</p>
+      <p>{{_i}}States like error, warning, and success are included for each type of form control. Also included are styles for disabled controls.{{/i}}</p>
     </div>
   </div>
 
-  <h2>Four types of forms</h2>
-  <p>Bootstrap provides simple markup and styles for four styles of common web forms.</p>
+  <h2>{{_i}}Four types of forms{{/i}}</h2>
+  <p>{{_i}}Bootstrap provides simple markup and styles for four styles of common web forms.{{/i}}</p>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th>Name</th>
-        <th>Class</th>
-        <th>Description</th>
+        <th>{{_i}}Name{{/i}}</th>
+        <th>{{_i}}Class{{/i}}</th>
+        <th>{{_i}}Description{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
-        <th>Vertical (default)</th>
-        <td><code>.vertical-form</code> <span class="muted">(not required)</span></td>
-        <td>Stacked, left-aligned labels over controls</td>
+        <th>{{_i}}Vertical (default){{/i}}</th>
+        <td><code>.vertical-form</code> <span class="muted">({{_i}}not required{{/i}})</span></td>
+        <td>{{_i}}Stacked, left-aligned labels over controls{{/i}}</td>
       </tr>
       <tr>
-        <th>Horizontal</th>
+        <th>{{_i}}Horizontal{{/i}}</th>
         <td><code>.form-horizontal</code></td>
-        <td>Float left, right-aligned labels on same line as controls</td>
+        <td>{{_i}}Float left, right-aligned labels on same line as controls{{/i}}</td>
       </tr>
       <tr>
-        <th>Inline</th>
+        <th>{{_i}}Inline{{/i}}</th>
         <td><code>.form-inline</code></td>
-        <td>Left-aligned label and inline-block controls for compact style</td>
+        <td>{{_i}}Left-aligned label and inline-block controls for compact style{{/i}}</td>
       </tr>
       <tr>
-        <th>Search</th>
+        <th>{{_i}}Search{{/i}}</th>
         <td><code>.form-search</code></td>
-        <td>Extra-rounded text input for a typical search aesthetic</td>
+        <td>{{_i}}Extra-rounded text input for a typical search aesthetic{{/i}}</td>
       </tr>
     </tbody>
   </table>
 
 
-  <h2>Example forms <small>using just form controls, no extra markup</small></h2>
+  <h2>{{_i}}Example forms <small>using just form controls, no extra markup</small>{{/i}}</h2>
   <div class="row">
     <div class="span4">
-      <h3>Basic form</h3>
-      <p>With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.</p>
+      <h3>{{_i}}Basic form{{/i}}</h3>
+      <p>{{_i}}With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.{{/i}}</p>
       <form class="well">
-        <label>Label name</label>
-        <input type="text" class="span3" placeholder="Type something...">
+        <label>{{_i}}Label name{{/i}}</label>
+        <input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}">
         <label class="checkbox">
-          <input type="checkbox"> Check me out
+          <input type="checkbox"> {{_i}}Check me out{{/i}}
         </label>
-        <button type="submit" class="btn">Submit</button>
+        <button type="submit" class="btn">{{_i}}Submit{{/i}}</button>
       </form>
     </div>
     <div class="span4">
-      <h3>Search form</h3>
-      <p>Reflecting default WebKit styles, just add <code>.form-search</code> for extra rounded search fields.</p>
+      <h3>{{_i}}Search form{{/i}}</h3>
+      <p>{{_i}}Reflecting default WebKit styles, just add <code>.form-search</code> for extra rounded search fields.{{/i}}</p>
       <form class="well form-search">
         <input type="text" class="input-medium search-query">
-        <button type="submit" class="btn">Search</button>
+        <button type="submit" class="btn">{{_i}}Search{{/i}}</button>
       </form>
     </div>
     <div class="span4">
-      <h3>Inline form</h3>
-      <p>Inputs are block level to start. For <code>.form-inline</code> and <code>.form-horizontal</code>, we use inline-block.</p>
+      <h3>{{_i}}Inline form{{/i}}</h3>
+      <p>{{_i}}Inputs are block level to start. For <code>.form-inline</code> and <code>.form-horizontal</code>, we use inline-block.{{/i}}</p>
       <form class="well form-search">
-        <input type="text" class="input-small" placeholder="Email">
-        <input type="password" class="input-small" placeholder="Password">
-        <button type="submit" class="btn">Go</button>
+        <input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}">
+        <input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}">
+        <button type="submit" class="btn">{{_i}}Go{{/i}}</button>
       </form>
     </div>
   </div><!-- /row -->
 
   <br>
 
-  <h2>Horizontal forms</h2>
+  <h2>{{_i}}Horizontal forms{{/i}}</h2>
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>Controls Bootstrap supports</legend>
+        <legend>{{_i}}Controls Bootstrap supports{{/i}}</legend>
         <fieldset class="control-group">
-          <label class="control-label" for="input01">Text input</label>
+          <label class="control-label" for="input01">{{_i}}Text input{{/i}}</label>
           <div class="controls">
             <input type="text" class="xlarge" name="input01">
-            <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p>
+            <p class="help-block">{{_i}}In addition to freeform text, any HTML5 text-based input appears like so.{{/i}}</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="optionsCheckbox">Checkbox</label>
+          <label class="control-label" for="optionsCheckbox">{{_i}}Checkbox{{/i}}</label>
           <div class="controls">
             <label class="checkbox">
               <input type="checkbox" name="optionsCheckbox" value="option1">
-              Option one is this and that&mdash;be sure to include why it’s great
+              {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
             </label>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="select01">Select list</label>
+          <label class="control-label" for="select01">{{_i}}Select list{{/i}}</label>
           <div class="controls">
             <select name="select01">
               <option>1</option>
@@ -939,7 +939,7 @@
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="multiSelect">Multi-select</label>
+          <label class="control-label" for="multiSelect">{{_i}}Multi-select{{/i}}</label>
           <div class="controls">
             <select multiple="multiple" name="multiSelect">
               <option>1</option>
@@ -951,39 +951,39 @@
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="fileInput">File input</label>
+          <label class="control-label" for="fileInput">{{_i}}File input{{/i}}</label>
           <div class="controls">
             <input class="input-file" id="fileInput" name="fileInput" type="file">
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="textarea">Textarea</label>
+          <label class="control-label" for="textarea">{{_i}}Textarea{{/i}}</label>
           <div class="controls">
             <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
           </div>
         </fieldset>
         <fieldset class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
+          <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
+          <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
         </fieldset>
       </form>
     </div>
     <div class="span4">
       <div class="form-docs">
-        <h3>What's included</h3>
-        <p>Shown on the left are all the default form controls we support. Here's the bulleted list:</p>
+        <h3>{{_i}}What's included{{/i}}</h3>
+        <p>{{_i}}Shown on the left are all the default form controls we support. Here's the bulleted list:{{/i}}</p>
         <ul>
-          <li>text inputs (text, password, email, etc)</li>
-          <li>checkbox</li>
-          <li>radio</li>
-          <li>select</li>
-          <li>multiple select</li>
-          <li>file input</li>
-          <li>textarea</li>
+          <li>{{_i}}text inputs (text, password, email, etc){{/i}}</li>
+          <li>{{_i}}checkbox{{/i}}</li>
+          <li>{{_i}}radio{{/i}}</li>
+          <li>{{_i}}select{{/i}}</li>
+          <li>{{_i}}multiple select{{/i}}</li>
+          <li>{{_i}}file input{{/i}}</li>
+          <li>{{_i}}textarea{{/i}}</li>
         </ul>
         <hr>
-        <h3>New defaults with v2.0</h3>
-        <p>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.</p>
+        <h3>{{_i}}New defaults with v2.0{{/i}}</h3>
+        <p>{{_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}}</p>
       </div>
     </div>
   </div>
@@ -993,66 +993,66 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>Form control states</legend>
+        <legend>{{_i}}Form control states{{/i}}</legend>
         <fieldset class="control-group">
-          <label class="control-label" for="focusedInput">Focused input</label>
+          <label class="control-label" for="focusedInput">{{_i}}Focused input{{/i}}</label>
           <div class="controls">
-            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused...">
+            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="{{_i}}This is focused…{{/i}}">
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="disabledInput">Disabled input</label>
+          <label class="control-label" for="disabledInput">{{_i}}Disabled input{{/i}}</label>
           <div class="controls">
-            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here..." disabled>
+            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="{{_i}}Disabled input here…{{/i}}" disabled>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="optionsCheckbox">Disabled checkbox</label>
+          <label class="control-label" for="optionsCheckbox">{{_i}}Disabled checkbox{{/i}}</label>
           <div class="controls">
             <label class="checkbox">
               <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
-              This is a disabled checkbox
+              {{_i}}This is a disabled checkbox{{/i}}
             </label>
           </div>
         </fieldset>
         <fieldset class="control-group warning">
-          <label class="control-label" for="inputError">Input with warning</label>
+          <label class="control-label" for="inputError">{{_i}}Input with warning{{/i}}</label>
           <div class="controls">
             <input type="text" name="inputError">
-            <span class="help-inline">Something may have gone wrong</span>
+            <span class="help-inline">{{_i}}Something may have gone wrong{{/i}}</span>
           </div>
         </fieldset>
         <fieldset class="control-group error">
-          <label class="control-label" for="inputError">Input with error</label>
+          <label class="control-label" for="inputError">{{_i}}Input with error{{/i}}</label>
           <div class="controls">
             <input type="text" name="inputError">
-            <span class="help-inline">Please correct the error</span>
+            <span class="help-inline">{{_i}}Please correct the error{{/i}}</span>
           </div>
         </fieldset>
         <fieldset class="control-group success">
-          <label class="control-label" for="inputError">Input with success</label>
+          <label class="control-label" for="inputError">{{_i}}Input with success{{/i}}</label>
           <div class="controls">
             <input type="text" name="inputError">
-            <span class="help-inline">Woohoo!</span>
+            <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
           </div>
         </fieldset>
         <fieldset class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
+          <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
+          <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
         </fieldset>
       </form>
     </div>
     <div class="span4">
       <div class="form-docs">
-        <h3>Redesigned browser states</h3>
-        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in it's place for <code>:focus</code>.</p>
+        <h3>{{_i}}Redesigned browser states{{/i}}</h3>
+        <p>{{_i}}Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in it's place for <code>:focus</code>.{{/i}}</p>
         <hr>
-        <h3>Form validation</h3>
-        <p>It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.</p>
+        <h3>{{_i}}Form validation{{/i}}</h3>
+        <p>{{_i}}It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;fieldset
   class="control-group error"&gt;
-  ...
+  …
 &lt;/fieldset&gt;
 </pre>
       </div>
@@ -1064,38 +1064,38 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>Extending form controls</legend>
+        <legend>{{_i}}Extending form controls{{/i}}</legend>
         <fieldset class="control-group">
-          <label class="control-label">Form sizes</label>
+          <label class="control-label">{{_i}}Form sizes{{/i}}</label>
           <div class="controls docs-input-sizes">
             <input class="span2" type="text" name="" placeholder=".span2">
             <input class="span3" type="text" name="" placeholder=".span3">
             <input class="span4" type="text" name="" placeholder=".span4">
-            <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
+            <p class="help-block">{{_i}}Use the same <code>.span*</code> classes from the grid system for input sizes.{{/i}}</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="prependedInput">Prepended text</label>
+          <label class="control-label" for="prependedInput">{{_i}}Prepended text{{/i}}</label>
           <div class="controls">
             <div class="input-prepend">
               <span class="add-on">@</span>
               <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
             </div>
-            <p class="help-block">Here's some help text</p>
+            <p class="help-block">{{_i}}Here's some help text{{/i}}</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="appendedInput">Appended text</label>
+          <label class="control-label" for="appendedInput">{{_i}}Appended text{{/i}}</label>
           <div class="controls">
             <div class="input-append">
               <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
               <span class="add-on">.00</span>
             </div>
-            <p class="help-block">Here's more help text</p>
+            <p class="help-block">{{_i}}Here's more help text{{/i}}</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="inlineCheckboxes">Inline checkboxes</label>
+          <label class="control-label" for="inlineCheckboxes">{{_i}}Inline checkboxes{{/i}}</label>
           <div class="controls">
             <label class="checkbox inline">
               <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
@@ -1109,50 +1109,50 @@
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
+          <label class="control-label" for="optionsCheckboxes">{{_i}}Checkboxes{{/i}}</label>
           <div class="controls">
             <label class="checkbox">
               <input type="checkbox" name="optionsCheckboxes" value="option1">
-              Option one is this and that&mdash;be sure to include why it’s great
+              {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
             </label>
             <label class="checkbox">
               <input type="checkbox" name="optionsCheckboxes" value="option2">
-              Option two can also be checked and included in form results
+              {{_i}}Option two can also be checked and included in form results{{/i}}
             </label>
             <label class="checkbox">
               <input type="checkbox" name="optionsCheckboxes" value="option3">
-              Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
+              {{_i}}Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results{{/i}}
             </label>
-            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+            <p class="help-text">{{_i}}<strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.{{/i}}</p>
           </div>
         </fieldset>
         <fieldset class="control-group">
-          <label class="control-label" for="optionsRadios">Radio buttons</label>
+          <label class="control-label" for="optionsRadios">{{_i}}Radio buttons{{/i}}</label>
           <div class="controls">
             <label class="radio">
               <input type="radio" checked name="optionsRadios" value="option1">
-              Option one is this and that&mdash;be sure to include why it’s great
+              {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
             </label>
             <label class="radio">
               <input type="radio" name="optionsRadios" value="option2">
-              Option two can is something else and selecting it will deselect option one
+              {{_i}}Option two can is something else and selecting it will deselect option one{{/i}}
             </label>
           </div>
         </fieldset>
         <fieldset class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
+          <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
+          <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
         </fieldset>
       </form>
     </div>
     <div class="span4">
       <div class="form-docs">
-        <h3>Prepend &amp; append inputs</h3>
-        <p>Input groups&mdash;with appended or prepended text&mdash;provide an easy way to give more context for your inputs. Great examples include the @ sign for Twitter usernames or $ for finances.</p>
+        <h3>{{_i}}Prepend &amp; append inputs{{/i}}</h3>
+        <p>{{_i}}Input groups&mdash;with appended or prepended text&mdash;provide an easy way to give more context for your inputs. Great examples include the @ sign for Twitter usernames or $ for finances.{{/i}}</p>
         <hr>
-        <h3>Checkboxes and radios</h3>
-        <p>Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the <code>&lt;label class="checkbox"&gt;</code> that wraps the <code>&lt;input type="checkbox"&gt;</code>.</p>
-        <p>Inline checkboxes and radios are also supported. Just add <code>.inline</code> to any <code>.checkbox</code> or <code>.radio</code> and you're done.</p>
+        <h3>{{_i}}Checkboxes and radios{{/i}}</h3>
+        <p>{{_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 <code>&lt;label class="checkbox"&gt;</code> that wraps the <code>&lt;input type="checkbox"&gt;</code>.{{/i}}</p>
+        <p>{{_i}}Inline checkboxes and radios are also supported. Just add <code>.inline</code> to any <code>.checkbox</code> or <code>.radio</code> and you're done.{{/i}}</p>
       </div>
     </div>
   </div><!-- /row -->
@@ -1162,81 +1162,82 @@
 
 <section id="buttons">
   <div class="page-header">
-    <h1>Buttons</h1>
+    <h1>{{_i}}Buttons{{/i}}</h1>
   </div>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th>Button</th>
-        <th>Class</th>
-        <th>Description</th>
+        <th>{{_i}}Button{{/i}}</th>
+        <th>{{_i}}Class{{/i}}</th>
+        <th>{{_i}}Description{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
-        <td><a class="btn" href="#">Default</a></td>
+        <td><a class="btn" href="#">{{_i}}Default{{/i}}</a></td>
         <td><code>.btn</code></td>
-        <td>Standard gray button with gradient</td>
+        <td>{{_i}}Standard gray button with gradient{{/i}}</td>
       </tr>
       <tr>
-        <td><a class="btn primary" href="#">Primary</a></td>
+        <td><a class="btn primary" href="#">{{_i}}Primary{{/i}}</a></td>
         <td><code>.primary</code></td>
-        <td>Provides extra visual weight and identifies the primary action in a set of buttons</td>
+        <td>{{_i}}Provides extra visual weight and identifies the primary action in a set of buttons{{/i}}</td>
       </tr>
       <tr>
-        <td><a class="btn info" href="#">Info</a></td>
+        <td><a class="btn info" href="#">{{_i}}Info{{/i}}</a></td>
         <td><code>.info</code></td>
-        <td>Used as an alternate to the default styles</td>
+        <td>{{_i}}Used as an alternate to the default styles{{/i}}</td>
       </tr>
       <tr>
-        <td><a class="btn success" href="#">Success</a></td>
+        <td><a class="btn success" href="#">{{_i}}Success{{/i}}</a></td>
         <td><code>.success</code></td>
-        <td>Indicates a successful or positive action</td>
+        <td>{{_i}}Indicates a successful or positive action{{/i}}</td>
       </tr>
       <tr>
-        <td><a class="btn danger" href="#">Danger</a></td>
+        <td><a class="btn danger" href="#">{{_i}}Danger{{/i}}</a></td>
         <td><code>.danger</code></td>
-        <td>Indicates a dangerous or potentially negative action</td>
+        <td>{{_i}}Indicates a dangerous or potentially negative action{{/i}}</td>
       </tr>
     </tbody>
   </table>
 
   <div class="row">
     <div class="span4">
-      <h3>Buttons for actions</h3>
-      <p>As a convention, buttons should only be used for actions while hyperlinks are to be used for objects. For instance, "Download" should be a button while "recent activity" should be a link.</p>
+      <h3>{{_i}}Buttons for actions{{/i}}</h3>
+      <p>{{_i}}As a convention, buttons should only be used for actions while hyperlinks are to be used for objects. For instance, "Download" should be a button while "recent activity" should be a link.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>For anchors and forms</h3>
-      <p>Button styles can be applied to anything with the <code>.btn</code> applied. However, typically you’ll want to apply these to only <code>&lt;a&gt;</code> and <code>&lt;button&gt;</code> elements.</p>
+      <h3>{{_i}}For anchors and forms{{/i}}</h3>
+      <p>{{_i}}Button styles can be applied to anything with the <code>.btn</code> applied. However, typically you’ll want to apply these to only <code>&lt;a&gt;</code> and <code>&lt;button&gt;</code> elements.{{/i}}</p>
     </div>
     <div class="span4">
-      <p><strong>Note:</strong> All buttons must include the <code>.btn</code> class. Button styles should be applied to <code>&lt;button&gt;</code> and <code>&lt;a&gt;</code> elements for consistency.</p>
+      <p>{{_i}}<strong>Note:</strong> All buttons must include the <code>.btn</code> class. Button styles should be applied to <code>&lt;button&gt;</code> and <code>&lt;a&gt;</code> elements for consistency.{{/i}}</p>
     </div>
   </div>
 
   <div class="row">
     <div class="span4">
-      <h3>Multiple sizes</h3>
-      <p>Fancy larger or smaller buttons? Have at it!</p>
+      <h3>{{_i}}Multiple sizes{{/i}}</h3>
+      <p>{{_i}}Fancy larger or smaller buttons? Have at it!{{/i}}</p>
       <p>
-        <a href="#" class="btn large primary">Primary action</a>
-        <a href="#" class="btn large">Action</a>
+        <a href="#" class="btn large primary">{{_i}}Primary action{{/i}}</a>
+        <a href="#" class="btn large">{{_i}}Action{{/i}}</a>
       </p>
       <p>
-        <a href="#" class="btn small primary">Primary action</a>
-        <a href="#" class="btn small">Action</a>
+        <a href="#" class="btn small primary">{{_i}}Primary action{{/i}}</a>
+        <a href="#" class="btn small">{{_i}}Action{{/i}}</a>
       </p>
     </div>
     <div class="span8">
-      <h3>Disabled state</h3>
-      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
+      <h3>{{_i}}Disabled state{{/i}}</h3>
+      <p>{{_i}}For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.{{/i}}</p>
       <p>
-        <a href="#" class="btn large primary disabled">Primary action</a>
-        <a href="#" class="btn large disabled">Action</a>
+        <a href="#" class="btn large primary disabled">{{_i}}Primary action{{/i}}</a>
+        <a href="#" class="btn large disabled">{{_i}}Action{{/i}}</a>
       </p>
       <p>
-        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
+        <button class="btn large primary disabled" disabled="disabled">{{_i}}Primary action{{/i}}</button>
+        <button class="btn large" disabled>{{_i}}Action{{/i}}</button>
       </p>
     </div>
   </div>
@@ -1251,7 +1252,7 @@
 ================================================== -->
 <section id="icons">
   <div class="page-header">
-    <h1>Icons <small>Graciously provided by <a href="http://glyphicons.com" target="_blank">Glyphicons</a></small></h1>
+    <h1>{{_i}}Icons <small>Graciously provided by <a href="http://glyphicons.com" target="_blank">Glyphicons</a></small>{{/i}}</h1>
   </div>
   <div class="row">
     <div class="span2">
@@ -1365,7 +1366,7 @@
       </div>
     </div>
     <div class="span2">
-      <p class="muted">Light red background color is only used to show the dimensions of the icons in the docs.</p>
+      <p class="muted">{{_i}}Light red background color is only used to show the dimensions of the icons in the docs.{{/i}}</p>
     </div>
   </div>
 
@@ -1373,38 +1374,38 @@
 
   <div class="row">
     <div class="span4">
-      <h3>Built as a sprite</h3>
-      <p>Instead of making every icon an extra request, we've compiled them into a sprite&mdash;a bunch of images in one file that uses CSS to position the images with <code>background-position</code>. This is the same method we use on Twitter.com and it has worked well for us.</p>
-      <p><a href="http://glyphicons.com" target="_blank">Glyphicons</a> has granted us use of the Halflings set in our open-source toolkit so long as we provide a link and credit. Please consider doing the same in your projects.</p>
+      <h3>{{_i}}Built as a sprite{{/i}}</h3>
+      <p>{{_i}}Instead of making every icon an extra request, we've compiled them into a sprite&mdash;a bunch of images in one file that uses CSS to position the images with <code>background-position</code>. This is the same method we use on Twitter.com and it has worked well for us.{{/i}}</p>
+      <p>{{_i}}<a href="http://glyphicons.com" target="_blank">Glyphicons</a> has granted us use of the Halflings set in our open-source toolkit so long as we provide a link and credit. Please consider doing the same in your projects.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>How to use</h3>
-      <p>With v2.0.0, the <code>&lt;i&gt;</code> tag is essentially dedicated to iconography. To use the icons, you can place the follow code wherever you like one to appear:</p>
+      <h3>{{_i}}How to use{{/i}}</h3>
+      <p>{{_i}}With v2.0.0, the <code>&lt;i&gt;</code> tag is essentially dedicated to iconography. To use the icons, you can place the follow code wherever you like one to appear:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;i class="chevron-left"&gt;&lt;/i&gt;
 </pre>
-      <p>There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right class and you're set. You can find the full list in sprites.less or right here in this document.</p>
+      <p>{{_i}}There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right class and you're set. You can find the full list in sprites.less or right here in this document.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Use cases</h3>
-      <p>Icons are great, but where would one use them? Here are a few ideas:</p>
+      <h3>{{_i}}Use cases{{/i}}</h3>
+      <p>{{_i}}Icons are great, but where would one use them? Here are a few ideas:{{/i}}</p>
       <ul>
-        <li>As visuals for your sidebar navigation</li>
-        <li>For a purely icon-driven nav</li>
-        <li>For buttons to help convey the meaning of an action</li>
-        <li>With links to share context on a user's destination</li>
+        <li>{{_i}}As visuals for your sidebar navigation{{/i}}</li>
+        <li>{{_i}}For a purely icon-driven nav{{/i}}</li>
+        <li>{{_i}}For buttons to help convey the meaning of an action{{/i}}</li>
+        <li>{{_i}}With links to share context on a user's destination{{/i}}</li>
       </ul>
-      <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.</p>
+      <p>{{_i}}Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.{{/i}}</p>
     </div>
   </div>
 
-  <h3>Examples</h3>
+  <h3>{{_i}}Examples{{/i}}</h3>
   <div class="row">
     <div class="span4">
-      <p>Use them in buttons, or in button groups for a toolbar style presentation.</p>
+      <p>{{_i}}Use them in buttons, or in button groups for a toolbar style presentation.{{/i}}</p>
       <p>
-        <a class="btn" href="#"><i class="refresh"></i> Refresh</a>
-        <a class="btn" href="#"><i class="cog"></i> Settings</a>
+        <a class="btn" href="#"><i class="refresh"></i> {{_i}}Refresh{{/i}}</a>
+        <a class="btn" href="#"><i class="cog"></i> {{_i}}Settings{{/i}}</a>
       </p>
       <div class="btn-toolbar">
         <div class="btn-group">
@@ -1421,12 +1422,12 @@
       </div>
     </div>
     <div class="span3">
-      <p>Or, use them in navigation.</p>
+      <p>{{_i}}Or, use them in navigation.{{/i}}</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
-          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
-          <li><a href="#"><i class="book"></i> Library</a></li>
-          <li><a href="#"><i class="pencil"></i> Applications</a></li>
+          <li class="active"><a href="#"><i class="home"></i> {{_i}}Home{{/i}}</a></li>
+          <li><a href="#"><i class="book"></i> {{_i}}Library{{/i}}</a></li>
+          <li><a href="#"><i class="pencil"></i> {{_i}}Applications{{/i}}</a></li>
         </ul>
       </div> <!-- /well -->
     </div>
-- 
GitLab


From 7d52e1dcd479e017d85fee8df4032644970525bd Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 13:47:24 -0800
Subject: [PATCH 379/576] remake

---
 docs/base-css.html   | 4 ++--
 docs/components.html | 2 +-
 docs/javascript.html | 2 +-
 docs/less.html       | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index f21f25f6b3..6485d76a22 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -366,7 +366,7 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here...&lt;/p&gt;
@@ -1105,7 +1105,7 @@
     <div class="span4">
       <div class="form-docs">
         <h3>Redesigned browser states</h3>
-        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in its place for <code>:focus</code>.</p>
+        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in it's place for <code>:focus</code>.</p>
         <hr>
         <h3>Form validation</h3>
         <p>It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.</p>
diff --git a/docs/components.html b/docs/components.html
index 3a15541c4a..9d28b9e06b 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -1088,7 +1088,7 @@
   <div class="row">
     <div class="span4">
       <h3>Rewritten base class</h3>
-      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outer <code>&lt;div&gt;</code>.</p>
+      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
       <h3>Single alert message</h3>
       <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
       <hr>
diff --git a/docs/javascript.html b/docs/javascript.html
index bdcc622dec..a35c299136 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -856,7 +856,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
           <p>
-          For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.
+          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.
           </p>
           <h3>Methods</h3>
           <h4>$().popover(options)</h4>
diff --git a/docs/less.html b/docs/less.html
index cc8197118c..cd486ac986 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -75,7 +75,7 @@
       <div class="row">
         <div class="span4">
           <h3>Why LESS?</h3>
-          <p>Bootstrap is made with LESS at its core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
         </div>
         <div class="span4">
           <h3>What's included?</h3>
-- 
GitLab


From 3aea86370d7d6c717939eebcd6f3a93776c567d4 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 13:48:05 -0800
Subject: [PATCH 380/576] rebuild base-css

---
 docs/base-css.html | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 6485d76a22..92117b80ef 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -358,7 +358,7 @@
         <td>
 <pre>&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
+  &lt;p&gt;Something right here…&lt;/p&gt;
 &lt;/div&gt;</pre>
           <p><strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.</p>
         </td>
@@ -369,11 +369,11 @@
           <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
+  &lt;p&gt;Something right here…&lt;/p&gt;
 &lt;/div&gt;</pre>
 <pre class="prettyprint linenums">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here...&lt;/p&gt;
+  &lt;p&gt;Something right here…&lt;/p&gt;
 &lt;/div&gt;</pre>
           <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
         </td>
@@ -521,14 +521,14 @@
 &lt;table&gt;
   &lt;thead&gt;
     &lt;tr&gt;
-      &lt;th&gt;...&lt;/th&gt;
-      &lt;th&gt;...&lt;/th&gt;
+      &lt;th&gt;…&lt;/th&gt;
+      &lt;th&gt;…&lt;/th&gt;
     &lt;/tr&gt;
   &lt;/thead&gt;
   &lt;tbody&gt;
     &lt;tr&gt;
-      &lt;td&gt;...&lt;/td&gt;
-      &lt;td&gt;...&lt;/td&gt;
+      &lt;td&gt;…&lt;/td&gt;
+      &lt;td&gt;…&lt;/td&gt;
     &lt;/tr&gt;
   &lt;/tbody&gt;
 &lt;/table&gt;
@@ -591,7 +591,7 @@
       <p>Tables are automatically styled with only a few borders to ensure readability and maintain structure. With 2.0, the <code>.table</code> class is required.</p>
 <pre class="prettyprint linenums">
 &lt;table class="table"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -636,7 +636,7 @@
       <p class="muted"><strong>Note:</strong> Sprited tables use the <code>:nth-child</code> CSS selector and is not available in IE7-IE8.</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
 &lt;table class="table table-striped"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -680,7 +680,7 @@
       <p>Add borders around the entire table and rounded corners for aesthetic purposes.</p>
 <pre class="prettyprint linenums">
 &lt;table class="table table-bordered"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -725,10 +725,10 @@
   <h3>4. Condensed table</h3>
   <div class="row">
     <div class="span4">
-      <p>Make your tables more compact by adding the <code>.table-condensed</code> class to cut table cell padding in half (from 10px to 5px).</p>
+      <p>Make your tables more compact by adding the <code>.table-condensed</code> class to cut table cell padding in half (from 8px to 4px).</p>
 <pre class="prettyprint linenums" style="margin-bottom: 18px;">
 &lt;table class="table table-condensed"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -770,7 +770,7 @@
   <h3>5. Striped table w/ TableSorter.js</h3>
   <div class="row">
     <div class="span4">
-      <p>Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automaically get clear styles for sorted columns.</p>
+      <p>Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automatically get clear styles for sorted columns.</p>
 <pre class="prettyprint linenums">
 &lt;script src="jquery.tablesorter.js"&gt;&lt;/script&gt;
 &lt;script &gt;
@@ -782,7 +782,7 @@
   });
 &lt;/script&gt;
 &lt;table class="table table-striped"&gt;
-  ...
+  …
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
@@ -937,7 +937,7 @@
       <p>With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.</p>
       <form class="well">
         <label>Label name</label>
-        <input type="text" class="span3" placeholder="Type something...">
+        <input type="text" class="span3" placeholder="Type something…">
         <label class="checkbox">
           <input type="checkbox"> Check me out
         </label>
@@ -1057,13 +1057,13 @@
         <fieldset class="control-group">
           <label class="control-label" for="focusedInput">Focused input</label>
           <div class="controls">
-            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused...">
+            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused…">
           </div>
         </fieldset>
         <fieldset class="control-group">
           <label class="control-label" for="disabledInput">Disabled input</label>
           <div class="controls">
-            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here..." disabled>
+            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here…" disabled>
           </div>
         </fieldset>
         <fieldset class="control-group">
@@ -1112,7 +1112,7 @@
 <pre class="prettyprint linenums">
 &lt;fieldset
   class="control-group error"&gt;
-  ...
+  …
 &lt;/fieldset&gt;
 </pre>
       </div>
@@ -1296,7 +1296,8 @@
         <a href="#" class="btn large disabled">Action</a>
       </p>
       <p>
-        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
+        <button class="btn large primary disabled" disabled="disabled">Primary action</button>
+        <button class="btn large" disabled>Action</button>
       </p>
     </div>
   </div>
-- 
GitLab


From 72117c3f9751d9ccb7bebf76f8a5776c99a51857 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 13:57:44 -0800
Subject: [PATCH 381/576] add i18n for less.mustache

---
 docs/templates/pages/less.mustache | 138 ++++++++++++++---------------
 1 file changed, 69 insertions(+), 69 deletions(-)

diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 568e857bef..d6376ae2f6 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -1,8 +1,8 @@
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
-        <h1>Using LESS with Bootstrap</h1>
-        <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
+        <h1>{{_i}}Using LESS with Bootstrap{{/i}}</h1>
+        <p class="lead">{{_i}}Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.{{/i}}</p>
       </header>
 
 
@@ -10,35 +10,35 @@
       <!-- BUILT WITH LESS
       ================================================== -->
       <div class="page-header">
-        <h1>Built with LESS</h1>
+        <h1>{{_i}}Built with LESS{{/i}}</h1>
       </div>
       <div class="row">
         <div class="span4">
-          <h3>Why LESS?</h3>
-          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+          <h3>{{_i}}Why LESS?{{/i}}</h3>
+          <p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
         </div>
         <div class="span4">
-          <h3>What's included?</h3>
-          <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
+          <h3>{{_i}}What's included?{{/i}}</h3>
+          <p>{{_i}}As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.{{/i}}</p>
         </div>
         <div class="span4">
-          <h3>Learn more</h3>
+          <h3>{{_i}}Learn more{{/i}}</h3>
           <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
-          <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
+          <p>{{_i}}Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.{{/i}}</p>
         </div>
       </div>
       <div class="row">
         <div class="span4">
-          <h3>Variables</h3>
-          <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
+          <h3>{{_i}}Variables{{/i}}</h3>
+          <p>{{_i}}Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.{{/i}}</p>
         </div>
         <div class="span4">
-          <h3>Mixins</h3>
-          <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
+          <h3>{{_i}}Mixins{{/i}}</h3>
+          <p>{{_i}}Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.{{/i}}</p>
         </div>
         <div class="span4">
-          <h3>Operations</h3>
-          <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
+          <h3>{{_i}}Operations{{/i}}</h3>
+          <p>{{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.{{/i}}</p>
         </div>
       </div>
 
@@ -47,35 +47,35 @@
       <!-- VARIABLES
       ================================================== -->
       <div class="page-header" id="variables">
-        <h1>Variables <small>from variables.less</small></h1>
+        <h1>{{_i}}Variables <small>from variables.less</small>{{/i}}</h1>
       </div>
 
-          <h3>Hyperlinks</h3>
+          <h3>{{_i}}Hyperlinks{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
               <tr>
-                <th>Variable</th>
-                <th>Value</th>
-                <th>Usage</th>
+                <th>{{_i}}Variable{{/i}}</th>
+                <th>{{_i}}Value{{/i}}</th>
+                <th>{{_i}}Usage{{/i}}</th>
               </tr>
             </thead>
             <tbody>
               <tr>
                 <td><code>@linkColor</code></td>
                 <td>#0069d6</td>
-                <td>Default link text color</td>
+                <td>{{_i}}Default link text color{{/i}}</td>
               </tr>
               <tr>
                 <td><code>@linkColorHover</code></td>
                 <td><code>darken(@linkColor, 15)</code></td>
-                <td>Default link text hover color</td>
+                <td>{{_i}}Default link text hover color{{/i}}</td>
               </tr>
             </tbody>
           </table>
 
       <div class="row">
         <div class="span6">
-          <h3>Grayscale colors</h3>
+          <h3>{{_i}}Grayscale colors{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <tbody>
               <tr>
@@ -106,7 +106,7 @@
           </table>
         </div>
         <div class="span6">
-          <h3>Accent colors</h3>
+          <h3>{{_i}}Accent colors{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <tbody>
               <tr>
@@ -144,7 +144,7 @@
 
       <div class="row">
         <div class="span6">
-          <h3>Grid system</h3>
+          <h3>{{_i}}Grid system{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <tbody>
               <tr>
@@ -167,7 +167,7 @@
           </table>
         </div>
         <div class="span6">
-          <h3>Typography</h3>
+          <h3>{{_i}}Typography{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <tbody>
               <tr>
@@ -190,7 +190,7 @@
 
       <div class="row">
         <div class="span3">
-          <h3>Visuals</h3>
+          <h3>{{_i}}Visuals{{/i}}</h3>
         </div>
         <div class="span9">
           <table class="table table-bordered table-striped">
@@ -209,7 +209,7 @@
       <!-- MIXINS
       ================================================== -->
       <div class="page-header" id="mixins">
-        <h1>Mixins <small>from mixins.less</small></h1>
+        <h1>{{_i}}Mixins <small>from mixins.less</small>{{/i}}</h1>
       </div>
 
 
@@ -217,7 +217,7 @@
       <!-- OPERATIONS
       ================================================== -->
       <div class="page-header" id="operations">
-        <h1>Operations</h1>
+        <h1>{{_i}}Operations{{/i}}</h1>
       </div>
 
 
@@ -225,7 +225,7 @@
       <!-- COMPILING LESS AND BOOTSTRAP
       ================================================== -->
       <div class="page-header" id="compiling">
-        <h1>Compiling LESS and Bootstrap</h1>
+        <h1>{{_i}}Compiling LESS and Bootstrap{{/i}}</h1>
       </div>
 
 
@@ -235,25 +235,25 @@
 ================================================== -->
 <section id="less">
 <div class="page-header">
-  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
+  <h1>{{_i}}Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small>{{/i}}</h1>
 </div>
 <div class="row">
   <div class="span3">
-    <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
-    <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
+    <p>{{_i}}Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.{{/i}}</p>
+    <p>{{_i}}Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.{{/i}}</p>
   </div>
   <div class="span9">
-    <h2>How to use it</h2>
-    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
+    <h2>{{_i}}How to use it{{/i}}</h2>
+    <p>{{_i}}Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
 &lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
-<p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
+<p>{{_i}}Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.{{/i}}</p>
 
-    <h2>What’s included</h2>
-    <p>Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.</p>
-    <h3>Variables</h3>
-    <p>Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.</p>
+    <h2>{{_i}}What’s included{{/i}}</h2>
+    <p>{{_i}}Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.{{/i}}</p>
+    <h3>{{_i}}Variables{{/i}}</h3>
+    <p>{{_i}}Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.{{/i}}</p>
 <pre class="prettyprint linenums">
 // Links
 @linkColor:         #8b59c2;
@@ -281,16 +281,16 @@
 @baseline:          18px;
 </pre>
 
-<h3>Commenting</h3>
-<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
+<h3>{{_i}}Commenting{{/i}}</h3>
+<p>{{_i}}Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.{{/i}}</p>
 <pre class="prettyprint linenums">
 // This is a comment
 /* This is also a comment */
 </pre>
 
-<h3>Mixins up the wazoo</h3>
-<p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
-<h4>Font stacks</h4>
+<h3>{{_i}}Mixins up the wazoo{{/i}}</h3>
+<p>{{_i}}Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.{{/i}}</p>
+<h4>{{_i}}Font stacks{{/i}}</h4>
 <pre class="prettyprint linenums">
 #font {
   .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
@@ -307,7 +307,7 @@
   ...
 }
 </pre>
-<h4>Gradients</h4>
+<h4>{{_i}}Gradients{{/i}}</h4>
 <pre class="prettyprint linenums">
 #gradient {
   ...
@@ -326,8 +326,8 @@
 }
 </pre>
 
-<h3>Operations</h3>
-<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
+<h3>{{_i}}Operations{{/i}}</h3>
+<p>{{_i}}Get fancy and perform some math to generate flexible and powerful mixins like the one below.{{/i}}</p>
 <pre class="prettyprint linenums">
 // Griditude
 @gridColumns:       16;
@@ -341,62 +341,62 @@
 }
 </pre>
 
-    <h2 id="compiling">Compiling Less</h2>
-    <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
-    <h3>Ways to compile</h3>
+    <h2 id="compiling">{{_i}}Compiling Less{{/i}}</h2>
+    <p>{{_i}}After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.{{/i}}</p>
+    <h3>{{_i}}Ways to compile{{/i}}</h3>
     <table class="table table-bordered table-striped">
       <thead>
         <tr>
-          <th style="width: 120px;">Method</th>
-          <th>Steps</th>
+          <th style="width: 120px;">{{_i}}Method{{/i}}</th>
+          <th>{{_i}}Steps{{/i}}</th>
         </tr>
       </thead>
       <tbody>
         <tr>
-          <td>Node with makefile</td>
+          <td>{{_i}}Node with makefile{{/i}}</td>
           <td>
-            <p>Install the LESS command line compiler with npm by running the following command:</p>
+            <p>{{_i}}Install the LESS command line compiler with npm by running the following command:{{/i}}</p>
             <pre>$ npm install less</pre>
-            <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
-            <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
+            <p>{{_i}}Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.{{/i}}</p>
+            <p>{{_i}}Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).{{/i}}</p>
           </td>
         </tr>
-          <td>Javascript</td>
+          <td>{{_i}}Javascript{{/i}}</td>
           <td>
-            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.</p>
+            <p>{{_i}}<a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.{{/i}}</p>
 <pre class="prettyprint">
 &lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
 &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
 </pre>
-            <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
+            <p>{{_i}}To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.{{/i}}</p>
           </td>
         </tr>
         <tr>
-          <td>Command line</td>
+          <td>{{_i}}Command line{{/i}}</td>
           <td>
-            <p>Install the LESS command line tool via Node and run the following command:</p>
+            <p>{{_i}}Install the LESS command line tool via Node and run the following command:{{/i}}</p>
               <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
-            <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
+            <p>{{_i}}Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!{{/i}}</p>
           </td>
         </tr>
         <tr>
-          <td><a href="http://incident57.com/less/" target="_blank">Unofficial Mac app</a></td>
+          <td><a href="http://incident57.com/less/" target="_blank">{{_i}}Unofficial Mac app{{/i}}</a></td>
           <td>
-            <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
-            <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
+            <p>{{_i}}<a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.{{/i}}</p>
+            <p>{{_i}}If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.{{/i}}</p>
           </td>
         </tr>
         <tr>
           <td><a href="http://crunchapp.net/" target="_blank">Crunch</a></td>
-          <td>Crunch is a great looking LESS editor and compiler built on Adobe Air.</td>
+          <td>{{_i}}Crunch is a great looking LESS editor and compiler built on Adobe Air.{{/i}}</td>
         </tr>
         <tr>
           <td><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></td>
-          <td>Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.</td>
+          <td>{{_i}}Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.{{/i}}</td>
         </tr>
         <tr>
           <td><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></td>
-          <td>Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.</td>
+          <td>{{_i}}Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.{{/i}}</td>
         </tr>
       </tbody>
     </table>
-- 
GitLab


From f03e170054be081738493c6dace4b37a7a3d40cd Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 14:08:03 -0800
Subject: [PATCH 382/576] scaffolding i18n

---
 docs/templates/pages/scaffolding.mustache | 134 +++++++++++-----------
 1 file changed, 67 insertions(+), 67 deletions(-)

diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index c586af1b91..7c0c12e8f4 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -1,12 +1,12 @@
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
-        <h1>Scaffolding</h1>
-        <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
+        <h1>{{_i}}Scaffolding{{/i}}</h1>
+        <p class="lead">{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}</p>
         <ul class="nav pills">
-          <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-          <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-          <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+          <li><a href="./scaffolding.html#grid-system">{{_i}}Grid system{{/i}}</a></li>
+          <li><a href="./scaffolding.html#layouts">{{_i}}Layouts{{/i}}</a></li>
+          <li><a href="./scaffolding.html#responsive">{{_i}}Responsive design{{/i}}</a></li>
         </ul>
       </header>
 
@@ -16,7 +16,7 @@
 ================================================== -->
 <section id="grid-system">
   <div class="page-header">
-    <h1>Grid system <small>12 columns with a responsive twist</small></h1>
+    <h1>{{_i}}Grid system <small>12 columns with a responsive twist</small>{{/i}}</h1>
   </div>
 
   <h2>Default 940px grid</h2>
@@ -53,8 +53,8 @@
 
   <div class="row">
     <div class="span4">
-      <p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
-      <p>It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.</p>
+      <p>{{_i}}The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.{{/i}}</p>
+      <p>{{_i}}It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.{{/i}}</p>
     </div>
     <div class="span4">
 <pre class="prettyprint linenums">
@@ -65,7 +65,7 @@
 </pre>
     </div>
     <div class="span4">
-      <p>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.</p>
+      <p>{{_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}}</p>
     </div>
   </div><!-- /row -->
 
@@ -84,20 +84,20 @@
 
   <br>
 
-  <h2>Nesting columns</h2>
+  <h2>{{_i}}Nesting columns{{/i}}</h2>
   <div class="row">
     <div class="span6">
-      <p>With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.</p>
-      <h4>Example</h4>
+      <p>{{_i}}With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.{{/i}}</p>
+      <h4>{{_i}}Example{{/i}}</h4>
       <div class="row show-grid">
         <div class="span6">
-          Level 1 of column
+          {{_i}}Level 1 of column{{/i}}
           <div class="row show-grid">
             <div class="span3">
-              Level 2
+              {{_i}}Level 2{{/i}}
             </div>
             <div class="span3">
-              Level 2
+              {{_i}}Level 2{{/i}}
             </div>
           </div>
         </div>
@@ -107,10 +107,10 @@
 <pre class="prettyprint linenums">
 &lt;div class="row"&gt;
   &lt;div class="span12"&gt;
-    Level 1 of column
+    {{_i}}Level 1 of column{{/i}}
     &lt;div class="row"&gt;
-      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
-      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
+      &lt;div class="span6"&gt;{{_i}}Level 2{{/i}}&lt;/div&gt;
+      &lt;div class="span6"&gt;{{_i}}Level 2{{/i}}&lt;/div&gt;
     &lt;/div&gt;
   &lt;/div&gt;
 &lt;/div&gt;
@@ -118,50 +118,50 @@
     </div>
   </div>
 
-  <h2>Grid customization</h2>
+  <h2>{{_i}}Grid customization{{/i}}</h2>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th>Variable</th>
-        <th>Default value</th>
-        <th>Description</th>
+        <th>{{_i}}Variable{{/i}}</th>
+        <th>{{_i}}Default value{{/i}}</th>
+        <th>{{_i}}Description{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>@gridColumns</code></td>
         <td>12</td>
-        <td>Number of columns</td>
+        <td>{{_i}}Number of columns{{/i}}</td>
       </tr>
       <tr>
         <td><code>@gridColumnWidth</code></td>
         <td>60px</td>
-        <td>Width of each column</td>
+        <td>{{_i}}Width of each column{{/i}}</td>
       </tr>
       <tr>
         <td><code>@gridGutterWidth</code></td>
         <td>20px</td>
-        <td>Negative space between columns</td>
+        <td>{{_i}}Negative space between columns{{/i}}</td>
       </tr>
       <tr>
         <td><code>@siteWidth</code></td>
-        <td><em>Computed sum of all columns and gutters</em></td>
-        <td>Counts number of columns and gutters to set width of the <code>.fixed-container()</code> mixin</td>
+        <td><em>{{_i}}Computed sum of all columns and gutters{{/i}}</em></td>
+        <td>{{_i}}Counts number of columns and gutters to set width of the <code>.fixed-container()</code> mixin{{/i}}</td>
       </tr>
     </tbody>
   </table>
   <div class="row">
     <div class="span4">
-      <h3>Variables in LESS</h3>
-      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.</p>
+      <h3>{{_i}}Variables in LESS{{/i}}</h3>
+      <p>{{_i}}Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>How to customize</h3>
-      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.</p>
+      <h3>{{_i}}How to customize{{/i}}</h3>
+      <p>{{_i}}Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Staying responsive</h3>
-      <p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
+      <h3>{{_i}}Staying responsive{{/i}}</h3>
+      <p>{{_i}}Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.{{/i}}</p>
     </div>
   </div><!-- /row -->
 
@@ -173,13 +173,13 @@
 ================================================== -->
 <section id="layouts">
   <div class="page-header">
-    <h1>Layouts <small>Basic templates to create webpages</small></h1>
+    <h1>{{_i}}Layouts <small>Basic templates to create webpages</small>{{/i}}</h1>
   </div>
 
   <div class="row">
     <div class="span6">
-      <h2>Fixed layout</h2>
-      <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div class="container"&gt;</code>.</p>
+      <h2>{{_i}}Fixed layout{{/i}}</h2>
+      <p>{{_i}}The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div class="container"&gt;</code>.{{/i}}</p>
       <div class="mini-layout">
         <div class="mini-layout-body"></div>
       </div>
@@ -192,8 +192,8 @@
 </pre>
     </div><!-- /col -->
     <div class="span6">
-      <h2>Fluid layout</h2>
-      <p><code>&lt;div class="fluid-container"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.</p>
+      <h2>{{_i}}Fluid layout{{/i}}</h2>
+      <p>{{_i}}<code>&lt;div class="fluid-container"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.{{/i}}</p>
       <div class="mini-layout fluid">
         <div class="mini-layout-sidebar"></div>
         <div class="mini-layout-body"></div>
@@ -221,7 +221,7 @@
 ================================================== -->
 <section id="responsive">
   <div class="page-header">
-    <h1>Responsive design <small>Media queries for various devices and resolutions</small></h1>
+    <h1>{{_i}}Responsive design <small>Media queries for various devices and resolutions</small>{{/i}}</h1>
   </div>
   <!-- Supported devices -->
   <div class="row">
@@ -229,42 +229,42 @@
       <img src="assets/img/responsive-illustrations.png" alt="Responsive devices">
     </div>
     <div class="span8">
-      <h2>Supported devices</h2>
-      <p>Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
+      <h2>{{_i}}Supported devices{{/i}}</h2>
+      <p>{{_i}}Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}</p>
       <table class="table table-bordered table-striped">
         <thead>
           <tr>
-            <th>Label</th>
-            <th>Layout width</th>
-            <th>Column width</th>
-            <th>Gutter width</th>
+            <th>{{_i}}Label{{/i}}</th>
+            <th>{{_i}}Layout width{{/i}}</th>
+            <th>{{_i}}Column width{{/i}}</th>
+            <th>{{_i}}Gutter width{{/i}}</th>
           </tr>
         </thead>
         <tbody>
           <tr>
-            <td>Smartphones</td>
+            <td>{{_i}}Smartphones{{/i}}</td>
             <td>480px and below</td>
-            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+            <td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td>
           </tr>
           <tr>
-            <td>Portrait tablets</td>
+            <td>{{_i}}Portrait tablets{{/i}}</td>
             <td>480px to 768px</td>
-            <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
+            <td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td>
           </tr>
           <tr>
-            <td>Landscape tablets</td>
+            <td>{{_i}}Landscape tablets{{/i}}</td>
             <td>768px to 940px</td>
             <td>44px</td>
             <td>20px</td>
           </tr>
           <tr>
-            <td>Default</td>
+            <td>{{_i}}Default{{/i}}</td>
             <td>940px and up</td>
             <td>60px</td>
             <td>20px</td>
           </tr>
           <tr>
-            <td>Large display</td>
+            <td>{{_i}}Large display{{/i}}</td>
             <td>1210px and up</td>
             <td>70px</td>
             <td>30px</td>
@@ -272,12 +272,12 @@
         </tbody>
       </table>
 
-      <h3>What they do</h3>
-      <p>Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
+      <h3>{{_i}}What they do{{/i}}</h3>
+      <p>{{_i}}Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.{{/i}}</p>
       <ul>
-        <li>Modify the width of column in our grid</li>
-        <li>Stack elements instead of float wherever necessary</li>
-        <li>Resize headings and text to be more appropriate for devices</li>
+        <li>{{_i}}Modify the width of column in our grid{{/i}}</li>
+        <li>{{_i}}Stack elements instead of float wherever necessary{{/i}}</li>
+        <li>{{_i}}Resize headings and text to be more appropriate for devices{{/i}}</li>
       </ul>
     </div>
   </div>
@@ -285,29 +285,29 @@
   <br>
 
   <!-- Media query code -->
-  <h2>Using the media queries</h2>
+  <h2>{{_i}}Using the media queries{{/i}}</h2>
   <div class="row">
     <div class="span5">
-      <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
+      <p>{{_i}}Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:{{/i}}</p>
       <ol>
-        <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
-        <li>Add @import "responsive.less" and recompile Bootstrap</li>
-        <li>Compile responsive.less as a separate file and include that</li>
+        <li>{{_i}}Use the compiled responsive version, bootstrap.reponsive.css{{/i}}</li>
+        <li>{{_i}}Add @import "responsive.less" and recompile Bootstrap{{/i}}</li>
+        <li>{{_i}}Compile responsive.less as a separate file and include that{{/i}}</li>
       </ol>
-      <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
+      <p>{{_i}}<strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.{{/i}}</p>
     </div>
     <div class="span7">
 <pre class="prettyprint linenums">
-  // Landscape phones and down
+  // {{_i}}Landscape phones and down{{/i}}
   @media (max-width: 480px) { ... }
 
-  // Landscape phone to portrait tablet
+  // {{_i}}Landscape phone to portrait tablet{{/i}}
   @media (min-width: 480px) and (max-width: 768px) { ... }
 
-  // Portrait tablet to landscape and desktop
+  // {{_i}}Portrait tablet to landscape and desktop{{/i}}
   @media (min-width: 768px) and (max-width: 940px) { ... }
 
-  // Large desktop
+  // {{_i}}Large desktop{{/i}}
   @media (min-width: 1210px) { .. }
 </pre>
     </div>
-- 
GitLab


From f4543ecb19f41f93db94e56601e0a4132ea4828f Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 14:14:01 -0800
Subject: [PATCH 383/576] add i18n to upgrading

---
 docs/templates/pages/upgrading.mustache | 74 ++++++++++++-------------
 1 file changed, 37 insertions(+), 37 deletions(-)

diff --git a/docs/templates/pages/upgrading.mustache b/docs/templates/pages/upgrading.mustache
index 475539284b..cc731eae12 100644
--- a/docs/templates/pages/upgrading.mustache
+++ b/docs/templates/pages/upgrading.mustache
@@ -1,78 +1,78 @@
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
-        <h1>Upgrading to Bootstrap 2</h1>
-        <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
+        <h1>{{_i}}Upgrading to Bootstrap 2{{/i}}</h1>
+        <p class="lead">{{_i}}Learn about significant changes and additions since v1.4 with this handy guide.{{/i}}</p>
       </header>
 
 
 <h2>Rough outline</h2>
 <ul>
-  <li>Docs completely overhauled
+  <li>{{_i}}Docs completely overhauled{{/i}}
     <ul>
-      <li>Responsive thanks to new grid system</li>
-      <li>Now less marketing and more information</li>
-      <li>Extensive use of tables to share classes and elements of most components</li>
-      <li>Broken down into several pages for easier consumption</li>
+      <li>{{_i}}Responsive thanks to new grid system{{/i}}</li>
+      <li>{{_i}}Now less marketing and more information{{/i}}</li>
+      <li>{{_i}}Extensive use of tables to share classes and elements of most components{{/i}}</li>
+      <li>{{_i}}Broken down into several pages for easier consumption{{/i}}</li>
     </ul>
   </li>
-  <li>Updated grid system, now only 12 columns
+  <li>{{_i}}Updated grid system, now only 12 columns{{/i}}
     <ul>
-      <li>Same great classes, but now only 12 columns</li>
-      <li>Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more</li>
+      <li>{{_i}}Same great classes, but now only 12 columns{{/i}}</li>
+      <li>{{_i}}Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more{{/i}}</li>
     </ul>
   </li>
-  <li>New thumbnails (previously media grids)
+  <li>{{_i}}New thumbnails (previously media grids){{/i}}
     <ul>
-      <li><code>.media-grid</code> class has been changed to <code>.thumbnails</code></li>
-      <li>Individual thumbnails now require <code>.thumbnail</code> class</li>
+      <li>{{_i}}<code>.media-grid</code> class has been changed to <code>.thumbnails</code>{{/i}}</li>
+      <li>{{_i}}Individual thumbnails now require <code>.thumbnail</code> class{{/i}}</li>
     </ul>
   </li>
-  <li>Updated forms
+  <li>{{_i}}Updated forms{{/i}}
     <ul>
-      <li>Default form style is now stacked to use less CSS and add flexibility</li>
-      <li>Exact same markup is required for vertical or horizontal forms&mdash;just swap the classes</li>
-      <li>New form defaults for search, inline, vertical, and horizontal</li>
+      <li>{{_i}}Default form style is now stacked to use less CSS and add flexibility{{/i}}</li>
+      <li>{{_i}}Exact same markup is required for vertical or horizontal forms&mdash;just swap the classes{{/i}}</li>
+      <li>{{_i}}New form defaults for search, inline, vertical, and horizontal{{/i}}</li>
     </ul>
   </li>
   <li>Updated tables
     <ul>
-      <li>Table classes made more consistent</li>
-      <li>Removed unused table color options (too much code for such little impact)</li>
+      <li>{{_i}}Table classes made more consistent{{/i}}</li>
+      <li>{{_i}}Removed unused table color options (too much code for such little impact){{/i}}</li>
     </ul>
   </li>
   <li>Typography
     <ul>
-      <li>Right-aligned option for blockquotes if float: right;</li>
-      <li><code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px</li>
-      <li><code>h5</code> elements were dropped from 14px to 12px</li>
-      <li><code>h6</code> elements were dropped from 13px to 11px</li>
+      <li>{{_i}}Right-aligned option for blockquotes if float: right;{{/i}}</li>
+      <li>{{_i}}<code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px{{/i}}</li>
+      <li>{{_i}}<code>h5</code> elements were dropped from 14px to 12px{{/i}}</li>
+      <li>{{_i}}<code>h6</code> elements were dropped from 13px to 11px{{/i}}</li>
     </ul>
   </li>
-  <li>Buttons
+  <li>{{_i}}Buttons{{/i}}
     <ul>
-      <li>Added button bar options</li>
+      <li>{{_i}}Added button bar options{{/i}}</li>
     </ul>
   </li>
-  <li>Examples
+  <li>{{_i}}Examples{{/i}}
     <ul>
-      <li>Fluid examples redone. <code>.fluid-container</code> now requires a <code>.sidebar-left</code> or <code>.sidebar-right</code> as well. Fluid sidebar element has a new class, <code>.fluid-sidebar</code>.</li>
+      <li>{{_i}}Fluid examples redone. <code>.fluid-container</code> now requires a <code>.sidebar-left</code> or <code>.sidebar-right</code> as well. Fluid sidebar element has a new class, <code>.fluid-sidebar</code>.{{/i}}</li>
     </ul>
   </li>
-  <li>Dropdown menus
+  <li>{{_i}}Dropdown menus{{/i}}
     <ul>
-      <li>Updated the <code>.dropdown-menu</code> to tighten up spacing</li>
-      <li>Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow</li>
-      <li>The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.</li>
+      <li>{{_i}}Updated the <code>.dropdown-menu</code> to tighten up spacing{{/i}}</li>
+      <li>{{_i}}Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow{{/i}}</li>
+      <li>{{_i}}The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.{{/i}}</li>
     </ul>
   </li>
-  <li>Navigation
+  <li>{{_i}}Navigation{{/i}}
     <ul>
-      <li>Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code></li>
-      <li>New nav list component added that uses the same base class, <code>.nav</code></li>
-      <li>Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code></li>
-      <li>Pills were restyled to be less rounded by default</li>
-      <li>Pills now have dropdown menu support (they share the same markup and styles as tabs)</li>
+      <li>{{_i}}Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code>{{/i}}</li>
+      <li>{{_i}}New nav list component added that uses the same base class, <code>.nav</code>{{/i}}</li>
+      <li>{{_i}}Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code><{{/i}}/li>
+      <li>{{_i}}Pills were restyled to be less rounded by default{{/i}}</li>
+      <li>{{_i}}Pills now have dropdown menu support (they share the same markup and styles as tabs){{/i}}</li>
     </ul>
   </li>
 </ul>
-- 
GitLab


From a800d6ceac11eb834295567c20e890abf88c64af Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 14:22:02 -0800
Subject: [PATCH 384/576] i18n index

---
 docs/index.html                     |   2 +-
 docs/templates/pages/index.mustache | 106 ++++++++++++++--------------
 2 files changed, 54 insertions(+), 54 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index 1743676b6c..d0c0bcae60 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -136,7 +136,7 @@
             </li>
           </ul>
 
-          <h1>Designed for everyone, everywhere.</h1>
+          <h1Designed for everyone, everywhere.</h1>
           <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
           <div class="row">
             <div class="span4">
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 8927bc640d..1e77d4a25a 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -4,34 +4,34 @@
         ================================================== -->
         <header class="jumbotron masthead">
           <div class="inner">
-            <h1>Bootstrap,<br> from Twitter</h1>
-            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
+            <h1>{{_i}}Bootstrap,<br> from Twitter{{/i}}</h1>
+            <p class="lead">{{_i}}Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.{{/i}}</p>
             <p class="download-info">
-              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
-              <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}Download on GitHub{{/i}}</a>
+              <a href="./scaffolding.html" class="btn btn-large">{{_i}}Get started &rarr;{{/i}}</a>
             </p>
 
             <div class="benefits">
-              <h4>Feature highlights</h4>
+              <h4>{{_i}}Feature highlights{{/i}}</h4>
               <ul>
-                <li><span>&times;</span> Built on LESS</li>
-                <li><span>&times;</span> Complete styleguide docs</li>
-                <li><span>&times;</span> Fully responsive design</li>
-                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-                <li><span>&times;</span> Support for IE7 and up</li>
-                <li><span>&times;</span> Custom jQuery plugins</li>
-                <li><span>&times;</span> Dozens of components</li>
+                <li>{{_i}}<span>&times;</span> Built on LESS{{/i}}</li>
+                <li>{{_i}}<span>&times;</span> Complete styleguide docs{{/i}}</li>
+                <li>{{_i}}<span>&times;</span> Fully responsive design{{/i}}</li>
+                <li>{{_i}}<span>&times;</span> Small footprint (7kb gzipped){{/i}}</li>
+                <li>{{_i}}<span>&times;</span> Support for IE7 and up{{/i}}</li>
+                <li>{{_i}}<span>&times;</span> Custom jQuery plugins{{/i}}</li>
+                <li>{{_i}}<span>&times;</span> Dozens of components{{/i}}</li>
               </ul>
             </div>
           </div>
         </header>
 
         <ul class="quick-links">
-          <li><strong>Quick links</strong></li>
+          <li><strong>{{_i}}Quick links{{/i}}</strong></li>
           <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">{{_i}}Roadmap{{/i}}</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">{{_i}}Changelog{{/i}}</a></li>
           <li class="divider">&middot;</li>
           <li>
             <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
@@ -56,8 +56,8 @@
 
 
         <div class="marketing">
-          <h1>Built with Bootstrap.</h1>
-          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+          <h1>{{_i}}Built with Bootstrap.{{/i}}</h1>
+          <p class="marketing-byline">{{_i}}For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.{{/i}}</p>
           <ul class="thumbnails example-sites">
             <li class="span4">
               <a class="thumbnail" href="http://kippt.com/" target="_blank">
@@ -76,109 +76,109 @@
             </li>
           </ul>
 
-          <h1>Designed for everyone, everywhere.</h1>
-          <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
+          <h1{{_i}}Designed for everyone, everywhere.{{/i}}</h1>
+          <p class="marketing-byline">{{_i}}Need reasons to love Bootstrap? Look no further.{{/i}}</p>
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
-              <h2>Built for and by nerds</h2>
-              <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
+              <h2>{{_i}}Built for and by nerds{{/i}}</h2>
+              <p>{{_i}}Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
-              <h2>For all skill levels</h2>
-              <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
+              <h2>{{_i}}For all skill levels{{/i}}</h2>
+              <p>{{_i}}Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
-              <h2>Cross-everything</h2>
-              <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
+              <h2>{{_i}}Cross-everything{{/i}}</h2>
+              <p>{{_i}}Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
-              <h2>12-column grid</h2>
-              <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
+              <h2>{{_i}}12-column grid{{/i}}</h2>
+              <p>{{_i}}Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
-              <h2>Responsive design</h2>
-              <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
+              <h2>{{_i}}Responsive design{{/i}}</h2>
+              <p>{{_i}}With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
-              <h2>Styleguide docs</h2>
-              <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
+              <h2>{{_i}}Styleguide docs{{/i}}</h2>
+              <p>{{_i}}Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
-              <h2>Growing library</h2>
-              <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+              <h2>{{_i}}Growing library{{/i}}</h2>
+              <p>{{_i}}Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
-              <h2>Custom jQuery plugins</h2>
-              <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
+              <h2>{{_i}}Custom jQuery plugins{{/i}}</h2>
+              <p>{{_i}}What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/less-small.png">
-              <h2>Built on LESS</h2>
-              <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
+              <h2>{{_i}}Built on LESS{{/i}}</h2>
+              <p>{{_i}}Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-html5.png">
               <h3>HTML5</h3>
-              <p>Built to support new HTML5 elements and syntax.</p>
+              <p>{{_i}}Built to support new HTML5 elements and syntax.{{/i}}</p>
             </div>
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-css3.png">
               <h3>CSS3</h3>
-              <p>Progressively enhanced components for ultimate style.</p>
+              <p>{{_i}}Progressively enhanced components for ultimate style.{{/i}}</p>
             </div>
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-github.png">
-              <h3>Open-source</h3>
-              <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
+              <h3>{{_i}}Open-source{{/i}}</h3>
+              <p>{{_i}}Built for and maintained by the community via <a href="https://github.com">GitHub</a>.{{/i}}</p>
             </div>
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-twitter.png">
-              <h3>Made at Twitter</h3>
-              <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
+              <h3>{{_i}}Made at Twitter{{/i}}</h3>
+              <p>{{_i}}Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.{{/i}}</p>
             </div>
           </div><!--/row-->
 
 
           <!-- Quickstart options
           ================================================== -->
-          <h1>Get started in no time.</h1>
-          <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
+          <h1>{{_i}}Get started in no time.{{/i}}</h1>
+          <p class="marketing-byline">{{_i}}Quickly start using Bootstrap within your workflow and development process.{{/i}}</p>
           <table class="table table-bordered getting-started">
             <tbody>
               <tr>
                 <td class="quick-start">
-                  <h3>Hotlink the CSS</h3>
-                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                  <h3>{{_i}}Hotlink the CSS{{/i}}</h3>
+                  <p>{{_i}}For the quickest and easiest start, just copy this snippet into your webpage.{{/i}}</p>
                   <form>
                     <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
                   </form>
                 </td>
                 <td class="quick-start">
-                  <h3>Use it with LESS</h3>
-                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
+                  <h3>{{_i}}Use it with LESS{{/i}}</h3>
+                  <p>{{_i}}A fan of using LESS? No problem, just clone the repo and add these lines:{{/i}}</p>
                   <form>
                     <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
       &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
                   </form>
                 </td>
                 <td class="quick-start">
-                  <h3>Fork on GitHub</h3>
-                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+                  <h3>{{_i}}Fork on GitHub{{/i}}</h3>
+                  <p>{{_i}}Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.{{/i}}</p>
+                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">{{_i}}Bootstrap on GitHub &raquo;{{/i}}</a></p>
                   <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
                 </td>
               </tr>
-- 
GitLab


From fea1dc906e153440896a8c62d89fd2dfa7c39b9a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ga=C3=ABtan=20Muller?= <m.gaetan89@gmail.com>
Date: Tue, 24 Jan 2012 23:23:43 +0100
Subject: [PATCH 385/576] i18n for index page

---
 docs/templates/pages/index.mustache | 116 ++++++++++++++--------------
 1 file changed, 58 insertions(+), 58 deletions(-)

diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 8927bc640d..072ed6da6a 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -4,34 +4,34 @@
         ================================================== -->
         <header class="jumbotron masthead">
           <div class="inner">
-            <h1>Bootstrap,<br> from Twitter</h1>
-            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
+            <h1>{{_i}}Bootstrap,<br> from Twitter{{/i}}</h1>
+            <p class="lead">{{_i}}Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.{{/i}}</p>
             <p class="download-info">
-              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
-              <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}Download on GitHub{{/i}}</a>
+              <a href="./scaffolding.html" class="btn btn-large">{{_i}}Get started &rarr;{{/i}}</a>
             </p>
 
             <div class="benefits">
-              <h4>Feature highlights</h4>
+              <h4>{{_i}}Feature highlights{{/i}}</h4>
               <ul>
-                <li><span>&times;</span> Built on LESS</li>
-                <li><span>&times;</span> Complete styleguide docs</li>
-                <li><span>&times;</span> Fully responsive design</li>
-                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-                <li><span>&times;</span> Support for IE7 and up</li>
-                <li><span>&times;</span> Custom jQuery plugins</li>
-                <li><span>&times;</span> Dozens of components</li>
+                <li><span>&times;</span> {{_i}}Built on LESS{{/i}}</li>
+                <li><span>&times;</span> {{_i}}Complete styleguide docs{{/i}}</li>
+                <li><span>&times;</span> {{_i}}Fully responsive design{{/i}}</li>
+                <li><span>&times;</span> {{_i}}Small footprint (7kb gzipped){{/i}}</li>
+                <li><span>&times;</span> {{_i}}Support for IE7 and up{{/i}}</li>
+                <li><span>&times;</span> {{_i}}Custom jQuery plugins{{/i}}</li>
+                <li><span>&times;</span> {{_i}}Dozens of components{{/i}}</li>
               </ul>
             </div>
           </div>
         </header>
 
         <ul class="quick-links">
-          <li><strong>Quick links</strong></li>
+          <li><strong>{{_i}}Quick links{{/i}}</strong></li>
           <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">{{_i}}Roadmap{{/i}}</a></li>
+          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">{{_i}}Changelog{{/i}}</a></li>
           <li class="divider">&middot;</li>
           <li>
             <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
@@ -40,14 +40,14 @@
             <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
           </li>
 <!--
-          <li><strong>Authors</strong></li>
+          <li><strong>{{_i}}Authors{{/i}}</strong></li>
           <li><a href="http://twitter.com/mdo">@mdo</a></li>
           <li><a href="http://twitter.com/fat">@fat</a></li>
  -->
 
           <li class="divider">&middot;</li>
           <li class="follow-btn">
-            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
+            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">{{_i}}Follow @twbootstrap{{/i}}</a>
           </li>
           <li class="tweet-btn">
             <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
@@ -56,8 +56,8 @@
 
 
         <div class="marketing">
-          <h1>Built with Bootstrap.</h1>
-          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+          <h1>{{_i}}Built with Bootstrap.{{/i}}</h1>
+          <p class="marketing-byline">{{_i}}For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.{{/i}}</p>
           <ul class="thumbnails example-sites">
             <li class="span4">
               <a class="thumbnail" href="http://kippt.com/" target="_blank">
@@ -76,110 +76,110 @@
             </li>
           </ul>
 
-          <h1>Designed for everyone, everywhere.</h1>
-          <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
+          <h1>{{_i}}Designed for everyone, everywhere.{{/i}}</h1>
+          <p class="marketing-byline">{{_i}}Need reasons to love Bootstrap? Look no further.{{/i}}</p>
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
-              <h2>Built for and by nerds</h2>
-              <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
+              <h2>{{_i}}Built for and by nerds{{/i}}</h2>
+              <p>{{_i}}Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.{{_i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
-              <h2>For all skill levels</h2>
-              <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
+              <h2>{{_i}}For all skill levels{{/i}}</h2>
+              <p>{{_i}}Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
-              <h2>Cross-everything</h2>
-              <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
+              <h2>{{_i}}Cross-everything{{/i}}</h2>
+              <p>{{_i}}Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
-              <h2>12-column grid</h2>
-              <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
+              <h2>{{_i}}12-column grid{{/i}}</h2>
+              <p>{{_i}}Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
-              <h2>Responsive design</h2>
-              <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
+              <h2>{{_i}}Responsive design{{/i}}</h2>
+              <p>{{_i}}With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
-              <h2>Styleguide docs</h2>
-              <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
+              <h2>{{_i}}Styleguide docs{{/i}}</h2>
+              <p>{{_i}}Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
-              <h2>Growing library</h2>
-              <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+              <h2>{{_i}}Growing library{{/i}}</h2>
+              <p>{{_i}}Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
-              <h2>Custom jQuery plugins</h2>
-              <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
+              <h2>{{_i}}Custom jQuery plugins{{/i}}</h2>
+              <p>{{_i}}What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/less-small.png">
-              <h2>Built on LESS</h2>
-              <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
+              <h2>{{_i}}Built on LESS{{/i}}</h2>
+              <p>{{_i}}Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-html5.png">
-              <h3>HTML5</h3>
-              <p>Built to support new HTML5 elements and syntax.</p>
+              <h3>{{_i}}HTML5{{/i}}</h3>
+              <p>{{_i}}Built to support new HTML5 elements and syntax.{{/i}}</p>
             </div>
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-css3.png">
-              <h3>CSS3</h3>
-              <p>Progressively enhanced components for ultimate style.</p>
+              <h3>{{_i}}CSS3{{/i}}</h3>
+              <p>{{_i}}Progressively enhanced components for ultimate style.{{/i}}</p>
             </div>
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-github.png">
-              <h3>Open-source</h3>
-              <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
+              <h3>{{_i}}Open-source{{/i}}</h3>
+              <p>{{_i}}Built for and maintained by the community via <a href="https://github.com">GitHub</a>.{{/i}}</p>
             </div>
             <div class="span3">
               <img class="small-icon" src="assets/img/icon-twitter.png">
-              <h3>Made at Twitter</h3>
-              <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
+              <h3>{{_i}}Made at Twitter{{/i}}</h3>
+              <p>{{_i}}Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.{{/i}}</p>
             </div>
           </div><!--/row-->
 
 
           <!-- Quickstart options
           ================================================== -->
-          <h1>Get started in no time.</h1>
-          <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
+          <h1>{{_i}}Get started in no time.{{/i}}</h1>
+          <p class="marketing-byline">{{_i}}Quickly start using Bootstrap within your workflow and development process.{{/i}}</p>
           <table class="table table-bordered getting-started">
             <tbody>
               <tr>
                 <td class="quick-start">
-                  <h3>Hotlink the CSS</h3>
-                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                  <h3>{{_i}}Hotlink the CSS{{/i}}</h3>
+                  <p>{{_i}}For the quickest and easiest start, just copy this snippet into your webpage.{{/i}}</p>
                   <form>
                     <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
                   </form>
                 </td>
                 <td class="quick-start">
-                  <h3>Use it with LESS</h3>
-                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
+                  <h3>{{_i}}Use it with LESS{{/i}}</h3>
+                  <p>{{_i}}A fan of using LESS? No problem, just clone the repo and add these lines:{{/i}}</p>
                   <form>
                     <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
       &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
                   </form>
                 </td>
                 <td class="quick-start">
-                  <h3>Fork on GitHub</h3>
-                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-                  <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+                  <h3>{{_i}}Fork on GitHub{{/i}}</h3>
+                  <p>{{_i}}Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.{{/i}}</p>
+                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">{{_i}}Bootstrap on GitHub &raquo;{{/i}}</a></p>
+                  <p class="current-version">{{_i}}Currently{{/i}} <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
                 </td>
               </tr>
             </tbody>
-- 
GitLab


From fecd4ddd135a893f2c5c103d565e9d1ab110d247 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 14:25:30 -0800
Subject: [PATCH 386/576] docs updates to make the getting started section more
 responsive, updated the benefits to be clearer and swap x for checkmark

---
 bootstrap.css                       |  2 +-
 docs/assets/css/docs.css            | 62 ++++++++------------------
 docs/base-css.html                  |  4 +-
 docs/components.html                |  2 +-
 docs/index.html                     | 68 ++++++++++++++---------------
 docs/javascript.html                |  2 +-
 docs/less.html                      |  2 +-
 docs/templates/pages/index.mustache | 68 ++++++++++++++---------------
 8 files changed, 91 insertions(+), 119 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 845598de29..fb3a3f2ab3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 12:53:25 PST 2012
+ * Date: Tue Jan 24 13:58:10 PST 2012
  */
 article,
 aside,
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 69d9dac568..b8d5bfcdc0 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -83,7 +83,7 @@ section {
 
 /* Benefits list in masthead */
 .benefits {
-  width: 250px;
+  width: 280px;
   position: absolute;
   right: 0;
   bottom: 0;
@@ -105,8 +105,6 @@ section {
   color: #555;
 }
 .benefits span {
-  position: relative;
-  top: -2px;
   padding-right: 5px;
   color: #999;
 }
@@ -200,7 +198,7 @@ section {
 }
 .marketing h1 {
   margin: 36px 0 27px;
-  font-size: 36px;
+  font-size: 40px;
   font-weight: 300;
   text-align: center;
 }
@@ -227,59 +225,28 @@ section {
 
 /* Quickstart section for getting le code
 -------------------------------------------------- */
-.getting-started {
-  background-color: #f5f5f5;
-  background-repeat: repeat-x;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f5f5f5));
-  background-image: -moz-linear-gradient(#f9f9f9, #f5f5f5);
-  background-image: -ms-linear-gradient(#f9f9f9, #f5f5f5);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #f5f5f5));
-  background-image: -webkit-linear-gradient(#f9f9f9, #f5f5f5);
-  background-image: -o-linear-gradient(#f9f9f9, #f5f5f5);
-  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#f5f5f5', GradientType=0)";
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#f5f5f5', GradientType=0);
-  background-image: linear-gradient(#f9f9f9, #f5f5f5);
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-.getting-started {
-  border-color: #eee;
-}
-.getting-started td {
-  width: 33%;
-  border-right: 1px solid #eee;
-}
-.getting-started td + td {
-  border-left: 1px solid #fff;
-}
-.getting-started td:last-child {
-  border-right: 0;
-}
-.quick-start {
-  padding: 17px 20px;
-}
-.quick-start h3,
-.quick-start p {
+.getting-started h3,
+.getting-started p {
   line-height: 18px;
   text-align: center;
   margin-bottom: 9px;
 }
-.quick-start p {
+.getting-started p {
   color: #777;
 }
-.quick-start .current-version,
-.quick-start .current-version a {
+.getting-started .current-version,
+.getting-started .current-version a {
   color: #999;
 }
-.quick-start form {
+.getting-started form {
   margin-bottom: 0;
 }
-.quick-start textarea {
+.getting-started textarea {
   display: block;
-  width: 100%;
+  width: 95%;
   height: auto;
-  margin-bottom: 0;
+  margin-left: auto;
+  margin-right: auto;
   line-height: 21px;
   white-space: nowrap;
   overflow: hidden;
@@ -629,6 +596,11 @@ form.well {
     margin-bottom: 5px;
   }
 
+  /* Space out the getting started sections */
+  .getting-started .span4 {
+    margin-bottom: 18px;
+  }
+
   /* Unfloat the back to top link in footer */
   .footer .pull-right {
     float: none;
diff --git a/docs/base-css.html b/docs/base-css.html
index f21f25f6b3..6485d76a22 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -366,7 +366,7 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here...&lt;/p&gt;
@@ -1105,7 +1105,7 @@
     <div class="span4">
       <div class="form-docs">
         <h3>Redesigned browser states</h3>
-        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in its place for <code>:focus</code>.</p>
+        <p>Bootstrap features styles for browser-supported focused and <code>disabled</code> states. We remove the default Webkit <code>outline</code> and apply a <code>box-shadow</code> in it's place for <code>:focus</code>.</p>
         <hr>
         <h3>Form validation</h3>
         <p>It also includes validation styles for errors, warnings, and success. To use, add the a class to the surrounding <code>.control-group</code>.</p>
diff --git a/docs/components.html b/docs/components.html
index 3a15541c4a..9d28b9e06b 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -1088,7 +1088,7 @@
   <div class="row">
     <div class="span4">
       <h3>Rewritten base class</h3>
-      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outer <code>&lt;div&gt;</code>.</p>
+      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
       <h3>Single alert message</h3>
       <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
       <hr>
diff --git a/docs/index.html b/docs/index.html
index 1743676b6c..25e76cb545 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -74,13 +74,13 @@
             <div class="benefits">
               <h4>Feature highlights</h4>
               <ul>
-                <li><span>&times;</span> Built on LESS</li>
-                <li><span>&times;</span> Complete styleguide docs</li>
-                <li><span>&times;</span> Fully responsive design</li>
-                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-                <li><span>&times;</span> Support for IE7 and up</li>
-                <li><span>&times;</span> Custom jQuery plugins</li>
-                <li><span>&times;</span> Dozens of components</li>
+                <li><span>&#10004;</span> Built on LESS</li>
+                <li><span>&#10004;</span> Complete style guide docs</li>
+                <li><span>&#10004;</span> Fully responsive design</li>
+                <li><span>&#10004;</span> Small CSS footprint (10kb gzipped)</li>
+                <li><span>&#10004;</span> Support for IE7 and up</li>
+                <li><span>&#10004;</span> Custom jQuery plugins</li>
+                <li><span>&#10004;</span> Dozens of components</li>
               </ul>
             </div>
           </div>
@@ -217,33 +217,33 @@
           ================================================== -->
           <h1>Get started in no time.</h1>
           <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-          <table class="table table-bordered getting-started">
-            <tbody>
-              <tr>
-                <td class="quick-start">
-                  <h3>Hotlink the CSS</h3>
-                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
-                  <form>
-                    <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-                  </form>
-                </td>
-                <td class="quick-start">
-                  <h3>Use it with LESS</h3>
-                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
-                  <form>
-                    <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-      &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-                  </form>
-                </td>
-                <td class="quick-start">
-                  <h3>Fork on GitHub</h3>
-                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-                  <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
-                </td>
-              </tr>
-            </tbody>
-          </table>
+
+          <div class="getting-started">
+            <div class="row">
+              <div class="span4">
+                <h3>Hotlink the CSS</h3>
+                <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                <form>
+                  <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+                </form>
+              </div> 
+              <div class="span4">
+                <h3>Use it with LESS.js</h3>
+                <p>A fan of using LESS? No problem, just download the repo and add these lines to your page:</p>
+                <form>
+                  <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+    &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+                </form>
+              </div> 
+              <div class="span4">
+                <h3>Fork on GitHub</h3>
+                <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
+                <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+                <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+              </div> 
+            </div><!-- /row -->
+          </div><!-- /getting-started -->
+
         </div><!-- /.marketing -->
       </div><!-- /#overview -->
      <!-- Footer
diff --git a/docs/javascript.html b/docs/javascript.html
index bdcc622dec..a35c299136 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -856,7 +856,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
           <h3>Markup</h3>
           <p>
-          For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.
+          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.
           </p>
           <h3>Methods</h3>
           <h4>$().popover(options)</h4>
diff --git a/docs/less.html b/docs/less.html
index cc8197118c..cd486ac986 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -75,7 +75,7 @@
       <div class="row">
         <div class="span4">
           <h3>Why LESS?</h3>
-          <p>Bootstrap is made with LESS at its core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
         </div>
         <div class="span4">
           <h3>What's included?</h3>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 8927bc640d..dc99d2c83e 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -14,13 +14,13 @@
             <div class="benefits">
               <h4>Feature highlights</h4>
               <ul>
-                <li><span>&times;</span> Built on LESS</li>
-                <li><span>&times;</span> Complete styleguide docs</li>
-                <li><span>&times;</span> Fully responsive design</li>
-                <li><span>&times;</span> Small footprint (7kb gzipped)</li>
-                <li><span>&times;</span> Support for IE7 and up</li>
-                <li><span>&times;</span> Custom jQuery plugins</li>
-                <li><span>&times;</span> Dozens of components</li>
+                <li><span>&#10004;</span> Built on LESS</li>
+                <li><span>&#10004;</span> Complete style guide docs</li>
+                <li><span>&#10004;</span> Fully responsive design</li>
+                <li><span>&#10004;</span> Small CSS footprint (10kb gzipped)</li>
+                <li><span>&#10004;</span> Support for IE7 and up</li>
+                <li><span>&#10004;</span> Custom jQuery plugins</li>
+                <li><span>&#10004;</span> Dozens of components</li>
               </ul>
             </div>
           </div>
@@ -157,32 +157,32 @@
           ================================================== -->
           <h1>Get started in no time.</h1>
           <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-          <table class="table table-bordered getting-started">
-            <tbody>
-              <tr>
-                <td class="quick-start">
-                  <h3>Hotlink the CSS</h3>
-                  <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
-                  <form>
-                    <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-                  </form>
-                </td>
-                <td class="quick-start">
-                  <h3>Use it with LESS</h3>
-                  <p>A fan of using LESS? No problem, just clone the repo and add these lines:</p>
-                  <form>
-                    <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-      &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-                  </form>
-                </td>
-                <td class="quick-start">
-                  <h3>Fork on GitHub</h3>
-                  <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-                  <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-                  <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
-                </td>
-              </tr>
-            </tbody>
-          </table>
+
+          <div class="getting-started">
+            <div class="row">
+              <div class="span4">
+                <h3>Hotlink the CSS</h3>
+                <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                <form>
+                  <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+                </form>
+              </div> 
+              <div class="span4">
+                <h3>Use it with LESS.js</h3>
+                <p>A fan of using LESS? No problem, just download the repo and add these lines to your page:</p>
+                <form>
+                  <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
+    &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
+                </form>
+              </div> 
+              <div class="span4">
+                <h3>Fork on GitHub</h3>
+                <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
+                <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
+                <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
+              </div> 
+            </div><!-- /row -->
+          </div><!-- /getting-started -->
+
         </div><!-- /.marketing -->
       </div><!-- /#overview -->
\ No newline at end of file
-- 
GitLab


From ef869776e5a4642f3cab1589cfef5d199a347362 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotrek=20Oko=C5=84ski?= <piotrek@okonski.org>
Date: Wed, 25 Jan 2012 00:00:35 +0100
Subject: [PATCH 387/576] Wrap stuff in components.mustache

---
 docs/templates/pages/components.mustache | 666 +++++++++++------------
 1 file changed, 333 insertions(+), 333 deletions(-)

diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 20d7ae9214..e926e8702b 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -1,18 +1,18 @@
   <!-- Masthead
   ================================================== -->
   <header class="jumbotron subhead" id="overview">
-    <h1>Components</h1>
-    <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+    <h1>{{_i}}Components{{/i}}</h1>
+    <p class="lead">{{_i}}Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.{{/i}}</p>
     <ul class="nav pills">
-      <li><a href="./components.html#buttonGroups">Button groups</a></li>
-      <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
-      <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-      <li><a href="./components.html#navbar">Navbar</a></li>
-      <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-      <li><a href="./components.html#pagination">Pagination</a></li>
-      <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-      <li><a href="./components.html#alerts">Alerts</a></li>
-      <li><a href="./components.html#progress">Progress bars</a></li>
+      <li><a href="./components.html#buttonGroups">{{_i}}Button groups{{/i}}</a></li>
+      <li><a href="./components.html#buttonDropdowns">{{_i}}Button dropdowns{{/i}}</a></li>
+      <li><a href="./components.html#navs">{{_i}}Nav, tabs, pills{{/i}}</a></li>
+      <li><a href="./components.html#navbar">{{_i}}Navbar{{/i}}</a></li>
+      <li><a href="./components.html#breadcrumbs">{{_i}}Breadcrumbs{{/i}}</a></li>
+      <li><a href="./components.html#pagination">{{_i}}Pagination{{/i}}</a></li>
+      <li><a href="./components.html#thumbnails">{{_i}}Thumbnails{{/i}}</a></li>
+      <li><a href="./components.html#alerts">{{_i}}Alerts{{/i}}</a></li>
+      <li><a href="./components.html#progress">{{_i}}Progress bars{{/i}}</a></li>
     </ul>
   </header>
 
@@ -22,18 +22,18 @@
   ================================================== -->
   <section id="buttonGroups">
     <div class="page-header">
-      <h1>Button groups <small>Join buttons for more toolbar-like functionality</small></h1>
+      <h1>{{_i}}Button groups{{/i}} <small>{{_i}}Join buttons for more toolbar-like functionality{{/i}}</small></h1>
     </div>
     <div class="row">
       <div class="span4">
-        <h3>Button groups</h3>
-        <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
-        <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
+        <h3>{{_i}}Button groups{{/i}}</h3>
+        <p>{{_i}}Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.{{/i}}</p>
+        <p>{{_i}}You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.{{/i}}</p>
         <div class="well" style="padding: 10px; margin-bottom: 9px;">
           <div class="btn-group">
-            <a class="btn" href="#">Left</a>
-            <a class="btn" href="#">Middle</a>
-            <a class="btn" href="#">Right</a>
+            <a class="btn" href="#">{{_i}}Left{{/i}}</a>
+            <a class="btn" href="#">{{_i}}Middle{{/i}}</a>
+            <a class="btn" href="#">{{_i}}Right{{/i}}</a>
           </div>
         </div>
         <div class="well" style="padding: 10px;">
@@ -57,8 +57,8 @@
 
       </div>
       <div class="span4">
-        <h3>Example markup</h3>
-        <p>Here's how the HTML looks for a standard button group built with anchor tag buttons:</p>
+        <h3>{{_i}}Example markup{{/i}}</h3>
+        <p>{{_i}}Here's how the HTML looks for a standard button group built with anchor tag buttons:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="btn-group"&gt;
   &lt;a class="btn" href="#"&gt;1&lt;/a&gt;
@@ -66,7 +66,7 @@
   &lt;a class="btn" href="#"&gt;3&lt;/a&gt;
 &lt;/div&gt;
 </pre>
-      <p>And with a toolbar for multiple groups:</p>
+      <p>{{_i}}And with a toolbar for multiple groups:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="btn-toolbar"&gt;
   &lt;div class="btn-group"&gt;
@@ -76,12 +76,12 @@
 </pre>
       </div>
       <div class="span4">
-        <h3>Checkbox and radio flavors</h3>
-        <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
-        <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
+        <h3>{{_i}}Checkbox and radio flavors{{/i}}</h3>
+        <p>{{_i}}Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.{{/i}}</p>
+        <p><a class="btn js-btn" href="./javascript.html#buttons">{{_i}}Get the javascript &raquo;{{/i}}</a></p>
         <hr>
-        <h4 class="muted">Heads up</h4>
-        <p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
+        <h4 class="muted">{{_i}}Heads up{{/i}}</h4>
+        <p class="muted">{{_i}}CSS for button groups is in a separate file, button-groups.less.{{/i}}</p>
       </div>
     </div>
   </section>
@@ -92,85 +92,85 @@
   ================================================== -->
   <section id="buttonDropdowns">
     <div class="page-header">
-      <h1>Split button dropdowns <small>Built on button groups to provide contextual menus</small></h1>
+      <h1>{{_i}}Split button dropdowns{{/i}} <small>{{_i}}Built on button groups to provide contextual menus{{/i}}</small></h1>
     </div>
     <div class="row">
       <div class="span4">
-        <h3>Split button dropdowns</h3>
-        <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
+        <h3>{{_i}}Split button dropdowns{{/i}}</h3>
+        <p>{{_i}}Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.{{/i}}</p>
         <div class="well" style="padding: 10px; margin-bottom: 9px;">
           <div class="btn-toolbar" style="margin-bottom: 9px;">
             <div class="btn-group">
-              <a class="btn" href="#">Action</a>
+              <a class="btn" href="#">{{_i}}Action{{/i}}</a>
               <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
               <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </div><!-- /btn-group -->
             <div class="btn-group">
-              <a class="btn primary" href="#">Action</a>
+              <a class="btn primary" href="#">{{_i}}Action{{/i}}</a>
               <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
               <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </div><!-- /btn-group -->
             <div class="btn-group">
-              <a class="btn danger" href="#">Danger</a>
+              <a class="btn danger" href="#">{{_i}}Danger{{/i}}</a>
               <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
               <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </div><!-- /btn-group -->
           </div>
           <div class="btn-toolbar">
             <div class="btn-group">
-              <a class="btn success" href="#">Success</a>
+              <a class="btn success" href="#">{{_i}}Success{{/i}}</a>
               <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
               <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </div><!-- /btn-group -->
             <div class="btn-group">
-              <a class="btn info" href="#">Info</a>
+              <a class="btn info" href="#">{{_i}}Info{{/i}}</a>
               <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
               <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
+                <li><a href="#">{{_i}}Action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
                 <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
+                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
               </ul>
             </div><!-- /btn-group -->
           </div>
         </div> <!-- /well -->
       </div>
       <div class="span8">
-        <h3>Example markup</h3>
-        <p>Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.</p>
+        <h3>{{_i}}Example markup{{/i}}</h3>
+        <p>{{_i}}Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="btn-group"&gt;
-  &lt;a class="btn" href="#"&gt;Action&lt;/a&gt;
+  &lt;a class="btn" href="#"&gt;{{_i}}Action{{/i}}&lt;/a&gt;
   &lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&gt;
     &lt;span class="caret"&gt;&lt;/span&gt;
   &lt;/a&gt;
   &lt;ul class="dropdown-menu"&gt;
-    &lt;!-- dropdown menu links --&gt;
+    &lt;!-- {{_i}}dropdown menu links{{/i}} --&gt;
   &lt;/ul&gt;
 &lt;/div&gt;
 </pre>
@@ -184,30 +184,30 @@
 ================================================== -->
 <section id="navs">
   <div class="page-header">
-    <h1>Nav, tabs, and pills <small>Highly customizable list-style navigation</small></h1>
+    <h1>{{_i}}Nav, tabs, and pills{{/i}} <small>{{_i}}Highly customizable list-style navigation{{/i}}</small></h1>
   </div>
 
-  <h2>Lightweight defaults <small>Same markup, different classes</small></h2>
+  <h2>{{_i}}Lightweight defaults{{/i}} <small>{{_i}}Same markup, different classes{{/i}}</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>Powerful base class</h3>
-      <p>All nav components here&mdash;tabs, pills, and lists&mdash;<strong>share the same base markup and styles</strong> through the <code>.nav</code> class.</p>
-      <h3>Why tabs and pills</h3>
-      <p>Tabs and pills in Bootstrap are built on a <code>&lt;ul&gt;</code> with the same core HTML, a list of links. Swap between tabs or pills with only a class.</p>
-      <p>Both options are great for sub-sections of content or navigating between pages of related content.</p>
+      <h3>{{_i}}Powerful base class{{/i}}</h3>
+      <p>{{_i}}All nav components here&mdash;tabs, pills, and lists&mdash;<strong>share the same base markup and styles</strong> through the <code>.nav</code> class.{{/i}}</p>
+      <h3>{{_i}}Why tabs and pills{{/i}}</h3>
+      <p>{{_i}}Tabs and pills in Bootstrap are built on a <code>&lt;ul&gt;</code> with the same core HTML, a list of links. Swap between tabs or pills with only a class.{{/i}}</p>
+      <p>{{_i}}Both options are great for sub-sections of content or navigating between pages of related content.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Basic tabs</h3>
-      <p>Take a regular <code>&lt;ul&gt;</code> of links and add <code>.tabs</code>:</p>
+      <h3>{{_i}}Basic tabs{{/i}}</h3>
+      <p>{{_i}}Take a regular <code>&lt;ul&gt;</code> of links and add <code>.tabs</code>:{{/i}}</p>
       <ul class="nav tabs">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
+        <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+        <li><a href="#">{{_i}}Profile{{/i}}</a></li>
+        <li><a href="#">{{_i}}Messages{{/i}}</a></li>
       </ul>
 <pre class="prettyprint linenums">
 &lt;ul class="nav tabs"&gt;
   &lt;li class="active"&gt;
-    &lt;a href="#"&gt;Home&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Home{{/i}}&lt;/a&gt;
   &lt;/li&gt;
   &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
@@ -215,17 +215,17 @@
 </pre>
     </div>
     <div class="span4">
-      <h3>Basic pills</h3>
-      <p>Take that same HTML, but use <code>.pills</code> instead:</p>
+      <h3>{{_i}}Basic pills{{/i}}</h3>
+      <p>{{_i}}Take that same HTML, but use <code>.pills</code> instead:{{/i}}</p>
       <ul class="nav pills">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
+        <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+        <li><a href="#">{{_i}}Profile{{/i}}</a></li>
+        <li><a href="#">{{_i}}Messages{{/i}}</a></li>
       </ul>
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
   &lt;li class="active"&gt;
-    &lt;a href="#"&gt;Home&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Home{{/i}}&lt;/a&gt;
   &lt;/li&gt;
   &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="#"&gt;...&lt;/a&gt;&lt;/li&gt;
@@ -234,18 +234,18 @@
     </div>
   </div>
 
-  <h2>Stackable <small>Make tabs or pills vertical</small></h2>
+  <h2>{{_i}}Stackable{{/i}} <small>{{_i}}Make tabs or pills vertical{{/i}}</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>How to stack 'em</h3>
-      <p>As tabs and pills are horizontal by default, just add a second class, <code>.stacked</code>, to make them appear vertically stacked.</p>
+      <h3>{{_i}}How to stack 'em{{/i}}</h3>
+      <p>{{_i}}As tabs and pills are horizontal by default, just add a second class, <code>.stacked</code>, to make them appear vertically stacked.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Stacked tabs</h3>
+      <h3>{{_i}}Stacked tabs{{/i}}</h3>
       <ul class="nav tabs stacked">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
+        <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+        <li><a href="#">{{_i}}Profile{{/i}}</a></li>
+        <li><a href="#">{{_i}}Messages{{/i}}</a></li>
       </ul>
 <pre class="prettyprint linenums">
 &lt;ul class="nav tabs stacked"&gt;
@@ -254,11 +254,11 @@
 </pre>
     </div>
     <div class="span4">
-      <h3>Stacked pills</h3>
+      <h3>{{_i}}Stacked pills{{/i}}</h3>
       <ul class="nav pills stacked">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
-        <li><a href="#">Messages</a></li>
+        <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+        <li><a href="#">{{_i}}Profile{{/i}}</a></li>
+        <li><a href="#">{{_i}}Messages{{/i}}</a></li>
       </ul>
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills stacked"&gt;
@@ -268,26 +268,26 @@
     </div>
   </div>
 
-  <h2>Dropdowns <small>For advanced nav components</small></h2>
+  <h2>{{_i}}Dropdowns{{/i}} <small>{{_i}}For advanced nav components{{/i}}</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>Rich menus made easy</h3>
-      <p>Dropdown menus in Bootstrap tabs and pills are super easy and require only a little extra HTML and a lightweight jQuery plugin.</p>
-      <p>Head over to the Javascript page to read the docs on <a href="./javascript.html#tabs">initializing dropdowns</a> in Bootstrap.</p>
+      <h3>{{_i}}Rich menus made easy{{/i}}</h3>
+      <p>{{_i}}Dropdown menus in Bootstrap tabs and pills are super easy and require only a little extra HTML and a lightweight jQuery plugin.{{/i}}</p>
+      <p>{{_i}}Head over to the Javascript page to read the docs on <a href="./javascript.html#tabs">initializing dropdowns</a> in Bootstrap.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Tabs with dropdowns</h3>
+      <h3>{{_i}}Tabs with dropdowns{{/i}}</h3>
       <ul class="nav tabs">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
+        <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+        <li><a href="#">{{_i}}Profile{{/i}}</a></li>
         <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
           <ul class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
+            <li><a href="#">{{_i}}Action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
             <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
+            <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
           </ul>
         </li>
       </ul>
@@ -297,29 +297,29 @@
     &lt;a class="dropdown-toggle"
        data-toggle="dropdown"
        href="#"&gt;
-        Dropdown
+        {{_i}}Dropdown{{/i}}
         &lt;b class="caret"&gt;&lt;/b&gt;
       &lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
-      &lt;!-- links --&gt;
+      &lt;!-- {{_i}}links{{/i}} --&gt;
     &lt;/ul&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
     </div>
     <div class="span4">
-      <h3>Pills with dropdowns</h3>
+      <h3>{{_i}}Pills with dropdowns{{/i}}</h3>
       <ul class="nav pills">
-        <li class="active"><a href="#">Home</a></li>
-        <li><a href="#">Profile</a></li>
+        <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+        <li><a href="#">{{_i}}Profile{{/i}}</a></li>
         <li class="dropdown">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
           <ul class="dropdown-menu">
-            <li><a href="#">Action</a></li>
-            <li><a href="#">Another action</a></li>
-            <li><a href="#">Something else here</a></li>
+            <li><a href="#">{{_i}}Action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
             <li class="divider"></li>
-            <li><a href="#">Separated link</a></li>
+            <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
           </ul>
         </li>
       </ul>
@@ -329,11 +329,11 @@
     &lt;a class="dropdown-toggle"
        data-toggle="dropdown"
        href="#"&gt;
-        Dropdown
+        {{_i}}Dropdown{{/i}}
         &lt;b class="caret"&gt;&lt;/b&gt;
       &lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
-      &lt;!-- links --&gt;
+      &lt;!-- {{_i}}links{{/i}} --&gt;
     &lt;/ul&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
@@ -341,58 +341,58 @@
     </div>
   </div>
 
-  <h2>Nav lists <small>Build simple stacked navs, great for sidebars</small></h2>
+  <h2>{{_i}}Nav lists{{/i}} <small>{{_i}}Build simple stacked navs, great for sidebars{{/i}}</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>Application-style navigation</h3>
-      <p>Nav lists provide a simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.</p>
-      <p>Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.</p>
-      <h4>With icons</h4>
-      <p>Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.</p>
+      <h3>{{_i}}Application-style navigation{{/i}}</h3>
+      <p>{{_i}}Nav lists provide a simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.{{/i}}</p>
+      <p>{{_i}}Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.{{/i}}</p>
+      <h4>{{_i}}With icons{{/i}}</h4>
+      <p>{{_i}}Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Example nav list</h3>
-      <p>Take a list of links and add <code>class="nav list"</code>:</p>
+      <h3>{{_i}}Example nav list{{/i}}</h3>
+      <p>{{_i}}Take a list of links and add <code>class="nav list"</code>:{{/i}}</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
-          <li class="nav-header">List header</li>
-          <li class="active"><a href="#">Home</a></li>
-          <li><a href="#">Library</a></li>
-          <li><a href="#">Applications</a></li>
-          <li class="nav-header">Another list header</li>
-          <li><a href="#">Profile</a></li>
-          <li><a href="#">Settings</a></li>
-          <li><a href="#">Help</a></li>
+          <li class="nav-header">{{_i}}List header{{/i}}</li>
+          <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+          <li><a href="#">{{_i}}Library{{/i}}</a></li>
+          <li><a href="#">{{_i}}Applications{{/i}}</a></li>
+          <li class="nav-header">{{_i}}Another list header{{/i}}</li>
+          <li><a href="#">{{_i}}Profile{{/i}}</a></li>
+          <li><a href="#">{{_i}}Settings{{/i}}</a></li>
+          <li><a href="#">{{_i}}Help{{/i}}</a></li>
         </ul>
       </div> <!-- /well -->
 <pre class="prettyprint linenums">
 &lt;ul class="nav list"&gt;
   &lt;li class="nav-header"&gt;
-    List header
+    {{_i}}List header{{/i}}
   &lt;/li&gt;
   &lt;li class="active"&gt;
-    &lt;a href="#"&gt;Home&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Home{{/i}}&lt;/a&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;a href="#"&gt;Library&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Library{{/i}}&lt;/a&gt;
   &lt;/li&gt;
   ...
 &lt;/ul&gt;
 </pre>
     </div>
     <div class="span4">
-      <h3>Example with icons</h3>
-      <p>Same example, but with <code>&lt;i&gt;</code> tags for icons.</p>
+      <h3>{{_i}}Example with icons{{/i}}</h3>
+      <p>{{_i}}Same example, but with <code>&lt;i&gt;</code> tags for icons.{{/i}}</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
-          <li class="nav-header">List header</li>
-          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
-          <li><a href="#"><i class="book"></i> Library</a></li>
-          <li><a href="#"><i class="pencil"></i> Applications</a></li>
-          <li class="nav-header">Another list header</li>
-          <li><a href="#"><i class="user"></i> Profile</a></li>
-          <li><a href="#"><i class="cog"></i> Settings</a></li>
-          <li><a href="#"><i class="flag"></i> Help</a></li>
+          <li class="nav-header">{{_i}}List header{{/i}}</li>
+          <li class="active"><a href="#"><i class="home"></i> {{_i}}Home{{/i}}</a></li>
+          <li><a href="#"><i class="book"></i> {{_i}}Library{{/i}}</a></li>
+          <li><a href="#"><i class="pencil"></i> {{_i}}Applications{{/i}}</a></li>
+          <li class="nav-header">{{_i}}Another list header{{/i}}</li>
+          <li><a href="#"><i class="user"></i> {{_i}}Profile{{/i}}</a></li>
+          <li><a href="#"><i class="cog"></i> {{_i}}Settings{{/i}}</a></li>
+          <li><a href="#"><i class="flag"></i> {{_i}}Help{{/i}}</a></li>
         </ul>
       </div> <!-- /well -->
 <pre class="prettyprint linenums">
@@ -401,7 +401,7 @@
   &lt;li&gt;
     &lt;a href="#"&gt;
       &lt;i class="book"&gt;&lt;/i&gt;
-      Library
+      {{_i}}Library{{/i}}
     &lt;/a&gt;
   &lt;/li&gt;
   ...
@@ -411,62 +411,62 @@
   </div>
 
 
-  <h2>Tabbable nav <small>Bring tabs to life via javascript</small></h2>
+  <h2>{{_i}}Tabbable nav{{/i}} <small>{{_i}}Bring tabs to life via javascript{{/i}}</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>What's included</h3>
-      <p>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.</p>
-      <p>Changing between them is easy and only requires changing very little markup.</p>
+      <h3>{{_i}}What's included{{/i}}</h3>
+      <p>{{_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}}</p>
+      <p>{{_i}}Changing between them is easy and only requires changing very little markup.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Tabbable example</h3>
-      <p>To make tabs tabbable, wrap the <code>.tabs</code> in another div with class <code>.tabbable</code>.</p>
+      <h3>{{_i}}Tabbable example{{/i}}</h3>
+      <p>{{_i}}To make tabs tabbable, wrap the <code>.tabs</code> in another div with class <code>.tabbable</code>.{{/i}}</p>
       <div class="tabbable" style="margin-bottom: 9px;">
         <ul class="nav tabs">
-          <li class="active"><a href="#1" data-toggle="tab">Section 1</a></li>
-          <li><a href="#2" data-toggle="tab">Section 2</a></li>
-          <li><a href="#3" data-toggle="tab">Section 3</a></li>
+          <li class="active"><a href="#1" data-toggle="tab">{{_i}}Section 1{{/i}}</a></li>
+          <li><a href="#2" data-toggle="tab">{{_i}}Section 2{{/i}}</a></li>
+          <li><a href="#3" data-toggle="tab">{{_i}}Section 3{{/i}}</a></li>
         </ul>
         <div class="tab-content">
           <div class="tab-pane active" id="1">
-            <p>I'm in Section 1.</p>
+            <p>{{_i}}I'm in Section 1.{{/i}}</p>
           </div>
           <div class="tab-pane" id="2">
-            <p>Howdy, I'm in Section 2.</p>
+            <p>{{_i}}Howdy, I'm in Section 2.{{/i}}</p>
           </div>
           <div class="tab-pane" id="3">
-            <p>What up girl, this is Section 3.</p>
+            <p>{{_i}}What up girl, this is Section 3.{{/i}}</p>
           </div>
         </div>
       </div> <!-- /tabbable -->
     </div>
     <div class="span4">
-      <h3>Custom jQuery plugin</h3>
-      <p>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.</p>
-      <p><a class="btn" href="./javascript.html/#tabs">Get the javascript &rarr;</a></p>
+      <h3>{{_i}}Custom jQuery plugin{{/i}}</h3>
+      <p>{{_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}}</p>
+      <p><a class="btn" href="./javascript.html/#tabs">{{_i}}Get the javascript &rarr;{{/i}}</a></p>
     </div>
   </div>
 
-  <h3>Straightforward markup</h3>
-  <p>Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.</p>
+  <h3>{{_i}}Straightforward markup{{/i}}</h3>
+  <p>{{_i}}Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="tabbable"&gt;
   &lt;ul class="nav tabs"&gt;
-    &lt;li class="active"&gt;&lt;a href="#1" data-toggle="tab"&gt;Section 1&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href="#2" data-toggle="tab"&gt;Section 2&lt;/a&gt;&lt;/li&gt;
+    &lt;li class="active"&gt;&lt;a href="#1" data-toggle="tab"&gt;{{_i}}Section 1{{/i}}&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href="#2" data-toggle="tab"&gt;{{_i}}Section 2{{/i}}&lt;/a&gt;&lt;/li&gt;
   &lt;/ul&gt;
   &lt;div class="tab-content"&gt;
     &lt;div class="tab-pane active" id="1"&gt;
-      &lt;p&gt;I'm in Section 1.&lt;/p&gt;
+      &lt;p&gt;{{_i}}I'm in Section 1.{{/i}}&lt;/p&gt;
     &lt;/div&gt;
     &lt;div class="tab-pane" id="2"&gt;
-      &lt;p&gt;Howdy, I'm in Section 2.&lt;/p&gt;
+      &lt;p&gt;{{_i}}Howdy, I'm in Section 2.{{/i}}&lt;/p&gt;
     &lt;/div&gt;
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
 
-  <h3>Tabbable in any direction</h3>
+  <h3>{{_i}}Tabbable in any direction{{/i}}</h3>
   <div class="row">
 <!--
     <div class="span4">
@@ -474,24 +474,24 @@
     </div>
 -->
     <div class="span4">
-      <h4>Tabs on the bottom</h4>
-      <p>Flip the order of the HTML and add a class to put tabs on the bottom.</p>
+      <h4>{{_i}}Tabs on the bottom{{/i}}</h4>
+      <p>{{_i}}Flip the order of the HTML and add a class to put tabs on the bottom.{{/i}}</p>
       <div class="tabbable tabs-below">
         <div class="tab-content">
           <div class="tab-pane active" id="A">
-            <p>I'm in Section A.</p>
+            <p>{{_i}}I'm in Section A.{{/i}}</p>
           </div>
           <div class="tab-pane" id="B">
-            <p>Howdy, I'm in Section B.</p>
+            <p>{{_i}}Howdy, I'm in Section B.{{/i}}</p>
           </div>
           <div class="tab-pane" id="C">
-            <p>What up girl, this is Section C.</p>
+            <p>{{_i}}What up girl, this is Section C.{{/i}}</p>
           </div>
         </div>
         <ul class="nav tabs">
-          <li class="active"><a href="#A" data-toggle="tab">Section 1</a></li>
-          <li><a href="#B" data-toggle="tab">Section 2</a></li>
-          <li><a href="#C" data-toggle="tab">Section 3</a></li>
+          <li class="active"><a href="#A" data-toggle="tab">{{_i}}Section 1{{/i}}</a></li>
+          <li><a href="#B" data-toggle="tab">{{_i}}Section 2{{/i}}</a></li>
+          <li><a href="#C" data-toggle="tab">{{_i}}Section 3{{/i}}</a></li>
         </ul>
       </div> <!-- /tabbable -->
 <pre class="prettyprint linenums" style="margin-top: 11px;">
@@ -506,23 +506,23 @@
 </pre>
     </div>
     <div class="span4">
-      <h4>Tabs on the left</h4>
-      <p>Swap the class to put tabs on the left.</p>
+      <h4>{{_i}}Tabs on the left{{/i}}</h4>
+      <p>{{_i}}Swap the class to put tabs on the left.{{/i}}</p>
       <div class="tabbable tabs-left">
         <ul class="nav tabs">
-          <li class="active"><a href="#lA" data-toggle="tab">Section 1</a></li>
-          <li><a href="#lB" data-toggle="tab">Section 2</a></li>
-          <li><a href="#lC" data-toggle="tab">Section 3</a></li>
+          <li class="active"><a href="#lA" data-toggle="tab">{{_i}}Section 1{{/i}}</a></li>
+          <li><a href="#lB" data-toggle="tab">{{_i}}Section 2{{/i}}</a></li>
+          <li><a href="#lC" data-toggle="tab">{{_i}}Section 3{{/i}}</a></li>
         </ul>
         <div class="tab-content">
           <div class="tab-pane active" id="lA">
-            <p>I'm in Section A.</p>
+            <p>{{_i}}I'm in Section A.{{/i}}</p>
           </div>
           <div class="tab-pane" id="lB">
-            <p>Howdy, I'm in Section B.</p>
+            <p>{{_i}}Howdy, I'm in Section B.{{/i}}</p>
           </div>
           <div class="tab-pane" id="lC">
-            <p>What up girl, this is Section C.</p>
+            <p>{{_i}}What up girl, this is Section C.{{/i}}</p>
           </div>
         </div>
       </div> <!-- /tabbable -->
@@ -538,23 +538,23 @@
 </pre>
     </div>
     <div class="span4">
-      <h4>Tabs on the right</h4>
-      <p>Swap the class to put tabs on the right.</p>
+      <h4>{{_i}}Tabs on the right{{/i}}</h4>
+      <p>{{_i}}Swap the class to put tabs on the right.{{/i}}</p>
       <div class="tabbable tabs-right">
         <ul class="nav tabs">
-          <li class="active"><a href="#rA" data-toggle="tab">Section 1</a></li>
-          <li><a href="#rB" data-toggle="tab">Section 2</a></li>
-          <li><a href="#rC" data-toggle="tab">Section 3</a></li>
+          <li class="active"><a href="#rA" data-toggle="tab">{{_i}}Section 1{{/i}}</a></li>
+          <li><a href="#rB" data-toggle="tab">{{_i}}Section 2{{/i}}</a></li>
+          <li><a href="#rC" data-toggle="tab">{{_i}}Section 3{{/i}}</a></li>
         </ul>
         <div class="tab-content">
           <div class="tab-pane active" id="rA">
-            <p>I'm in Section A.</p>
+            <p>{{_i}}I'm in Section A.{{/i}}</p>
           </div>
           <div class="tab-pane" id="rB">
-            <p>Howdy, I'm in Section B.</p>
+            <p>{{_i}}Howdy, I'm in Section B.{{/i}}</p>
           </div>
           <div class="tab-pane" id="rC">
-            <p>What up girl, this is Section C.</p>
+            <p>{{_i}}What up girl, this is Section C.{{/i}}</p>
           </div>
         </div>
       </div> <!-- /tabbable -->
@@ -579,27 +579,27 @@
 ================================================== -->
 <section id="navbar">
   <div class="page-header">
-    <h1>Navbar</h1>
+    <h1>{{_i}}Navbar{{/i}}</h1>
   </div>
-  <h2>Static navbar example</h2>
-  <p>An example of a static (not fixed to the top) navbar with project name, navigation, and search form.</p>
+  <h2>{{_i}}Static navbar example{{/i}}</h2>
+  <p>{{_i}}An example of a static (not fixed to the top) navbar with project name, navigation, and search form.{{/i}}</p>
   <div class="navbar navbar-static">
     <div class="navbar-inner">
       <div class="container" style="width: auto;">
-        <a class="brand" href="#">Project name</a>
+        <a class="brand" href="#">{{_i}}Project name{{/i}}</a>
         <ul class="nav">
-          <li class="active"><a href="#">Home</a></li>
-          <li><a href="#">Link</a></li>
-          <li><a href="#">Link</a></li>
-          <li><a href="#">Link</a></li>
+          <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
+          <li><a href="#">{{_i}}Link{{/i}}</a></li>
+          <li><a href="#">{{_i}}Link{{/i}}</a></li>
+          <li><a href="#">{{_i}}Link{{/i}}</a></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
             <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
+              <li><a href="#">{{_i}}Action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
               <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
+              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
             </ul>
           </li>
         </ul>
@@ -607,16 +607,16 @@
           <input type="text" class="search-query span2" placeholder="Search">
         </form>
         <ul class="nav pull-right">
-          <li><a href="#">Link</a></li>
+          <li><a href="#">{{_i}}Link{{/i}}</a></li>
           <li class="vertical-divider"></li>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
             <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
+              <li><a href="#">{{_i}}Action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
               <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
+              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
             </ul>
           </li>
         </ul>
@@ -626,8 +626,8 @@
 
   <div class="row">
     <div class="span8">
-      <h3>Navbar scaffolding</h3>
-      <p>The navbar requires only a few divs to structure it well for static or fixed display.</p>
+      <h3>{{_i}}Navbar scaffolding{{/i}}</h3>
+      <p>{{_i}}The navbar requires only a few divs to structure it well for static or fixed display.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="navbar navbar-static"&gt;
   &lt;div class="navbar-inner"&gt;
@@ -637,48 +637,48 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      <p>To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+      <p>{{_i}}To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="navbar navbar-fixed"&gt;
   ...
 &lt;/div&gt;
 </pre>
-      <h3>Brand name</h3>
-      <p>A simple link to show your brand or project name only requires an anchor tag.</p>
+      <h3>{{_i}}Brand name{{/i}}</h3>
+      <p>{{_i}}A simple link to show your brand or project name only requires an anchor tag.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;a class="brand" href="#"&gt;
-  Project name
+  {{_i}}Project name{{/i}}
 &lt;/a&gt;
 </pre>
-      <h3>Search form</h3>
-      <p>Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.</p>
+      <h3>{{_i}}Search form{{/i}}</h3>
+      <p>{{_i}}Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;form class="navbar-search"&gt;
-  &lt;input type="text" class="search-query pull-left" placeholder="Search"&gt;
+  &lt;input type="text" class="search-query pull-left" placeholder="{{_i}}Search{{/i}}"&gt;
 &lt;/form&gt;
 </pre>
     </div>
     <div class="span4">
-      <h3>Nav links</h3>
-      <p>Nav items are simple to add via unordered lists.</p>
+      <h3>{{_i}}Nav links{{/i}}</h3>
+      <p>{{_i}}Nav items are simple to add via unordered lists.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;ul class="nav"&gt;
   &lt;li class="active"&gt;
-    &lt;a href="#">Home&lt;/a&gt;
+    &lt;a href="#">{{_i}}Home{{/i}}&lt;/a&gt;
   &lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;{{_i}}Link{{/i}}&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href="#"&gt;{{_i}}Link{{/i}}&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 </pre>
-      <h3>Adding dropdowns</h3>
-      <p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdown">our javascript plugin</a>.</p>
+      <h3>{{_i}}Adding dropdowns{{/i}}</h3>
+      <p>{{_i}}Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdown">our javascript plugin</a>.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;ul class="nav"&gt;
   &lt;li class="dropdown"&gt;
     &lt;a href="#"
           class="dropdown-toggle"
           data-toggle="dropdown">
-          Account
+          {{_i}}Account{{/i}}
           &lt;b class="caret"&gt;&lt;/b&gt;
     &lt;/a&gt;
     &lt;ul class="dropdown-menu"&gt;
@@ -687,7 +687,7 @@
   &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
-    <p><a class="btn" href="./javascript.html/#dropdown">Get the javascript &rarr;</a></p>
+    <p><a class="btn" href="./javascript.html/#dropdown">{{_i}}Get the javascript &rarr;{{/i}}</a></p>
     </div>
   </div>
 
@@ -699,42 +699,42 @@
 ================================================== -->
 <section id="breadcrumbs">
   <div class="page-header">
-    <h1>Breadcrumbs <small></small></h1>
+    <h1>{{_i}}Breadcrumbs{{/i}} <small></small></h1>
   </div>
 
   <div class="row">
     <div class="span6">
-      <h3>Why use them</h3>
-      <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation. Keep their use sparse and succinct to be most effective.</p>
+      <h3>{{_i}}Why use them{{/i}}</h3>
+      <p>{{_i}}Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation. Keep their use sparse and succinct to be most effective.{{/i}}</p>
 
-      <h3>Examples</h3>
-      <p>A single example shown as it might be displayed across multiple pages.</p>
+      <h3>{{_i}}Examples{{/i}}</h3>
+      <p>{{_i}}A single example shown as it might be displayed across multiple pages.{{/i}}</p>
       <ul class="breadcrumb">
-        <li class="active">Home</li>
+        <li class="active">{{_i}}Home{{/i}}</li>
       </ul>
       <ul class="breadcrumb">
-        <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li class="active">Library</li>
+        <li><a href="#">{{_i}}Home{{/i}}</a> <span class="divider">/</span></li>
+        <li class="active">{{_i}}Library{{/i}}</li>
       </ul>
       <ul class="breadcrumb">
-        <li><a href="#">Home</a> <span class="divider">/</span></li>
-        <li><a href="#">Library</a> <span class="divider">/</span></li>
-        <li class="active">Data</li>
+        <li><a href="#">{{_i}}Home{{/i}}</a> <span class="divider">/</span></li>
+        <li><a href="#">{{_i}}Library{{/i}}</a> <span class="divider">/</span></li>
+        <li class="active">{{_i}}Data{{/i}}</li>
       </ul>
     </div>
     <div class="span6">
-      <h3>Markup</h3>
-      <p>HTML is your standard unordered list with links.</p>
+      <h3>{{_i}}Markup{{/i}}</h3>
+      <p>{{_i}}HTML is your standard unordered list with links.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;ul class="breadcrumb"&gt;
   &lt;li&gt;
-    &lt;a href="#"&gt;Home&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
+    &lt;a href="#"&gt;{{_i}}Home{{/i}}&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;a href="#"&gt;Library&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
+    &lt;a href="#"&gt;{{_i}}Library{{/i}}&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
   &lt;/li&gt;
   &lt;li class="active"&gt;
-    &lt;a href="#"&gt;Data&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Data{{/i}}&lt;/a&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
@@ -749,22 +749,22 @@
 ================================================== -->
 <section id="pagination">
   <div class="page-header">
-    <h1>Pagination <small>Two options for paging through content</small></h1>
+    <h1>{{_i}}Pagination{{/i}} <small>{{_i}}Two options for paging through content{{/i}}</small></h1>
   </div>
 
-  <h2>Multi-page pagination</h2>
+  <h2>{{_i}}Multi-page pagination{{/i}}</h2>
   <div class="row">
     <div class="span4">
-      <h3>When to use</h3>
-      <p>Ultra simplistic and minimally styled pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.</p>
-      <h3>Stateful page links</h3>
-      <p>Links are customizable and work in a number of circumstances with the right class. <code>.disabled</code> for unclickable links and <code>.active</code> for current page.</p>
-      <h3>Flexible alignment</h3>
-      <p>Add either of two optional classes to change the alignment of pagination links: <code>.pagination-centered</code> and <code>.pagination-right</code>.</p>
+      <h3>{{_i}}When to use{{/i}}</h3>
+      <p>{{_i}}Ultra simplistic and minimally styled pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.{{/i}}</p>
+      <h3>{{_i}}Stateful page links{{/i}}</h3>
+      <p>{{_i}}Links are customizable and work in a number of circumstances with the right class. <code>.disabled</code> for unclickable links and <code>.active</code> for current page.{{/i}}</p>
+      <h3>{{_i}}Flexible alignment{{/i}}</h3>
+      <p>{{_i}}Add either of two optional classes to change the alignment of pagination links: <code>.pagination-centered</code> and <code>.pagination-right</code>.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Examples</h3>
-      <p>The default pagination component is flexible and works in a number of variations.</p>
+      <h3>{{_i}}Examples{{/i}}</h3>
+      <p>{{_i}}The default pagination component is flexible and works in a number of variations.{{/i}}</p>
       <div class="pagination">
         <ul>
           <li class="disabled"><a href="#">&laquo;</a></li>
@@ -804,8 +804,8 @@
       </div>
     </div>
     <div class="span4">
-      <h3>Markup</h3>
-      <p>Wrapped in a <code>&lt;div&gt;</code>, pagination is just a <code>&lt;ul&gt;</code>.</p>
+      <h3>{{_i}}Markup{{/i}}</h3>
+      <p>{{_i}}Wrapped in a <code>&lt;div&gt;</code>, pagination is just a <code>&lt;ul&gt;</code>.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="pagination"&gt;
   &lt;ul&gt;
@@ -823,44 +823,44 @@
     </div>
   </div><!-- /row -->
 
-  <h2>Pager <small>For quick previous and next links</small></h2>
+  <h2>{{_i}}Pager{{/i}} <small>{{_i}}For quick previous and next links{{/i}}</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>About pager</h3>
-      <p>The pager component is a set of links for simple pagination implemenations with light markup and even lighter styles. It's great for simple sites like blogs or magazines.</p>
+      <h3>{{_i}}About pager{{/i}}</h3>
+      <p>{{_i}}The pager component is a set of links for simple pagination implemenations with light markup and even lighter styles. It's great for simple sites like blogs or magazines.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Default example</h3>
-      <p>By default, the pager centers links.</p>
+      <h3>{{_i}}Default example{{/i}}</h3>
+      <p>{{_i}}By default, the pager centers links.{{/i}}</p>
       <ul class="pager">
-        <li><a href="#">Previous</a></li>
-        <li><a href="#">Next</a></li>
+        <li><a href="#">{{_i}}Previous{{/i}}</a></li>
+        <li><a href="#">{{_i}}Next{{/i}}</a></li>
       </ul>
 <pre class="prettyprint linenums">
 &lt;ul class="pager"&gt;
   &lt;li&gt;
-    &lt;a href="#"&gt;Previous&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Previous{{/i}}&lt;/a&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;a href="#"&gt;Next&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Next{{/i}}&lt;/a&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
     </div>
     <div class="span4">
-      <h3>Aligned links</h3>
-      <p>Alternatively, you can align each link to the sides:</p>
+      <h3>{{_i}}Aligned links{{/i}}</h3>
+      <p>{{_i}}Alternatively, you can align each link to the sides:{{/i}}</p>
       <ul class="pager">
-        <li class="previous"><a href="#">&larr; Older</a></li>
-        <li class="next"><a href="#">Newer &rarr;</a></li>
+        <li class="previous"><a href="#">{{_i}}&larr; Older{{/i}}</a></li>
+        <li class="next"><a href="#">{{_i}}Newer &rarr;{{/i}}</a></li>
       </ul>
 <pre class="prettyprint linenums">
 &lt;ul class="pager"&gt;
   &lt;li class="previous"&gt;
-    &lt;a href="#"&gt;&amp;larr; Older&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}&amp;larr; Older{{/i}}&lt;/a&gt;
   &lt;/li&gt;
   &lt;li class="next"&gt;
-    &lt;a href="#"&gt;Newer &amp;rarr;&lt;/a&gt;
+    &lt;a href="#"&gt;{{_i}}Newer &amp;rarr;{{/i}}&lt;/a&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
 </pre>
@@ -874,13 +874,13 @@
 ================================================== -->
 <section id="thumbnails">
   <div class="page-header">
-    <h1>Thumbnails <small>Grids of images, videos, text, and more</small></h1>
+    <h1>{{_i}}Thumbnails{{/i}} <small>{{_i}}Grids of images, videos, text, and more{{/i}}</small></h1>
   </div>
 
   <div class="row">
     <div class="span6">
-      <h2>Default thumbnails</h2>
-      <p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p>
+      <h2>{{_i}}Default thumbnails{{/i}}</h2>
+      <p>{{_i}}By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.{{/i}}</p>
       <ul class="thumbnails">
         <li class="span3">
           <a href="#" class="thumbnail">
@@ -905,16 +905,16 @@
       </ul>
     </div>
     <div class="span6">
-      <h2>Highly customizable</h2>
-      <p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p>
+      <h2>{{_i}}Highly customizable{{/i}}</h2>
+      <p>{{_i}}With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.{{/i}}</p>
       <ul class="thumbnails">
         <li class="span3">
           <div class="thumbnail">
             <img src="http://placehold.it/210x150" alt="">
             <div class="caption">
-              <h5>Thumbnail label</h5>
+              <h5>{{_i}}Thumbnail label{{/i}}</h5>
               <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+              <p><a href="#" class="btn primary">{{_i}}Action{{/i}}</a> <a href="#" class="btn">{{_i}}Action{{/i}}</a></p>
             </div>
           </div>
         </li>
@@ -922,9 +922,9 @@
           <div class="thumbnail">
             <img src="http://placehold.it/210x150" alt="">
             <div class="caption">
-              <h5>Thumbnail label</h5>
+              <h5>{{_i}}Thumbnail label{{/i}}</h5>
               <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
-              <p><a href="#" class="btn primary">Action</a> <a href="#" class="btn">Action</a></p>
+              <p><a href="#" class="btn primary">{{_i}}Action{{/i}}</a> <a href="#" class="btn">{{_i}}Action{{/i}}</a></p>
             </div>
           </div>
         </li>
@@ -934,23 +934,23 @@
 
   <div class="row">
     <div class="span4">
-      <h3>Why use thumbnails</h3>
-      <p>Thumbnails (previously <code>.media-grid</code> up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.</p>
+      <h3>{{_i}}Why use thumbnails{{/i}}</h3>
+      <p>{{_i}}Thumbnails (previously <code>.media-grid</code> up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Simple, flexible markup</h3>
-      <p>Thumbnail markup is simple&mdash;a <code>ul</code> with any number of <code>li</code> elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.</p>
+      <h3>{{_i}}Simple, flexible markup{{/i}}</h3>
+      <p>{{_i}}Thumbnail markup is simple&mdash;a <code>ul</code> with any number of <code>li</code> elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>Uses grid column sizes</h3>
-      <p>Lastly, the thumbnails component uses existing grid system classes&mdash;like <code>.span2</code> or <code>.span3</code>&mdash;for control of thumbnail dimensions.</p>
+      <h3>{{_i}}Uses grid column sizes{{/i}}</h3>
+      <p>{{_i}}Lastly, the thumbnails component uses existing grid system classes&mdash;like <code>.span2</code> or <code>.span3</code>&mdash;for control of thumbnail dimensions.{{/i}}</p>
     </div>
   </div>
 
   <div class="row">
     <div class="span6">
-      <h2>The markup</h2>
-      <p>As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup <strong>for linked images</strong>:</p>
+      <h2>{{_i}}The markup{{/i}}</h2>
+      <p>{{_i}}As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup <strong>for linked images</strong>:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;ul class="thumbnails"&gt;
   &lt;li class="span3"&gt;
@@ -961,14 +961,14 @@
   ...
 &lt;/ul&gt;
 </pre>
-      <p>For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <code>&lt;a&gt;</code> for a <code>&lt;div&gt;</code> like so:</p>
+      <p>{{_i}}For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <code>&lt;a&gt;</code> for a <code>&lt;div&gt;</code> like so:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;ul class="thumbnails"&gt;
   &lt;li class="span3"&gt;
     &lt;div class="thumbnail"&gt;
       &lt;img src="http://placehold.it/210x150" alt=""&gt;
-      &lt;h5&gt;Thumbnail label&lt;/h5&gt;
-      &lt;p&gt;Thumbnail caption right here...&lt;/p&gt;
+      &lt;h5&gt;{{_i}}Thumbnail label{{/i}}&lt;/h5&gt;
+      &lt;p&gt;{{_i}}Thumbnail caption right here...{{/i}}&lt;/p&gt;
     &lt;/div&gt;
   &lt;/li&gt;
   ...
@@ -976,8 +976,8 @@
 </pre>
     </div>
     <div class="span6">
-      <h2>More examples</h2>
-      <p>Explore all your options with the various grid classes available to you. You can also mix and match different sizes.</p>
+      <h2>{{_i}}More examples{{/i}}</h2>
+      <p>{{_i}}Explore all your options with the various grid classes available to you. You can also mix and match different sizes.{{/i}}</p>
       <ul class="thumbnails">
         <li class="span4">
           <a href="#" class="thumbnail">
@@ -1021,57 +1021,57 @@
 ================================================== -->
 <section id="alerts">
   <div class="page-header">
-    <h1>Alerts <small>Styles for success, warning, and error messages</small></h1>
+    <h1>{{_i}}Alerts{{/i}} <small>{{_i}}Styles for success, warning, and error messages{{/i}}</small></h1>
   </div>
 
-  <h2>Lightweight defaults</h2>
+  <h2>{{_i}}Lightweight defaults{{/i}}</h2>
   <div class="row">
     <div class="span4">
-      <h3>Rewritten base class</h3>
-      <p>With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.</p>
-      <h3>Single alert message</h3>
-      <p>For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.</p>
+      <h3>{{_i}}Rewritten base class{{/i}}</h3>
+      <p>{{_i}}With Bootstrap 2, e've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.{{/i}}</p>
+      <h3>{{_i}}Single alert message{{/i}}</h3>
+      <p>{{_i}}For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.{{/i}}</p>
       <hr>
-      <h3>Goes great with javascript</h3>
-      <p>Bootstrap comes with a great jQuery plugin that supports alert messages, making dismissing them quick and easy.</p>
-      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the plugin &raquo;</a></p>
+      <h3>{{_i}}Goes great with javascript{{/i}}</h3>
+      <p>{{_i}}Bootstrap comes with a great jQuery plugin that supports alert messages, making dismissing them quick and easy.{{/i}}</p>
+      <p><a class="btn js-btn" href="./javascript.html#alerts">{{_i}}Get the plugin &raquo;</a>{{/i}}</p>
     </div>
     <div class="span8">
-      <h3>Example alerts</h3>
-      <p>Wrap your message and an optional close icon in a div with simple class.</p>
+      <h3>{{_i}}Example alerts{{/i}}</h3>
+      <p>{{_i}}Wrap your message and an optional close icon in a div with simple class.{{/i}}</p>
       <div class="alert">
         <a class="close">&times;</a>
-        <strong>Warning!</strong> Best check yo self, you’re not looking too good.
+        <strong>{{_i}}Warning!{{/i}}</strong> {{_i}}Best check yo self, you’re not looking too good.{{/i}}
       </div>
 <pre class="prettyprint linenums">
 &lt;div class="alert"&gt;
   &lt;a class="close"&gt;&times;&lt;/a&gt;
-  &lt;strong&gt;Warning!&lt;/strong&gt; Best check yo self, you’re not looking too good.
+  &lt;strong&gt;{{_i}}Warning!{{/i}}&lt;/strong&gt; {{_i}}Best check yo self, you’re not looking too good.{{/i}}
 &lt;/div&gt;
 </pre>
-      <p>Easily extend the standard alert message with two optional classes: <code>.alert-block</code> for more padding and text controls and <code>.alert-heading</code> for a matching heading.</p>
+      <p>{{_i}}Easily extend the standard alert message with two optional classes: <code>.alert-block</code> for more padding and text controls and <code>.alert-heading</code> for a matching heading.{{/i}}</p>
       <div class="alert alert-block">
         <a class="close">&times;</a>
-        <h4 class="alert-heading">Warning!</h4>
-        <p>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.</p>
+        <h4 class="alert-heading">{{_i}}Warning!{{/i}}</h4>
+        <p>{{_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.</p>
       </div>
 <pre class="prettyprint linenums">
 &lt;div class="alert alert-block"&gt;
   &lt;a class="close"&gt;&times;&lt;/a&gt;
-  &lt;h4 class="alert-heading"&gt;Warning!&lt;/h4&gt;
-  Best check yo self, you’re not...
+  &lt;h4 class="alert-heading"&gt;{{_i}}Warning!{{/i}}&lt;/h4&gt;
+  {{_i}}Best check yo self, you’re not...{{/i}}
 &lt;/div&gt;
 </pre>
     </div>
   </div>
 
-  <h2>Contextual alternatives <small>Add optional classes to change an alert's connotation</small></h2>
+  <h2>{{_i}}Contextual alternatives{{/i}} <small>{{_i}}Add optional classes to change an alert's connotation{{/i}}</small></h2>
   <div class="row">
     <div class="span4">
-      <h3>Error or danger</h3>
+      <h3>{{_i}}Error or danger{{/i}}</h3>
       <div class="alert alert-error">
         <a class="close">&times;</a>
-        <strong>Oh snap!</strong> Change a few things up and try submitting again.
+        <strong>{{_i}}Oh snap!{{/i}}</strong> {{_i}}Change a few things up and try submitting again.{{/i}}
       </div>
 <pre class="prettyprint linenums">
 &lt;div class="alert alert-error"&gt;
@@ -1080,10 +1080,10 @@
 </pre>
     </div>
     <div class="span4">
-      <h3>Success</h3>
+      <h3>{{_i}}Success{{/i}}</h3>
       <div class="alert alert-success">
         <a class="close">&times;</a>
-        <strong>Well done!</strong> You successfully read this important alert message.
+        <strong>{{_i}}Well done!{{/i}}</strong> {{_i}}You successfully read this important alert message.{{/i}}
       </div>
 <pre class="prettyprint linenums">
 &lt;div class="alert alert-success"&gt;
@@ -1092,10 +1092,10 @@
 </pre>
     </div>
     <div class="span4">
-      <h3>Information</h3>
+      <h3>{{_i}}Information{{/i}}</h3>
       <div class="alert alert-info">
         <a class="close">&times;</a>
-        <strong>Heads up!</strong> This alert needs your attention, but it’s not super important.
+        <strong>{{_i}}Heads up!{{/i}}</strong> {{_i}}This alert needs your attention, but it’s not super important.{{/i}}
       </div>
 <pre class="prettyprint linenums">
 &lt;div class="alert alert-info"&gt;
@@ -1113,14 +1113,14 @@
 ================================================== -->
       <section id="progress">
         <div class="page-header">
-          <h1>Progress bars <small>For loading, redirecting, or action status</small></h1>
+          <h1>{{_i}}Progress bars{{/i}} <small>{{_i}}For loading, redirecting, or action status{{/i}}</small></h1>
         </div>
 
-        <h2>Examples and markup</h2>
+        <h2>{{_i}}Examples and markup{{/i}}</h2>
         <div class="row">
           <div class="span4">
-            <h3>Basic</h3>
-            <p>Default progress bar with a vertical gradient.</p>
+            <h3>{{_i}}Basic{{/i}}</h3>
+            <p>{{_i}}Default progress bar with a vertical gradient.{{/i}}</p>
             <div class="progress">
               <div class="bar" style="width: 60%;"></div>
             </div>
@@ -1132,8 +1132,8 @@
 </pre>
           </div>
           <div class="span4">
-            <h3>Striped</h3>
-            <p>Uses a gradient to create a striped effect.</p>
+            <h3>{{_i}}Striped{{/i}}</h3>
+            <p>{{_i}}Uses a gradient to create a striped effect.{{/i}}</p>
             <div class="progress info striped">
               <div class="bar" style="width: 20%;"></div>
             </div>
@@ -1146,8 +1146,8 @@
 </pre>
           </div>
           <div class="span4">
-            <h3>Animated</h3>
-            <p>Takes the striped example and animates it.</p>
+            <h3>{{_i}}Animated{{/i}}</h3>
+            <p>{{_i}}Takes the striped example and animates it.{{/i}}</p>
             <div class="progress danger active striped">
               <div class="bar" style="width: 45%"></div>
             </div>
@@ -1161,27 +1161,27 @@
           </div>
         </div>
 
-        <h2>Options and browser support</h2>
+        <h2>{{_i}}Options and browser support{{/i}}</h2>
         <div class="row">
           <div class="span4">
-            <h3>Additional colors</h3>
-            <p>Progress bars utilize some of the same classes as buttons and alert messages for quick styling.</p>
+            <h3>{{_i}}Additional colors{{/i}}</h3>
+            <p>{{_i}}Progress bars utilize some of the same classes as buttons and alert messages for quick styling.{{/i}}</p>
             <ul>
               <li><code>.info</code></li>
               <li><code>.success</code></li>
               <li><code>.danger</code></li>
             </ul>
-            <p>Alternatively, you can customize the LESS files and roll your own colors and sizes.</p>
+            <p>{{_i}}Alternatively, you can customize the LESS files and roll your own colors and sizes.{{/i}}</p>
           </div>
           <div class="span4">
-            <h3>Behavior</h3>
-            <p>Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.</p>
-            <p>If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.</p>
+            <h3>{{_i}}Behavior{{/i}}</h3>
+            <p>{{_i}}Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.{{/i}}</p>
+            <p>{{_i}}If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.{{/i}}</p>
           </div>
           <div class="span4">
-            <h3>Browser support</h3>
-            <p>Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.</p>
-            <p>Opera does not support animations at this time.</p>
+            <h3>{{_i}}Browser support{{/i}}</h3>
+            <p>{{_i}}Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.{{/i}}</p>
+            <p>{{_i}}Opera does not support animations at this time.{{/i}}</p>
           </div>
         </div>
 
-- 
GitLab


From 3a840075ddd4c9aea61b4aed792bda94ec0c3a66 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 15:42:16 -0800
Subject: [PATCH 388/576] rebuild

---
 docs/index.html                          | 4 ++--
 docs/templates/pages/components.mustache | 2 +-
 docs/templates/pages/index.mustache      | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index 75b23b7c33..01dae8e6dc 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -75,7 +75,7 @@
               <h4>Feature highlights</h4>
               <ul>
                 <li><span>&#10004;</span> Built on LESS</li>
-                <li><span>&#10004;</span> Complete style guide docs</li>
+                <li><span>&#10004;</span> Complete styleguide docs</li>
                 <li><span>&#10004;</span> Fully responsive design</li>
                 <li><span>&#10004;</span> Small footprint (10kb gzipped)</li>
                 <li><span>&#10004;</span> Support for IE7 and up</li>
@@ -175,7 +175,7 @@
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
               <h2>Growing library</h2>
-              <p>Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
+              <p>Despite being only 10kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index e926e8702b..5282e61785 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -1028,7 +1028,7 @@
   <div class="row">
     <div class="span4">
       <h3>{{_i}}Rewritten base class{{/i}}</h3>
-      <p>{{_i}}With Bootstrap 2, e've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.{{/i}}</p>
+      <p>{{_i}}With Bootstrap 2, we've simplified the base class: <code>.alert</code> instead of <code>.alert-message</code>. We've also reduced the minimum required markup&mdash;no <code>&lt;p&gt;</code> is required by default, just the outter <code>&lt;div&gt;</code>.{{/i}}</p>
       <h3>{{_i}}Single alert message{{/i}}</h3>
       <p>{{_i}}For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to <code>.alert-block</code>.{{/i}}</p>
       <hr>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 030a693a8a..dbe30443e5 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -17,7 +17,7 @@
                 <li><span>&#10004;</span> {{_i}}Built on LESS{{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Complete styleguide docs{{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Fully responsive design{{/i}}</li>
-                <li><span>&#10004;</span> {{_i}}Small footprint (7kb gzipped){{/i}}</li>
+                <li><span>&#10004;</span> {{_i}}Small footprint (10kb gzipped){{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Support for IE7 and up{{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Custom jQuery plugins{{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Dozens of components{{/i}}</li>
@@ -115,7 +115,7 @@
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
               <h2>{{_i}}Growing library{{/i}}</h2>
-              <p>{{_i}}Despite being only 7kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.{{/i}}</p>
+              <p>{{_i}}Despite being only 10kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.{{/i}}</p>
             </div>
             <div class="span4">
               <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
-- 
GitLab


From 655a96869c9ba1c678eddc961332b9dd0fccb8af Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 15:51:28 -0800
Subject: [PATCH 389/576] typo with i18n

---
 docs/templates/pages/javascript.mustache | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index c85b9d2a2e..763fe8aa1b 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -646,7 +646,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              <tr>
                <th style="width: 100px;">{{_i}}Name{{/i}}</th>
                <th style="width: 100px;">{{_i}}type{{/i}}</th>
-               <th style="width: 50px;"{{_i}}>default{{/i}}</th>
+               <th style="width: 50px;">{{_i}}default{{/i}}</th>
                <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
-- 
GitLab


From 8ff621aa26dee69088b527089cdd719bce68be31 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 16:07:30 -0800
Subject: [PATCH 390/576] fix broken index page heading, update variables and
 less pages

---
 bootstrap.css                       |   9 +-
 bootstrap.min.css                   |   4 +-
 docs/assets/css/docs.css            |  22 +-
 docs/index.html                     |   2 +-
 docs/less.html                      | 405 +++++++++++++++-------------
 docs/templates/pages/index.mustache |   2 +-
 docs/templates/pages/less.mustache  | 405 +++++++++++++++-------------
 lib/type.less                       |  10 +-
 lib/variables.less                  |   6 +-
 9 files changed, 480 insertions(+), 385 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index fb3a3f2ab3..a33bd7312c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 13:58:10 PST 2012
+ * Date: Tue Jan 24 16:01:37 PST 2012
  */
 article,
 aside,
@@ -411,15 +411,18 @@ address {
 code, pre {
   padding: 0 3px 2px;
   font-family: Menlo, Monaco, "Courier New", monospace;
-  font-size: 12px;
+  font-size: 11px;
   color: #333333;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
 }
 code {
-  padding: 1px 3px;
+  padding: 3px 4px;
   background-color: #fee9cc;
+  color: #d14;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
 }
 pre {
   display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f0412c724d..bf98b8c57d 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -82,8 +82,8 @@ blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:
 blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}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;}
-code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-code{padding:1px 3px;background-color:#fee9cc;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:11px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code{padding:3px 4px;background-color:#fee9cc;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
 small{font-size:100%;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index b8d5bfcdc0..d78cea2b19 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -126,7 +126,6 @@ section {
 
 /* Subnav */
 .subhead .nav {
-  padding: 0 10px;
   background-color: #eeeeee; /* Old browsers */
   background-repeat: repeat-x; /* Repeat the gradient */
   background-image: -moz-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* FF3.6+ */
@@ -136,7 +135,7 @@ section {
   background-image: -o-linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* Opera 11.10+ */
   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
   background-image: linear-gradient(top, #f5f5f5 0%,#eeeeee 100%); /* W3C */
-  border: 1px solid #eee;
+  border: 1px solid #e5e5e5;
   -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
           border-radius: 4px;
@@ -145,6 +144,9 @@ section {
   margin: 0;
   padding-top: 11px;
   padding-bottom: 11px;
+  font-size: 13px;
+  border-left: 1px solid #f5f5f5;
+  border-right: 1px solid #e5e5e5;
   -webkit-border-radius: 0;
      -moz-border-radius: 0;
           border-radius: 0;
@@ -153,6 +155,15 @@ section {
   background-color: #fff;
   color: #333;
 }
+.subhead .nav li:first-child a {
+  border-left: 0;
+  -webkit-border-radius: 4px 0 0 4px;
+     -moz-border-radius: 4px 0 0 4px;
+          border-radius: 4px 0 0 4px;
+}
+.subhead .nav li:last-child a {
+  border-right: 0;
+}
 
 
 /* Quick links
@@ -247,16 +258,19 @@ section {
   height: auto;
   margin-left: auto;
   margin-right: auto;
-  line-height: 21px;
+  font-family: Menlo, Monaco, "Courier New", monospace;
+  font-size: 12px;
+  line-height: 20px;
   white-space: nowrap;
   overflow: hidden;
+  background-color: #f5f5f5;
   /* Makes inputs behave like true block-level elements */
   -webkit-box-sizing: border-box; /* Older Webkit */
      -moz-box-sizing: border-box; /* Older FF */
       -ms-box-sizing: border-box; /* IE8 */
           box-sizing: border-box; /* CSS3 spec*/
   /* Hacks for IE7 to make this work just okay enough to function */
-  *width: 270px;
+  *width: 80%;
   *height: 24px;
 }
 
diff --git a/docs/index.html b/docs/index.html
index 0beff1e7e2..1e4b4a270b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -136,7 +136,7 @@
             </li>
           </ul>
 
-          <h1Designed for everyone, everywhere.</h1>
+          <h1>Designed for everyone, everywhere.</h1>
           <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
           <div class="row">
             <div class="span4">
diff --git a/docs/less.html b/docs/less.html
index cd486ac986..735bd0dc64 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -63,207 +63,244 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Using LESS with Bootstrap</h1>
         <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
+        <ul class="nav pills">
+          <li><a href="./less.html#builtWith">Built with Less</a></li>
+          <li><a href="./less.html#variables">Variables</a></li>
+          <li><a href="./less.html#mixins">Mixins</a></li>
+          <li><a href="./less.html#compiling">Compiling Bootstrap</a></li>
+        </ul>
       </header>
 
 
 
       <!-- BUILT WITH LESS
       ================================================== -->
-      <div class="page-header">
-        <h1>Built with LESS</h1>
-      </div>
-      <div class="row">
-        <div class="span4">
-          <h3>Why LESS?</h3>
-          <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
-        </div>
-        <div class="span4">
-          <h3>What's included?</h3>
-          <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
-        </div>
-        <div class="span4">
-          <h3>Learn more</h3>
-          <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
-          <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
-        </div>
-      </div>
-      <div class="row">
-        <div class="span4">
-          <h3>Variables</h3>
-          <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
+      <section id="builtWith">
+        <div class="page-header">
+          <h1>Built with LESS</h1>
         </div>
-        <div class="span4">
-          <h3>Mixins</h3>
-          <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
+        <div class="row">
+          <div class="span4">
+            <h3>Why LESS?</h3>
+            <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+          </div>
+          <div class="span4">
+            <h3>What's included?</h3>
+            <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
+          </div>
+          <div class="span4">
+            <h3>Learn more</h3>
+            <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
+            <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
+          </div>
         </div>
-        <div class="span4">
-          <h3>Operations</h3>
-          <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
+        <div class="row">
+          <div class="span4">
+            <h3>Variables</h3>
+            <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
+          </div>
+          <div class="span4">
+            <h3>Mixins</h3>
+            <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
+          </div>
+          <div class="span4">
+            <h3>Operations</h3>
+            <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
+          </div>
         </div>
-      </div>
+      </section>
 
 
 
       <!-- VARIABLES
       ================================================== -->
-      <div class="page-header" id="variables">
-        <h1>Variables <small>from variables.less</small></h1>
-      </div>
-
-          <h3>Hyperlinks</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-              <tr>
-                <th>Variable</th>
-                <th>Value</th>
-                <th>Usage</th>
-              </tr>
-            </thead>
-            <tbody>
-              <tr>
-                <td><code>@linkColor</code></td>
-                <td>#0069d6</td>
-                <td>Default link text color</td>
-              </tr>
-              <tr>
-                <td><code>@linkColorHover</code></td>
-                <td><code>darken(@linkColor, 15)</code></td>
-                <td>Default link text hover color</td>
-              </tr>
-            </tbody>
-          </table>
-
-      <div class="row">
-        <div class="span6">
-          <h3>Grayscale colors</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@black</code></td>
-                <td>#000</td>
-              </tr>
-              <tr>
-                <td><code>@grayDark</code></td>
-                <td><code>lighten(@black, 25%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@gray</code></td>
-                <td><code>lighten(@black, 50%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@grayLight</code></td>
-                <td><code>lighten(@black, 75%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@grayLighter</code></td>
-                <td><code>lighten(@black, 90%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@white</code></td>
-                <td>#fff</td>
-              </tr>
-            </tbody>
-          </table>
+      <section id="variables">
+        <div class="page-header">
+          <h1>Variables <small>from variables.less</small></h1>
         </div>
-        <div class="span6">
-          <h3>Accent colors</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@blue</code></td>
-                <td>#049CDB</td>
-              </tr>
-              <tr>
-                <td><code>@green</code></td>
-                <td>#46a546</td>
-              </tr>
-              <tr>
-                <td><code>@red</code></td>
-                <td>#9d261d</td>
-              </tr>
-              <tr>
-                <td><code>@yellow</code></td>
-                <td>#ffc40d</td>
-              </tr>
-              <tr>
-                <td><code>@orange</code></td>
-                <td>#f89406</td>
-              </tr>
-              <tr>
-                <td><code>@pink</code></td>
-                <td>#c3325f</td>
-              </tr>
-              <tr>
-                <td><code>@purple</code></td>
-                <td>#7a43b6</td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-      </div>
 
-      <div class="row">
-        <div class="span6">
-          <h3>Grid system</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@gridColumns</code></td>
-                <td>12</td>
-              </tr>
-              <tr>
-                <td><code>@gridColumnWidth</code></td>
-                <td>60px</td>
-              </tr>
-              <tr>
-                <td><code>@gridGutterWidth</code></td>
-                <td>20px</td>
-              </tr>
-              <tr>
-                <td><code>@siteWidth</code></td>
-                <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-        <div class="span6">
-          <h3>Typography</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@baseFontSize</code></td>
-                <td>13px</td>
-              </tr>
-              <tr>
-                <td><code>@baseFontFamily</code></td>
-                <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
-                <td></td>
-              </tr>
-              <tr>
-                <td><code>@baseLineHeight</code></td>
-                <td>18px</td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-      </div>
+        <h3>Hyperlinks</h3>
+        <table class="table table-bordered table-striped">
+          <thead>
+            <tr>
+              <th class="span2">Variable</th>
+              <th>Value</th>
+              <th>Usage</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@linkColor</code></td>
+              <td>#08c</td>
+              <td>Default link text color</td>
+            </tr>
+            <tr>
+              <td><code>@linkColorHover</code></td>
+              <td><code>darken(@linkColor, 15%)</code></td>
+              <td>Default link text hover color</td>
+            </tr>
+          </tbody>
+        </table>
+
+        <div class="row">
+          <div class="span6">
+            <h3>Grayscale colors</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">Variable</th>
+                  <th>Value</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@black</code></td>
+                  <td>#000</td>
+                </tr>
+                <tr>
+                  <td><code>@grayDarker</code></td>
+                  <td><code>#222</code></td>
+                </tr>
+                <tr>
+                  <td><code>@grayDark</code></td>
+                  <td><code>#333</code></td>
+                </tr>
+                <tr>
+                  <td><code>@gray</code></td>
+                  <td><code>#555</code></td>
+                </tr>
+                <tr>
+                  <td><code>@grayLight</code></td>
+                  <td><code>#999</code></td>
+                </tr>
+                <tr>
+                  <td><code>@grayLighter</code></td>
+                  <td><code>#eee</code></td>
+                </tr>
+                <tr>
+                  <td><code>@white</code></td>
+                  <td>#fff</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+          <div class="span6">
+            <h3>Accent colors</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">Variable</th>
+                  <th>Value</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@blue</code></td>
+                  <td>#049cdb</td>
+                </tr>
+                <tr>
+                  <td><code>@green</code></td>
+                  <td>#46a546</td>
+                </tr>
+                <tr>
+                  <td><code>@red</code></td>
+                  <td>#9d261d</td>
+                </tr>
+                <tr>
+                  <td><code>@yellow</code></td>
+                  <td>#ffc40d</td>
+                </tr>
+                <tr>
+                  <td><code>@orange</code></td>
+                  <td>#f89406</td>
+                </tr>
+                <tr>
+                  <td><code>@pink</code></td>
+                  <td>#c3325f</td>
+                </tr>
+                <tr>
+                  <td><code>@purple</code></td>
+                  <td>#7a43b6</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div> <!-- /row -->
+        <div class="row">
+          <div class="span6">
+            <h3>Grid system</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">Variable</th>
+                  <th>Value</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@gridColumns</code></td>
+                  <td>12</td>
+                </tr>
+                <tr>
+                  <td><code>@gridColumnWidth</code></td>
+                  <td>60px</td>
+                </tr>
+                <tr>
+                  <td><code>@gridGutterWidth</code></td>
+                  <td>20px</td>
+                </tr>
+                <tr>
+                  <td><code>@siteWidth</code></td>
+                  <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+          <div class="span6">
+            <h3>Typography</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">Variable</th>
+                  <th>Value</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@baseFontSize</code></td>
+                  <td>13px</td>
+                </tr>
+                <tr>
+                  <td><code>@baseFontFamily</code></td>
+                  <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
+                  <td></td>
+                </tr>
+                <tr>
+                  <td><code>@baseLineHeight</code></td>
+                  <td>18px</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div> <!-- /row -->
+        <div class="row">
+          <div class="span3">
+            <h3>Visuals</h3>
+          </div>
+          <div class="span9">
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td><code>@primaryButtonColor</code></td>
+                  <td><code>@blue</code></td>
+                  <td></td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div> <!-- /row -->
+      </section>
 
-      <div class="row">
-        <div class="span3">
-          <h3>Visuals</h3>
-        </div>
-        <div class="span9">
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@primaryButtonColor</code></td>
-                <td><code>@blue</code></td>
-                <td></td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-      </div>
 
 
       <!-- MIXINS
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 7616de4f11..899d721b0e 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -76,7 +76,7 @@
             </li>
           </ul>
 
-          <h1{{_i}}Designed for everyone, everywhere.{{/i}}</h1>
+          <h1>{{_i}}Designed for everyone, everywhere.{{/i}}</h1>
           <p class="marketing-byline">{{_i}}Need reasons to love Bootstrap? Look no further.{{/i}}</p>
           <div class="row">
             <div class="span4">
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index d6376ae2f6..8adc7874fc 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -3,207 +3,244 @@
       <header class="jumbotron subhead" id="overview">
         <h1>{{_i}}Using LESS with Bootstrap{{/i}}</h1>
         <p class="lead">{{_i}}Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.{{/i}}</p>
+        <ul class="nav pills">
+          <li><a href="./less.html#builtWith">{{_i}}Built with Less{{/i}}</a></li>
+          <li><a href="./less.html#variables">{{_i}}Variables{{/i}}</a></li>
+          <li><a href="./less.html#mixins">{{_i}}Mixins{{/i}}</a></li>
+          <li><a href="./less.html#compiling">{{_i}}Compiling Bootstrap{{/i}}</a></li>
+        </ul>
       </header>
 
 
 
       <!-- BUILT WITH LESS
       ================================================== -->
-      <div class="page-header">
-        <h1>{{_i}}Built with LESS{{/i}}</h1>
-      </div>
-      <div class="row">
-        <div class="span4">
-          <h3>{{_i}}Why LESS?{{/i}}</h3>
-          <p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
-        </div>
-        <div class="span4">
-          <h3>{{_i}}What's included?{{/i}}</h3>
-          <p>{{_i}}As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.{{/i}}</p>
-        </div>
-        <div class="span4">
-          <h3>{{_i}}Learn more{{/i}}</h3>
-          <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
-          <p>{{_i}}Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.{{/i}}</p>
-        </div>
-      </div>
-      <div class="row">
-        <div class="span4">
-          <h3>{{_i}}Variables{{/i}}</h3>
-          <p>{{_i}}Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.{{/i}}</p>
+      <section id="builtWith">
+        <div class="page-header">
+          <h1>{{_i}}Built with LESS{{/i}}</h1>
         </div>
-        <div class="span4">
-          <h3>{{_i}}Mixins{{/i}}</h3>
-          <p>{{_i}}Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.{{/i}}</p>
+        <div class="row">
+          <div class="span4">
+            <h3>{{_i}}Why LESS?{{/i}}</h3>
+            <p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
+          </div>
+          <div class="span4">
+            <h3>{{_i}}What's included?{{/i}}</h3>
+            <p>{{_i}}As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.{{/i}}</p>
+          </div>
+          <div class="span4">
+            <h3>{{_i}}Learn more{{/i}}</h3>
+            <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
+            <p>{{_i}}Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.{{/i}}</p>
+          </div>
         </div>
-        <div class="span4">
-          <h3>{{_i}}Operations{{/i}}</h3>
-          <p>{{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.{{/i}}</p>
+        <div class="row">
+          <div class="span4">
+            <h3>{{_i}}Variables{{/i}}</h3>
+            <p>{{_i}}Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.{{/i}}</p>
+          </div>
+          <div class="span4">
+            <h3>{{_i}}Mixins{{/i}}</h3>
+            <p>{{_i}}Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.{{/i}}</p>
+          </div>
+          <div class="span4">
+            <h3>{{_i}}Operations{{/i}}</h3>
+            <p>{{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.{{/i}}</p>
+          </div>
         </div>
-      </div>
+      </section>
 
 
 
       <!-- VARIABLES
       ================================================== -->
-      <div class="page-header" id="variables">
-        <h1>{{_i}}Variables <small>from variables.less</small>{{/i}}</h1>
-      </div>
-
-          <h3>{{_i}}Hyperlinks{{/i}}</h3>
-          <table class="table table-bordered table-striped">
-            <thead>
-              <tr>
-                <th>{{_i}}Variable{{/i}}</th>
-                <th>{{_i}}Value{{/i}}</th>
-                <th>{{_i}}Usage{{/i}}</th>
-              </tr>
-            </thead>
-            <tbody>
-              <tr>
-                <td><code>@linkColor</code></td>
-                <td>#0069d6</td>
-                <td>{{_i}}Default link text color{{/i}}</td>
-              </tr>
-              <tr>
-                <td><code>@linkColorHover</code></td>
-                <td><code>darken(@linkColor, 15)</code></td>
-                <td>{{_i}}Default link text hover color{{/i}}</td>
-              </tr>
-            </tbody>
-          </table>
-
-      <div class="row">
-        <div class="span6">
-          <h3>{{_i}}Grayscale colors{{/i}}</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@black</code></td>
-                <td>#000</td>
-              </tr>
-              <tr>
-                <td><code>@grayDark</code></td>
-                <td><code>lighten(@black, 25%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@gray</code></td>
-                <td><code>lighten(@black, 50%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@grayLight</code></td>
-                <td><code>lighten(@black, 75%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@grayLighter</code></td>
-                <td><code>lighten(@black, 90%)</code></td>
-              </tr>
-              <tr>
-                <td><code>@white</code></td>
-                <td>#fff</td>
-              </tr>
-            </tbody>
-          </table>
+      <section id="variables">
+        <div class="page-header">
+          <h1>{{_i}}Variables <small>from variables.less</small>{{/i}}</h1>
         </div>
-        <div class="span6">
-          <h3>{{_i}}Accent colors{{/i}}</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@blue</code></td>
-                <td>#049CDB</td>
-              </tr>
-              <tr>
-                <td><code>@green</code></td>
-                <td>#46a546</td>
-              </tr>
-              <tr>
-                <td><code>@red</code></td>
-                <td>#9d261d</td>
-              </tr>
-              <tr>
-                <td><code>@yellow</code></td>
-                <td>#ffc40d</td>
-              </tr>
-              <tr>
-                <td><code>@orange</code></td>
-                <td>#f89406</td>
-              </tr>
-              <tr>
-                <td><code>@pink</code></td>
-                <td>#c3325f</td>
-              </tr>
-              <tr>
-                <td><code>@purple</code></td>
-                <td>#7a43b6</td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-      </div>
 
-      <div class="row">
-        <div class="span6">
-          <h3>{{_i}}Grid system{{/i}}</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@gridColumns</code></td>
-                <td>12</td>
-              </tr>
-              <tr>
-                <td><code>@gridColumnWidth</code></td>
-                <td>60px</td>
-              </tr>
-              <tr>
-                <td><code>@gridGutterWidth</code></td>
-                <td>20px</td>
-              </tr>
-              <tr>
-                <td><code>@siteWidth</code></td>
-                <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-        <div class="span6">
-          <h3>{{_i}}Typography{{/i}}</h3>
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@baseFontSize</code></td>
-                <td>13px</td>
-              </tr>
-              <tr>
-                <td><code>@baseFontFamily</code></td>
-                <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
-                <td></td>
-              </tr>
-              <tr>
-                <td><code>@baseLineHeight</code></td>
-                <td>18px</td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-      </div>
+        <h3>{{_i}}Hyperlinks{{/i}}</h3>
+        <table class="table table-bordered table-striped">
+          <thead>
+            <tr>
+              <th class="span2">{{_i}}Variable{{/i}}</th>
+              <th>{{_i}}Value{{/i}}</th>
+              <th>{{_i}}Usage{{/i}}</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@linkColor</code></td>
+              <td>#08c</td>
+              <td>{{_i}}Default link text color{{/i}}</td>
+            </tr>
+            <tr>
+              <td><code>@linkColorHover</code></td>
+              <td><code>darken(@linkColor, 15%)</code></td>
+              <td>{{_i}}Default link text hover color{{/i}}</td>
+            </tr>
+          </tbody>
+        </table>
+
+        <div class="row">
+          <div class="span6">
+            <h3>{{_i}}Grayscale colors{{/i}}</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">{{_i}}Variable{{/i}}</th>
+                  <th>{{_i}}Value{{/i}}</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@black</code></td>
+                  <td>#000</td>
+                </tr>
+                <tr>
+                  <td><code>@grayDarker</code></td>
+                  <td><code>#222</code></td>
+                </tr>
+                <tr>
+                  <td><code>@grayDark</code></td>
+                  <td><code>#333</code></td>
+                </tr>
+                <tr>
+                  <td><code>@gray</code></td>
+                  <td><code>#555</code></td>
+                </tr>
+                <tr>
+                  <td><code>@grayLight</code></td>
+                  <td><code>#999</code></td>
+                </tr>
+                <tr>
+                  <td><code>@grayLighter</code></td>
+                  <td><code>#eee</code></td>
+                </tr>
+                <tr>
+                  <td><code>@white</code></td>
+                  <td>#fff</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+          <div class="span6">
+            <h3>{{_i}}Accent colors{{/i}}</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">{{_i}}Variable{{/i}}</th>
+                  <th>{{_i}}Value{{/i}}</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@blue</code></td>
+                  <td>#049cdb</td>
+                </tr>
+                <tr>
+                  <td><code>@green</code></td>
+                  <td>#46a546</td>
+                </tr>
+                <tr>
+                  <td><code>@red</code></td>
+                  <td>#9d261d</td>
+                </tr>
+                <tr>
+                  <td><code>@yellow</code></td>
+                  <td>#ffc40d</td>
+                </tr>
+                <tr>
+                  <td><code>@orange</code></td>
+                  <td>#f89406</td>
+                </tr>
+                <tr>
+                  <td><code>@pink</code></td>
+                  <td>#c3325f</td>
+                </tr>
+                <tr>
+                  <td><code>@purple</code></td>
+                  <td>#7a43b6</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div> <!-- /row -->
+        <div class="row">
+          <div class="span6">
+            <h3>{{_i}}Grid system{{/i}}</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">{{_i}}Variable{{/i}}</th>
+                  <th>{{_i}}Value{{/i}}</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@gridColumns</code></td>
+                  <td>12</td>
+                </tr>
+                <tr>
+                  <td><code>@gridColumnWidth</code></td>
+                  <td>60px</td>
+                </tr>
+                <tr>
+                  <td><code>@gridGutterWidth</code></td>
+                  <td>20px</td>
+                </tr>
+                <tr>
+                  <td><code>@siteWidth</code></td>
+                  <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+          <div class="span6">
+            <h3>{{_i}}Typography{{/i}}</h3>
+            <table class="table table-bordered table-striped">
+              <thead>
+                <tr>
+                  <th class="span2">{{_i}}Variable{{/i}}</th>
+                  <th>{{_i}}Value{{/i}}</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td><code>@baseFontSize</code></td>
+                  <td>13px</td>
+                </tr>
+                <tr>
+                  <td><code>@baseFontFamily</code></td>
+                  <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
+                  <td></td>
+                </tr>
+                <tr>
+                  <td><code>@baseLineHeight</code></td>
+                  <td>18px</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div> <!-- /row -->
+        <div class="row">
+          <div class="span3">
+            <h3>{{_i}}Visuals{{/i}}</h3>
+          </div>
+          <div class="span9">
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td><code>@primaryButtonColor</code></td>
+                  <td><code>@blue</code></td>
+                  <td></td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div> <!-- /row -->
+      </section>
 
-      <div class="row">
-        <div class="span3">
-          <h3>{{_i}}Visuals{{/i}}</h3>
-        </div>
-        <div class="span9">
-          <table class="table table-bordered table-striped">
-            <tbody>
-              <tr>
-                <td><code>@primaryButtonColor</code></td>
-                <td><code>@blue</code></td>
-                <td></td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-      </div>
 
 
       <!-- MIXINS
diff --git a/lib/type.less b/lib/type.less
index 2c6e7db6a2..d828ab6c94 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -175,6 +175,7 @@ blockquote {
   }
 }
 
+// Quotes
 q:before,
 q:after,
 blockquote:before, 
@@ -195,13 +196,16 @@ code,
 pre {
   padding: 0 3px 2px;
   #font > #family > .monospace;
-  font-size: 12px;
+  font-size: @baseFontSize - 2;
   color: @grayDark;
   .border-radius(3px);
 }
 code {
-  padding: 1px 3px;
+  padding: 3px 4px;
   background-color: lighten(@orange, 40%);
+  color: #d14;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
 }
 pre {
   display: block;
@@ -210,7 +214,7 @@ pre {
   font-size: 12px;
   line-height: @baseLineHeight;
   background-color: #f5f5f5;
-  border: 1px solid #ccc;
+  border: 1px solid #ccc; // fallback for IE7-8
   border: 1px solid rgba(0,0,0,.15);
   .border-radius(4px);
   white-space: pre;
diff --git a/lib/variables.less b/lib/variables.less
index 0a67521dfc..674a358bf6 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -9,7 +9,7 @@
 
 // Links
 @linkColor:             #08c;
-@linkColorHover:        darken(@linkColor, 15);
+@linkColorHover:        darken(@linkColor, 15%);
 
 // Grays
 @black:                 #000;
@@ -21,8 +21,8 @@
 @white:                 #fff;
 
 // Accent colors
-@blue:                  #049CDB;
-@blueDark:              #0064CD;
+@blue:                  #049cdb;
+@blueDark:              #0064cd;
 @green:                 #46a546;
 @red:                   #9d261d;
 @yellow:                #ffc40d;
-- 
GitLab


From b9bd5c65e76eea140b0121d5cbca00c43f3ae018 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 16:18:12 -0800
Subject: [PATCH 391/576] fix mailto link

---
 docs/base-css.html                     | 60 +++-----------------------
 docs/templates/pages/base-css.mustache | 60 +++-----------------------
 2 files changed, 14 insertions(+), 106 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 92117b80ef..bcb0c7d218 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -181,7 +181,7 @@
       </address>
       <address>
         <strong>Full Name</strong><br>
-        <a mailto="#">first.last@gmail.com</a>
+        <a href="mailto:#">first.last@gmail.com</a>
       </address>
     </div>
     <div class="span4">
@@ -767,63 +767,17 @@
 
 
 
-  <h3>5. Striped table w/ TableSorter.js</h3>
+  <h3>5. Combine them all!</h3>
   <div class="row">
     <div class="span4">
-      <p>Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automatically get clear styles for sorted columns.</p>
-<pre class="prettyprint linenums">
-&lt;script src="jquery.tablesorter.js"&gt;&lt;/script&gt;
-&lt;script &gt;
-  $(function() {
-    $("table#sortTableExample")
-    .tablesorter({
-      sortList: [[1,0]]
-    });
-  });
-&lt;/script&gt;
-&lt;table class="table table-striped"&gt;
-  …
+      <p>Feel free to combine any of the table classes to achieve different looks by utilizing any of the available classes.</p>
+<pre class="prettyprint linenums" style="margin-bottom: 18px;">
+&lt;table class="table table-striped table-bordered table-condensed"&gt;
+  ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="table table-striped tablesorter-example">
-        <thead>
-          <tr>
-            <th>#</th>
-            <th class="yellow">First Name</th>
-            <th class="blue">Last Name</th>
-            <th class="green">Language</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>1</td>
-            <td>Mark</td>
-            <td>Otto</td>
-            <td>CSS</td>
-          </tr>
-          <tr>
-            <td>2</td>
-            <td>Jacob</td>
-            <td>Thornton</td>
-            <td>Javascript</td>
-          </tr>
-          <tr>
-            <td>3</td>
-            <td>Stu</td>
-            <td>Dent</td>
-            <td>HTML</td>
-          </tr>
-          <tr>
-            <td>4</td>
-            <td>Brosef</td>
-            <td>Stalin</td>
-            <td>HTML</td>
-          </tr>
-        </tbody>
-      </table>
-      <p>Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.</p>
-      <table class="table table-striped table-bordered table-condensed tablesorter-example">
+      <table class="table table-striped table-bordered table-condensed">
         <thead>
           <tr>
             <th>#</th>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index b8c413888a..5552d6735d 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -121,7 +121,7 @@
       </address>
       <address>
         <strong>{{_i}}Full Name{{/i}}</strong><br>
-        <a mailto="#">{{_i}}first.last@gmail.com{{/i}}</a>
+        <a href="mailto:#">{{_i}}first.last@gmail.com{{/i}}</a>
       </address>
     </div>
     <div class="span4">
@@ -707,63 +707,17 @@
 
 
 
-  <h3>5. {{_i}}Striped table w/ TableSorter.js{{/i}}</h3>
+  <h3>5. {{_i}}Combine them all!{{/i}}</h3>
   <div class="row">
     <div class="span4">
-      <p>{{_i}}Include the <a href="http://jquery.com">jQuery</a> <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin and automatically get clear styles for sorted columns.{{/i}}</p>
-<pre class="prettyprint linenums">
-&lt;script src="jquery.tablesorter.js"&gt;&lt;/script&gt;
-&lt;script &gt;
-  $(function() {
-    $("table#sortTableExample")
-    .tablesorter({
-      sortList: [[1,0]]
-    });
-  });
-&lt;/script&gt;
-&lt;table class="table table-striped"&gt;
-  …
+      <p>{{_i}}Feel free to combine any of the table classes to achieve different looks by utilizing any of the available classes.{{/i}}</p>
+<pre class="prettyprint linenums" style="margin-bottom: 18px;">
+&lt;table class="table table-striped table-bordered table-condensed"&gt;
+  ...
 &lt;/table&gt;</pre>
     </div>
     <div class="span8">
-      <table class="table table-striped tablesorter-example">
-        <thead>
-          <tr>
-            <th>#</th>
-            <th class="yellow">{{_i}}First Name{{/i}}</th>
-            <th class="blue">{{_i}}Last Name{{/i}}</th>
-            <th class="green">{{_i}}Language{{/i}}</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>1</td>
-            <td>Mark</td>
-            <td>Otto</td>
-            <td>CSS</td>
-          </tr>
-          <tr>
-            <td>2</td>
-            <td>Jacob</td>
-            <td>Thornton</td>
-            <td>Javascript</td>
-          </tr>
-          <tr>
-            <td>3</td>
-            <td>Stu</td>
-            <td>Dent</td>
-            <td>HTML</td>
-          </tr>
-          <tr>
-            <td>4</td>
-            <td>Brosef</td>
-            <td>Stalin</td>
-            <td>HTML</td>
-          </tr>
-        </tbody>
-      </table>
-      <p>{{_i}}Styles for the Tablesorter, zebra striping, borders, and condensing may all compound in any variation to fit your needs.{{/i}}</p>
-      <table class="table table-striped table-bordered table-condensed tablesorter-example">
+      <table class="table table-striped table-bordered table-condensed">
         <thead>
           <tr>
             <th>#</th>
-- 
GitLab


From c2312220e4e1da3939c9fa79e97d79f693058ea2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 16:19:01 -0800
Subject: [PATCH 392/576] fix code type size

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/type.less     | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index a33bd7312c..5802262f06 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 16:01:37 PST 2012
+ * Date: Tue Jan 24 16:18:56 PST 2012
  */
 article,
 aside,
@@ -411,7 +411,7 @@ address {
 code, pre {
   padding: 0 3px 2px;
   font-family: Menlo, Monaco, "Courier New", monospace;
-  font-size: 11px;
+  font-size: 12px;
   color: #333333;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index bf98b8c57d..f8b9ab3794 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -82,7 +82,7 @@ blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:
 blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}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;}
-code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:11px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:3px 4px;background-color:#fee9cc;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
diff --git a/lib/type.less b/lib/type.less
index d828ab6c94..211111761b 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -196,7 +196,7 @@ code,
 pre {
   padding: 0 3px 2px;
   #font > #family > .monospace;
-  font-size: @baseFontSize - 2;
+  font-size: @baseFontSize - 1;
   color: @grayDark;
   .border-radius(3px);
 }
-- 
GitLab


From 40e92221a616bfe4e9500bcf2b72c86844f7f03f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 16:54:35 -0800
Subject: [PATCH 393/576] revamp alert message and error state color/text/bg to
 be variables

---
 bootstrap.css                      | 64 +++++++++++-----------
 bootstrap.min.css                  | 16 +++---
 docs/less.html                     | 74 +++++++++++++++++--------
 docs/templates/pages/less.mustache | 86 ++++++++++++++++++++++--------
 lib/alerts.less                    | 24 ++++-----
 lib/forms.less                     | 12 ++---
 lib/mixins.less                    |  2 +-
 lib/variables.less                 | 26 +++++++--
 8 files changed, 199 insertions(+), 105 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 5802262f06..d7594416b3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 16:18:56 PST 2012
+ * Date: Tue Jan 24 16:50:16 PST 2012
  */
 article,
 aside,
@@ -701,58 +701,58 @@ textarea[readonly] {
   border-color: #ddd;
   cursor: not-allowed;
 }
-.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {
-  color: #b94a48;
-}
-.control-group.error input, .control-group.error textarea {
-  color: #b94a48;
-  border-color: #ee5f5b;
-}
-.control-group.error input:focus, .control-group.error textarea:focus {
-  border-color: #e9322d;
-  -webkit-box-shadow: 0 0 6px #f8b9b7;
-  -moz-box-shadow: 0 0 6px #f8b9b7;
-  box-shadow: 0 0 6px #f8b9b7;
-}
-.control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {
-  color: #b94a48;
-  background-color: #fce6e6;
-  border-color: #b94a48;
-}
 .control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline {
   color: #c09853;
 }
 .control-group.warning input, .control-group.warning textarea {
   color: #c09853;
-  border-color: #ccae64;
+  border-color: #f3edd2;
 }
 .control-group.warning input:focus, .control-group.warning textarea:focus {
-  border-color: #be9a3f;
-  -webkit-box-shadow: 0 0 6px #e5d6b1;
-  -moz-box-shadow: 0 0 6px #e5d6b1;
-  box-shadow: 0 0 6px #e5d6b1;
+  border-color: #e8ddaa;
+  -webkit-box-shadow: 0 0 6px #ffffff;
+  -moz-box-shadow: 0 0 6px #ffffff;
+  box-shadow: 0 0 6px #ffffff;
 }
 .control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {
   color: #c09853;
-  background-color: #d2b877;
+  background-color: #fcf8e3;
   border-color: #c09853;
 }
+.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {
+  color: #b94a48;
+}
+.control-group.error input, .control-group.error textarea {
+  color: #b94a48;
+  border-color: #e9c7c7;
+}
+.control-group.error input:focus, .control-group.error textarea:focus {
+  border-color: #dba2a2;
+  -webkit-box-shadow: 0 0 6px #ffffff;
+  -moz-box-shadow: 0 0 6px #ffffff;
+  box-shadow: 0 0 6px #ffffff;
+}
+.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 > label, .control-group.success .help-block, .control-group.success .help-inline {
   color: #468847;
 }
 .control-group.success input, .control-group.success textarea {
   color: #468847;
-  border-color: #57a957;
+  border-color: #cfe8c4;
 }
 .control-group.success input:focus, .control-group.success textarea:focus {
-  border-color: #458845;
-  -webkit-box-shadow: 0 0 6px #9acc9a;
-  -moz-box-shadow: 0 0 6px #9acc9a;
-  box-shadow: 0 0 6px #9acc9a;
+  border-color: #b1da9f;
+  -webkit-box-shadow: 0 0 6px #ffffff;
+  -moz-box-shadow: 0 0 6px #ffffff;
+  box-shadow: 0 0 6px #ffffff;
 }
 .control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {
   color: #468847;
-  background-color: #bcddbc;
+  background-color: #dff0d8;
   border-color: #468847;
 }
 input:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid {
@@ -2648,7 +2648,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .alert-error,
 .alert-danger .alert-heading,
 .alert-error .alert-heading {
-  color: #B94A48;
+  color: #b94a48;
 }
 .alert-info {
   background-color: #d9edf7;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f8b9ab3794..51d362fa86 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -142,15 +142,15 @@ select.span10{width:790px;}
 select.span11{width:870px;}
 select.span12{width:950px;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
-.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
-.control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#ee5f5b;}.control-group.error input:focus,.control-group.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
-.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;}
 .control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
-.control-group.warning input,.control-group.warning textarea{color:#c09853;border-color:#ccae64;}.control-group.warning input:focus,.control-group.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;}
-.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;}
+.control-group.warning input,.control-group.warning textarea{color:#c09853;border-color:#f3edd2;}.control-group.warning input:focus,.control-group.warning textarea:focus{border-color:#e8ddaa;-webkit-box-shadow:0 0 6px #ffffff;-moz-box-shadow:0 0 6px #ffffff;box-shadow:0 0 6px #ffffff;}
+.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>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
+.control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#e9c7c7;}.control-group.error input:focus,.control-group.error textarea:focus{border-color:#dba2a2;-webkit-box-shadow:0 0 6px #ffffff;-moz-box-shadow:0 0 6px #ffffff;box-shadow:0 0 6px #ffffff;}
+.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>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
-.control-group.success input,.control-group.success textarea{color:#468847;border-color:#57a957;}.control-group.success input:focus,.control-group.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
-.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
+.control-group.success input,.control-group.success textarea{color:#468847;border-color:#cfe8c4;}.control-group.success input:focus,.control-group.success textarea:focus{border-color:#b1da9f;-webkit-box-shadow:0 0 6px #ffffff;-moz-box-shadow:0 0 6px #ffffff;box-shadow:0 0 6px #ffffff;}
+.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;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
 .uneditable-input{display:block;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;}
@@ -486,7 +486,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .alert-success{background-color:#dff0d8;border-color:#cfe8c4;}
 .alert-success,.alert-success .alert-heading{color:#468847;}
 .alert-danger,.alert-error{background-color:#f2dede;border-color:#e9c7c7;}
-.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#B94A48;}
+.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#b94a48;}
 .alert-info{background-color:#d9edf7;border-color:#bfe1f2;}
 .alert-info,.alert-info .alert-heading{color:#3a87ad;}
 .alert-block{padding-top:14px;padding-bottom:14px;}
diff --git a/docs/less.html b/docs/less.html
index 735bd0dc64..dfa0739a79 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -159,23 +159,23 @@
                 </tr>
                 <tr>
                   <td><code>@grayDarker</code></td>
-                  <td><code>#222</code></td>
+                  <td>#222</td>
                 </tr>
                 <tr>
                   <td><code>@grayDark</code></td>
-                  <td><code>#333</code></td>
+                  <td>#333</td>
                 </tr>
                 <tr>
                   <td><code>@gray</code></td>
-                  <td><code>#555</code></td>
+                  <td>#555</td>
                 </tr>
                 <tr>
                   <td><code>@grayLight</code></td>
-                  <td><code>#999</code></td>
+                  <td>#999</td>
                 </tr>
                 <tr>
                   <td><code>@grayLighter</code></td>
-                  <td><code>#eee</code></td>
+                  <td>#eee</td>
                 </tr>
                 <tr>
                   <td><code>@white</code></td>
@@ -283,22 +283,54 @@
             </table>
           </div>
         </div> <!-- /row -->
-        <div class="row">
-          <div class="span3">
-            <h3>Visuals</h3>
-          </div>
-          <div class="span9">
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td><code>@primaryButtonColor</code></td>
-                  <td><code>@blue</code></td>
-                  <td></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </div> <!-- /row -->
+
+        <h3>Components</h3>
+        <table class="table table-bordered table-striped">
+          <thead>
+            <tr>
+              <th colspan="2" class="span3">Buttons</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@primaryButtonColor</code></td>
+              <td><code>@blue</code></td>
+            </tr>
+          </tbody>
+          
+          <thead>
+            <tr>
+              <th colspan="2" class="span3">Buttons</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@placeholderText</code></td>
+              <td><code>@grayLight</code></td>
+            </tr>
+          </tbody>
+
+          <thead>
+            <tr>
+              <th colspan="2" class="span3">Navbars</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@navbarHeight</code></td>
+              <td>40px</td>
+            </tr>
+            <tr>
+              <td><code>@navbarBackground</code></td>
+              <td><code>@grayDarker</code></td>
+            </tr>
+            <tr>
+              <td><code>@navbarBackgroundHighlight</code></td>
+              <td><code>@grayDark</code></td>
+            </tr>
+          </tbody>
+        </table>
+
       </section>
 
 
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 8adc7874fc..141000c7ce 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -99,23 +99,23 @@
                 </tr>
                 <tr>
                   <td><code>@grayDarker</code></td>
-                  <td><code>#222</code></td>
+                  <td>#222</td>
                 </tr>
                 <tr>
                   <td><code>@grayDark</code></td>
-                  <td><code>#333</code></td>
+                  <td>#333</td>
                 </tr>
                 <tr>
                   <td><code>@gray</code></td>
-                  <td><code>#555</code></td>
+                  <td>#555</td>
                 </tr>
                 <tr>
                   <td><code>@grayLight</code></td>
-                  <td><code>#999</code></td>
+                  <td>#999</td>
                 </tr>
                 <tr>
                   <td><code>@grayLighter</code></td>
-                  <td><code>#eee</code></td>
+                  <td>#eee</td>
                 </tr>
                 <tr>
                   <td><code>@white</code></td>
@@ -223,22 +223,66 @@
             </table>
           </div>
         </div> <!-- /row -->
-        <div class="row">
-          <div class="span3">
-            <h3>{{_i}}Visuals{{/i}}</h3>
-          </div>
-          <div class="span9">
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td><code>@primaryButtonColor</code></td>
-                  <td><code>@blue</code></td>
-                  <td></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </div> <!-- /row -->
+
+        <h3>{{_i}}Components{{/i}}</h3>
+        <table class="table table-bordered table-striped">
+          <thead>
+            <tr>
+              <th colspan="2">{{_i}}Buttons{{/i}}</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@primaryButtonColor</code></td>
+              <td><code>@blue</code></td>
+            </tr>
+          </tbody>
+
+          <thead>
+            <tr>
+              <th colspan="2">{{_i}}Buttons{{/i}}</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@placeholderText</code></td>
+              <td><code>@grayLight</code></td>
+            </tr>
+          </tbody>
+
+          <thead>
+            <tr>
+              <th colspan="2">{{_i}}Navbars{{/i}}</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@navbarHeight</code></td>
+              <td>40px</td>
+            </tr>
+            <tr>
+              <td><code>@navbarBackground</code></td>
+              <td><code>@grayDarker</code></td>
+            </tr>
+            <tr>
+              <td><code>@navbarBackgroundHighlight</code></td>
+              <td><code>@grayDark</code></td>
+            </tr>
+          </tbody>
+          
+          <thead>
+            <tr>
+              <th colspan="2">{{_i}}Buttons{{/i}}</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td><code>@placeholderText</code></td>
+              <td><code>@grayLight</code></td>
+            </tr>
+          </tbody>
+        </table>
+
       </section>
 
 
diff --git a/lib/alerts.less b/lib/alerts.less
index 53a43c6e4f..20e935fa95 100644
--- a/lib/alerts.less
+++ b/lib/alerts.less
@@ -6,13 +6,13 @@
   padding: 8px 35px 8px 14px;
   margin-bottom: @baseLineHeight;
   text-shadow: 0 1px 0 rgba(255,255,255,.5);
-  background-color: #fcf8e3;
-  border: 1px solid #f3edd2;
+  background-color: @warningBackground;
+  border: 1px solid @warningBorder;
   .border-radius(4px);
 }
 .alert,
 .alert-heading {
-  color: #c09853;
+  color: @warningText;
 }
 
 // Adjust close link position
@@ -26,31 +26,31 @@
 // ----------------
 
 .alert-success {
-  background-color: #dff0d8;
-  border-color: #cfe8c4;  
+  background-color: @successBackground;
+  border-color: @successBorder;  
 }
 .alert-success,
 .alert-success .alert-heading {
-  color: #468847;
+  color: @successText;
 }
 .alert-danger,
 .alert-error {
-  background-color: #f2dede;
-  border-color: #e9c7c7;
+  background-color: @errorBackground;
+  border-color: @errorBorder;
 }
 .alert-danger,
 .alert-error,
 .alert-danger .alert-heading,
 .alert-error .alert-heading {
-  color: #B94A48;
+  color: @errorText;
 }
 .alert-info {
-  background-color: #d9edf7;
-  border-color: #bfe1f2;
+  background-color: @infoBackground;
+  border-color: @infoBorder;
 }
 .alert-info,
 .alert-info .alert-heading {
-  color: #3a87ad;
+  color: @infoText;
 }
 
 
diff --git a/lib/forms.less b/lib/forms.less
index 1f424abaae..2b24fb2f0e 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -295,17 +295,17 @@ textarea[readonly] {
     border-color: @textColor;
   }
 }
-// Error
-.control-group.error {
-  .formFieldState(#b94a48, #ee5f5b, lighten(#ee5f5b, 30%));
-}
 // Warning
 .control-group.warning {
-  .formFieldState(#c09853, #ccae64, lighten(#CCAE64, 5%));
+  .formFieldState(@warningText, @warningBorder, @warningBackground);
+}
+// Error
+.control-group.error {
+  .formFieldState(@errorText, @errorBorder, @errorBackground);
 }
 // Success
 .control-group.success {
-  .formFieldState(#468847, #57a957, lighten(#57a957, 30%));
+  .formFieldState(@successText, @successBorder, @successBackground);
 }
 
 // HTML5 invalid states
diff --git a/lib/mixins.less b/lib/mixins.less
index a54f6762fb..e64b80ad36 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -48,7 +48,7 @@
 
 // Placeholder text
 // -------------------------
-.placeholder(@color: @placeHolderText) {
+.placeholder(@color: @placeholderText) {
   :-moz-placeholder {
     color: @color;
   }
diff --git a/lib/variables.less b/lib/variables.less
index 674a358bf6..3c4f562ca4 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -52,11 +52,9 @@
 // COMPONENT VARIABLES
 // --------------------------------------------------
 
-// Input placeholder text color
-@placeHolderText:       @grayLight;
-
 // Z-index master list
 // Used for a bird's eye view of components dependent on the z-axis
+// Try to avoid customizing these :)
 @zindexDropdown:        1000;
 @zindexPopover:         1010;
 @zindexTooltip:         1020;
@@ -64,9 +62,29 @@
 @zindexModalBackdrop:   1040;
 @zindexModal:           1050;
 
+// Input placeholder text color
+@placeholderText:       @grayLight;
+
 // Navbar
-@navBarHeight:                    40px;
+@navbarHeight:                    40px;
 @navbarBackground:                @grayDarker;
 @navbarBackgroundHighlight:       @grayDark;
 
+// Form states and alerts
+@warningText:             #c09853;
+@warningBackground:       #fcf8e3;
+@warningBorder:           #f3edd2;
+
+@errorText:               #b94a48;
+@errorBackground:         #f2dede;
+@errorBorder:             #e9c7c7;
+
+@successText:             #468847;
+@successBackground:       #dff0d8;
+@successBorder:           #cfe8c4;
+
+@infoText:                #3a87ad;
+@infoBackground:          #d9edf7;
+@infoBorder:              #bfe1f2;
+
 
-- 
GitLab


From a40d4993ed0a947083b7e85cf7772492d613afc8 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 17:13:02 -0800
Subject: [PATCH 394/576] make subnav fix

---
 docs/assets/css/docs.css      |  6 ++++++
 docs/assets/js/application.js | 21 +++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index d78cea2b19..4ab3530695 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -165,6 +165,12 @@ section {
   border-right: 0;
 }
 
+.subhead .subnav-fixed {
+  position: fixed;
+  top: 40px;
+  z-index:1000;
+}
+
 
 /* Quick links
 -------------------------------------------------- */
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 95caa0f31a..4b7efe53fc 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -116,6 +116,27 @@ $(function(){
     })
   })
 
+  // fix sub nav playa
+  var $win = $(window)
+    , $nav = $('.subhead .nav')
+    , navTop = $('.subhead .nav').offset().top - 40
+    , isFixed = 0
+
+  processScroll()
+
+  $win.on('scroll', processScroll)
+
+  function processScroll() {
+    var i, scrollTop = $win.scrollTop()
+    if (scrollTop >= navTop && !isFixed) {
+      isFixed = 1
+      $nav.addClass('subnav-fixed')
+    } else if (scrollTop <= navTop && isFixed) {
+      isFixed = 0
+      $nav.removeClass('subnav-fixed')
+    }
+  }
+
 })
 
 // JS for javascript demos
-- 
GitLab


From 805a965f2e7373db42d99376d4dc3c1ca9ea509d Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 17:14:19 -0800
Subject: [PATCH 395/576] finish updating form state and alert variables in
 less docs page

---
 bootstrap.css                      |   2 +-
 docs/assets/css/docs.css           |   2 +
 docs/less.html                     | 143 +++++++++++++++++---------
 docs/templates/pages/less.mustache | 155 ++++++++++++++++++-----------
 4 files changed, 199 insertions(+), 103 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index d7594416b3..0cc74c8e21 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 16:50:16 PST 2012
+ * Date: Tue Jan 24 17:04:46 PST 2012
  */
 article,
 aside,
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index d78cea2b19..956eff246d 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -417,6 +417,8 @@ pre.prettyprint {
 
 /* Make tables spaced out a bit more */
 h2 + table,
+h3 + table,
+h4 + table,
 h2 + .row {
   margin-top: 5px;
 }
diff --git a/docs/less.html b/docs/less.html
index dfa0739a79..c9e4473827 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -58,6 +58,10 @@
 
     <div class="container">
 
+      <div class="alert alert-block">
+        <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+      </div>
+
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
@@ -285,51 +289,100 @@
         </div> <!-- /row -->
 
         <h3>Components</h3>
-        <table class="table table-bordered table-striped">
-          <thead>
-            <tr>
-              <th colspan="2" class="span3">Buttons</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@primaryButtonColor</code></td>
-              <td><code>@blue</code></td>
-            </tr>
-          </tbody>
-          
-          <thead>
-            <tr>
-              <th colspan="2" class="span3">Buttons</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@placeholderText</code></td>
-              <td><code>@grayLight</code></td>
-            </tr>
-          </tbody>
-
-          <thead>
-            <tr>
-              <th colspan="2" class="span3">Navbars</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@navbarHeight</code></td>
-              <td>40px</td>
-            </tr>
-            <tr>
-              <td><code>@navbarBackground</code></td>
-              <td><code>@grayDarker</code></td>
-            </tr>
-            <tr>
-              <td><code>@navbarBackgroundHighlight</code></td>
-              <td><code>@grayDark</code></td>
-            </tr>
-          </tbody>
-        </table>
+        <div class="row">
+          <div class="span6">
+            <h4>Buttons</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@primaryButtonColor</code></td>
+                  <td><code>@blue</code></td>
+                </tr>
+              </tbody>
+            </table>
+            <h4>Forms</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@placeholderText</code></td>
+                  <td><code>@grayLight</code></td>
+                </tr>
+              </tbody>
+            </table>
+            <h4>Navbar</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@navbarHeight</code></td>
+                  <td>40px</td>
+                </tr>
+                <tr>
+                  <td><code>@navbarBackground</code></td>
+                  <td><code>@grayDarker</code></td>
+                </tr>
+                <tr>
+                  <td><code>@navbarBackgroundHighlight</code></td>
+                  <td><code>@grayDark</code></td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+          <div class="span6">
+            <h4>Form states and alerts</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@warningText</code></td>
+                  <td>#f3edd2</td>
+                </tr>
+                <tr>
+                  <td><code>@warningBackground</code></td>
+                  <td>#c09853</td>
+                </tr>
+                <tr>
+                  <td><code>@warningBorder</code></td>
+                  <td>#f3edd2</td>
+                </tr>
+                <tr>
+                  <td><code>@errorText</code></td>
+                  <td>#b94a48</td>
+                </tr>
+                <tr>
+                  <td><code>@errorBackground</code></td>
+                  <td>#f2dede</td>
+                </tr>
+                <tr>
+                  <td><code>@errorBorder</code></td>
+                  <td>#e9c7c7</td>
+                </tr>
+                <tr>
+                  <td><code>@successText</code></td>
+                  <td>#468847</td>
+                </tr>
+                <tr>
+                  <td><code>@successBackground</code></td>
+                  <td>#dff0d8</td>
+                </tr>
+                <tr>
+                  <td><code>@successBorder</code></td>
+                  <td>#cfe8c4</td>
+                </tr>
+                <tr>
+                  <td><code>@infoText</code></td>
+                  <td>#3a87ad</td>
+                </tr>
+                <tr>
+                  <td><code>@infoBackground</code></td>
+                  <td>#d9edf7</td>
+                </tr>
+                <tr>
+                  <td><code>@infoBorder</code></td>
+                  <td>#bfe1f2</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div><!-- /row -->
 
       </section>
 
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 141000c7ce..580fac2f69 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -1,3 +1,7 @@
+      <div class="alert alert-block">
+        <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+      </div>
+
       <!-- Masthead
       ================================================== -->
       <header class="jumbotron subhead" id="overview">
@@ -225,63 +229,100 @@
         </div> <!-- /row -->
 
         <h3>{{_i}}Components{{/i}}</h3>
-        <table class="table table-bordered table-striped">
-          <thead>
-            <tr>
-              <th colspan="2">{{_i}}Buttons{{/i}}</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@primaryButtonColor</code></td>
-              <td><code>@blue</code></td>
-            </tr>
-          </tbody>
-
-          <thead>
-            <tr>
-              <th colspan="2">{{_i}}Buttons{{/i}}</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@placeholderText</code></td>
-              <td><code>@grayLight</code></td>
-            </tr>
-          </tbody>
-
-          <thead>
-            <tr>
-              <th colspan="2">{{_i}}Navbars{{/i}}</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@navbarHeight</code></td>
-              <td>40px</td>
-            </tr>
-            <tr>
-              <td><code>@navbarBackground</code></td>
-              <td><code>@grayDarker</code></td>
-            </tr>
-            <tr>
-              <td><code>@navbarBackgroundHighlight</code></td>
-              <td><code>@grayDark</code></td>
-            </tr>
-          </tbody>
-          
-          <thead>
-            <tr>
-              <th colspan="2">{{_i}}Buttons{{/i}}</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@placeholderText</code></td>
-              <td><code>@grayLight</code></td>
-            </tr>
-          </tbody>
-        </table>
+        <div class="row">
+          <div class="span6">
+            <h4>Buttons</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@primaryButtonColor</code></td>
+                  <td><code>@blue</code></td>
+                </tr>
+              </tbody>
+            </table>
+            <h4>Forms</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@placeholderText</code></td>
+                  <td><code>@grayLight</code></td>
+                </tr>
+              </tbody>
+            </table>
+            <h4>Navbar</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@navbarHeight</code></td>
+                  <td>40px</td>
+                </tr>
+                <tr>
+                  <td><code>@navbarBackground</code></td>
+                  <td><code>@grayDarker</code></td>
+                </tr>
+                <tr>
+                  <td><code>@navbarBackgroundHighlight</code></td>
+                  <td><code>@grayDark</code></td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+          <div class="span6">
+            <h4>Form states and alerts</h4>
+            <table class="table table-bordered table-striped">
+              <tbody>
+                <tr>
+                  <td class="span3"><code>@warningText</code></td>
+                  <td>#f3edd2</td>
+                </tr>
+                <tr>
+                  <td><code>@warningBackground</code></td>
+                  <td>#c09853</td>
+                </tr>
+                <tr>
+                  <td><code>@warningBorder</code></td>
+                  <td>#f3edd2</td>
+                </tr>
+                <tr>
+                  <td><code>@errorText</code></td>
+                  <td>#b94a48</td>
+                </tr>
+                <tr>
+                  <td><code>@errorBackground</code></td>
+                  <td>#f2dede</td>
+                </tr>
+                <tr>
+                  <td><code>@errorBorder</code></td>
+                  <td>#e9c7c7</td>
+                </tr>
+                <tr>
+                  <td><code>@successText</code></td>
+                  <td>#468847</td>
+                </tr>
+                <tr>
+                  <td><code>@successBackground</code></td>
+                  <td>#dff0d8</td>
+                </tr>
+                <tr>
+                  <td><code>@successBorder</code></td>
+                  <td>#cfe8c4</td>
+                </tr>
+                <tr>
+                  <td><code>@infoText</code></td>
+                  <td>#3a87ad</td>
+                </tr>
+                <tr>
+                  <td><code>@infoBackground</code></td>
+                  <td>#d9edf7</td>
+                </tr>
+                <tr>
+                  <td><code>@infoBorder</code></td>
+                  <td>#bfe1f2</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div><!-- /row -->
 
       </section>
 
-- 
GitLab


From 26ed8202ee270ce8b103491613fb2f5053472a70 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 18:24:38 -0800
Subject: [PATCH 396/576] modify the scaffolding page to fix the language
 around preboot/grid variables

---
 bootstrap.css                             | 2 +-
 docs/assets/css/docs.css                  | 3 ++-
 docs/templates/pages/scaffolding.mustache | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0cc74c8e21..c626cb0f50 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 17:04:46 PST 2012
+ * Date: Tue Jan 24 18:24:24 PST 2012
  */
 article,
 aside,
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index d5192ca553..ac48c6e2b6 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -168,7 +168,8 @@ section {
 .subhead .subnav-fixed {
   position: fixed;
   top: 40px;
-  z-index:1000;
+  z-index: 1030;
+  width: 938px;
 }
 
 
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index 7c0c12e8f4..a8638f2735 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -157,7 +157,7 @@
     </div>
     <div class="span4">
       <h3>{{_i}}How to customize{{/i}}</h3>
-      <p>{{_i}}Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.{{/i}}</p>
+      <p>{{_i}}Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}</p>
     </div>
     <div class="span4">
       <h3>{{_i}}Staying responsive{{/i}}</h3>
-- 
GitLab


From 9ef4171d03e048ee9458fb7a1db83ea61bf845c2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 18:26:45 -0800
Subject: [PATCH 397/576] lighten alert on less page

---
 docs/less.html                     | 2 +-
 docs/scaffolding.html              | 2 +-
 docs/templates/pages/less.mustache | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/less.html b/docs/less.html
index c9e4473827..c8c1540b59 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -58,7 +58,7 @@
 
     <div class="container">
 
-      <div class="alert alert-block">
+      <div class="alert">
         <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
       </div>
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 2684e32ec8..1fd8363aeb 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -217,7 +217,7 @@
     </div>
     <div class="span4">
       <h3>How to customize</h3>
-      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.</p>
+      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.</p>
     </div>
     <div class="span4">
       <h3>Staying responsive</h3>
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 580fac2f69..b5cff2d114 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -1,4 +1,4 @@
-      <div class="alert alert-block">
+      <div class="alert">
         <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
       </div>
 
-- 
GitLab


From d3622235359c08f65d5396ee01523c7f7d8901b1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 18:29:17 -0800
Subject: [PATCH 398/576] refine fixed docs bar

---
 docs/assets/css/docs.css | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index ac48c6e2b6..dd723800b2 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -170,6 +170,12 @@ section {
   top: 40px;
   z-index: 1030;
   width: 938px;
+  -webkit-border-radius: 0 0 4px 4px;
+     -moz-border-radius: 0 0 4px 4px;
+          border-radius: 0 0 4px 4px;
+  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,.05);
+     -moz-box-shadow: 0 1px 5px rgba(0,0,0,.05);
+          box-shadow: 0 1px 5px rgba(0,0,0,.05);
 }
 
 
@@ -565,6 +571,13 @@ form.well {
   .subhead .nav li + li a {
     border-top: 1px solid #eee;
   }
+  .subhead .subnav-fixed {
+    position: static;
+    top: auto;
+    z-index: auto;
+    width: auto;
+  }
+
 
   /* Don't space out quick links so much */
   .quick-links {
-- 
GitLab


From 880486089888fbba04ed12083ad038ae38494fd1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 18:45:23 -0800
Subject: [PATCH 399/576] fix typo on js docs

---
 docs/javascript.html                     | 2 +-
 docs/templates/pages/javascript.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index a35c299136..06aba5156e 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1166,7 +1166,7 @@ $('#myCollapsible').collapse({
             </thead>
             <tbody>
              <tr>
-               <td>show/td>
+               <td>show</td>
                <td>This event fires immediately when the <code>show</code> instance method is called.</td>
              </tr>
              <tr>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 763fe8aa1b..97e6da9ef6 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -1106,7 +1106,7 @@ $('#myCollapsible').collapse({
             </thead>
             <tbody>
              <tr>
-               <td>{{_i}}show{{/i}}/td>
+               <td>{{_i}}show{{/i}}</td>
                <td>{{_i}}This event fires immediately when the <code>show</code> instance method is called.{{/i}}</td>
              </tr>
              <tr>
-- 
GitLab


From f70895a6059aab44c53048b0294204d2f53dfd65 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 19:01:38 -0800
Subject: [PATCH 400/576] remove rogue html elements

---
 docs/javascript.html                     | 6 ++----
 docs/templates/pages/javascript.mustache | 6 ++----
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 06aba5156e..472285cc92 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -646,7 +646,6 @@ $('#myModal').on('hidden', function () {
     $('.tabs a:last').tab('show')
   })
 &lt;/script&gt;</pre>
-          </p>
           <h3>Events</h3>
           <table class="table table-bordered table-striped">
             <thead>
@@ -753,7 +752,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code></p>
+          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</p>
           <h3>Markup</h3>
           <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
           <h3>Methods</h3>
@@ -853,7 +852,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code></p>
+          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</p>
           <h3>Markup</h3>
           <p>
           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.
@@ -1310,7 +1309,6 @@ $('.myCarousel').carousel({
                <td>slid</td>
                <td>This event is fired when the carousel has completed it's slide transition.</td>
              </tr>
-             </tr>
             </tbody>
           </table>
         </div>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 97e6da9ef6..9fd431f2fd 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -586,7 +586,6 @@ $('#myModal').on('hidden', function () {
     $('.tabs a:last').tab('show')
   })
 &lt;/script&gt;</pre>
-          </p>
           <h3>{{_i}}Events{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
@@ -693,7 +692,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p>{{_i}}<span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</code>{{/i}}</p>
+          <p>{{_i}}<span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.{{/i}}</p>
           <h3>{{_i}}Markup{{/i}}</h3>
           <p>{{_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}}</p>
           <h3>{{_i}}Methods{{/i}}</h3>
@@ -793,7 +792,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p>{{_i}}<span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</code>{{/i}}</p>
+          <p>{{_i}}<span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.{{/i}}</p>
           <h3>{{_i}}Markup{{/i}}</h3>
           <p>
           {{_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}}
@@ -1250,7 +1249,6 @@ $('.myCarousel').carousel({
                <td>{{_i}}slid{{/i}}</td>
                <td>{{_i}}This event is fired when the carousel has completed it's slide transition.{{/i}}</td>
              </tr>
-             </tr>
             </tbody>
           </table>
         </div>
-- 
GitLab


From 672ba4c2fd9a42d4f178e795ebc162cce81bbc2f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 19:19:50 -0800
Subject: [PATCH 401/576] update the subnav on all pages

---
 bootstrap.css                             |   2 +-
 docs/assets/css/docs.css                  |  40 +++-
 docs/assets/js/application.js             |   4 +-
 docs/base-css.html                        |  16 +-
 docs/components.html                      | 263 +++++++++++-----------
 docs/javascript.html                      |  30 +--
 docs/less.html                            |  14 +-
 docs/scaffolding.html                     |  12 +-
 docs/templates/pages/base-css.mustache    |  16 +-
 docs/templates/pages/components.mustache  | 263 +++++++++++-----------
 docs/templates/pages/javascript.mustache  |  30 +--
 docs/templates/pages/less.mustache        |  14 +-
 docs/templates/pages/scaffolding.mustache |  12 +-
 13 files changed, 371 insertions(+), 345 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index c626cb0f50..49f31bc1d6 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 18:24:24 PST 2012
+ * Date: Tue Jan 24 19:19:33 PST 2012
  */
 article,
 aside,
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index dd723800b2..776ca58b91 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -125,7 +125,9 @@ section {
 }
 
 /* Subnav */
-.subhead .nav {
+.subnav {
+  width: 100%;
+  height: 36px;
   background-color: #eeeeee; /* Old browsers */
   background-repeat: repeat-x; /* Repeat the gradient */
   background-image: -moz-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* FF3.6+ */
@@ -138,23 +140,30 @@ section {
   border: 1px solid #e5e5e5;
   -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
-          border-radius: 4px;
+          border-radius: 4px;  
+}
+.subhead .nav {
 }
 .subhead .nav a {
   margin: 0;
   padding-top: 11px;
   padding-bottom: 11px;
   font-size: 13px;
+  color: #777;
   border-left: 1px solid #f5f5f5;
   border-right: 1px solid #e5e5e5;
   -webkit-border-radius: 0;
      -moz-border-radius: 0;
           border-radius: 0;
 }
+.subhead .nav a:hover,
 .subhead .nav .active a {
-  background-color: #fff;
+  background-color: transparent;
   color: #333;
 }
+.subhead .nav .active a {
+  background-color: #eee;
+}
 .subhead .nav li:first-child a {
   border-left: 0;
   -webkit-border-radius: 4px 0 0 4px;
@@ -165,17 +174,24 @@ section {
   border-right: 0;
 }
 
-.subhead .subnav-fixed {
+.subnav-fixed {
   position: fixed;
   top: 40px;
+  left: 0;
+  right: 0;
   z-index: 1030;
-  width: 938px;
-  -webkit-border-radius: 0 0 4px 4px;
-     -moz-border-radius: 0 0 4px 4px;
-          border-radius: 0 0 4px 4px;
-  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,.05);
-     -moz-box-shadow: 0 1px 5px rgba(0,0,0,.05);
-          box-shadow: 0 1px 5px rgba(0,0,0,.05);
+  border-color: #d5d5d5;
+  border-width: 0 0 1px; /* drop the border on the fixed edges */
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
+  -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
+     -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
+          box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
+}
+.subnav-fixed .nav {
+  width: 940px;
+  margin: 0 auto;
 }
 
 
@@ -438,7 +454,7 @@ h2 + .row {
 
 /* Example sites showcase */
 .example-sites img {
-  max-width: 290px;
+  max-width: 100%;
 }
 .marketing-byline {
   margin: -18px 0 27px;
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 4b7efe53fc..0252d75e96 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -118,8 +118,8 @@ $(function(){
 
   // fix sub nav playa
   var $win = $(window)
-    , $nav = $('.subhead .nav')
-    , navTop = $('.subhead .nav').offset().top - 40
+    , $nav = $('.subnav')
+    , navTop = $('.subnav').offset().top - 40
     , isFixed = 0
 
   processScroll()
diff --git a/docs/base-css.html b/docs/base-css.html
index bcb0c7d218..c849a299e0 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -63,13 +63,15 @@
 <header class="jumbotron subhead" id="overview">
   <h1>Base CSS</h1>
   <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
-  <ul class="nav pills">
-    <li><a href="./base-css.html#typography">Typography</a></li>
-    <li><a href="./base-css.html#tables">Tables</a></li>
-    <li><a href="./base-css.html#forms">Forms</a></li>
-    <li><a href="./base-css.html#buttons">Buttons</a></li>
-    <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
-  </ul>
+  <div class="subnav">
+    <ul class="nav pills">
+      <li><a href="./base-css.html#typography">Typography</a></li>
+      <li><a href="./base-css.html#tables">Tables</a></li>
+      <li><a href="./base-css.html#forms">Forms</a></li>
+      <li><a href="./base-css.html#buttons">Buttons</a></li>
+      <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+    </ul>
+  </div>
 </header>
 
 
diff --git a/docs/components.html b/docs/components.html
index 9d28b9e06b..50c615fb9e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -58,11 +58,12 @@
 
     <div class="container">
 
-  <!-- Masthead
-  ================================================== -->
-  <header class="jumbotron subhead" id="overview">
-    <h1>Components</h1>
-    <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Components</h1>
+  <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
+  <div class="subnav">
     <ul class="nav pills">
       <li><a href="./components.html#buttonGroups">Button groups</a></li>
       <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
@@ -74,51 +75,52 @@
       <li><a href="./components.html#alerts">Alerts</a></li>
       <li><a href="./components.html#progress">Progress bars</a></li>
     </ul>
-  </header>
+  </div>
+</header>
 
 
 
-  <!-- Button Groups
-  ================================================== -->
-  <section id="buttonGroups">
-    <div class="page-header">
-      <h1>Button groups <small>Join buttons for more toolbar-like functionality</small></h1>
-    </div>
-    <div class="row">
-      <div class="span4">
-        <h3>Button groups</h3>
-        <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
-        <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
-        <div class="well" style="padding: 10px; margin-bottom: 9px;">
+<!-- Button Groups
+================================================== -->
+<section id="buttonGroups">
+  <div class="page-header">
+    <h1>Button groups <small>Join buttons for more toolbar-like functionality</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>Button groups</h3>
+      <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
+      <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
+      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+        <div class="btn-group">
+          <a class="btn" href="#">Left</a>
+          <a class="btn" href="#">Middle</a>
+          <a class="btn" href="#">Right</a>
+        </div>
+      </div>
+      <div class="well" style="padding: 10px;">
+        <div class="btn-toolbar">
           <div class="btn-group">
-            <a class="btn" href="#">Left</a>
-            <a class="btn" href="#">Middle</a>
-            <a class="btn" href="#">Right</a>
+            <a class="btn" href="#">1</a>
+            <a class="btn" href="#">2</a>
+            <a class="btn" href="#">3</a>
+            <a class="btn" href="#">4</a>
           </div>
-        </div>
-        <div class="well" style="padding: 10px;">
-          <div class="btn-toolbar">
-            <div class="btn-group">
-              <a class="btn" href="#">1</a>
-              <a class="btn" href="#">2</a>
-              <a class="btn" href="#">3</a>
-              <a class="btn" href="#">4</a>
-            </div>
-            <div class="btn-group">
-              <a class="btn" href="#">5</a>
-              <a class="btn" href="#">6</a>
-              <a class="btn" href="#">7</a>
-            </div>
-            <div class="btn-group">
-              <a class="btn" href="#">8</a>
-            </div>
+          <div class="btn-group">
+            <a class="btn" href="#">5</a>
+            <a class="btn" href="#">6</a>
+            <a class="btn" href="#">7</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">8</a>
           </div>
         </div>
-
       </div>
-      <div class="span4">
-        <h3>Example markup</h3>
-        <p>Here's how the HTML looks for a standard button group built with anchor tag buttons:</p>
+
+    </div>
+    <div class="span4">
+      <h3>Example markup</h3>
+      <p>Here's how the HTML looks for a standard button group built with anchor tag buttons:</p>
 <pre class="prettyprint linenums">
 &lt;div class="btn-group"&gt;
   &lt;a class="btn" href="#"&gt;1&lt;/a&gt;
@@ -134,95 +136,95 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      </div>
-      <div class="span4">
-        <h3>Checkbox and radio flavors</h3>
-        <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
-        <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
-        <hr>
-        <h4 class="muted">Heads up</h4>
-        <p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
-      </div>
     </div>
-  </section>
+    <div class="span4">
+      <h3>Checkbox and radio flavors</h3>
+      <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
+      <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
+      <hr>
+      <h4 class="muted">Heads up</h4>
+      <p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
+    </div>
+  </div>
+</section>
 
 
 
-  <!-- Split button dropdowns
-  ================================================== -->
-  <section id="buttonDropdowns">
-    <div class="page-header">
-      <h1>Split button dropdowns <small>Built on button groups to provide contextual menus</small></h1>
+<!-- Split button dropdowns
+================================================== -->
+<section id="buttonDropdowns">
+  <div class="page-header">
+    <h1>Split button dropdowns <small>Built on button groups to provide contextual menus</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>Split button dropdowns</h3>
+      <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
+      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+        <div class="btn-toolbar" style="margin-bottom: 9px;">
+          <div class="btn-group">
+            <a class="btn" href="#">Action</a>
+            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+          <div class="btn-group">
+            <a class="btn primary" href="#">Action</a>
+            <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+          <div class="btn-group">
+            <a class="btn danger" href="#">Danger</a>
+            <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+        </div>
+        <div class="btn-toolbar">
+          <div class="btn-group">
+            <a class="btn success" href="#">Success</a>
+            <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+          <div class="btn-group">
+            <a class="btn info" href="#">Info</a>
+            <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">Action</a></li>
+              <li><a href="#">Another action</a></li>
+              <li><a href="#">Something else here</a></li>
+              <li class="divider"></li>
+              <li><a href="#">Separated link</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+        </div>
+      </div> <!-- /well -->
     </div>
-    <div class="row">
-      <div class="span4">
-        <h3>Split button dropdowns</h3>
-        <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
-        <div class="well" style="padding: 10px; margin-bottom: 9px;">
-          <div class="btn-toolbar" style="margin-bottom: 9px;">
-            <div class="btn-group">
-              <a class="btn" href="#">Action</a>
-              <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-            <div class="btn-group">
-              <a class="btn primary" href="#">Action</a>
-              <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-            <div class="btn-group">
-              <a class="btn danger" href="#">Danger</a>
-              <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-          </div>
-          <div class="btn-toolbar">
-            <div class="btn-group">
-              <a class="btn success" href="#">Success</a>
-              <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-            <div class="btn-group">
-              <a class="btn info" href="#">Info</a>
-              <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">Action</a></li>
-                <li><a href="#">Another action</a></li>
-                <li><a href="#">Something else here</a></li>
-                <li class="divider"></li>
-                <li><a href="#">Separated link</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-          </div>
-        </div> <!-- /well -->
-      </div>
-      <div class="span8">
-        <h3>Example markup</h3>
-        <p>Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.</p>
+    <div class="span8">
+      <h3>Example markup</h3>
+      <p>Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.</p>
 <pre class="prettyprint linenums">
 &lt;div class="btn-group"&gt;
   &lt;a class="btn" href="#"&gt;Action&lt;/a&gt;
@@ -234,9 +236,9 @@
   &lt;/ul&gt;
 &lt;/div&gt;
 </pre>
-      </div>
     </div>
-  </section>
+  </div>
+</section>
 
 
 
@@ -528,11 +530,6 @@
 
   <h3>Tabbable in any direction</h3>
   <div class="row">
-<!--
-    <div class="span4">
-      <p>Swap the order of your HTML&mdash;placing <code>.tabs</code> after <code>.tab-content</code>&mdash;for tabs on the bottom.</p>
-    </div>
--->
     <div class="span4">
       <h4>Tabs on the bottom</h4>
       <p>Flip the order of the HTML and add a class to put tabs on the bottom.</p>
diff --git a/docs/javascript.html b/docs/javascript.html
index 472285cc92..396bf15bc2 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -63,20 +63,22 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Javascript for Bootstrap</h1>
         <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
-        <ul class="nav pills">
-          <li><a href="./javascript.html#javascript">Overview</a></li>
-          <li><a href="./javascript.html#modals">Modal</a></li>
-          <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-          <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-          <li><a href="./javascript.html#tabs">Tab</a></li>
-          <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-          <li><a href="./javascript.html#popovers">Popover</a></li>
-          <li><a href="./javascript.html#alerts">Alert</a></li>
-          <li><a href="./javascript.html#buttons">Button</a></li>
-          <li><a href="./javascript.html#collapse">Collapse</a></li>
-          <li><a href="./javascript.html#carousel">Carousel</a></li>
-          <li><a href="./javascript.html#typeahead">Typeahead</a></li>
-        </ul>
+        <div class="subnav">
+          <ul class="nav pills">
+            <li><a href="./javascript.html#javascript">Overview</a></li>
+            <li><a href="./javascript.html#modals">Modal</a></li>
+            <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
+            <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
+            <li><a href="./javascript.html#tabs">Tab</a></li>
+            <li><a href="./javascript.html#tooltips">Tooltip</a></li>
+            <li><a href="./javascript.html#popovers">Popover</a></li>
+            <li><a href="./javascript.html#alerts">Alert</a></li>
+            <li><a href="./javascript.html#buttons">Button</a></li>
+            <li><a href="./javascript.html#collapse">Collapse</a></li>
+            <li><a href="./javascript.html#carousel">Carousel</a></li>
+            <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+          </ul>
+        </div>
       </header>
 
 
diff --git a/docs/less.html b/docs/less.html
index c8c1540b59..86a65a6c7e 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -67,12 +67,14 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Using LESS with Bootstrap</h1>
         <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
-        <ul class="nav pills">
-          <li><a href="./less.html#builtWith">Built with Less</a></li>
-          <li><a href="./less.html#variables">Variables</a></li>
-          <li><a href="./less.html#mixins">Mixins</a></li>
-          <li><a href="./less.html#compiling">Compiling Bootstrap</a></li>
-        </ul>
+        <div class="subnav">
+          <ul class="nav pills">
+            <li><a href="./less.html#builtWith">Built with Less</a></li>
+            <li><a href="./less.html#variables">Variables</a></li>
+            <li><a href="./less.html#mixins">Mixins</a></li>
+            <li><a href="./less.html#compiling">Compiling Bootstrap</a></li>
+          </ul>
+        </div>
       </header>
 
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 1fd8363aeb..bb18b03945 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -63,11 +63,13 @@
       <header class="jumbotron subhead" id="overview">
         <h1>Scaffolding</h1>
         <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
-        <ul class="nav pills">
-          <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-          <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-          <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
-        </ul>
+        <div class="subnav">
+          <ul class="nav pills">
+            <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
+            <li><a href="./scaffolding.html#layouts">Layouts</a></li>
+            <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+          </ul>
+        </div>
       </header>
 
 
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 5552d6735d..41722aa710 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -3,13 +3,15 @@
 <header class="jumbotron subhead" id="overview">
   <h1>{{_i}}Base CSS{{/i}}</h1>
   <p class="lead">{{_i}}On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.{{/i}}</p>
-  <ul class="nav pills">
-    <li><a href="./base-css.html#typography">{{_i}}Typography{{/i}}</a></li>
-    <li><a href="./base-css.html#tables">{{_i}}Tables{{/i}}</a></li>
-    <li><a href="./base-css.html#forms">{{_i}}Forms{{/i}}</a></li>
-    <li><a href="./base-css.html#buttons">{{_i}}Buttons{{/i}}</a></li>
-    <li><a href="./base-css.html#icons">{{_i}}Icons by Glyphicons{{/i}}</a></li>
-  </ul>
+  <div class="subnav">
+    <ul class="nav pills">
+      <li><a href="./base-css.html#typography">{{_i}}Typography{{/i}}</a></li>
+      <li><a href="./base-css.html#tables">{{_i}}Tables{{/i}}</a></li>
+      <li><a href="./base-css.html#forms">{{_i}}Forms{{/i}}</a></li>
+      <li><a href="./base-css.html#buttons">{{_i}}Buttons{{/i}}</a></li>
+      <li><a href="./base-css.html#icons">{{_i}}Icons by Glyphicons{{/i}}</a></li>
+    </ul>
+  </div>
 </header>
 
 
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 5282e61785..36fc84281b 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -1,8 +1,9 @@
-  <!-- Masthead
-  ================================================== -->
-  <header class="jumbotron subhead" id="overview">
-    <h1>{{_i}}Components{{/i}}</h1>
-    <p class="lead">{{_i}}Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.{{/i}}</p>
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>{{_i}}Components{{/i}}</h1>
+  <p class="lead">{{_i}}Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.{{/i}}</p>
+  <div class="subnav">
     <ul class="nav pills">
       <li><a href="./components.html#buttonGroups">{{_i}}Button groups{{/i}}</a></li>
       <li><a href="./components.html#buttonDropdowns">{{_i}}Button dropdowns{{/i}}</a></li>
@@ -14,51 +15,52 @@
       <li><a href="./components.html#alerts">{{_i}}Alerts{{/i}}</a></li>
       <li><a href="./components.html#progress">{{_i}}Progress bars{{/i}}</a></li>
     </ul>
-  </header>
+  </div>
+</header>
 
 
 
-  <!-- Button Groups
-  ================================================== -->
-  <section id="buttonGroups">
-    <div class="page-header">
-      <h1>{{_i}}Button groups{{/i}} <small>{{_i}}Join buttons for more toolbar-like functionality{{/i}}</small></h1>
-    </div>
-    <div class="row">
-      <div class="span4">
-        <h3>{{_i}}Button groups{{/i}}</h3>
-        <p>{{_i}}Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.{{/i}}</p>
-        <p>{{_i}}You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.{{/i}}</p>
-        <div class="well" style="padding: 10px; margin-bottom: 9px;">
+<!-- Button Groups
+================================================== -->
+<section id="buttonGroups">
+  <div class="page-header">
+    <h1>{{_i}}Button groups{{/i}} <small>{{_i}}Join buttons for more toolbar-like functionality{{/i}}</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Button groups{{/i}}</h3>
+      <p>{{_i}}Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.{{/i}}</p>
+      <p>{{_i}}You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.{{/i}}</p>
+      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+        <div class="btn-group">
+          <a class="btn" href="#">{{_i}}Left{{/i}}</a>
+          <a class="btn" href="#">{{_i}}Middle{{/i}}</a>
+          <a class="btn" href="#">{{_i}}Right{{/i}}</a>
+        </div>
+      </div>
+      <div class="well" style="padding: 10px;">
+        <div class="btn-toolbar">
           <div class="btn-group">
-            <a class="btn" href="#">{{_i}}Left{{/i}}</a>
-            <a class="btn" href="#">{{_i}}Middle{{/i}}</a>
-            <a class="btn" href="#">{{_i}}Right{{/i}}</a>
+            <a class="btn" href="#">1</a>
+            <a class="btn" href="#">2</a>
+            <a class="btn" href="#">3</a>
+            <a class="btn" href="#">4</a>
           </div>
-        </div>
-        <div class="well" style="padding: 10px;">
-          <div class="btn-toolbar">
-            <div class="btn-group">
-              <a class="btn" href="#">1</a>
-              <a class="btn" href="#">2</a>
-              <a class="btn" href="#">3</a>
-              <a class="btn" href="#">4</a>
-            </div>
-            <div class="btn-group">
-              <a class="btn" href="#">5</a>
-              <a class="btn" href="#">6</a>
-              <a class="btn" href="#">7</a>
-            </div>
-            <div class="btn-group">
-              <a class="btn" href="#">8</a>
-            </div>
+          <div class="btn-group">
+            <a class="btn" href="#">5</a>
+            <a class="btn" href="#">6</a>
+            <a class="btn" href="#">7</a>
+          </div>
+          <div class="btn-group">
+            <a class="btn" href="#">8</a>
           </div>
         </div>
-
       </div>
-      <div class="span4">
-        <h3>{{_i}}Example markup{{/i}}</h3>
-        <p>{{_i}}Here's how the HTML looks for a standard button group built with anchor tag buttons:{{/i}}</p>
+
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Example markup{{/i}}</h3>
+      <p>{{_i}}Here's how the HTML looks for a standard button group built with anchor tag buttons:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="btn-group"&gt;
   &lt;a class="btn" href="#"&gt;1&lt;/a&gt;
@@ -74,95 +76,95 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      </div>
-      <div class="span4">
-        <h3>{{_i}}Checkbox and radio flavors{{/i}}</h3>
-        <p>{{_i}}Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.{{/i}}</p>
-        <p><a class="btn js-btn" href="./javascript.html#buttons">{{_i}}Get the javascript &raquo;{{/i}}</a></p>
-        <hr>
-        <h4 class="muted">{{_i}}Heads up{{/i}}</h4>
-        <p class="muted">{{_i}}CSS for button groups is in a separate file, button-groups.less.{{/i}}</p>
-      </div>
     </div>
-  </section>
+    <div class="span4">
+      <h3>{{_i}}Checkbox and radio flavors{{/i}}</h3>
+      <p>{{_i}}Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.{{/i}}</p>
+      <p><a class="btn js-btn" href="./javascript.html#buttons">{{_i}}Get the javascript &raquo;{{/i}}</a></p>
+      <hr>
+      <h4 class="muted">{{_i}}Heads up{{/i}}</h4>
+      <p class="muted">{{_i}}CSS for button groups is in a separate file, button-groups.less.{{/i}}</p>
+    </div>
+  </div>
+</section>
 
 
 
-  <!-- Split button dropdowns
-  ================================================== -->
-  <section id="buttonDropdowns">
-    <div class="page-header">
-      <h1>{{_i}}Split button dropdowns{{/i}} <small>{{_i}}Built on button groups to provide contextual menus{{/i}}</small></h1>
+<!-- Split button dropdowns
+================================================== -->
+<section id="buttonDropdowns">
+  <div class="page-header">
+    <h1>{{_i}}Split button dropdowns{{/i}} <small>{{_i}}Built on button groups to provide contextual menus{{/i}}</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Split button dropdowns{{/i}}</h3>
+      <p>{{_i}}Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.{{/i}}</p>
+      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+        <div class="btn-toolbar" style="margin-bottom: 9px;">
+          <div class="btn-group">
+            <a class="btn" href="#">{{_i}}Action{{/i}}</a>
+            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">{{_i}}Action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+              <li class="divider"></li>
+              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+          <div class="btn-group">
+            <a class="btn primary" href="#">{{_i}}Action{{/i}}</a>
+            <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">{{_i}}Action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+              <li class="divider"></li>
+              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+          <div class="btn-group">
+            <a class="btn danger" href="#">{{_i}}Danger{{/i}}</a>
+            <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">{{_i}}Action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+              <li class="divider"></li>
+              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+        </div>
+        <div class="btn-toolbar">
+          <div class="btn-group">
+            <a class="btn success" href="#">{{_i}}Success{{/i}}</a>
+            <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">{{_i}}Action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+              <li class="divider"></li>
+              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+          <div class="btn-group">
+            <a class="btn info" href="#">{{_i}}Info{{/i}}</a>
+            <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+            <ul class="dropdown-menu">
+              <li><a href="#">{{_i}}Action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+              <li class="divider"></li>
+              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+            </ul>
+          </div><!-- /btn-group -->
+        </div>
+      </div> <!-- /well -->
     </div>
-    <div class="row">
-      <div class="span4">
-        <h3>{{_i}}Split button dropdowns{{/i}}</h3>
-        <p>{{_i}}Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.{{/i}}</p>
-        <div class="well" style="padding: 10px; margin-bottom: 9px;">
-          <div class="btn-toolbar" style="margin-bottom: 9px;">
-            <div class="btn-group">
-              <a class="btn" href="#">{{_i}}Action{{/i}}</a>
-              <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">{{_i}}Action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-                <li class="divider"></li>
-                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-            <div class="btn-group">
-              <a class="btn primary" href="#">{{_i}}Action{{/i}}</a>
-              <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">{{_i}}Action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-                <li class="divider"></li>
-                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-            <div class="btn-group">
-              <a class="btn danger" href="#">{{_i}}Danger{{/i}}</a>
-              <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">{{_i}}Action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-                <li class="divider"></li>
-                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-          </div>
-          <div class="btn-toolbar">
-            <div class="btn-group">
-              <a class="btn success" href="#">{{_i}}Success{{/i}}</a>
-              <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">{{_i}}Action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-                <li class="divider"></li>
-                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-            <div class="btn-group">
-              <a class="btn info" href="#">{{_i}}Info{{/i}}</a>
-              <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-              <ul class="dropdown-menu">
-                <li><a href="#">{{_i}}Action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-                <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-                <li class="divider"></li>
-                <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-              </ul>
-            </div><!-- /btn-group -->
-          </div>
-        </div> <!-- /well -->
-      </div>
-      <div class="span8">
-        <h3>{{_i}}Example markup{{/i}}</h3>
-        <p>{{_i}}Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.{{/i}}</p>
+    <div class="span8">
+      <h3>{{_i}}Example markup{{/i}}</h3>
+      <p>{{_i}}Similar to a button group, our markup uses regular button markup, but with a handful of additions to refine the style and support Bootstrap's dropdown jQuery plugin.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;div class="btn-group"&gt;
   &lt;a class="btn" href="#"&gt;{{_i}}Action{{/i}}&lt;/a&gt;
@@ -174,9 +176,9 @@
   &lt;/ul&gt;
 &lt;/div&gt;
 </pre>
-      </div>
     </div>
-  </section>
+  </div>
+</section>
 
 
 
@@ -468,11 +470,6 @@
 
   <h3>{{_i}}Tabbable in any direction{{/i}}</h3>
   <div class="row">
-<!--
-    <div class="span4">
-      <p>Swap the order of your HTML&mdash;placing <code>.tabs</code> after <code>.tab-content</code>&mdash;for tabs on the bottom.</p>
-    </div>
--->
     <div class="span4">
       <h4>{{_i}}Tabs on the bottom{{/i}}</h4>
       <p>{{_i}}Flip the order of the HTML and add a class to put tabs on the bottom.{{/i}}</p>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 9fd431f2fd..b6b16fef21 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -3,20 +3,22 @@
       <header class="jumbotron subhead" id="overview">
         <h1>{{_i}}Javascript for Bootstrap{{/i}}</h1>
         <p class="lead">{{_i}}Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.{{/i}}
-        <ul class="nav pills">
-          <li><a href="./javascript.html#javascript">{{_i}}Overview{{/i}}</a></li>
-          <li><a href="./javascript.html#modals">{{_i}}Modal{{/i}}</a></li>
-          <li><a href="./javascript.html#dropdowns">{{_i}}Dropdown{{/i}}</a></li>
-          <li><a href="./javascript.html#scrollspy">{{_i}}Scrollspy{{/i}}</a></li>
-          <li><a href="./javascript.html#tabs">{{_i}}Tab{{/i}}</a></li>
-          <li><a href="./javascript.html#tooltips">{{_i}}Tooltip{{/i}}</a></li>
-          <li><a href="./javascript.html#popovers">{{_i}}Popover{{/i}}</a></li>
-          <li><a href="./javascript.html#alerts">{{_i}}Alert{{/i}}</a></li>
-          <li><a href="./javascript.html#buttons">{{_i}}Button{{/i}}</a></li>
-          <li><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a></li>
-          <li><a href="./javascript.html#carousel">{{_i}}Carousel{{/i}}</a></li>
-          <li><a href="./javascript.html#typeahead">{{_i}}Typeahead{{/i}}</a></li>
-        </ul>
+        <div class="subnav">
+          <ul class="nav pills">
+            <li><a href="./javascript.html#javascript">{{_i}}Overview{{/i}}</a></li>
+            <li><a href="./javascript.html#modals">{{_i}}Modal{{/i}}</a></li>
+            <li><a href="./javascript.html#dropdowns">{{_i}}Dropdown{{/i}}</a></li>
+            <li><a href="./javascript.html#scrollspy">{{_i}}Scrollspy{{/i}}</a></li>
+            <li><a href="./javascript.html#tabs">{{_i}}Tab{{/i}}</a></li>
+            <li><a href="./javascript.html#tooltips">{{_i}}Tooltip{{/i}}</a></li>
+            <li><a href="./javascript.html#popovers">{{_i}}Popover{{/i}}</a></li>
+            <li><a href="./javascript.html#alerts">{{_i}}Alert{{/i}}</a></li>
+            <li><a href="./javascript.html#buttons">{{_i}}Button{{/i}}</a></li>
+            <li><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a></li>
+            <li><a href="./javascript.html#carousel">{{_i}}Carousel{{/i}}</a></li>
+            <li><a href="./javascript.html#typeahead">{{_i}}Typeahead{{/i}}</a></li>
+          </ul>
+        </div>
       </header>
 
 
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index b5cff2d114..ea7058fd9b 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -7,12 +7,14 @@
       <header class="jumbotron subhead" id="overview">
         <h1>{{_i}}Using LESS with Bootstrap{{/i}}</h1>
         <p class="lead">{{_i}}Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.{{/i}}</p>
-        <ul class="nav pills">
-          <li><a href="./less.html#builtWith">{{_i}}Built with Less{{/i}}</a></li>
-          <li><a href="./less.html#variables">{{_i}}Variables{{/i}}</a></li>
-          <li><a href="./less.html#mixins">{{_i}}Mixins{{/i}}</a></li>
-          <li><a href="./less.html#compiling">{{_i}}Compiling Bootstrap{{/i}}</a></li>
-        </ul>
+        <div class="subnav">
+          <ul class="nav pills">
+            <li><a href="./less.html#builtWith">{{_i}}Built with Less{{/i}}</a></li>
+            <li><a href="./less.html#variables">{{_i}}Variables{{/i}}</a></li>
+            <li><a href="./less.html#mixins">{{_i}}Mixins{{/i}}</a></li>
+            <li><a href="./less.html#compiling">{{_i}}Compiling Bootstrap{{/i}}</a></li>
+          </ul>
+        </div>
       </header>
 
 
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index a8638f2735..ed80dabfca 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -3,11 +3,13 @@
       <header class="jumbotron subhead" id="overview">
         <h1>{{_i}}Scaffolding{{/i}}</h1>
         <p class="lead">{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}</p>
-        <ul class="nav pills">
-          <li><a href="./scaffolding.html#grid-system">{{_i}}Grid system{{/i}}</a></li>
-          <li><a href="./scaffolding.html#layouts">{{_i}}Layouts{{/i}}</a></li>
-          <li><a href="./scaffolding.html#responsive">{{_i}}Responsive design{{/i}}</a></li>
-        </ul>
+        <div class="subnav">
+          <ul class="nav pills">
+            <li><a href="./scaffolding.html#grid-system">{{_i}}Grid system{{/i}}</a></li>
+            <li><a href="./scaffolding.html#layouts">{{_i}}Layouts{{/i}}</a></li>
+            <li><a href="./scaffolding.html#responsive">{{_i}}Responsive design{{/i}}</a></li>
+          </ul>
+        </div>
       </header>
 
 
-- 
GitLab


From 4a6d9106b8f92a85a528971c70f132c32b6c43cf Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 19:36:42 -0800
Subject: [PATCH 402/576] fix the thumbnails more examples section

---
 bootstrap.css                            | 2 +-
 docs/assets/css/docs.css                 | 8 ++++++--
 docs/components.html                     | 2 +-
 docs/templates/pages/components.mustache | 2 +-
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 49f31bc1d6..48f370d515 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 19:19:33 PST 2012
+ * Date: Tue Jan 24 19:36:20 PST 2012
  */
 article,
 aside,
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 776ca58b91..d0a5623f48 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -19,7 +19,7 @@ body {
 
 /* Tweak navbar brand link to be super sleek
 -------------------------------------------------- */
-body > .navbar-fixed .brand {
+.navbar-fixed .brand {
   padding-right: 0;
   padding-left: 0;
   margin-left: 20px;
@@ -27,8 +27,12 @@ body > .navbar-fixed .brand {
   font-weight: bold;
   color: #000;
   text-shadow: 0 1px 0 rgba(255,255,255,.1), 0 0 30px rgba(255,255,255,.125);
+  -webkit-transition: all .2s linear;
+     -moz-transition: all .2s linear;
+          transition: all .2s linear;
+      
 }
-body > .navbar-fixed .brand:hover {
+.navbar-fixed .brand:hover {
   text-decoration: none;
 }
 
diff --git a/docs/components.html b/docs/components.html
index 50c615fb9e..d823998d95 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -1038,7 +1038,7 @@
       <ul class="thumbnails">
         <li class="span4">
           <a href="#" class="thumbnail">
-            <img src="http://placehold.it/290x230" alt="">
+            <img src="http://placehold.it/290x226" alt="">
           </a>
         </li>
         <li class="span2">
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 36fc84281b..94d72a5403 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -978,7 +978,7 @@
       <ul class="thumbnails">
         <li class="span4">
           <a href="#" class="thumbnail">
-            <img src="http://placehold.it/290x230" alt="">
+            <img src="http://placehold.it/290x226" alt="">
           </a>
         </li>
         <li class="span2">
-- 
GitLab


From bacb05608f2d42ef7fdb6fa25241d4268b989387 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 19:43:52 -0800
Subject: [PATCH 403/576] redo the form examples to enable better responsive
 layout

---
 docs/assets/css/docs.css               | 39 +++++++++++---------------
 docs/base-css.html                     | 22 +++++++++++----
 docs/templates/pages/base-css.mustache | 22 +++++++++++----
 3 files changed, 49 insertions(+), 34 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index d0a5623f48..6cb8720c77 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -146,8 +146,6 @@ section {
      -moz-border-radius: 4px;
           border-radius: 4px;  
 }
-.subhead .nav {
-}
 .subhead .nav a {
   margin: 0;
   padding-top: 11px;
@@ -477,7 +475,7 @@ h2 + .row {
 
 /* Remove bottom margin on example forms in wells */
 form.well {
-  margin-bottom: 0;
+  padding: 14px;
 }
 
 /* Tighten up spacing */
@@ -558,6 +556,14 @@ form.well {
     margin-top: 18px;
   }
 
+  /* Subnav */
+  .subnav {
+    background: none;
+  }
+  .subnav .nav > li {
+    float: none;
+  }
+
   /* Adjust the jumbotron */
   .jumbotron h1,
   .jumbotron p {
@@ -580,25 +586,6 @@ form.well {
     margin: 0 auto 10px;
   }
 
-  /* Subnav */
-  .subhead .nav {
-    padding: 0;
-    background: none;
-  }
-  .subhead .nav > li {
-    float: none;
-  }
-  .subhead .nav li + li a {
-    border-top: 1px solid #eee;
-  }
-  .subhead .subnav-fixed {
-    position: static;
-    top: auto;
-    z-index: auto;
-    width: auto;
-  }
-
-
   /* Don't space out quick links so much */
   .quick-links {
     margin: 40px 0 0;
@@ -632,6 +619,14 @@ form.well {
 
 @media (max-width: 768px) {
 
+  /* Subnav */
+  .subnav-fixed {
+    position: static;
+    top: auto;
+    z-index: auto;
+    width: auto;
+  }
+
   /* Adjust the jumbotron */
   .jumbotron .benefits {
     position: relative;
diff --git a/docs/base-css.html b/docs/base-css.html
index c849a299e0..27251d8244 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -887,10 +887,12 @@
 
 
   <h2>Example forms <small>using just form controls, no extra markup</small></h2>
+  <h3>Basic form</h3>
   <div class="row">
-    <div class="span4">
-      <h3>Basic form</h3>
+    <div class="span3">
       <p>With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.</p>
+    </div>
+    <div class="span9">
       <form class="well">
         <label>Label name</label>
         <input type="text" class="span3" placeholder="Type something…">
@@ -900,17 +902,25 @@
         <button type="submit" class="btn">Submit</button>
       </form>
     </div>
-    <div class="span4">
-      <h3>Search form</h3>
+  </div> <!-- /row -->
+  <h3>Search form</h3>
+  <div class="row">
+    <div class="span3">
       <p>Reflecting default WebKit styles, just add <code>.form-search</code> for extra rounded search fields.</p>
+    </div>
+    <div class="span9">
       <form class="well form-search">
         <input type="text" class="input-medium search-query">
         <button type="submit" class="btn">Search</button>
       </form>
     </div>
-    <div class="span4">
-      <h3>Inline form</h3>
+  </div> <!-- /row -->
+  <h3>Inline form</h3>
+  <div class="row">
+    <div class="span3">
       <p>Inputs are block level to start. For <code>.form-inline</code> and <code>.form-horizontal</code>, we use inline-block.</p>
+    </div>
+    <div class="span9">
       <form class="well form-search">
         <input type="text" class="input-small" placeholder="Email">
         <input type="password" class="input-small" placeholder="Password">
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 41722aa710..225e88d2bf 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -827,10 +827,12 @@
 
 
   <h2>{{_i}}Example forms <small>using just form controls, no extra markup</small>{{/i}}</h2>
+  <h3>{{_i}}Basic form{{/i}}</h3>
   <div class="row">
-    <div class="span4">
-      <h3>{{_i}}Basic form{{/i}}</h3>
+    <div class="span3">
       <p>{{_i}}With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.{{/i}}</p>
+    </div>
+    <div class="span9">
       <form class="well">
         <label>{{_i}}Label name{{/i}}</label>
         <input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}">
@@ -840,17 +842,25 @@
         <button type="submit" class="btn">{{_i}}Submit{{/i}}</button>
       </form>
     </div>
-    <div class="span4">
-      <h3>{{_i}}Search form{{/i}}</h3>
+  </div> <!-- /row -->
+  <h3>{{_i}}Search form{{/i}}</h3>
+  <div class="row">
+    <div class="span3">
       <p>{{_i}}Reflecting default WebKit styles, just add <code>.form-search</code> for extra rounded search fields.{{/i}}</p>
+    </div>
+    <div class="span9">
       <form class="well form-search">
         <input type="text" class="input-medium search-query">
         <button type="submit" class="btn">{{_i}}Search{{/i}}</button>
       </form>
     </div>
-    <div class="span4">
-      <h3>{{_i}}Inline form{{/i}}</h3>
+  </div> <!-- /row -->
+  <h3>{{_i}}Inline form{{/i}}</h3>
+  <div class="row">
+    <div class="span3">
       <p>{{_i}}Inputs are block level to start. For <code>.form-inline</code> and <code>.form-horizontal</code>, we use inline-block.{{/i}}</p>
+    </div>
+    <div class="span9">
       <form class="well form-search">
         <input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}">
         <input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}">
-- 
GitLab


From c6d5dcd872dcc3aa16a269cb5b4a434a8960f58c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 19:50:18 -0800
Subject: [PATCH 404/576] remove link from transitions on js page

---
 docs/javascript.html                     | 2 +-
 docs/templates/pages/javascript.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 396bf15bc2..cc9c0d9eb7 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -162,7 +162,7 @@
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#transitions">Transitions</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <h3>Transitions <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
             <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
             <p class="muted"><strong>*</strong> Required for animation in plugins</p>
           </label>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index b6b16fef21..401e86cbec 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -102,7 +102,7 @@
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#transitions">{{_i}}Transitions{{/i}}</a> <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <h3>{{_i}}Transitions{{/i}} <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
             <p>{{_i}}For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.{{/i}}</p>
             <p class="muted"><strong>*</strong> {{_i}}Required for animation in plugins{{/i}}</p>
           </label>
-- 
GitLab


From 74b5dc8d3bd5ef34bb2cdc590b8a5dcbc43a8f4c Mon Sep 17 00:00:00 2001
From: Roberto Poo <xaro@poo.cl>
Date: Wed, 25 Jan 2012 02:06:50 -0200
Subject: [PATCH 405/576] Fixed typo

---
 docs/base-css.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index c849a299e0..8d0ab86f91 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -368,7 +368,7 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+          <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here…&lt;/p&gt;
-- 
GitLab


From 731821b78f059f78800baa721410341f786698b5 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 20:26:54 -0800
Subject: [PATCH 406/576] updated docs css to fix subnav on iOS

---
 docs/assets/css/docs.css | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 6cb8720c77..5fc04b0f95 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -146,7 +146,10 @@ section {
      -moz-border-radius: 4px;
           border-radius: 4px;  
 }
-.subhead .nav a {
+.subnav .nav {
+  margin-bottom: 0;
+}
+.subnav .nav a {
   margin: 0;
   padding-top: 11px;
   padding-bottom: 11px;
@@ -158,24 +161,25 @@ section {
      -moz-border-radius: 0;
           border-radius: 0;
 }
-.subhead .nav a:hover,
-.subhead .nav .active a {
+.subnav .nav a:hover,
+.subnav .nav .active a {
   background-color: transparent;
   color: #333;
 }
-.subhead .nav .active a {
+.subnav .nav .active a {
   background-color: #eee;
 }
-.subhead .nav li:first-child a {
+.subnav .nav li:first-child a {
   border-left: 0;
   -webkit-border-radius: 4px 0 0 4px;
      -moz-border-radius: 4px 0 0 4px;
           border-radius: 4px 0 0 4px;
 }
-.subhead .nav li:last-child a {
+.subnav .nav li:last-child a {
   border-right: 0;
 }
 
+/* Fixed subnav on scroll */
 .subnav-fixed {
   position: fixed;
   top: 40px;
@@ -558,7 +562,7 @@ form.well {
 
   /* Subnav */
   .subnav {
-    background: none;
+    background: #fff; /* whole background property since we use a background-image for gradient */
   }
   .subnav .nav > li {
     float: none;
@@ -620,11 +624,21 @@ form.well {
 @media (max-width: 768px) {
 
   /* Subnav */
-  .subnav-fixed {
+  .subnav {
     position: static;
     top: auto;
     z-index: auto;
     width: auto;
+    height: auto;
+    -webkit-box-shadow: none;
+       -moz-box-shadow: none;
+            box-shadow: none;
+  }
+  .subnav .nav a {
+    border: 0;
+  }
+  .subnav .nav li + li a {
+    border-top: 1px solid #e5e5e5;
   }
 
   /* Adjust the jumbotron */
-- 
GitLab


From a03fbc18cb50c7735b80e3ced6a6ebbe2ea05d2b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 20:30:26 -0800
Subject: [PATCH 407/576] allow for text in progress bars

---
 bootstrap.css          | 6 +++++-
 bootstrap.min.css      | 2 +-
 lib/progress-bars.less | 4 ++++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 48f370d515..3de652f55a 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 19:36:20 PST 2012
+ * Date: Tue Jan 24 20:30:11 PST 2012
  */
 article,
 aside,
@@ -2772,6 +2772,10 @@ a.thumbnail:hover {
 .progress .bar {
   width: 0%;
   height: 18px;
+  color: #fff;
+  font-size: 12px;
+  text-align: center;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0480be;
   background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
   background-image: -moz-linear-gradient(top, #149bdf, #0480be);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 51d362fa86..9b3bdc74b8 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -505,7 +505,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.notice{background-color:#62cffc;}
 @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
-.progress .bar{width:0%;height:18px;background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.progress .bar{width:0%;height:18px;color:#fff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
 .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));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: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;}
 .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;}
 .progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
diff --git a/lib/progress-bars.less b/lib/progress-bars.less
index e8557a99e7..c1a3f97922 100644
--- a/lib/progress-bars.less
+++ b/lib/progress-bars.less
@@ -46,6 +46,10 @@
 .progress .bar {
   width: 0%;
   height: 18px;
+  color: #fff;
+  font-size: 12px;
+  text-align: center;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
   #gradient > .vertical(#149bdf, #0480be);
   .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
   .box-sizing(border-box);
-- 
GitLab


From a5c1d1f1828c333e373cdc5da5da2f6d946ad45e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 20:45:38 -0800
Subject: [PATCH 408/576] adding actual images to carousel to ensure you can
 see things are animating; updated styles of carousel controls to work on
 light and dark backgrounds and use opacity for effects

---
 bootstrap.css                               |  27 +++++++++++++-------
 bootstrap.min.css                           |   4 +--
 docs/assets/img/bootstrap-mdo-sfmoma-01.jpg | Bin 0 -> 59871 bytes
 docs/assets/img/bootstrap-mdo-sfmoma-02.jpg | Bin 0 -> 93456 bytes
 docs/assets/img/bootstrap-mdo-sfmoma-03.jpg | Bin 0 -> 125720 bytes
 docs/base-css.html                          |   2 +-
 docs/javascript.html                        |   6 ++---
 docs/templates/pages/javascript.mustache    |   6 ++---
 lib/carousel.less                           |  13 +++++-----
 9 files changed, 34 insertions(+), 24 deletions(-)
 create mode 100644 docs/assets/img/bootstrap-mdo-sfmoma-01.jpg
 create mode 100644 docs/assets/img/bootstrap-mdo-sfmoma-02.jpg
 create mode 100644 docs/assets/img/bootstrap-mdo-sfmoma-03.jpg

diff --git a/bootstrap.css b/bootstrap.css
index 3de652f55a..62690e42fe 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 20:30:11 PST 2012
+ * Date: Tue Jan 24 20:44:12 PST 2012
  */
 article,
 aside,
@@ -2953,13 +2953,21 @@ a.thumbnail:hover {
   font-size: 60px;
   font-weight: 100;
   line-height: 30px;
-  color: #ccc;
+  color: #fff;
   text-align: center;
-  background: #999999;
-  background: rgba(0, 0, 0, 0.5);
-  -webkit-border-radius: 20px;
-  -moz-border-radius: 20px;
-  border-radius: 20px;
+  background: #222222;
+  border: 3px solid #fff;
+  -webkit-border-radius: 23px;
+  -moz-border-radius: 23px;
+  border-radius: 23px;
+  filter: alpha(opacity=50);
+  -moz-opacity: 0.5;
+  opacity: 0.5;
+  -webkit-transition: all 0.2s linear;
+  -moz-transition: all 0.2s linear;
+  -ms-transition: all 0.2s linear;
+  -o-transition: all 0.2s linear;
+  transition: all 0.2s linear;
 }
 .carousel-control.right {
   left: auto;
@@ -2968,8 +2976,9 @@ a.thumbnail:hover {
 .carousel-control:hover {
   color: #ffffff;
   text-decoration: none;
-  background: #333333;
-  background: rgba(0, 0, 0, 0.75);
+  filter: alpha(opacity=90);
+  -moz-opacity: 0.9;
+  opacity: 0.9;
 }
 .carousel-caption {
   position: absolute;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9b3bdc74b8..15d4f23613 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -530,8 +530,8 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel .next.left,.carousel .prev.right{left:0;}
 .carousel .active.left{left:-100%;}
 .carousel .active.right{left:100%;}
-.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ccc;text-align:center;background:#999999;background:rgba(0, 0, 0, 0.5);-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}.carousel-control.right{left:auto;right:15px;}
-.carousel-control:hover{color:#ffffff;text-decoration:none;background:#333333;background:rgba(0, 0, 0, 0.75);}
+.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;filter:alpha(opacity=50);-moz-opacity:0.5;opacity:0.5;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
+.carousel-control:hover{color:#ffffff;text-decoration:none;filter:alpha(opacity=90);-moz-opacity:0.9;opacity:0.9;}
 .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);}
 .carousel-caption h4,.carousel-caption p{color:#ffffff;}
 .pull-right{float:right;}
diff --git a/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg b/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a5c7bb9009894d25e164a79a69b338202580631a
GIT binary patch
literal 59871
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%0D9@0lG1<yPNsUDli9bQkpuF57lH
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

literal 0
HcmV?d00001

diff --git a/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg b/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2f795e18f1d431fa05527133eb43355645c412a7
GIT binary patch
literal 93456
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

literal 0
HcmV?d00001

diff --git a/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg b/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..911e64f89765ac9e18cd8f3d8a1908859d74564b
GIT binary patch
literal 125720
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

literal 0
HcmV?d00001

diff --git a/docs/base-css.html b/docs/base-css.html
index 6847c0616a..27251d8244 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -368,7 +368,7 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here…&lt;/p&gt;
diff --git a/docs/javascript.html b/docs/javascript.html
index cc9c0d9eb7..425d347cb8 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1215,21 +1215,21 @@ $('#myCollapsible').on('hidden', function () {
           <div id="myCarousel" class="carousel slide">
             <div class="carousel-inner">
               <div class="item active">
-                <img src="http://placehold.it/1000x500" alt="">
+                <img src="assets/img/bootstrap-mdo-sfmoma-01.jpg" alt="">
                 <div class="carousel-caption">
                   <h4>First Thumbnail label</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
-                <img src="http://placehold.it/1000x500" alt="">
+                <img src="assets/img/bootstrap-mdo-sfmoma-02.jpg" alt="">
                 <div class="carousel-caption">
                   <h4>Second Thumbnail label</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
-                <img src="http://placehold.it/1000x500" alt="">
+                <img src="assets/img/bootstrap-mdo-sfmoma-03.jpg" alt="">
                 <div class="carousel-caption">
                   <h4>Third Thumbnail label</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 401e86cbec..2ac950251b 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -1155,21 +1155,21 @@ $('#myCollapsible').on('hidden', function () {
           <div id="myCarousel" class="carousel slide">
             <div class="carousel-inner">
               <div class="item active">
-                <img src="http://placehold.it/1000x500" alt="">
+                <img src="assets/img/bootstrap-mdo-sfmoma-01.jpg" alt="">
                 <div class="carousel-caption">
                   <h4>{{_i}}First Thumbnail label{{/i}}</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
-                <img src="http://placehold.it/1000x500" alt="">
+                <img src="assets/img/bootstrap-mdo-sfmoma-02.jpg" alt="">
                 <div class="carousel-caption">
                   <h4>{{_i}}Second Thumbnail label{{/i}}</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
                 </div>
               </div>
               <div class="item">
-                <img src="http://placehold.it/1000x500" alt="">
+                <img src="assets/img/bootstrap-mdo-sfmoma-03.jpg" alt="">
                 <div class="carousel-caption">
                   <h4>{{_i}}Third Thumbnail label{{/i}}</h4>
                   <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
diff --git a/lib/carousel.less b/lib/carousel.less
index 1a18d44b6a..27c1ba6605 100644
--- a/lib/carousel.less
+++ b/lib/carousel.less
@@ -68,11 +68,13 @@
   font-size: 60px;
   font-weight: 100;
   line-height: 30px;
-  color: #ccc;
+  color: #fff;
   text-align: center;
-  background: @grayLight;
-  background: rgba(0,0,0,.5);
-  .border-radius(20px);
+  background: @grayDarker;
+  border: 3px solid #fff;
+  .border-radius(23px);
+  .opacity(50);
+  .transition(all .2s linear);
 
   // Reposition the right one
   &.right {
@@ -84,8 +86,7 @@
   &:hover {
     color: @white;
     text-decoration: none;
-    background: @grayDark;
-    background: rgba(0,0,0,.75);
+    .opacity(90);
   }
 }
 
-- 
GitLab


From f2fe2b1798380ab65e88281ab4db47965cd5aaf8 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 21:11:20 -0800
Subject: [PATCH 409/576] remove top margin from alert close, chance close line
 height to 18px (baseLineHeight)

---
 bootstrap.css     | 8 +++-----
 bootstrap.min.css | 4 ++--
 lib/alerts.less   | 1 -
 lib/close.less    | 2 +-
 4 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 62690e42fe..4bda5047e4 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 20:44:12 PST 2012
+ * Date: Tue Jan 24 21:10:54 PST 2012
  */
 article,
 aside,
@@ -1505,7 +1505,7 @@ i {
   float: right;
   font-size: 20px;
   font-weight: bold;
-  line-height: 12px;
+  line-height: 18px;
   color: #000000;
   text-shadow: 0 1px 0 #ffffff;
   filter: alpha(opacity=20);
@@ -2627,11 +2627,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   color: #c09853;
 }
 .alert .close {
-  *margin-top: 3px;
-  /* IE7 spacing */
-
   position: relative;
   right: -21px;
+  line-height: 18px;
 }
 .alert-success {
   background-color: #dff0d8;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 15d4f23613..a0c49ba490 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -312,7 +312,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
-.close{float:right;font-size:20px;font-weight:bold;line-height:12px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
 .nav{margin-left:0;margin-bottom:18px;list-style:none;}
 .nav>li>a{display:block;}
 .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
@@ -482,7 +482,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
 .alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .alert,.alert-heading{color:#c09853;}
-.alert .close{*margin-top:3px;position:relative;right:-21px;}
+.alert .close{position:relative;right:-21px;line-height:18px;}
 .alert-success{background-color:#dff0d8;border-color:#cfe8c4;}
 .alert-success,.alert-success .alert-heading{color:#468847;}
 .alert-danger,.alert-error{background-color:#f2dede;border-color:#e9c7c7;}
diff --git a/lib/alerts.less b/lib/alerts.less
index 1895dfbd0b..23c17e7041 100644
--- a/lib/alerts.less
+++ b/lib/alerts.less
@@ -17,7 +17,6 @@
 
 // Adjust close link position
 .alert .close {
-  *margin-top: 3px; /* IE7 spacing */
   position: relative;
   right: -21px;
   line-height: 18px;
diff --git a/lib/close.less b/lib/close.less
index f2c5157c97..a0e5edba1b 100644
--- a/lib/close.less
+++ b/lib/close.less
@@ -5,7 +5,7 @@
   float: right;
   font-size: 20px;
   font-weight: bold;
-  line-height: 12px;
+  line-height: @baseLineHeight;
   color: @black;
   text-shadow: 0 1px 0 rgba(255,255,255,1);
   .opacity(20);
-- 
GitLab


From 5e5e87fbd0f577256d8a2b479bb9ed2187ff7f91 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 22:33:33 -0800
Subject: [PATCH 410/576] scrollspy working for sub navs

---
 docs/assets/js/application.js |  2 +-
 docs/javascript.html          | 26 +++++++++++++-------------
 js/bootstrap-scrollspy.js     | 15 +++++++++------
 3 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 0252d75e96..84227f5557 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -119,7 +119,7 @@ $(function(){
   // fix sub nav playa
   var $win = $(window)
     , $nav = $('.subnav')
-    , navTop = $('.subnav').offset().top - 40
+    , navTop = $('.subnav').length && $('.subnav').offset().top - 40
     , isFixed = 0
 
   processScroll()
diff --git a/docs/javascript.html b/docs/javascript.html
index 425d347cb8..8cf95c8153 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="0">
   
   <!-- Navbar
     ================================================== -->
@@ -65,18 +65,18 @@
         <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./javascript.html#javascript">Overview</a></li>
-            <li><a href="./javascript.html#modals">Modal</a></li>
-            <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-            <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-            <li><a href="./javascript.html#tabs">Tab</a></li>
-            <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-            <li><a href="./javascript.html#popovers">Popover</a></li>
-            <li><a href="./javascript.html#alerts">Alert</a></li>
-            <li><a href="./javascript.html#buttons">Button</a></li>
-            <li><a href="./javascript.html#collapse">Collapse</a></li>
-            <li><a href="./javascript.html#carousel">Carousel</a></li>
-            <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+            <li class="active"><a href="#javascript">Overview</a></li>
+            <li><a href="#modals">Modal</a></li>
+            <li><a href="#dropdowns">Dropdown</a></li>
+            <li><a href="#scrollspy">Scrollspy</a></li>
+            <li><a href="#tabs">Tab</a></li>
+            <li><a href="#tooltips">Tooltip</a></li>
+            <li><a href="#popovers">Popover</a></li>
+            <li><a href="#alerts">Alert</a></li>
+            <li><a href="#buttons">Button</a></li>
+            <li><a href="#collapse">Collapse</a></li>
+            <li><a href="#carousel">Carousel</a></li>
+            <li><a href="#typeahead">Typeahead</a></li>
           </ul>
         </div>
       </header>
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 5049bfdf95..91c49f32ee 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -26,10 +26,11 @@
 
   function ScrollSpy( element, options) {
     var process = $.proxy(this.process, this)
+      , $element = $(element).is('body') ? $(window) : $(element)
     this.options = $.extend({}, $.fn.scrollspy.defaults, options)
-    this.$scrollElement = $(element).on('scroll.scroll.data-api', process)
-    this.selector = (this.$scrollElement.attr('data-target')
-      || this.$scrollElement.attr('href')
+    this.$scrollElement = $element.on('scroll.scroll.data-api', process)
+    this.selector = (this.options.target
+      || $(element).attr('href')
       || '') + ' .nav li > a'
     this.$body = $('body').on('click.scroll.data-api', this.selector, process)
     this.refresh()
@@ -111,11 +112,13 @@
 
 
  /* SCROLLSPY DATA-API
-  * ============== */
+  * ================== */
 
   $(function () {
-    var $spy = $('[data-spy="scroll"]')
-    $spy.scrollspy($spy.data())
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      $spy.scrollspy($spy.data())
+    })
   })
 
 }( window.jQuery )
\ No newline at end of file
-- 
GitLab


From 5a54a98925f4f7375bdf63f86d21908b05af187e Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 22:37:35 -0800
Subject: [PATCH 411/576] subnav spy scrolls blaawerh

---
 docs/base-css.html    | 2 +-
 docs/components.html  | 2 +-
 docs/javascript.html  | 2 +-
 docs/less.html        | 2 +-
 docs/scaffolding.html | 2 +-
 docs/upgrading.html   | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 27251d8244..08442cf3be 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/components.html b/docs/components.html
index d823998d95..ecdc9d27ac 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/javascript.html b/docs/javascript.html
index 8cf95c8153..222843af46 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body data-spy="scroll" data-target=".subnav" data-offset="0">
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/less.html b/docs/less.html
index 86a65a6c7e..c5fb46ca68 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index bb18b03945..4f3fb9f221 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 7dab4c0000..1be32c676f 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -24,7 +24,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
-- 
GitLab


From 5d3175e84b2ada0978aca7dbbe2ec532e99c869a Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Tue, 24 Jan 2012 22:48:30 -0800
Subject: [PATCH 412/576] fix sub navs fer the otherrzz

---
 docs/base-css.html    | 10 +++++-----
 docs/components.html  | 18 +++++++++---------
 docs/less.html        |  8 ++++----
 docs/scaffolding.html |  6 +++---
 4 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 08442cf3be..cddf769d4b 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -65,11 +65,11 @@
   <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./base-css.html#typography">Typography</a></li>
-      <li><a href="./base-css.html#tables">Tables</a></li>
-      <li><a href="./base-css.html#forms">Forms</a></li>
-      <li><a href="./base-css.html#buttons">Buttons</a></li>
-      <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+      <li><a href="#typography">Typography</a></li>
+      <li><a href="#tables">Tables</a></li>
+      <li><a href="#forms">Forms</a></li>
+      <li><a href="#buttons">Buttons</a></li>
+      <li><a href="#icons">Icons by Glyphicons</a></li>
     </ul>
   </div>
 </header>
diff --git a/docs/components.html b/docs/components.html
index ecdc9d27ac..65320f1cea 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -65,15 +65,15 @@
   <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./components.html#buttonGroups">Button groups</a></li>
-      <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
-      <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-      <li><a href="./components.html#navbar">Navbar</a></li>
-      <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-      <li><a href="./components.html#pagination">Pagination</a></li>
-      <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-      <li><a href="./components.html#alerts">Alerts</a></li>
-      <li><a href="./components.html#progress">Progress bars</a></li>
+      <li><a href="#buttonGroups">Button groups</a></li>
+      <li><a href="#buttonDropdowns">Button dropdowns</a></li>
+      <li><a href="#navs">Nav, tabs, pills</a></li>
+      <li><a href="#navbar">Navbar</a></li>
+      <li><a href="#breadcrumbs">Breadcrumbs</a></li>
+      <li><a href="#pagination">Pagination</a></li>
+      <li><a href="#thumbnails">Thumbnails</a></li>
+      <li><a href="#alerts">Alerts</a></li>
+      <li><a href="#progress">Progress bars</a></li>
     </ul>
   </div>
 </header>
diff --git a/docs/less.html b/docs/less.html
index c5fb46ca68..0ed8cdb66f 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -69,10 +69,10 @@
         <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./less.html#builtWith">Built with Less</a></li>
-            <li><a href="./less.html#variables">Variables</a></li>
-            <li><a href="./less.html#mixins">Mixins</a></li>
-            <li><a href="./less.html#compiling">Compiling Bootstrap</a></li>
+            <li><a href="#builtWith">Built with Less</a></li>
+            <li><a href="#variables">Variables</a></li>
+            <li><a href="#mixins">Mixins</a></li>
+            <li><a href="#compiling">Compiling Bootstrap</a></li>
           </ul>
         </div>
       </header>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 4f3fb9f221..91bd9b8d32 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -65,9 +65,9 @@
         <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-            <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-            <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+            <li><a href="#grid-system">Grid system</a></li>
+            <li><a href="#layouts">Layouts</a></li>
+            <li><a href="#responsive">Responsive design</a></li>
           </ul>
         </div>
       </header>
-- 
GitLab


From 6be91368c07ad2b3201d1c669b27fbafb46d0d0e Mon Sep 17 00:00:00 2001
From: Jason Wieland <jwieland@gmail.com>
Date: Tue, 24 Jan 2012 23:24:46 -0800
Subject: [PATCH 413/576] minor doc updates to inform user they need the
 current less.js 1.2.1 or they will be hit by this bug #952

---
 docs/less.html      | 2 +-
 docs/upgrading.html | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/docs/less.html b/docs/less.html
index c5fb46ca68..e1de9fcc48 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -431,7 +431,7 @@
     <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
 <pre class="prettyprint linenums">
 &lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
-&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
+&lt;script src="js/less-1.2.1.min.js"&gt;&lt;/script&gt;</pre>
 <p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
 
     <h2>What’s included</h2>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 1be32c676f..5c480f7042 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -135,6 +135,12 @@
       <li>Pills now have dropdown menu support (they share the same markup and styles as tabs)</li>
     </ul>
   </li>
+  <li>Update Less.js
+    <ul>
+      <li>Make sure to use to the current release of <a href="http://lesscss.org/">less.js</a> </li>
+    </ul>
+  </li>
+      
 </ul>
 <!--
   <li>
-- 
GitLab


From 6ab56051fdf916f03efb8aa6675e50bdd1cc3155 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 23:35:34 -0800
Subject: [PATCH 414/576] fix up docs css for responsive and subnav, fix forms
 error states

---
 bootstrap.css                          |  39 +-
 bootstrap.min.css                      |   9 +-
 docs/assets/css/docs.css               | 119 +++-
 docs/base-css.html                     |   2 +-
 docs/less.html                         | 829 ++++++++++++++----------
 docs/templates/pages/base-css.mustache |   2 +-
 docs/templates/pages/less.mustache     | 845 +++++++++++++++----------
 lib/forms.less                         |   6 +-
 lib/type.less                          |   7 +-
 9 files changed, 1127 insertions(+), 731 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4bda5047e4..33be3d9660 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 21:10:54 PST 2012
+ * Date: Tue Jan 24 23:35:08 PST 2012
  */
 article,
 aside,
@@ -253,6 +253,12 @@ p small {
   font-size: 11px;
   color: #999999;
 }
+.lead {
+  margin-bottom: 18px;
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 27px;
+}
 h1,
 h2,
 h3,
@@ -419,7 +425,6 @@ code, pre {
 }
 code {
   padding: 3px 4px;
-  background-color: #fee9cc;
   color: #d14;
   background-color: #f7f7f9;
   border: 1px solid #e1e1e8;
@@ -706,13 +711,13 @@ textarea[readonly] {
 }
 .control-group.warning input, .control-group.warning textarea {
   color: #c09853;
-  border-color: #f3edd2;
+  border-color: #c09853;
 }
 .control-group.warning input:focus, .control-group.warning textarea:focus {
-  border-color: #e8ddaa;
-  -webkit-box-shadow: 0 0 6px #ffffff;
-  -moz-box-shadow: 0 0 6px #ffffff;
-  box-shadow: 0 0 6px #ffffff;
+  border-color: #a47e3c;
+  -webkit-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;
@@ -724,13 +729,13 @@ textarea[readonly] {
 }
 .control-group.error input, .control-group.error textarea {
   color: #b94a48;
-  border-color: #e9c7c7;
+  border-color: #b94a48;
 }
 .control-group.error input:focus, .control-group.error textarea:focus {
-  border-color: #dba2a2;
-  -webkit-box-shadow: 0 0 6px #ffffff;
-  -moz-box-shadow: 0 0 6px #ffffff;
-  box-shadow: 0 0 6px #ffffff;
+  border-color: #953b39;
+  -webkit-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;
@@ -742,13 +747,13 @@ textarea[readonly] {
 }
 .control-group.success input, .control-group.success textarea {
   color: #468847;
-  border-color: #cfe8c4;
+  border-color: #468847;
 }
 .control-group.success input:focus, .control-group.success textarea:focus {
-  border-color: #b1da9f;
-  -webkit-box-shadow: 0 0 6px #ffffff;
-  -moz-box-shadow: 0 0 6px #ffffff;
-  box-shadow: 0 0 6px #ffffff;
+  border-color: #356635;
+  -webkit-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;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index a0c49ba490..3c2b70663b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -54,6 +54,7 @@ a{color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:unde
 .offset10{margin-left:820px;}
 .offset11{margin-left:900px;}
 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,h4,h5,h6{margin:0;font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,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;}
@@ -83,7 +84,7 @@ blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:
 q:before,q:after,blockquote:before,blockquote:after{content:"";}
 address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;}
 code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-code{padding:3px 4px;background-color:#fee9cc;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
+code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
 small{font-size:100%;}
@@ -143,13 +144,13 @@ select.span11{width:870px;}
 select.span12{width:950px;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 .control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
-.control-group.warning input,.control-group.warning textarea{color:#c09853;border-color:#f3edd2;}.control-group.warning input:focus,.control-group.warning textarea:focus{border-color:#e8ddaa;-webkit-box-shadow:0 0 6px #ffffff;-moz-box-shadow:0 0 6px #ffffff;box-shadow:0 0 6px #ffffff;}
+.control-group.warning input,.control-group.warning textarea{color:#c09853;border-color:#c09853;}.control-group.warning input: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;}
 .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>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
-.control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#e9c7c7;}.control-group.error input:focus,.control-group.error textarea:focus{border-color:#dba2a2;-webkit-box-shadow:0 0 6px #ffffff;-moz-box-shadow:0 0 6px #ffffff;box-shadow:0 0 6px #ffffff;}
+.control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#b94a48;}.control-group.error input: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;}
 .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>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
-.control-group.success input,.control-group.success textarea{color:#468847;border-color:#cfe8c4;}.control-group.success input:focus,.control-group.success textarea:focus{border-color:#b1da9f;-webkit-box-shadow:0 0 6px #ffffff;-moz-box-shadow:0 0 6px #ffffff;box-shadow:0 0 6px #ffffff;}
+.control-group.success input,.control-group.success textarea{color:#468847;border-color:#468847;}.control-group.success input: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;}
 .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;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 5fc04b0f95..d9f8e438b0 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -179,25 +179,27 @@ section {
   border-right: 0;
 }
 
-/* Fixed subnav on scroll */
-.subnav-fixed {
-  position: fixed;
-  top: 40px;
-  left: 0;
-  right: 0;
-  z-index: 1030;
-  border-color: #d5d5d5;
-  border-width: 0 0 1px; /* drop the border on the fixed edges */
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-  -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
-     -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
-          box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
-}
-.subnav-fixed .nav {
-  width: 940px;
-  margin: 0 auto;
+/* Fixed subnav on scroll, but only for 940px and up (sorry IE!) */
+@media (min-width: 940px) {
+  .subnav-fixed {
+    position: fixed;
+    top: 40px;
+    left: 0;
+    right: 0;
+    z-index: 1030;
+    border-color: #d5d5d5;
+    border-width: 0 0 1px; /* drop the border on the fixed edges */
+    -webkit-border-radius: 0;
+       -moz-border-radius: 0;
+            border-radius: 0;
+    -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
+       -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
+            box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
+  }
+  .subnav-fixed .nav {
+    width: 940px;
+    margin: 0 auto;
+  }
 }
 
 
@@ -439,6 +441,72 @@ section {
 }
 
 
+/* CSS Chop Shop
+-------------------------------------------------- */
+.builder {
+}
+.builder .span2 {
+  width: 160px;
+}
+.builder ul {
+  margin: 0;
+  list-style: none;
+}
+.builder .tabs {
+  margin-right: 0;
+}
+.builder .tabs a {
+  width: 160px;
+  padding: 14px;
+  font-size: 14px;
+}
+.builder .tab-content {
+  padding: 19px;
+  margin-left: 189px;
+  border: 1px solid #e5e5e5;
+  -webkit-border-radius: 0 4px 4px 4px;
+     -moz-border-radius: 0 4px 4px 4px;
+          border-radius: 0 4px 4px 4px;
+}
+
+/* Space out h3s when following a section */
+.builder input + h3,
+.builder .checkbox + h3 {
+  margin-top: 9px;
+}
+
+/* Fields for variables */
+.builder input + h3 {
+  margin-top: 9px;
+}
+.builder #variables label {
+  margin-bottom: 2px;
+  color: #555;
+}
+.builder input[type=text] {
+  margin-bottom: 9px;
+  font-family: Menlo, Monaco, "Courier New", monospace;
+  font-size: 12px;
+  color: #d14;
+  background-color: #f7f7f9;
+}
+.builder input[type=text]:focus {
+  background-color: #fff;
+}
+
+
+.builder-actions {
+  margin-top: 18px;
+  padding-top: 18px;
+  border-top: 1px solid #eee;
+}
+.builder-actions .toggle-all {
+  float: right;
+  line-height: 36px;
+}
+
+
+
 /* Misc
 -------------------------------------------------- */
 
@@ -560,14 +628,6 @@ form.well {
     margin-top: 18px;
   }
 
-  /* Subnav */
-  .subnav {
-    background: #fff; /* whole background property since we use a background-image for gradient */
-  }
-  .subnav .nav > li {
-    float: none;
-  }
-
   /* Adjust the jumbotron */
   .jumbotron h1,
   .jumbotron p {
@@ -630,10 +690,14 @@ form.well {
     z-index: auto;
     width: auto;
     height: auto;
+    background: #fff; /* whole background property since we use a background-image for gradient */
     -webkit-box-shadow: none;
        -moz-box-shadow: none;
             box-shadow: none;
   }
+  .subnav .nav > li {
+    float: none;
+  }
   .subnav .nav a {
     border: 0;
   }
@@ -683,7 +747,6 @@ form.well {
   .jumbotron h1 {
     font-size: 54px;
   }
-
   .jumbotron h1,
   .jumbotron p {
     margin-right: 0;
diff --git a/docs/base-css.html b/docs/base-css.html
index 27251d8244..6847c0616a 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -368,7 +368,7 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
+          <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;Heading&lt;/h1&gt;
   &lt;p&gt;Something right here…&lt;/p&gt;
diff --git a/docs/less.html b/docs/less.html
index 86a65a6c7e..e5e3baa66b 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -58,359 +58,520 @@
 
     <div class="container">
 
-      <div class="alert">
-        <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
-      </div>
+<div class="alert">
+  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+</div>
 
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Using LESS with Bootstrap</h1>
-        <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
-        <div class="subnav">
-          <ul class="nav pills">
-            <li><a href="./less.html#builtWith">Built with Less</a></li>
-            <li><a href="./less.html#variables">Variables</a></li>
-            <li><a href="./less.html#mixins">Mixins</a></li>
-            <li><a href="./less.html#compiling">Compiling Bootstrap</a></li>
-          </ul>
-        </div>
-      </header>
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Using LESS with Bootstrap</h1>
+  <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
+  <div class="subnav">
+    <ul class="nav pills">
+      <li><a href="./less.html#builtWith">Built with Less</a></li>
+      <li><a href="./less.html#variables">Variables</a></li>
+      <li><a href="./less.html#mixins">Mixins</a></li>
+      <li><a href="./less.html#compiling">Compiling Bootstrap</a></li>
+    </ul>
+  </div>
+</header>
 
 
 
-      <!-- BUILT WITH LESS
-      ================================================== -->
-      <section id="builtWith">
-        <div class="page-header">
-          <h1>Built with LESS</h1>
-        </div>
-        <div class="row">
-          <div class="span4">
-            <h3>Why LESS?</h3>
-            <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
-          </div>
-          <div class="span4">
-            <h3>What's included?</h3>
-            <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
-          </div>
-          <div class="span4">
-            <h3>Learn more</h3>
-            <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
-            <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
-          </div>
-        </div>
-        <div class="row">
-          <div class="span4">
-            <h3>Variables</h3>
-            <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
-          </div>
-          <div class="span4">
-            <h3>Mixins</h3>
-            <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
-          </div>
-          <div class="span4">
-            <h3>Operations</h3>
-            <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
+<!-- BUILDER
+================================================== -->
+<section id="builder">
+  <div class="page-header">
+    <h1>Chop Shop <small>Customize your build of Bootstrap</small></h1>
+  </div>
+
+  <form class="form-horizontal builder">
+    <div class="tabbable tabs-left">
+      <ul class="nav tabs">
+        <li class="active">
+          <a href="#components" data-toggle="tab">1. Select components</a>
+        </li>
+        <li><a href="#variables" data-toggle="tab">2. Customize variables</a></li>
+        <li><a href="#download" data-toggle="tab">3. Build and download</a></li>
+      </ul>
+      <div class="tab-content">
+        <div class="tab-pane active" id="components">
+          <div class="row">
+            <div class="span2 builder-section">
+              <h3>Scaffolding</h3>
+              <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
+              <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
+              <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
+              <h3>Base CSS</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
+              <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
+              <label class="checkbox"><input type="checkbox" value=""> Labels</label>
+              <label class="checkbox"><input type="checkbox" value=""> Tables</label>
+              <label class="checkbox"><input type="checkbox" value=""> Forms</label>
+              <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
+              <label class="checkbox"><input type="checkbox" value=""> Icons</label>
+            </div>
+            <div class="span2 builder-section">
+              <h3>Components</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
+              <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
+              <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
+              <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
+              <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
+              <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
+              <label class="checkbox"><input type="checkbox" value=""> Pager</label>
+              <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
+              <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
+              <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
+            </div>
+            <div class="span2 builder-section">
+              <h3>JS Components</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
+              <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
+              <label class="checkbox"><input type="checkbox" value=""> Modals</label>
+              <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
+              <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
+              <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
+              <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
+            </div>
+            <div class="span2 builder-section">
+              <h3>Responsive</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
+              <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
+              <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
+              <h3>Miscellaneous</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Wells</label>
+              <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
+              <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
+              <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
+            </div>
           </div>
-        </div>
-      </section>
+          <div class="builder-actions">
+            <a class="toggle-all" href="">Reset variables</a>
+            <a class="btn large primary" href="">Next: Customize variables</a>
+          </div>        
+        </div><!-- /tab-pane -->
+        <div class="tab-pane" id="variables">
+          <div class="row">
+            <div class="span3">
+              <h3>Links</h3>
+              <label>@linkColor</label>
+              <input type="text" class="span3" value="#08c">
+              <label>@linkColorHove</label>
+              <input type="text" class="span3" value="darken(@linkColor, 15%)">
+              <h3>Grid system</h3>
+              <label>@gridColumns</label>
+              <input type="text" class="span3" value="">
+              <label>@gridColumnWidth</label>
+              <input type="text" class="span3" value="">
+              <label>@gridGutterWidth</label>
+              <input type="text" class="span3" value="">
+              <label>@siteWidth</label>
+              <input type="text" class="span3" value="">
+              <label>@fluidSidebarWidth</label>
+              <input type="text" class="span3" value="">
+            </div><!-- /span -->
+            <div class="span3">
+              <h3>Typography</h3>
+              <label>@baseFontSize</label>
+              <input type="text" class="span3" value="13px">
+              <label>@baseFontFamily</label>
+              <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
+              <label>@baseLineHeight</label>
+              <input type="text" class="span3" value="18px">
+              <h3>Forms</h3>
+              <label>@primaryButtonColor</label>
+              <input type="text" class="span3" value="@blue">
+              <label>@placeholderText</label>
+              <input type="text" class="span3" value="@grayLight">
+              <h3>Navbar</h3>
+              <label>@navbarHeight</label>
+              <input type="text" class="span3" value="40px">
+              <label>@navbarBackground</label>
+              <input type="text" class="span3" value="@grayDarker">
+              <label>@navbarBackgroundHighlight</label>
+              <input type="text" class="span3" value="@grayDark">
+            </div><!-- /span -->
+            <div class="span3">
+              <h3>Form states &amp; alerts</h3>
+              <label>@warningText</label>
+              <input type="text" class="span3" value="#c09853">
+              <label>@warningBackground</label>
+              <input type="text" class="span3" value="#fcf8e3">
+              <label>@warningBorder</label>
+              <input type="text" class="span3" value="#f3edd2">
+              <label>@errorText</label>
+              <input type="text" class="span3" value="#b94a48">
+              <label>@errorBackground</label>
+              <input type="text" class="span3" value="#f2dede">
+              <label>@errorBorder</label>
+              <input type="text" class="span3" value="#e9c7c7">
+              <label>@successText</label>
+              <input type="text" class="span3" value="#468847">
+              <label>@successBackground</label>
+              <input type="text" class="span3" value="#dff0d8">
+              <label>@successBorder</label>
+              <input type="text" class="span3" value="#cfe8c4">
+              <label>@infoText</label>
+              <input type="text" class="span3" value="#3a87ad">
+              <label>@infoBackground</label>
+              <input type="text" class="span3" value="#d9edf7">
+              <label>@infoBorder</label>
+              <input type="text" class="span3" value="#bfe1f2">
+            </div><!-- /span -->
+          </div><!-- /row -->
+          <div class="builder-actions">
+            <a class="btn large primary" href="">Next: Build and download</a>
+          </div>        
+        </div><!-- /tab-pane -->
+        <div class="tab-pane" id="download">
+          <h2>And you're set!</h2>
+          <p class="lead">We've compiled your selected CSS and customized variables and have them ready to download as a tidy ZIP file. Choose from compiled or compiled and minified CSS files.</p>
+          <a class="btn large primary">Download CSS</a> <a class="btn large primary">Download minified CSS</a>
+          <hr>
+          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#overview">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
+        </div><!-- /tab-pane -->
+      </div><!-- /tab-content -->
+    </div><!-- /tabbable -->
+  </form>
 
+</section>
 
 
-      <!-- VARIABLES
-      ================================================== -->
-      <section id="variables">
-        <div class="page-header">
-          <h1>Variables <small>from variables.less</small></h1>
-        </div>
 
-        <h3>Hyperlinks</h3>
-        <table class="table table-bordered table-striped">
-          <thead>
-            <tr>
-              <th class="span2">Variable</th>
-              <th>Value</th>
-              <th>Usage</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@linkColor</code></td>
-              <td>#08c</td>
-              <td>Default link text color</td>
-            </tr>
-            <tr>
-              <td><code>@linkColorHover</code></td>
-              <td><code>darken(@linkColor, 15%)</code></td>
-              <td>Default link text hover color</td>
-            </tr>
-          </tbody>
-        </table>
-
-        <div class="row">
-          <div class="span6">
-            <h3>Grayscale colors</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">Variable</th>
-                  <th>Value</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@black</code></td>
-                  <td>#000</td>
-                </tr>
-                <tr>
-                  <td><code>@grayDarker</code></td>
-                  <td>#222</td>
-                </tr>
-                <tr>
-                  <td><code>@grayDark</code></td>
-                  <td>#333</td>
-                </tr>
-                <tr>
-                  <td><code>@gray</code></td>
-                  <td>#555</td>
-                </tr>
-                <tr>
-                  <td><code>@grayLight</code></td>
-                  <td>#999</td>
-                </tr>
-                <tr>
-                  <td><code>@grayLighter</code></td>
-                  <td>#eee</td>
-                </tr>
-                <tr>
-                  <td><code>@white</code></td>
-                  <td>#fff</td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-          <div class="span6">
-            <h3>Accent colors</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">Variable</th>
-                  <th>Value</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@blue</code></td>
-                  <td>#049cdb</td>
-                </tr>
-                <tr>
-                  <td><code>@green</code></td>
-                  <td>#46a546</td>
-                </tr>
-                <tr>
-                  <td><code>@red</code></td>
-                  <td>#9d261d</td>
-                </tr>
-                <tr>
-                  <td><code>@yellow</code></td>
-                  <td>#ffc40d</td>
-                </tr>
-                <tr>
-                  <td><code>@orange</code></td>
-                  <td>#f89406</td>
-                </tr>
-                <tr>
-                  <td><code>@pink</code></td>
-                  <td>#c3325f</td>
-                </tr>
-                <tr>
-                  <td><code>@purple</code></td>
-                  <td>#7a43b6</td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </div> <!-- /row -->
-        <div class="row">
-          <div class="span6">
-            <h3>Grid system</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">Variable</th>
-                  <th>Value</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@gridColumns</code></td>
-                  <td>12</td>
-                </tr>
-                <tr>
-                  <td><code>@gridColumnWidth</code></td>
-                  <td>60px</td>
-                </tr>
-                <tr>
-                  <td><code>@gridGutterWidth</code></td>
-                  <td>20px</td>
-                </tr>
-                <tr>
-                  <td><code>@siteWidth</code></td>
-                  <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-          <div class="span6">
-            <h3>Typography</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">Variable</th>
-                  <th>Value</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@baseFontSize</code></td>
-                  <td>13px</td>
-                </tr>
-                <tr>
-                  <td><code>@baseFontFamily</code></td>
-                  <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
-                  <td></td>
-                </tr>
-                <tr>
-                  <td><code>@baseLineHeight</code></td>
-                  <td>18px</td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </div> <!-- /row -->
-
-        <h3>Components</h3>
-        <div class="row">
-          <div class="span6">
-            <h4>Buttons</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@primaryButtonColor</code></td>
-                  <td><code>@blue</code></td>
-                </tr>
-              </tbody>
-            </table>
-            <h4>Forms</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@placeholderText</code></td>
-                  <td><code>@grayLight</code></td>
-                </tr>
-              </tbody>
-            </table>
-            <h4>Navbar</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@navbarHeight</code></td>
-                  <td>40px</td>
-                </tr>
-                <tr>
-                  <td><code>@navbarBackground</code></td>
-                  <td><code>@grayDarker</code></td>
-                </tr>
-                <tr>
-                  <td><code>@navbarBackgroundHighlight</code></td>
-                  <td><code>@grayDark</code></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-          <div class="span6">
-            <h4>Form states and alerts</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@warningText</code></td>
-                  <td>#f3edd2</td>
-                </tr>
-                <tr>
-                  <td><code>@warningBackground</code></td>
-                  <td>#c09853</td>
-                </tr>
-                <tr>
-                  <td><code>@warningBorder</code></td>
-                  <td>#f3edd2</td>
-                </tr>
-                <tr>
-                  <td><code>@errorText</code></td>
-                  <td>#b94a48</td>
-                </tr>
-                <tr>
-                  <td><code>@errorBackground</code></td>
-                  <td>#f2dede</td>
-                </tr>
-                <tr>
-                  <td><code>@errorBorder</code></td>
-                  <td>#e9c7c7</td>
-                </tr>
-                <tr>
-                  <td><code>@successText</code></td>
-                  <td>#468847</td>
-                </tr>
-                <tr>
-                  <td><code>@successBackground</code></td>
-                  <td>#dff0d8</td>
-                </tr>
-                <tr>
-                  <td><code>@successBorder</code></td>
-                  <td>#cfe8c4</td>
-                </tr>
-                <tr>
-                  <td><code>@infoText</code></td>
-                  <td>#3a87ad</td>
-                </tr>
-                <tr>
-                  <td><code>@infoBackground</code></td>
-                  <td>#d9edf7</td>
-                </tr>
-                <tr>
-                  <td><code>@infoBorder</code></td>
-                  <td>#bfe1f2</td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </div><!-- /row -->
+<!-- BUILT WITH LESS
+================================================== -->
+<section id="builtWith">
+  <div class="page-header">
+    <h1>Built with LESS</h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>Why LESS?</h3>
+      <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+    </div>
+    <div class="span4">
+      <h3>What's included?</h3>
+      <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
+    </div>
+    <div class="span4">
+      <h3>Learn more</h3>
+      <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
+      <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
+    </div>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>Variables</h3>
+      <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
+    </div>
+    <div class="span4">
+      <h3>Mixins</h3>
+      <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
+    </div>
+    <div class="span4">
+      <h3>Operations</h3>
+      <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
+    </div>
+  </div>
+</section>
 
-      </section>
 
 
+<!-- VARIABLES
+================================================== -->
+<section id="variables">
+  <div class="page-header">
+    <h1>Variables <small>from variables.less</small></h1>
+  </div>
 
-      <!-- MIXINS
-      ================================================== -->
-      <div class="page-header" id="mixins">
-        <h1>Mixins <small>from mixins.less</small></h1>
-      </div>
+  <h3>Hyperlinks</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span2">Variable</th>
+        <th>Value</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>@linkColor</code></td>
+        <td>#08c</td>
+        <td>Default link text color</td>
+      </tr>
+      <tr>
+        <td><code>@linkColorHover</code></td>
+        <td><code>darken(@linkColor, 15%)</code></td>
+        <td>Default link text hover color</td>
+      </tr>
+    </tbody>
+  </table>
+
+  <div class="row">
+    <div class="span6">
+      <h3>Grayscale colors</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">Variable</th>
+            <th>Value</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@black</code></td>
+            <td>#000</td>
+          </tr>
+          <tr>
+            <td><code>@grayDarker</code></td>
+            <td>#222</td>
+          </tr>
+          <tr>
+            <td><code>@grayDark</code></td>
+            <td>#333</td>
+          </tr>
+          <tr>
+            <td><code>@gray</code></td>
+            <td>#555</td>
+          </tr>
+          <tr>
+            <td><code>@grayLight</code></td>
+            <td>#999</td>
+          </tr>
+          <tr>
+            <td><code>@grayLighter</code></td>
+            <td>#eee</td>
+          </tr>
+          <tr>
+            <td><code>@white</code></td>
+            <td>#fff</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span6">
+      <h3>Accent colors</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">Variable</th>
+            <th>Value</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@blue</code></td>
+            <td>#049cdb</td>
+          </tr>
+          <tr>
+            <td><code>@green</code></td>
+            <td>#46a546</td>
+          </tr>
+          <tr>
+            <td><code>@red</code></td>
+            <td>#9d261d</td>
+          </tr>
+          <tr>
+            <td><code>@yellow</code></td>
+            <td>#ffc40d</td>
+          </tr>
+          <tr>
+            <td><code>@orange</code></td>
+            <td>#f89406</td>
+          </tr>
+          <tr>
+            <td><code>@pink</code></td>
+            <td>#c3325f</td>
+          </tr>
+          <tr>
+            <td><code>@purple</code></td>
+            <td>#7a43b6</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span6">
+      <h3>Grid system</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">Variable</th>
+            <th>Value</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@gridColumns</code></td>
+            <td>12</td>
+          </tr>
+          <tr>
+            <td><code>@gridColumnWidth</code></td>
+            <td>60px</td>
+          </tr>
+          <tr>
+            <td><code>@gridGutterWidth</code></td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td><code>@siteWidth</code></td>
+            <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span6">
+      <h3>Typography</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">Variable</th>
+            <th>Value</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@baseFontSize</code></td>
+            <td>13px</td>
+          </tr>
+          <tr>
+            <td><code>@baseFontFamily</code></td>
+            <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td><code>@baseLineHeight</code></td>
+            <td>18px</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div> <!-- /row -->
+
+  <h3>Components</h3>
+  <div class="row">
+    <div class="span6">
+      <h4>Buttons</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@primaryButtonColor</code></td>
+            <td><code>@blue</code></td>
+          </tr>
+        </tbody>
+      </table>
+      <h4>Forms</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@placeholderText</code></td>
+            <td><code>@grayLight</code></td>
+          </tr>
+        </tbody>
+      </table>
+      <h4>Navbar</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@navbarHeight</code></td>
+            <td>40px</td>
+          </tr>
+          <tr>
+            <td><code>@navbarBackground</code></td>
+            <td><code>@grayDarker</code></td>
+          </tr>
+          <tr>
+            <td><code>@navbarBackgroundHighlight</code></td>
+            <td><code>@grayDark</code></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span6">
+      <h4>Form states and alerts</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@warningText</code></td>
+            <td>#f3edd2</td>
+          </tr>
+          <tr>
+            <td><code>@warningBackground</code></td>
+            <td>#c09853</td>
+          </tr>
+          <tr>
+            <td><code>@warningBorder</code></td>
+            <td>#f3edd2</td>
+          </tr>
+          <tr>
+            <td><code>@errorText</code></td>
+            <td>#b94a48</td>
+          </tr>
+          <tr>
+            <td><code>@errorBackground</code></td>
+            <td>#f2dede</td>
+          </tr>
+          <tr>
+            <td><code>@errorBorder</code></td>
+            <td>#e9c7c7</td>
+          </tr>
+          <tr>
+            <td><code>@successText</code></td>
+            <td>#468847</td>
+          </tr>
+          <tr>
+            <td><code>@successBackground</code></td>
+            <td>#dff0d8</td>
+          </tr>
+          <tr>
+            <td><code>@successBorder</code></td>
+            <td>#cfe8c4</td>
+          </tr>
+          <tr>
+            <td><code>@infoText</code></td>
+            <td>#3a87ad</td>
+          </tr>
+          <tr>
+            <td><code>@infoBackground</code></td>
+            <td>#d9edf7</td>
+          </tr>
+          <tr>
+            <td><code>@infoBorder</code></td>
+            <td>#bfe1f2</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div><!-- /row -->
 
+</section>
 
 
-      <!-- OPERATIONS
-      ================================================== -->
-      <div class="page-header" id="operations">
-        <h1>Operations</h1>
-      </div>
 
+<!-- MIXINS
+================================================== -->
+<div class="page-header" id="mixins">
+  <h1>Mixins <small>from mixins.less</small></h1>
+</div>
 
 
-      <!-- COMPILING LESS AND BOOTSTRAP
-      ================================================== -->
-      <div class="page-header" id="compiling">
-        <h1>Compiling LESS and Bootstrap</h1>
-      </div>
+
+<!-- OPERATIONS
+================================================== -->
+<div class="page-header" id="operations">
+  <h1>Operations</h1>
+</div>
+
+
+
+<!-- COMPILING LESS AND BOOTSTRAP
+================================================== -->
+<div class="page-header" id="compiling">
+  <h1>Compiling LESS and Bootstrap</h1>
+</div>
 
 
 
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 225e88d2bf..ba864ce9e5 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -308,7 +308,7 @@
       <tr>
         <td><code>&lt;pre class="prettyprint"&gt;</code></td>
         <td>
-          <p>{{_i}}Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.{{/i}}</p>
+          <p>{{_i}}Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.{{/i}}</p>
 <pre class="prettyprint">&lt;div&gt;
   &lt;h1&gt;{{_i}}Heading{{/i}}&lt;/h1&gt;
   &lt;p&gt;{{_i}}Something right here…{{/i}}&lt;/p&gt;
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index ea7058fd9b..ecb39055b0 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -1,356 +1,517 @@
-      <div class="alert">
-        <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
-      </div>
-
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>{{_i}}Using LESS with Bootstrap{{/i}}</h1>
-        <p class="lead">{{_i}}Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.{{/i}}</p>
-        <div class="subnav">
-          <ul class="nav pills">
-            <li><a href="./less.html#builtWith">{{_i}}Built with Less{{/i}}</a></li>
-            <li><a href="./less.html#variables">{{_i}}Variables{{/i}}</a></li>
-            <li><a href="./less.html#mixins">{{_i}}Mixins{{/i}}</a></li>
-            <li><a href="./less.html#compiling">{{_i}}Compiling Bootstrap{{/i}}</a></li>
-          </ul>
-        </div>
-      </header>
-
-
-
-      <!-- BUILT WITH LESS
-      ================================================== -->
-      <section id="builtWith">
-        <div class="page-header">
-          <h1>{{_i}}Built with LESS{{/i}}</h1>
-        </div>
-        <div class="row">
-          <div class="span4">
-            <h3>{{_i}}Why LESS?{{/i}}</h3>
-            <p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}What's included?{{/i}}</h3>
-            <p>{{_i}}As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.{{/i}}</p>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}Learn more{{/i}}</h3>
-            <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
-            <p>{{_i}}Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.{{/i}}</p>
-          </div>
-        </div>
-        <div class="row">
-          <div class="span4">
-            <h3>{{_i}}Variables{{/i}}</h3>
-            <p>{{_i}}Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.{{/i}}</p>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}Mixins{{/i}}</h3>
-            <p>{{_i}}Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.{{/i}}</p>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}Operations{{/i}}</h3>
-            <p>{{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.{{/i}}</p>
-          </div>
-        </div>
-      </section>
-
-
-
-      <!-- VARIABLES
-      ================================================== -->
-      <section id="variables">
-        <div class="page-header">
-          <h1>{{_i}}Variables <small>from variables.less</small>{{/i}}</h1>
-        </div>
-
-        <h3>{{_i}}Hyperlinks{{/i}}</h3>
-        <table class="table table-bordered table-striped">
-          <thead>
-            <tr>
-              <th class="span2">{{_i}}Variable{{/i}}</th>
-              <th>{{_i}}Value{{/i}}</th>
-              <th>{{_i}}Usage{{/i}}</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>@linkColor</code></td>
-              <td>#08c</td>
-              <td>{{_i}}Default link text color{{/i}}</td>
-            </tr>
-            <tr>
-              <td><code>@linkColorHover</code></td>
-              <td><code>darken(@linkColor, 15%)</code></td>
-              <td>{{_i}}Default link text hover color{{/i}}</td>
-            </tr>
-          </tbody>
-        </table>
-
-        <div class="row">
-          <div class="span6">
-            <h3>{{_i}}Grayscale colors{{/i}}</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">{{_i}}Variable{{/i}}</th>
-                  <th>{{_i}}Value{{/i}}</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@black</code></td>
-                  <td>#000</td>
-                </tr>
-                <tr>
-                  <td><code>@grayDarker</code></td>
-                  <td>#222</td>
-                </tr>
-                <tr>
-                  <td><code>@grayDark</code></td>
-                  <td>#333</td>
-                </tr>
-                <tr>
-                  <td><code>@gray</code></td>
-                  <td>#555</td>
-                </tr>
-                <tr>
-                  <td><code>@grayLight</code></td>
-                  <td>#999</td>
-                </tr>
-                <tr>
-                  <td><code>@grayLighter</code></td>
-                  <td>#eee</td>
-                </tr>
-                <tr>
-                  <td><code>@white</code></td>
-                  <td>#fff</td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-          <div class="span6">
-            <h3>{{_i}}Accent colors{{/i}}</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">{{_i}}Variable{{/i}}</th>
-                  <th>{{_i}}Value{{/i}}</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@blue</code></td>
-                  <td>#049cdb</td>
-                </tr>
-                <tr>
-                  <td><code>@green</code></td>
-                  <td>#46a546</td>
-                </tr>
-                <tr>
-                  <td><code>@red</code></td>
-                  <td>#9d261d</td>
-                </tr>
-                <tr>
-                  <td><code>@yellow</code></td>
-                  <td>#ffc40d</td>
-                </tr>
-                <tr>
-                  <td><code>@orange</code></td>
-                  <td>#f89406</td>
-                </tr>
-                <tr>
-                  <td><code>@pink</code></td>
-                  <td>#c3325f</td>
-                </tr>
-                <tr>
-                  <td><code>@purple</code></td>
-                  <td>#7a43b6</td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </div> <!-- /row -->
-        <div class="row">
-          <div class="span6">
-            <h3>{{_i}}Grid system{{/i}}</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">{{_i}}Variable{{/i}}</th>
-                  <th>{{_i}}Value{{/i}}</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@gridColumns</code></td>
-                  <td>12</td>
-                </tr>
-                <tr>
-                  <td><code>@gridColumnWidth</code></td>
-                  <td>60px</td>
-                </tr>
-                <tr>
-                  <td><code>@gridGutterWidth</code></td>
-                  <td>20px</td>
-                </tr>
-                <tr>
-                  <td><code>@siteWidth</code></td>
-                  <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-          <div class="span6">
-            <h3>{{_i}}Typography{{/i}}</h3>
-            <table class="table table-bordered table-striped">
-              <thead>
-                <tr>
-                  <th class="span2">{{_i}}Variable{{/i}}</th>
-                  <th>{{_i}}Value{{/i}}</th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td><code>@baseFontSize</code></td>
-                  <td>13px</td>
-                </tr>
-                <tr>
-                  <td><code>@baseFontFamily</code></td>
-                  <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
-                  <td></td>
-                </tr>
-                <tr>
-                  <td><code>@baseLineHeight</code></td>
-                  <td>18px</td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </div> <!-- /row -->
-
-        <h3>{{_i}}Components{{/i}}</h3>
-        <div class="row">
-          <div class="span6">
-            <h4>Buttons</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@primaryButtonColor</code></td>
-                  <td><code>@blue</code></td>
-                </tr>
-              </tbody>
-            </table>
-            <h4>Forms</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@placeholderText</code></td>
-                  <td><code>@grayLight</code></td>
-                </tr>
-              </tbody>
-            </table>
-            <h4>Navbar</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@navbarHeight</code></td>
-                  <td>40px</td>
-                </tr>
-                <tr>
-                  <td><code>@navbarBackground</code></td>
-                  <td><code>@grayDarker</code></td>
-                </tr>
-                <tr>
-                  <td><code>@navbarBackgroundHighlight</code></td>
-                  <td><code>@grayDark</code></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-          <div class="span6">
-            <h4>Form states and alerts</h4>
-            <table class="table table-bordered table-striped">
-              <tbody>
-                <tr>
-                  <td class="span3"><code>@warningText</code></td>
-                  <td>#f3edd2</td>
-                </tr>
-                <tr>
-                  <td><code>@warningBackground</code></td>
-                  <td>#c09853</td>
-                </tr>
-                <tr>
-                  <td><code>@warningBorder</code></td>
-                  <td>#f3edd2</td>
-                </tr>
-                <tr>
-                  <td><code>@errorText</code></td>
-                  <td>#b94a48</td>
-                </tr>
-                <tr>
-                  <td><code>@errorBackground</code></td>
-                  <td>#f2dede</td>
-                </tr>
-                <tr>
-                  <td><code>@errorBorder</code></td>
-                  <td>#e9c7c7</td>
-                </tr>
-                <tr>
-                  <td><code>@successText</code></td>
-                  <td>#468847</td>
-                </tr>
-                <tr>
-                  <td><code>@successBackground</code></td>
-                  <td>#dff0d8</td>
-                </tr>
-                <tr>
-                  <td><code>@successBorder</code></td>
-                  <td>#cfe8c4</td>
-                </tr>
-                <tr>
-                  <td><code>@infoText</code></td>
-                  <td>#3a87ad</td>
-                </tr>
-                <tr>
-                  <td><code>@infoBackground</code></td>
-                  <td>#d9edf7</td>
-                </tr>
-                <tr>
-                  <td><code>@infoBorder</code></td>
-                  <td>#bfe1f2</td>
-                </tr>
-              </tbody>
-            </table>
+<div class="alert">
+  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+</div>
+
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>{{_i}}Using LESS with Bootstrap{{/i}}</h1>
+  <p class="lead">{{_i}}Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.{{/i}}</p>
+  <div class="subnav">
+    <ul class="nav pills">
+      <li><a href="./less.html#builtWith">{{_i}}Built with Less{{/i}}</a></li>
+      <li><a href="./less.html#variables">{{_i}}Variables{{/i}}</a></li>
+      <li><a href="./less.html#mixins">{{_i}}Mixins{{/i}}</a></li>
+      <li><a href="./less.html#compiling">{{_i}}Compiling Bootstrap{{/i}}</a></li>
+    </ul>
+  </div>
+</header>
+
+
+
+<!-- BUILDER
+================================================== -->
+<section id="builder">
+  <div class="page-header">
+    <h1>Chop Shop <small>Customize your build of Bootstrap</small></h1>
+  </div>
+
+  <form class="form-horizontal builder">
+    <div class="tabbable tabs-left">
+      <ul class="nav tabs">
+        <li class="active">
+          <a href="#components" data-toggle="tab">1. Select components</a>
+        </li>
+        <li><a href="#variables" data-toggle="tab">2. Customize variables</a></li>
+        <li><a href="#download" data-toggle="tab">3. Build and download</a></li>
+      </ul>
+      <div class="tab-content">
+        <div class="tab-pane active" id="components">
+          <div class="row">
+            <div class="span2 builder-section">
+              <h3>Scaffolding</h3>
+              <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
+              <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
+              <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
+              <h3>Base CSS</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
+              <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
+              <label class="checkbox"><input type="checkbox" value=""> Labels</label>
+              <label class="checkbox"><input type="checkbox" value=""> Tables</label>
+              <label class="checkbox"><input type="checkbox" value=""> Forms</label>
+              <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
+              <label class="checkbox"><input type="checkbox" value=""> Icons</label>
+            </div>
+            <div class="span2 builder-section">
+              <h3>Components</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
+              <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
+              <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
+              <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
+              <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
+              <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
+              <label class="checkbox"><input type="checkbox" value=""> Pager</label>
+              <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
+              <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
+              <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
+            </div>
+            <div class="span2 builder-section">
+              <h3>JS Components</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
+              <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
+              <label class="checkbox"><input type="checkbox" value=""> Modals</label>
+              <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
+              <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
+              <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
+              <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
+            </div>
+            <div class="span2 builder-section">
+              <h3>Responsive</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
+              <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
+              <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
+              <h3>Miscellaneous</h3>
+              <label class="checkbox"><input type="checkbox" value=""> Wells</label>
+              <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
+              <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
+              <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
+            </div>
           </div>
-        </div><!-- /row -->
+          <div class="builder-actions">
+            <a class="toggle-all" href="">Reset variables</a>
+            <a class="btn large primary" href="">Next: Customize variables</a>
+          </div>        
+        </div><!-- /tab-pane -->
+        <div class="tab-pane" id="variables">
+          <div class="row">
+            <div class="span3">
+              <h3>Links</h3>
+              <label>@linkColor</label>
+              <input type="text" class="span3" value="#08c">
+              <label>@linkColorHove</label>
+              <input type="text" class="span3" value="darken(@linkColor, 15%)">
+              <h3>Grid system</h3>
+              <label>@gridColumns</label>
+              <input type="text" class="span3" value="">
+              <label>@gridColumnWidth</label>
+              <input type="text" class="span3" value="">
+              <label>@gridGutterWidth</label>
+              <input type="text" class="span3" value="">
+              <label>@siteWidth</label>
+              <input type="text" class="span3" value="">
+              <label>@fluidSidebarWidth</label>
+              <input type="text" class="span3" value="">
+            </div><!-- /span -->
+            <div class="span3">
+              <h3>Typography</h3>
+              <label>@baseFontSize</label>
+              <input type="text" class="span3" value="13px">
+              <label>@baseFontFamily</label>
+              <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
+              <label>@baseLineHeight</label>
+              <input type="text" class="span3" value="18px">
+              <h3>Forms</h3>
+              <label>@primaryButtonColor</label>
+              <input type="text" class="span3" value="@blue">
+              <label>@placeholderText</label>
+              <input type="text" class="span3" value="@grayLight">
+              <h3>Navbar</h3>
+              <label>@navbarHeight</label>
+              <input type="text" class="span3" value="40px">
+              <label>@navbarBackground</label>
+              <input type="text" class="span3" value="@grayDarker">
+              <label>@navbarBackgroundHighlight</label>
+              <input type="text" class="span3" value="@grayDark">
+            </div><!-- /span -->
+            <div class="span3">
+              <h3>Form states &amp; alerts</h3>
+              <label>@warningText</label>
+              <input type="text" class="span3" value="#c09853">
+              <label>@warningBackground</label>
+              <input type="text" class="span3" value="#fcf8e3">
+              <label>@warningBorder</label>
+              <input type="text" class="span3" value="#f3edd2">
+              <label>@errorText</label>
+              <input type="text" class="span3" value="#b94a48">
+              <label>@errorBackground</label>
+              <input type="text" class="span3" value="#f2dede">
+              <label>@errorBorder</label>
+              <input type="text" class="span3" value="#e9c7c7">
+              <label>@successText</label>
+              <input type="text" class="span3" value="#468847">
+              <label>@successBackground</label>
+              <input type="text" class="span3" value="#dff0d8">
+              <label>@successBorder</label>
+              <input type="text" class="span3" value="#cfe8c4">
+              <label>@infoText</label>
+              <input type="text" class="span3" value="#3a87ad">
+              <label>@infoBackground</label>
+              <input type="text" class="span3" value="#d9edf7">
+              <label>@infoBorder</label>
+              <input type="text" class="span3" value="#bfe1f2">
+            </div><!-- /span -->
+          </div><!-- /row -->
+          <div class="builder-actions">
+            <a class="btn large primary" href="">Next: Build and download</a>
+          </div>        
+        </div><!-- /tab-pane -->
+        <div class="tab-pane" id="download">
+          <h2>And you're set!</h2>
+          <p class="lead">We've compiled your selected CSS and customized variables and have them ready to download as a tidy ZIP file. Choose from compiled or compiled and minified CSS files.</p>
+          <a class="btn large primary">Download CSS</a> <a class="btn large primary">Download minified CSS</a>
+          <hr>
+          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#overview">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
+        </div><!-- /tab-pane -->
+      </div><!-- /tab-content -->
+    </div><!-- /tabbable -->
+  </form>
+
+</section>
+
+
+
+<!-- BUILT WITH LESS
+================================================== -->
+<section id="builtWith">
+  <div class="page-header">
+    <h1>{{_i}}Built with LESS{{/i}}</h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Why LESS?{{/i}}</h3>
+      <p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}What's included?{{/i}}</h3>
+      <p>{{_i}}As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.{{/i}}</p>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Learn more{{/i}}</h3>
+      <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
+      <p>{{_i}}Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.{{/i}}</p>
+    </div>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Variables{{/i}}</h3>
+      <p>{{_i}}Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.{{/i}}</p>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Mixins{{/i}}</h3>
+      <p>{{_i}}Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.{{/i}}</p>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Operations{{/i}}</h3>
+      <p>{{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.{{/i}}</p>
+    </div>
+  </div>
+</section>
 
-      </section>
 
 
+<!-- VARIABLES
+================================================== -->
+<section id="variables">
+  <div class="page-header">
+    <h1>{{_i}}Variables <small>from variables.less</small>{{/i}}</h1>
+  </div>
 
-      <!-- MIXINS
-      ================================================== -->
-      <div class="page-header" id="mixins">
-        <h1>{{_i}}Mixins <small>from mixins.less</small>{{/i}}</h1>
-      </div>
+  <h3>{{_i}}Hyperlinks{{/i}}</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span2">{{_i}}Variable{{/i}}</th>
+        <th>{{_i}}Value{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>@linkColor</code></td>
+        <td>#08c</td>
+        <td>{{_i}}Default link text color{{/i}}</td>
+      </tr>
+      <tr>
+        <td><code>@linkColorHover</code></td>
+        <td><code>darken(@linkColor, 15%)</code></td>
+        <td>{{_i}}Default link text hover color{{/i}}</td>
+      </tr>
+    </tbody>
+  </table>
+
+  <div class="row">
+    <div class="span6">
+      <h3>{{_i}}Grayscale colors{{/i}}</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">{{_i}}Variable{{/i}}</th>
+            <th>{{_i}}Value{{/i}}</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@black</code></td>
+            <td>#000</td>
+          </tr>
+          <tr>
+            <td><code>@grayDarker</code></td>
+            <td>#222</td>
+          </tr>
+          <tr>
+            <td><code>@grayDark</code></td>
+            <td>#333</td>
+          </tr>
+          <tr>
+            <td><code>@gray</code></td>
+            <td>#555</td>
+          </tr>
+          <tr>
+            <td><code>@grayLight</code></td>
+            <td>#999</td>
+          </tr>
+          <tr>
+            <td><code>@grayLighter</code></td>
+            <td>#eee</td>
+          </tr>
+          <tr>
+            <td><code>@white</code></td>
+            <td>#fff</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span6">
+      <h3>{{_i}}Accent colors{{/i}}</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">{{_i}}Variable{{/i}}</th>
+            <th>{{_i}}Value{{/i}}</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@blue</code></td>
+            <td>#049cdb</td>
+          </tr>
+          <tr>
+            <td><code>@green</code></td>
+            <td>#46a546</td>
+          </tr>
+          <tr>
+            <td><code>@red</code></td>
+            <td>#9d261d</td>
+          </tr>
+          <tr>
+            <td><code>@yellow</code></td>
+            <td>#ffc40d</td>
+          </tr>
+          <tr>
+            <td><code>@orange</code></td>
+            <td>#f89406</td>
+          </tr>
+          <tr>
+            <td><code>@pink</code></td>
+            <td>#c3325f</td>
+          </tr>
+          <tr>
+            <td><code>@purple</code></td>
+            <td>#7a43b6</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div> <!-- /row -->
+  <div class="row">
+    <div class="span6">
+      <h3>{{_i}}Grid system{{/i}}</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">{{_i}}Variable{{/i}}</th>
+            <th>{{_i}}Value{{/i}}</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@gridColumns</code></td>
+            <td>12</td>
+          </tr>
+          <tr>
+            <td><code>@gridColumnWidth</code></td>
+            <td>60px</td>
+          </tr>
+          <tr>
+            <td><code>@gridGutterWidth</code></td>
+            <td>20px</td>
+          </tr>
+          <tr>
+            <td><code>@siteWidth</code></td>
+            <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span6">
+      <h3>{{_i}}Typography{{/i}}</h3>
+      <table class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th class="span2">{{_i}}Variable{{/i}}</th>
+            <th>{{_i}}Value{{/i}}</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>@baseFontSize</code></td>
+            <td>13px</td>
+          </tr>
+          <tr>
+            <td><code>@baseFontFamily</code></td>
+            <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td><code>@baseLineHeight</code></td>
+            <td>18px</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div> <!-- /row -->
+
+  <h3>{{_i}}Components{{/i}}</h3>
+  <div class="row">
+    <div class="span6">
+      <h4>Buttons</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@primaryButtonColor</code></td>
+            <td><code>@blue</code></td>
+          </tr>
+        </tbody>
+      </table>
+      <h4>Forms</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@placeholderText</code></td>
+            <td><code>@grayLight</code></td>
+          </tr>
+        </tbody>
+      </table>
+      <h4>Navbar</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@navbarHeight</code></td>
+            <td>40px</td>
+          </tr>
+          <tr>
+            <td><code>@navbarBackground</code></td>
+            <td><code>@grayDarker</code></td>
+          </tr>
+          <tr>
+            <td><code>@navbarBackgroundHighlight</code></td>
+            <td><code>@grayDark</code></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="span6">
+      <h4>Form states and alerts</h4>
+      <table class="table table-bordered table-striped">
+        <tbody>
+          <tr>
+            <td class="span3"><code>@warningText</code></td>
+            <td>#f3edd2</td>
+          </tr>
+          <tr>
+            <td><code>@warningBackground</code></td>
+            <td>#c09853</td>
+          </tr>
+          <tr>
+            <td><code>@warningBorder</code></td>
+            <td>#f3edd2</td>
+          </tr>
+          <tr>
+            <td><code>@errorText</code></td>
+            <td>#b94a48</td>
+          </tr>
+          <tr>
+            <td><code>@errorBackground</code></td>
+            <td>#f2dede</td>
+          </tr>
+          <tr>
+            <td><code>@errorBorder</code></td>
+            <td>#e9c7c7</td>
+          </tr>
+          <tr>
+            <td><code>@successText</code></td>
+            <td>#468847</td>
+          </tr>
+          <tr>
+            <td><code>@successBackground</code></td>
+            <td>#dff0d8</td>
+          </tr>
+          <tr>
+            <td><code>@successBorder</code></td>
+            <td>#cfe8c4</td>
+          </tr>
+          <tr>
+            <td><code>@infoText</code></td>
+            <td>#3a87ad</td>
+          </tr>
+          <tr>
+            <td><code>@infoBackground</code></td>
+            <td>#d9edf7</td>
+          </tr>
+          <tr>
+            <td><code>@infoBorder</code></td>
+            <td>#bfe1f2</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div><!-- /row -->
+
+</section>
+
+
+
+<!-- MIXINS
+================================================== -->
+<div class="page-header" id="mixins">
+  <h1>{{_i}}Mixins <small>from mixins.less</small>{{/i}}</h1>
+</div>
 
 
 
-      <!-- OPERATIONS
-      ================================================== -->
-      <div class="page-header" id="operations">
-        <h1>{{_i}}Operations{{/i}}</h1>
-      </div>
+<!-- OPERATIONS
+================================================== -->
+<div class="page-header" id="operations">
+  <h1>{{_i}}Operations{{/i}}</h1>
+</div>
 
 
 
-      <!-- COMPILING LESS AND BOOTSTRAP
-      ================================================== -->
-      <div class="page-header" id="compiling">
-        <h1>{{_i}}Compiling LESS and Bootstrap{{/i}}</h1>
-      </div>
+<!-- COMPILING LESS AND BOOTSTRAP
+================================================== -->
+<div class="page-header" id="compiling">
+  <h1>{{_i}}Compiling LESS and Bootstrap{{/i}}</h1>
+</div>
 
 
 
diff --git a/lib/forms.less b/lib/forms.less
index 2b24fb2f0e..e35b23da02 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -297,15 +297,15 @@ textarea[readonly] {
 }
 // Warning
 .control-group.warning {
-  .formFieldState(@warningText, @warningBorder, @warningBackground);
+  .formFieldState(@warningText, @warningText, @warningBackground);
 }
 // Error
 .control-group.error {
-  .formFieldState(@errorText, @errorBorder, @errorBackground);
+  .formFieldState(@errorText, @errorText, @errorBackground);
 }
 // Success
 .control-group.success {
-  .formFieldState(@successText, @successBorder, @successBackground);
+  .formFieldState(@successText, @successText, @successBackground);
 }
 
 // HTML5 invalid states
diff --git a/lib/type.less b/lib/type.less
index 211111761b..548c222f1c 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -16,6 +16,12 @@ p {
     color: @grayLight;
   }
 }
+.lead {
+  margin-bottom: @baseLineHeight;
+  font-size: 20px;
+  font-weight: 200;
+  line-height: @baseLineHeight * 1.5;
+}
 
 // HEADINGS
 // --------
@@ -202,7 +208,6 @@ pre {
 }
 code {
   padding: 3px 4px;
-  background-color: lighten(@orange, 40%);
   color: #d14;
   background-color: #f7f7f9;
   border: 1px solid #e1e1e8;
-- 
GitLab


From ae70d2a8b6db76d0b3a2a2ef4540a270f0f5c257 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 23:44:59 -0800
Subject: [PATCH 415/576] refine spacing on fixed subnav

---
 docs/assets/css/docs.css | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index d9f8e438b0..8c30e733d8 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -197,8 +197,9 @@ section {
             box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
   }
   .subnav-fixed .nav {
-    width: 940px;
+    width: 938px;
     margin: 0 auto;
+    padding: 0 1px;
   }
 }
 
-- 
GitLab


From b0fb31be5eff9cc4d7a1b2aab70643ff4fc82618 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Tue, 24 Jan 2012 23:45:48 -0800
Subject: [PATCH 416/576] fix js link on chop shop

---
 docs/less.html                     | 2 +-
 docs/templates/pages/less.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/less.html b/docs/less.html
index e5e3baa66b..55138c71aa 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -230,7 +230,7 @@
           <p class="lead">We've compiled your selected CSS and customized variables and have them ready to download as a tidy ZIP file. Choose from compiled or compiled and minified CSS files.</p>
           <a class="btn large primary">Download CSS</a> <a class="btn large primary">Download minified CSS</a>
           <hr>
-          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#overview">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
+          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#javascript">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
         </div><!-- /tab-pane -->
       </div><!-- /tab-content -->
     </div><!-- /tabbable -->
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index ecb39055b0..2633abdf3f 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -170,7 +170,7 @@
           <p class="lead">We've compiled your selected CSS and customized variables and have them ready to download as a tidy ZIP file. Choose from compiled or compiled and minified CSS files.</p>
           <a class="btn large primary">Download CSS</a> <a class="btn large primary">Download minified CSS</a>
           <hr>
-          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#overview">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
+          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#javascript">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
         </div><!-- /tab-pane -->
       </div><!-- /tab-content -->
     </div><!-- /tabbable -->
-- 
GitLab


From 64f85e037102425062a43ba17b9d5b1f4c4acba7 Mon Sep 17 00:00:00 2001
From: Jason Wieland <jwieland@gmail.com>
Date: Wed, 25 Jan 2012 00:02:37 -0800
Subject: [PATCH 417/576] caught another old reference to 1.1.3

---
 docs/templates/pages/less.mustache | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index ea7058fd9b..ff52970b2c 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -371,7 +371,7 @@
     <p>{{_i}}Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
-&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
+&lt;script src="js/less-1.2.1.min.js"&gt;&lt;/script&gt;</pre>
 <p>{{_i}}Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.{{/i}}</p>
 
     <h2>{{_i}}What’s included{{/i}}</h2>
-- 
GitLab


From b8fa6cfacf61a02ab769b9031253c7b06111fa7c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 01:22:29 -0800
Subject: [PATCH 418/576] move css builder and downloader to dedicated page,
 start to update remaining sections on LESS docs page

---
 bootstrap.css                                 |  14 +-
 bootstrap.min.css                             |   4 +-
 docs/assets/css/docs.css                      |  94 +++--
 .../js/google-code-prettify/prettify.css      |   4 -
 docs/base-css.html                            |  13 +-
 docs/components.html                          |  21 +-
 docs/download.html                            | 312 +++++++++++++++
 docs/index.html                               |   3 +
 docs/javascript.html                          |  27 +-
 docs/less.html                                | 361 +++---------------
 docs/scaffolding.html                         |   9 +-
 docs/templates/layout.mustache                |   3 +
 docs/templates/pages/base-css.mustache        |  10 +-
 docs/templates/pages/components.mustache      |  18 +-
 docs/templates/pages/download.mustache        | 216 +++++++++++
 docs/templates/pages/javascript.mustache      |  24 +-
 docs/templates/pages/less.mustache            | 359 +++--------------
 docs/templates/pages/scaffolding.mustache     |   6 +-
 docs/upgrading.html                           |   3 +
 lib/forms.less                                |   4 +-
 20 files changed, 783 insertions(+), 722 deletions(-)
 create mode 100644 docs/download.html
 create mode 100644 docs/templates/pages/download.mustache

diff --git a/bootstrap.css b/bootstrap.css
index 33be3d9660..3b04dc30e8 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Tue Jan 24 23:35:08 PST 2012
+ * Date: Wed Jan 25 01:02:35 PST 2012
  */
 article,
 aside,
@@ -577,9 +577,9 @@ textarea {
   margin-left: 10px;
 }
 input, textarea {
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
+  -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);
   -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;
@@ -588,9 +588,9 @@ input, textarea {
 }
 input:focus, textarea:focus {
   border-color: rgba(82, 168, 236, 0.8);
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+  -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;
 }
 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 3c2b70663b..4cbd235022 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -108,8 +108,8 @@ textarea{height:auto;}
 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
 .radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;}
 .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.1);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1);-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;}
-input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
+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);-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;}
+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;}
 input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
 .input-mini{width:60px;}
 .input-small{width:90px;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 8c30e733d8..12c534fb2d 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -442,68 +442,78 @@ section {
 }
 
 
-/* CSS Chop Shop
+/* Download page
 -------------------------------------------------- */
-.builder {
+.download .page-header {
+  margin-top: 36px;
 }
-.builder .span2 {
-  width: 160px;
-}
-.builder ul {
-  margin: 0;
-  list-style: none;
-}
-.builder .tabs {
-  margin-right: 0;
-}
-.builder .tabs a {
-  width: 160px;
-  padding: 14px;
-  font-size: 14px;
-}
-.builder .tab-content {
-  padding: 19px;
-  margin-left: 189px;
-  border: 1px solid #e5e5e5;
-  -webkit-border-radius: 0 4px 4px 4px;
-     -moz-border-radius: 0 4px 4px 4px;
-          border-radius: 0 4px 4px 4px;
+.page-header .toggle-all {
+  margin-top: 13px;
 }
 
 /* Space out h3s when following a section */
-.builder input + h3,
-.builder .checkbox + h3 {
+.download h3 {
+  margin-bottom: 5px;
+}
+.download-builder input + h3,
+.download-builder .checkbox + h3 {
   margin-top: 9px;
 }
 
 /* Fields for variables */
-.builder input + h3 {
-  margin-top: 9px;
-}
-.builder #variables label {
-  margin-bottom: 2px;
-  color: #555;
-}
-.builder input[type=text] {
+.download-builder input[type=text] {
   margin-bottom: 9px;
   font-family: Menlo, Monaco, "Courier New", monospace;
   font-size: 12px;
   color: #d14;
   background-color: #f7f7f9;
 }
-.builder input[type=text]:focus {
+.download-builder input[type=text]:focus {
   background-color: #fff;
 }
 
+/* Custom, larger checkbox labels */
+.download .checkbox {
+  padding: 6px 10px 6px 25px;
+  font-size: 14px;
+  color: #555;
+  background-color: #f9f9f9;
+  -webkit-border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
+  cursor: pointer;
+}
+.download .checkbox:hover {
+  color: #333;
+  background-color: #f5f5f5;
+}
+.download .checkbox input[type=checkbox] {
+  position: relative;
+  top: 1px;
+}
+.download .checkbox small {
+  font-size: 12px;
+  color: #777;
+}
 
-.builder-actions {
-  margin-top: 18px;
-  padding-top: 18px;
-  border-top: 1px solid #eee;
+/* Giant download button */
+.download-btn {
+  pading: 18px 20px;
+  margin: 45px 0;
+  text-align: center;
+  border: 1px solid #eee;
+  -webkit-border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
-.builder-actions .toggle-all {
-  float: right;
-  line-height: 36px;
+.btn.xlarge {
+  margin: 36px auto;
+  padding: 14px 24px;
+  font-size: 30px;
+  text-align: center;
+  -webkit-border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
 }
 
 
diff --git a/docs/assets/js/google-code-prettify/prettify.css b/docs/assets/js/google-code-prettify/prettify.css
index 0d54905fbc..aedd8d1a91 100644
--- a/docs/assets/js/google-code-prettify/prettify.css
+++ b/docs/assets/js/google-code-prettify/prettify.css
@@ -27,8 +27,4 @@ ol.linenums li {
   color: #bebec5;
   line-height: 18px;
   text-shadow: 0 1px 0 #fff;
-}
-/* Alternate shading for lines */
-li.L1, li.L3, li.L5, li.L7, li.L9 {
-  
 }
\ No newline at end of file
diff --git a/docs/base-css.html b/docs/base-css.html
index 6847c0616a..75c7efe5e6 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -51,6 +51,9 @@
             <li class="">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
@@ -65,11 +68,11 @@
   <p class="lead">On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./base-css.html#typography">Typography</a></li>
-      <li><a href="./base-css.html#tables">Tables</a></li>
-      <li><a href="./base-css.html#forms">Forms</a></li>
-      <li><a href="./base-css.html#buttons">Buttons</a></li>
-      <li><a href="./base-css.html#icons">Icons by Glyphicons</a></li>
+      <li><a href="#typography">Typography</a></li>
+      <li><a href="#tables">Tables</a></li>
+      <li><a href="#forms">Forms</a></li>
+      <li><a href="#buttons">Buttons</a></li>
+      <li><a href="#icons">Icons by Glyphicons</a></li>
     </ul>
   </div>
 </header>
diff --git a/docs/components.html b/docs/components.html
index d823998d95..c1cec739cd 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -51,6 +51,9 @@
             <li class="">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
@@ -65,15 +68,15 @@
   <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./components.html#buttonGroups">Button groups</a></li>
-      <li><a href="./components.html#buttonDropdowns">Button dropdowns</a></li>
-      <li><a href="./components.html#navs">Nav, tabs, pills</a></li>
-      <li><a href="./components.html#navbar">Navbar</a></li>
-      <li><a href="./components.html#breadcrumbs">Breadcrumbs</a></li>
-      <li><a href="./components.html#pagination">Pagination</a></li>
-      <li><a href="./components.html#thumbnails">Thumbnails</a></li>
-      <li><a href="./components.html#alerts">Alerts</a></li>
-      <li><a href="./components.html#progress">Progress bars</a></li>
+      <li><a href="#buttonGroups">Button groups</a></li>
+      <li><a href="#buttonDropdowns">Button dropdowns</a></li>
+      <li><a href="#navs">Nav, tabs, pills</a></li>
+      <li><a href="#navbar">Navbar</a></li>
+      <li><a href="#breadcrumbs">Breadcrumbs</a></li>
+      <li><a href="#pagination">Pagination</a></li>
+      <li><a href="#thumbnails">Thumbnails</a></li>
+      <li><a href="#alerts">Alerts</a></li>
+      <li><a href="#progress">Progress bars</a></li>
     </ul>
   </div>
 </header>
diff --git a/docs/download.html b/docs/download.html
new file mode 100644
index 0000000000..1d74c4f78b
--- /dev/null
+++ b/docs/download.html
@@ -0,0 +1,312 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+  </head>
+
+  <body>
+  
+  <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li class="">
+              <a href="./index.html">Overview</a>
+            </li>
+            <li class="">
+              <a href="./scaffolding.html">Scaffolding</a>
+            </li>
+            <li class="">
+              <a href="./base-css.html">Base CSS</a>
+            </li>
+            <li class="">
+              <a href="./components.html">Components</a>
+            </li>
+            <li class="">
+              <a href="./javascript.html">Javascript plugins</a>
+            </li>
+            <li class="">
+              <a href="./less.html">Using LESS</a>
+            </li>
+            <li class="active">
+              <a href="./download.html">Download</a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+<div class="alert">
+  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+</div>
+
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Download and customize Bootstrap</h1>
+  <p class="lead"><a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.</p>
+</header>
+
+<div class="download">
+  <div class="page-header">
+    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <h1>
+      1. Select components
+      <small>Get just the CSS you need</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span3">
+      <h3>Scaffolding</h3>
+      <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
+      <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
+      <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
+      <h3>Base CSS</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
+      <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
+      <label class="checkbox"><input type="checkbox" value=""> Labels</label>
+      <label class="checkbox"><input type="checkbox" value=""> Tables</label>
+      <label class="checkbox"><input type="checkbox" value=""> Forms</label>
+      <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
+      <label class="checkbox"><input type="checkbox" value=""> Icons</label>
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Components</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
+      <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
+      <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
+      <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
+      <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
+      <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
+      <label class="checkbox"><input type="checkbox" value=""> Pager</label>
+      <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
+      <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
+      <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>JS Components</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
+      <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
+      <label class="checkbox"><input type="checkbox" value=""> Modals</label>
+      <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
+      <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
+      <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
+      <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Miscellaneous</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Wells</label>
+      <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
+      <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
+      <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
+      <h3>Responsive</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
+    </div><!-- /span -->
+  </div><!-- /row -->
+
+  <div class="page-header">
+    <a class="pull-right toggle-all" href="#">Reset to defaults</a>
+    <h1>
+      2. Modify variables
+      <small>Customize Bootstrap without using a LESS compiler</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span4">
+      <h3>Links</h3>
+      <label>@linkColor</label>
+      <input type="text" class="span3" value="#08c">
+      <label>@linkColorHover</label>
+      <input type="text" class="span3" value="darken(@linkColor, 15%)">
+      <h3>Grid system</h3>
+      <label>@gridColumns</label>
+      <input type="text" class="span3" value="">
+      <label>@gridColumnWidth</label>
+      <input type="text" class="span3" value="">
+      <label>@gridGutterWidth</label>
+      <input type="text" class="span3" value="">
+      <label>@siteWidth</label>
+      <input type="text" class="span3" value="">
+      <label>@fluidSidebarWidth</label>
+      <input type="text" class="span3" value="">
+    </div><!-- /span -->
+    <div class="span4">
+      <h3>Typography</h3>
+      <label>@baseFontSize</label>
+      <input type="text" class="span3" value="13px">
+      <label>@baseFontFamily</label>
+      <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
+      <label>@baseLineHeight</label>
+      <input type="text" class="span3" value="18px">
+      <h3>Forms</h3>
+      <label>@primaryButtonColor</label>
+      <input type="text" class="span3" value="@blue">
+      <label>@placeholderText</label>
+      <input type="text" class="span3" value="@grayLight">
+      <h3>Navbar</h3>
+      <label>@navbarHeight</label>
+      <input type="text" class="span3" value="40px">
+      <label>@navbarBackground</label>
+      <input type="text" class="span3" value="@grayDarker">
+      <label>@navbarBackgroundHighlight</label>
+      <input type="text" class="span3" value="@grayDark">
+    </div><!-- /span -->
+    <div class="span4">
+      <h3>Form states &amp; alerts</h3>
+      <label>@warningText</label>
+      <input type="text" class="span3" value="#c09853">
+      <label>@warningBackground</label>
+      <input type="text" class="span3" value="#fcf8e3">
+      <label>@warningBorder</label>
+      <input type="text" class="span3" value="#f3edd2">
+      <label>@errorText</label>
+      <input type="text" class="span3" value="#b94a48">
+      <label>@errorBackground</label>
+      <input type="text" class="span3" value="#f2dede">
+      <label>@errorBorder</label>
+      <input type="text" class="span3" value="#e9c7c7">
+      <label>@successText</label>
+      <input type="text" class="span3" value="#468847">
+      <label>@successBackground</label>
+      <input type="text" class="span3" value="#dff0d8">
+      <label>@successBorder</label>
+      <input type="text" class="span3" value="#cfe8c4">
+      <label>@infoText</label>
+      <input type="text" class="span3" value="#3a87ad">
+      <label>@infoBackground</label>
+      <input type="text" class="span3" value="#d9edf7">
+      <label>@infoBorder</label>
+      <input type="text" class="span3" value="#bfe1f2">
+    </div><!-- /span -->
+  </div><!-- /row -->
+
+  <div class="page-header">
+    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <h1>
+      3. Select jQuery plugins
+      <small>Quickly add only the necessary javascript</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span4">
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-modal.js">
+        Modals
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-dropdown.js">
+        Dropdowns
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-scrollspy.js">
+        Scrollspy
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-tab.js">
+        Togglable tabs
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-tooltip.js">
+        Tooltips
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-popover.js">
+        Popovers <small>(requires Tooltips)</small>
+      </label>
+    </div><!-- /span -->
+    <div class="span4">
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-alert.js">
+        Alert messages
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-button.js">
+        Buttons
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-collapse.js">
+        Collapse
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-carousel.js">
+        Carousel
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-typeahead.js">
+        Typeahead
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-transition.js">
+        Transitions <small>(required for any animation)</small>
+      </label>
+    </div><!-- /span -->
+    <div class="span4">
+      <h4 class="muted">Heads up!</h4>
+      <p class="muted">All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
+    </div><!-- /span -->
+  </div><!-- /row -->
+
+  <div class="download-btn">
+    <a class="btn xlarge primary" href="#">Build and Download</a>
+  </div>
+</div><!-- /download -->
+
+     <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+      </footer>
+
+    </div><!-- /container -->
+
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/docs/index.html b/docs/index.html
index 2bbcaa78aa..83e65c97e6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -51,6 +51,9 @@
             <li class="">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
diff --git a/docs/javascript.html b/docs/javascript.html
index 425d347cb8..a7818ff461 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -51,6 +51,9 @@
             <li class="">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
@@ -65,18 +68,18 @@
         <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./javascript.html#javascript">Overview</a></li>
-            <li><a href="./javascript.html#modals">Modal</a></li>
-            <li><a href="./javascript.html#dropdowns">Dropdown</a></li>
-            <li><a href="./javascript.html#scrollspy">Scrollspy</a></li>
-            <li><a href="./javascript.html#tabs">Tab</a></li>
-            <li><a href="./javascript.html#tooltips">Tooltip</a></li>
-            <li><a href="./javascript.html#popovers">Popover</a></li>
-            <li><a href="./javascript.html#alerts">Alert</a></li>
-            <li><a href="./javascript.html#buttons">Button</a></li>
-            <li><a href="./javascript.html#collapse">Collapse</a></li>
-            <li><a href="./javascript.html#carousel">Carousel</a></li>
-            <li><a href="./javascript.html#typeahead">Typeahead</a></li>
+            <li><a href="#javascript">Overview</a></li>
+            <li><a href="#modals">Modal</a></li>
+            <li><a href="#dropdowns">Dropdown</a></li>
+            <li><a href="#scrollspy">Scrollspy</a></li>
+            <li><a href="#tabs">Tab</a></li>
+            <li><a href="#tooltips">Tooltip</a></li>
+            <li><a href="#popovers">Popover</a></li>
+            <li><a href="#alerts">Alert</a></li>
+            <li><a href="#buttons">Button</a></li>
+            <li><a href="#collapse">Collapse</a></li>
+            <li><a href="#carousel">Carousel</a></li>
+            <li><a href="#typeahead">Typeahead</a></li>
           </ul>
         </div>
       </header>
diff --git a/docs/less.html b/docs/less.html
index 55138c71aa..6bb04e8d86 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -51,6 +51,9 @@
             <li class="active">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
@@ -69,177 +72,16 @@
   <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./less.html#builtWith">Built with Less</a></li>
-      <li><a href="./less.html#variables">Variables</a></li>
-      <li><a href="./less.html#mixins">Mixins</a></li>
-      <li><a href="./less.html#compiling">Compiling Bootstrap</a></li>
+      <li><a href="#builtWith">Built with Less</a></li>
+      <li><a href="#variables">Variables</a></li>
+      <li><a href="#mixins">Mixins</a></li>
+      <li><a href="#compiling">Compiling Bootstrap</a></li>
     </ul>
   </div>
 </header>
 
 
 
-<!-- BUILDER
-================================================== -->
-<section id="builder">
-  <div class="page-header">
-    <h1>Chop Shop <small>Customize your build of Bootstrap</small></h1>
-  </div>
-
-  <form class="form-horizontal builder">
-    <div class="tabbable tabs-left">
-      <ul class="nav tabs">
-        <li class="active">
-          <a href="#components" data-toggle="tab">1. Select components</a>
-        </li>
-        <li><a href="#variables" data-toggle="tab">2. Customize variables</a></li>
-        <li><a href="#download" data-toggle="tab">3. Build and download</a></li>
-      </ul>
-      <div class="tab-content">
-        <div class="tab-pane active" id="components">
-          <div class="row">
-            <div class="span2 builder-section">
-              <h3>Scaffolding</h3>
-              <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
-              <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
-              <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
-              <h3>Base CSS</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
-              <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
-              <label class="checkbox"><input type="checkbox" value=""> Labels</label>
-              <label class="checkbox"><input type="checkbox" value=""> Tables</label>
-              <label class="checkbox"><input type="checkbox" value=""> Forms</label>
-              <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
-              <label class="checkbox"><input type="checkbox" value=""> Icons</label>
-            </div>
-            <div class="span2 builder-section">
-              <h3>Components</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
-              <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
-              <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
-              <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
-              <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
-              <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
-              <label class="checkbox"><input type="checkbox" value=""> Pager</label>
-              <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
-              <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
-              <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
-            </div>
-            <div class="span2 builder-section">
-              <h3>JS Components</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
-              <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
-              <label class="checkbox"><input type="checkbox" value=""> Modals</label>
-              <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
-              <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
-              <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
-              <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
-            </div>
-            <div class="span2 builder-section">
-              <h3>Responsive</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
-              <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
-              <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
-              <h3>Miscellaneous</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Wells</label>
-              <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
-              <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
-              <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
-            </div>
-          </div>
-          <div class="builder-actions">
-            <a class="toggle-all" href="">Reset variables</a>
-            <a class="btn large primary" href="">Next: Customize variables</a>
-          </div>        
-        </div><!-- /tab-pane -->
-        <div class="tab-pane" id="variables">
-          <div class="row">
-            <div class="span3">
-              <h3>Links</h3>
-              <label>@linkColor</label>
-              <input type="text" class="span3" value="#08c">
-              <label>@linkColorHove</label>
-              <input type="text" class="span3" value="darken(@linkColor, 15%)">
-              <h3>Grid system</h3>
-              <label>@gridColumns</label>
-              <input type="text" class="span3" value="">
-              <label>@gridColumnWidth</label>
-              <input type="text" class="span3" value="">
-              <label>@gridGutterWidth</label>
-              <input type="text" class="span3" value="">
-              <label>@siteWidth</label>
-              <input type="text" class="span3" value="">
-              <label>@fluidSidebarWidth</label>
-              <input type="text" class="span3" value="">
-            </div><!-- /span -->
-            <div class="span3">
-              <h3>Typography</h3>
-              <label>@baseFontSize</label>
-              <input type="text" class="span3" value="13px">
-              <label>@baseFontFamily</label>
-              <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
-              <label>@baseLineHeight</label>
-              <input type="text" class="span3" value="18px">
-              <h3>Forms</h3>
-              <label>@primaryButtonColor</label>
-              <input type="text" class="span3" value="@blue">
-              <label>@placeholderText</label>
-              <input type="text" class="span3" value="@grayLight">
-              <h3>Navbar</h3>
-              <label>@navbarHeight</label>
-              <input type="text" class="span3" value="40px">
-              <label>@navbarBackground</label>
-              <input type="text" class="span3" value="@grayDarker">
-              <label>@navbarBackgroundHighlight</label>
-              <input type="text" class="span3" value="@grayDark">
-            </div><!-- /span -->
-            <div class="span3">
-              <h3>Form states &amp; alerts</h3>
-              <label>@warningText</label>
-              <input type="text" class="span3" value="#c09853">
-              <label>@warningBackground</label>
-              <input type="text" class="span3" value="#fcf8e3">
-              <label>@warningBorder</label>
-              <input type="text" class="span3" value="#f3edd2">
-              <label>@errorText</label>
-              <input type="text" class="span3" value="#b94a48">
-              <label>@errorBackground</label>
-              <input type="text" class="span3" value="#f2dede">
-              <label>@errorBorder</label>
-              <input type="text" class="span3" value="#e9c7c7">
-              <label>@successText</label>
-              <input type="text" class="span3" value="#468847">
-              <label>@successBackground</label>
-              <input type="text" class="span3" value="#dff0d8">
-              <label>@successBorder</label>
-              <input type="text" class="span3" value="#cfe8c4">
-              <label>@infoText</label>
-              <input type="text" class="span3" value="#3a87ad">
-              <label>@infoBackground</label>
-              <input type="text" class="span3" value="#d9edf7">
-              <label>@infoBorder</label>
-              <input type="text" class="span3" value="#bfe1f2">
-            </div><!-- /span -->
-          </div><!-- /row -->
-          <div class="builder-actions">
-            <a class="btn large primary" href="">Next: Build and download</a>
-          </div>        
-        </div><!-- /tab-pane -->
-        <div class="tab-pane" id="download">
-          <h2>And you're set!</h2>
-          <p class="lead">We've compiled your selected CSS and customized variables and have them ready to download as a tidy ZIP file. Choose from compiled or compiled and minified CSS files.</p>
-          <a class="btn large primary">Download CSS</a> <a class="btn large primary">Download minified CSS</a>
-          <hr>
-          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#javascript">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
-        </div><!-- /tab-pane -->
-      </div><!-- /tab-content -->
-    </div><!-- /tabbable -->
-  </form>
-
-</section>
-
-
-
 <!-- BUILT WITH LESS
 ================================================== -->
 <section id="builtWith">
@@ -249,7 +91,7 @@
   <div class="row">
     <div class="span4">
       <h3>Why LESS?</h3>
-      <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
+      <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
     </div>
     <div class="span4">
       <h3>What's included?</h3>
@@ -283,7 +125,7 @@
 ================================================== -->
 <section id="variables">
   <div class="page-header">
-    <h1>Variables <small>from variables.less</small></h1>
+    <h1>Bootstrap variables <small></small></h1>
   </div>
 
   <h3>Hyperlinks</h3>
@@ -554,85 +396,8 @@
 <!-- MIXINS
 ================================================== -->
 <div class="page-header" id="mixins">
-  <h1>Mixins <small>from mixins.less</small></h1>
-</div>
-
-
-
-<!-- OPERATIONS
-================================================== -->
-<div class="page-header" id="operations">
-  <h1>Operations</h1>
-</div>
-
-
-
-<!-- COMPILING LESS AND BOOTSTRAP
-================================================== -->
-<div class="page-header" id="compiling">
-  <h1>Compiling LESS and Bootstrap</h1>
+  <h1>Bootstrap mixins <small></small></h1>
 </div>
-
-
-
-
-<!-- Using Bootstrap w/ Less
-================================================== -->
-<section id="less">
-<div class="page-header">
-  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
-</div>
-<div class="row">
-  <div class="span3">
-    <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
-    <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
-  </div>
-  <div class="span9">
-    <h2>How to use it</h2>
-    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
-<pre class="prettyprint linenums">
-&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
-&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
-<p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
-
-    <h2>What’s included</h2>
-    <p>Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.</p>
-    <h3>Variables</h3>
-    <p>Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.</p>
-<pre class="prettyprint linenums">
-// Links
-@linkColor:         #8b59c2;
-@linkColorHover:    darken(@linkColor, 10);
-
-// Grays
-@black:             #000;
-@grayDark:          lighten(@black, 25%);
-@gray:              lighten(@black, 50%);
-@grayLight:         lighten(@black, 70%);
-@grayLighter:       lighten(@black, 90%);
-@white:             #fff;
-
-// Accent Colors
-@blue:              #08b5fb;
-@green:             #46a546;
-@red:               #9d261d;
-@yellow:            #ffc40d;
-@orange:            #f89406;
-@pink:              #c3325f;
-@purple:            #7a43b6;
-
-// Baseline grid
-@basefont:          13px;
-@baseline:          18px;
-</pre>
-
-<h3>Commenting</h3>
-<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
-<pre class="prettyprint linenums">
-// This is a comment
-/* This is also a comment */
-</pre>
-
 <h3>Mixins up the wazoo</h3>
 <p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
 <h4>Font stacks</h4>
@@ -686,69 +451,59 @@
 }
 </pre>
 
-    <h2 id="compiling">Compiling Less</h2>
-    <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
-    <h3>Ways to compile</h3>
-    <table class="table table-bordered table-striped">
-      <thead>
-        <tr>
-          <th style="width: 120px;">Method</th>
-          <th>Steps</th>
-        </tr>
-      </thead>
-      <tbody>
-        <tr>
-          <td>Node with makefile</td>
-          <td>
-            <p>Install the LESS command line compiler with npm by running the following command:</p>
-            <pre>$ npm install less</pre>
-            <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
-            <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
-          </td>
-        </tr>
-          <td>Javascript</td>
-          <td>
-            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.</p>
+
+<!-- COMPILING LESS AND BOOTSTRAP
+================================================== -->
+<section id="compiling">
+  <div class="page-header">
+    <h1>Compiling Bootstrap with LESS</h1>
+  </div>
+  <div class="alert alert-info">
+    <strong>Note:</strong> If you're submitting a pull request to GitHub with modified CSS, you <strong>must</strong> recompile the CSS via any of these methods.
+  </div>
+  <h2>Tools for compiling</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Node with makefile</h3>
+      <p>Install the LESS command line compiler with npm by running the following command:</p>
+      <pre>$ npm install less</pre>
+      <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
+      <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>Command line</h3>
+      <p>Install the LESS command line tool via Node and run the following command:</p>
+        <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
+      <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>Javascript</h3>
+      <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.</p>
 <pre class="prettyprint">
 &lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
 &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
 </pre>
-            <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
-          </td>
-        </tr>
-        <tr>
-          <td>Command line</td>
-          <td>
-            <p>Install the LESS command line tool via Node and run the following command:</p>
-              <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
-            <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
-          </td>
-        </tr>
-        <tr>
-          <td><a href="http://incident57.com/less/" target="_blank">Unofficial Mac app</a></td>
-          <td>
-            <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
-            <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
-          </td>
-        </tr>
-        <tr>
-          <td><a href="http://crunchapp.net/" target="_blank">Crunch</a></td>
-          <td>Crunch is a great looking LESS editor and compiler built on Adobe Air.</td>
-        </tr>
-        <tr>
-          <td><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></td>
-          <td>Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.</td>
-        </tr>
-        <tr>
-          <td><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></td>
-          <td>Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.</td>
-        </tr>
-      </tbody>
-    </table>
-  </div>
-</div>
-
+      <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
+    </div><!-- /span4 -->
+  </div><!-- /row -->
+  <div class="row">
+    <div class="span4">
+      <h3>Unofficial Mac app</h3>
+      <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
+      <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>More Mac apps</h3>
+      <h4><a href="http://crunchapp.net/" target="_blank">Crunch</a></h4>
+      <p>Crunch is a great looking LESS editor and compiler built on Adobe Air.</p>
+      <h4><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></h4>
+      <p>Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.</p>
+      <h4><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></h4>
+      <p>Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.</p>
+    </div><!-- /span4 -->
+  </div><!-- /row -->
 </section>
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index bb18b03945..3e2ddf077d 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -51,6 +51,9 @@
             <li class="">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
@@ -65,9 +68,9 @@
         <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./scaffolding.html#grid-system">Grid system</a></li>
-            <li><a href="./scaffolding.html#layouts">Layouts</a></li>
-            <li><a href="./scaffolding.html#responsive">Responsive design</a></li>
+            <li><a href="#grid-system">Grid system</a></li>
+            <li><a href="#layouts">Layouts</a></li>
+            <li><a href="#responsive">Responsive design</a></li>
           </ul>
         </div>
       </header>
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index 919872db24..1fec7788ef 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -51,6 +51,9 @@
             <li class="{{less}}">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="{{download}}">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index ba864ce9e5..6308522595 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -5,11 +5,11 @@
   <p class="lead">{{_i}}On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.{{/i}}</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./base-css.html#typography">{{_i}}Typography{{/i}}</a></li>
-      <li><a href="./base-css.html#tables">{{_i}}Tables{{/i}}</a></li>
-      <li><a href="./base-css.html#forms">{{_i}}Forms{{/i}}</a></li>
-      <li><a href="./base-css.html#buttons">{{_i}}Buttons{{/i}}</a></li>
-      <li><a href="./base-css.html#icons">{{_i}}Icons by Glyphicons{{/i}}</a></li>
+      <li><a href="#typography">{{_i}}Typography{{/i}}</a></li>
+      <li><a href="#tables">{{_i}}Tables{{/i}}</a></li>
+      <li><a href="#forms">{{_i}}Forms{{/i}}</a></li>
+      <li><a href="#buttons">{{_i}}Buttons{{/i}}</a></li>
+      <li><a href="#icons">{{_i}}Icons by Glyphicons{{/i}}</a></li>
     </ul>
   </div>
 </header>
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 94d72a5403..5da0e6989e 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -5,15 +5,15 @@
   <p class="lead">{{_i}}Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.{{/i}}</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./components.html#buttonGroups">{{_i}}Button groups{{/i}}</a></li>
-      <li><a href="./components.html#buttonDropdowns">{{_i}}Button dropdowns{{/i}}</a></li>
-      <li><a href="./components.html#navs">{{_i}}Nav, tabs, pills{{/i}}</a></li>
-      <li><a href="./components.html#navbar">{{_i}}Navbar{{/i}}</a></li>
-      <li><a href="./components.html#breadcrumbs">{{_i}}Breadcrumbs{{/i}}</a></li>
-      <li><a href="./components.html#pagination">{{_i}}Pagination{{/i}}</a></li>
-      <li><a href="./components.html#thumbnails">{{_i}}Thumbnails{{/i}}</a></li>
-      <li><a href="./components.html#alerts">{{_i}}Alerts{{/i}}</a></li>
-      <li><a href="./components.html#progress">{{_i}}Progress bars{{/i}}</a></li>
+      <li><a href="#buttonGroups">{{_i}}Button groups{{/i}}</a></li>
+      <li><a href="#buttonDropdowns">{{_i}}Button dropdowns{{/i}}</a></li>
+      <li><a href="#navs">{{_i}}Nav, tabs, pills{{/i}}</a></li>
+      <li><a href="#navbar">{{_i}}Navbar{{/i}}</a></li>
+      <li><a href="#breadcrumbs">{{_i}}Breadcrumbs{{/i}}</a></li>
+      <li><a href="#pagination">{{_i}}Pagination{{/i}}</a></li>
+      <li><a href="#thumbnails">{{_i}}Thumbnails{{/i}}</a></li>
+      <li><a href="#alerts">{{_i}}Alerts{{/i}}</a></li>
+      <li><a href="#progress">{{_i}}Progress bars{{/i}}</a></li>
     </ul>
   </div>
 </header>
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
new file mode 100644
index 0000000000..453bf11418
--- /dev/null
+++ b/docs/templates/pages/download.mustache
@@ -0,0 +1,216 @@
+<div class="alert">
+  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+</div>
+
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>{{_i}}Download and customize Bootstrap{{/i}}</h1>
+  <p class="lead">{{_i}}<a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.{{/i}}</p>
+</header>
+
+<div class="download">
+  <div class="page-header">
+    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <h1>
+      1. Select components
+      <small>Get just the CSS you need</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span3">
+      <h3>Scaffolding</h3>
+      <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
+      <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
+      <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
+      <h3>Base CSS</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
+      <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
+      <label class="checkbox"><input type="checkbox" value=""> Labels</label>
+      <label class="checkbox"><input type="checkbox" value=""> Tables</label>
+      <label class="checkbox"><input type="checkbox" value=""> Forms</label>
+      <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
+      <label class="checkbox"><input type="checkbox" value=""> Icons</label>
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Components</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
+      <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
+      <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
+      <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
+      <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
+      <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
+      <label class="checkbox"><input type="checkbox" value=""> Pager</label>
+      <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
+      <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
+      <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>JS Components</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
+      <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
+      <label class="checkbox"><input type="checkbox" value=""> Modals</label>
+      <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
+      <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
+      <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
+      <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Miscellaneous</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Wells</label>
+      <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
+      <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
+      <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
+      <h3>Responsive</h3>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
+    </div><!-- /span -->
+  </div><!-- /row -->
+
+  <div class="page-header">
+    <a class="pull-right toggle-all" href="#">Reset to defaults</a>
+    <h1>
+      2. Modify variables
+      <small>Customize Bootstrap without using a LESS compiler</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span4">
+      <h3>Links</h3>
+      <label>@linkColor</label>
+      <input type="text" class="span3" value="#08c">
+      <label>@linkColorHover</label>
+      <input type="text" class="span3" value="darken(@linkColor, 15%)">
+      <h3>Grid system</h3>
+      <label>@gridColumns</label>
+      <input type="text" class="span3" value="">
+      <label>@gridColumnWidth</label>
+      <input type="text" class="span3" value="">
+      <label>@gridGutterWidth</label>
+      <input type="text" class="span3" value="">
+      <label>@siteWidth</label>
+      <input type="text" class="span3" value="">
+      <label>@fluidSidebarWidth</label>
+      <input type="text" class="span3" value="">
+    </div><!-- /span -->
+    <div class="span4">
+      <h3>Typography</h3>
+      <label>@baseFontSize</label>
+      <input type="text" class="span3" value="13px">
+      <label>@baseFontFamily</label>
+      <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
+      <label>@baseLineHeight</label>
+      <input type="text" class="span3" value="18px">
+      <h3>Forms</h3>
+      <label>@primaryButtonColor</label>
+      <input type="text" class="span3" value="@blue">
+      <label>@placeholderText</label>
+      <input type="text" class="span3" value="@grayLight">
+      <h3>Navbar</h3>
+      <label>@navbarHeight</label>
+      <input type="text" class="span3" value="40px">
+      <label>@navbarBackground</label>
+      <input type="text" class="span3" value="@grayDarker">
+      <label>@navbarBackgroundHighlight</label>
+      <input type="text" class="span3" value="@grayDark">
+    </div><!-- /span -->
+    <div class="span4">
+      <h3>Form states &amp; alerts</h3>
+      <label>@warningText</label>
+      <input type="text" class="span3" value="#c09853">
+      <label>@warningBackground</label>
+      <input type="text" class="span3" value="#fcf8e3">
+      <label>@warningBorder</label>
+      <input type="text" class="span3" value="#f3edd2">
+      <label>@errorText</label>
+      <input type="text" class="span3" value="#b94a48">
+      <label>@errorBackground</label>
+      <input type="text" class="span3" value="#f2dede">
+      <label>@errorBorder</label>
+      <input type="text" class="span3" value="#e9c7c7">
+      <label>@successText</label>
+      <input type="text" class="span3" value="#468847">
+      <label>@successBackground</label>
+      <input type="text" class="span3" value="#dff0d8">
+      <label>@successBorder</label>
+      <input type="text" class="span3" value="#cfe8c4">
+      <label>@infoText</label>
+      <input type="text" class="span3" value="#3a87ad">
+      <label>@infoBackground</label>
+      <input type="text" class="span3" value="#d9edf7">
+      <label>@infoBorder</label>
+      <input type="text" class="span3" value="#bfe1f2">
+    </div><!-- /span -->
+  </div><!-- /row -->
+
+  <div class="page-header">
+    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <h1>
+      3. Select jQuery plugins
+      <small>Quickly add only the necessary javascript</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span4">
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-modal.js">
+        Modals
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-dropdown.js">
+        Dropdowns
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-scrollspy.js">
+        Scrollspy
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-tab.js">
+        Togglable tabs
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-tooltip.js">
+        Tooltips
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-popover.js">
+        Popovers <small>(requires Tooltips)</small>
+      </label>
+    </div><!-- /span -->
+    <div class="span4">
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-alert.js">
+        Alert messages
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-button.js">
+        Buttons
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-collapse.js">
+        Collapse
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-carousel.js">
+        Carousel
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-typeahead.js">
+        Typeahead
+      </label>
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-transition.js">
+        Transitions <small>(required for any animation)</small>
+      </label>
+    </div><!-- /span -->
+    <div class="span4">
+      <h4 class="muted">Heads up!</h4>
+      <p class="muted">{{_i}}All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p>
+    </div><!-- /span -->
+  </div><!-- /row -->
+
+  <div class="download-btn">
+    <a class="btn xlarge primary" href="#">Build and Download</a>
+  </div>
+</div><!-- /download -->
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 2ac950251b..df114841a7 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -5,18 +5,18 @@
         <p class="lead">{{_i}}Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.{{/i}}
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./javascript.html#javascript">{{_i}}Overview{{/i}}</a></li>
-            <li><a href="./javascript.html#modals">{{_i}}Modal{{/i}}</a></li>
-            <li><a href="./javascript.html#dropdowns">{{_i}}Dropdown{{/i}}</a></li>
-            <li><a href="./javascript.html#scrollspy">{{_i}}Scrollspy{{/i}}</a></li>
-            <li><a href="./javascript.html#tabs">{{_i}}Tab{{/i}}</a></li>
-            <li><a href="./javascript.html#tooltips">{{_i}}Tooltip{{/i}}</a></li>
-            <li><a href="./javascript.html#popovers">{{_i}}Popover{{/i}}</a></li>
-            <li><a href="./javascript.html#alerts">{{_i}}Alert{{/i}}</a></li>
-            <li><a href="./javascript.html#buttons">{{_i}}Button{{/i}}</a></li>
-            <li><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a></li>
-            <li><a href="./javascript.html#carousel">{{_i}}Carousel{{/i}}</a></li>
-            <li><a href="./javascript.html#typeahead">{{_i}}Typeahead{{/i}}</a></li>
+            <li><a href="#javascript">{{_i}}Overview{{/i}}</a></li>
+            <li><a href="#modals">{{_i}}Modal{{/i}}</a></li>
+            <li><a href="#dropdowns">{{_i}}Dropdown{{/i}}</a></li>
+            <li><a href="#scrollspy">{{_i}}Scrollspy{{/i}}</a></li>
+            <li><a href="#tabs">{{_i}}Tab{{/i}}</a></li>
+            <li><a href="#tooltips">{{_i}}Tooltip{{/i}}</a></li>
+            <li><a href="#popovers">{{_i}}Popover{{/i}}</a></li>
+            <li><a href="#alerts">{{_i}}Alert{{/i}}</a></li>
+            <li><a href="#buttons">{{_i}}Button{{/i}}</a></li>
+            <li><a href="#collapse">{{_i}}Collapse{{/i}}</a></li>
+            <li><a href="#carousel">{{_i}}Carousel{{/i}}</a></li>
+            <li><a href="#typeahead">{{_i}}Typeahead{{/i}}</a></li>
           </ul>
         </div>
       </header>
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 2633abdf3f..76ecf70c9e 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -9,177 +9,16 @@
   <p class="lead">{{_i}}Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.{{/i}}</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="./less.html#builtWith">{{_i}}Built with Less{{/i}}</a></li>
-      <li><a href="./less.html#variables">{{_i}}Variables{{/i}}</a></li>
-      <li><a href="./less.html#mixins">{{_i}}Mixins{{/i}}</a></li>
-      <li><a href="./less.html#compiling">{{_i}}Compiling Bootstrap{{/i}}</a></li>
+      <li><a href="#builtWith">{{_i}}Built with Less{{/i}}</a></li>
+      <li><a href="#variables">{{_i}}Variables{{/i}}</a></li>
+      <li><a href="#mixins">{{_i}}Mixins{{/i}}</a></li>
+      <li><a href="#compiling">{{_i}}Compiling Bootstrap{{/i}}</a></li>
     </ul>
   </div>
 </header>
 
 
 
-<!-- BUILDER
-================================================== -->
-<section id="builder">
-  <div class="page-header">
-    <h1>Chop Shop <small>Customize your build of Bootstrap</small></h1>
-  </div>
-
-  <form class="form-horizontal builder">
-    <div class="tabbable tabs-left">
-      <ul class="nav tabs">
-        <li class="active">
-          <a href="#components" data-toggle="tab">1. Select components</a>
-        </li>
-        <li><a href="#variables" data-toggle="tab">2. Customize variables</a></li>
-        <li><a href="#download" data-toggle="tab">3. Build and download</a></li>
-      </ul>
-      <div class="tab-content">
-        <div class="tab-pane active" id="components">
-          <div class="row">
-            <div class="span2 builder-section">
-              <h3>Scaffolding</h3>
-              <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
-              <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
-              <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
-              <h3>Base CSS</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
-              <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
-              <label class="checkbox"><input type="checkbox" value=""> Labels</label>
-              <label class="checkbox"><input type="checkbox" value=""> Tables</label>
-              <label class="checkbox"><input type="checkbox" value=""> Forms</label>
-              <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
-              <label class="checkbox"><input type="checkbox" value=""> Icons</label>
-            </div>
-            <div class="span2 builder-section">
-              <h3>Components</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
-              <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
-              <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
-              <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
-              <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
-              <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
-              <label class="checkbox"><input type="checkbox" value=""> Pager</label>
-              <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
-              <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
-              <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
-            </div>
-            <div class="span2 builder-section">
-              <h3>JS Components</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
-              <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
-              <label class="checkbox"><input type="checkbox" value=""> Modals</label>
-              <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
-              <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
-              <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
-              <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
-            </div>
-            <div class="span2 builder-section">
-              <h3>Responsive</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
-              <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
-              <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
-              <h3>Miscellaneous</h3>
-              <label class="checkbox"><input type="checkbox" value=""> Wells</label>
-              <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
-              <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
-              <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
-            </div>
-          </div>
-          <div class="builder-actions">
-            <a class="toggle-all" href="">Reset variables</a>
-            <a class="btn large primary" href="">Next: Customize variables</a>
-          </div>        
-        </div><!-- /tab-pane -->
-        <div class="tab-pane" id="variables">
-          <div class="row">
-            <div class="span3">
-              <h3>Links</h3>
-              <label>@linkColor</label>
-              <input type="text" class="span3" value="#08c">
-              <label>@linkColorHove</label>
-              <input type="text" class="span3" value="darken(@linkColor, 15%)">
-              <h3>Grid system</h3>
-              <label>@gridColumns</label>
-              <input type="text" class="span3" value="">
-              <label>@gridColumnWidth</label>
-              <input type="text" class="span3" value="">
-              <label>@gridGutterWidth</label>
-              <input type="text" class="span3" value="">
-              <label>@siteWidth</label>
-              <input type="text" class="span3" value="">
-              <label>@fluidSidebarWidth</label>
-              <input type="text" class="span3" value="">
-            </div><!-- /span -->
-            <div class="span3">
-              <h3>Typography</h3>
-              <label>@baseFontSize</label>
-              <input type="text" class="span3" value="13px">
-              <label>@baseFontFamily</label>
-              <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
-              <label>@baseLineHeight</label>
-              <input type="text" class="span3" value="18px">
-              <h3>Forms</h3>
-              <label>@primaryButtonColor</label>
-              <input type="text" class="span3" value="@blue">
-              <label>@placeholderText</label>
-              <input type="text" class="span3" value="@grayLight">
-              <h3>Navbar</h3>
-              <label>@navbarHeight</label>
-              <input type="text" class="span3" value="40px">
-              <label>@navbarBackground</label>
-              <input type="text" class="span3" value="@grayDarker">
-              <label>@navbarBackgroundHighlight</label>
-              <input type="text" class="span3" value="@grayDark">
-            </div><!-- /span -->
-            <div class="span3">
-              <h3>Form states &amp; alerts</h3>
-              <label>@warningText</label>
-              <input type="text" class="span3" value="#c09853">
-              <label>@warningBackground</label>
-              <input type="text" class="span3" value="#fcf8e3">
-              <label>@warningBorder</label>
-              <input type="text" class="span3" value="#f3edd2">
-              <label>@errorText</label>
-              <input type="text" class="span3" value="#b94a48">
-              <label>@errorBackground</label>
-              <input type="text" class="span3" value="#f2dede">
-              <label>@errorBorder</label>
-              <input type="text" class="span3" value="#e9c7c7">
-              <label>@successText</label>
-              <input type="text" class="span3" value="#468847">
-              <label>@successBackground</label>
-              <input type="text" class="span3" value="#dff0d8">
-              <label>@successBorder</label>
-              <input type="text" class="span3" value="#cfe8c4">
-              <label>@infoText</label>
-              <input type="text" class="span3" value="#3a87ad">
-              <label>@infoBackground</label>
-              <input type="text" class="span3" value="#d9edf7">
-              <label>@infoBorder</label>
-              <input type="text" class="span3" value="#bfe1f2">
-            </div><!-- /span -->
-          </div><!-- /row -->
-          <div class="builder-actions">
-            <a class="btn large primary" href="">Next: Build and download</a>
-          </div>        
-        </div><!-- /tab-pane -->
-        <div class="tab-pane" id="download">
-          <h2>And you're set!</h2>
-          <p class="lead">We've compiled your selected CSS and customized variables and have them ready to download as a tidy ZIP file. Choose from compiled or compiled and minified CSS files.</p>
-          <a class="btn large primary">Download CSS</a> <a class="btn large primary">Download minified CSS</a>
-          <hr>
-          <p>Looking to customize your javascript? Head over to the <a href="./javascript.html#javascript">Javascript plugins page</a> to build your own Bootstrap JS bundle.</p>
-        </div><!-- /tab-pane -->
-      </div><!-- /tab-content -->
-    </div><!-- /tabbable -->
-  </form>
-
-</section>
-
-
-
 <!-- BUILT WITH LESS
 ================================================== -->
 <section id="builtWith">
@@ -189,7 +28,7 @@
   <div class="row">
     <div class="span4">
       <h3>{{_i}}Why LESS?{{/i}}</h3>
-      <p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
+      <p>{{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}</p>
     </div>
     <div class="span4">
       <h3>{{_i}}What's included?{{/i}}</h3>
@@ -223,7 +62,7 @@
 ================================================== -->
 <section id="variables">
   <div class="page-header">
-    <h1>{{_i}}Variables <small>from variables.less</small>{{/i}}</h1>
+    <h1>{{_i}}Bootstrap variables <small></small>{{/i}}</h1>
   </div>
 
   <h3>{{_i}}Hyperlinks{{/i}}</h3>
@@ -494,85 +333,8 @@
 <!-- MIXINS
 ================================================== -->
 <div class="page-header" id="mixins">
-  <h1>{{_i}}Mixins <small>from mixins.less</small>{{/i}}</h1>
+  <h1>{{_i}}Bootstrap mixins <small></small>{{/i}}</h1>
 </div>
-
-
-
-<!-- OPERATIONS
-================================================== -->
-<div class="page-header" id="operations">
-  <h1>{{_i}}Operations{{/i}}</h1>
-</div>
-
-
-
-<!-- COMPILING LESS AND BOOTSTRAP
-================================================== -->
-<div class="page-header" id="compiling">
-  <h1>{{_i}}Compiling LESS and Bootstrap{{/i}}</h1>
-</div>
-
-
-
-
-<!-- Using Bootstrap w/ Less
-================================================== -->
-<section id="less">
-<div class="page-header">
-  <h1>{{_i}}Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small>{{/i}}</h1>
-</div>
-<div class="row">
-  <div class="span3">
-    <p>{{_i}}Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.{{/i}}</p>
-    <p>{{_i}}Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.{{/i}}</p>
-  </div>
-  <div class="span9">
-    <h2>{{_i}}How to use it{{/i}}</h2>
-    <p>{{_i}}Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.{{/i}}</p>
-<pre class="prettyprint linenums">
-&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
-&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
-<p>{{_i}}Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.{{/i}}</p>
-
-    <h2>{{_i}}What’s included{{/i}}</h2>
-    <p>{{_i}}Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.{{/i}}</p>
-    <h3>{{_i}}Variables{{/i}}</h3>
-    <p>{{_i}}Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.{{/i}}</p>
-<pre class="prettyprint linenums">
-// Links
-@linkColor:         #8b59c2;
-@linkColorHover:    darken(@linkColor, 10);
-
-// Grays
-@black:             #000;
-@grayDark:          lighten(@black, 25%);
-@gray:              lighten(@black, 50%);
-@grayLight:         lighten(@black, 70%);
-@grayLighter:       lighten(@black, 90%);
-@white:             #fff;
-
-// Accent Colors
-@blue:              #08b5fb;
-@green:             #46a546;
-@red:               #9d261d;
-@yellow:            #ffc40d;
-@orange:            #f89406;
-@pink:              #c3325f;
-@purple:            #7a43b6;
-
-// Baseline grid
-@basefont:          13px;
-@baseline:          18px;
-</pre>
-
-<h3>{{_i}}Commenting{{/i}}</h3>
-<p>{{_i}}Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.{{/i}}</p>
-<pre class="prettyprint linenums">
-// This is a comment
-/* This is also a comment */
-</pre>
-
 <h3>{{_i}}Mixins up the wazoo{{/i}}</h3>
 <p>{{_i}}Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.{{/i}}</p>
 <h4>{{_i}}Font stacks{{/i}}</h4>
@@ -626,66 +388,55 @@
 }
 </pre>
 
-    <h2 id="compiling">{{_i}}Compiling Less{{/i}}</h2>
-    <p>{{_i}}After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.{{/i}}</p>
-    <h3>{{_i}}Ways to compile{{/i}}</h3>
-    <table class="table table-bordered table-striped">
-      <thead>
-        <tr>
-          <th style="width: 120px;">{{_i}}Method{{/i}}</th>
-          <th>{{_i}}Steps{{/i}}</th>
-        </tr>
-      </thead>
-      <tbody>
-        <tr>
-          <td>{{_i}}Node with makefile{{/i}}</td>
-          <td>
-            <p>{{_i}}Install the LESS command line compiler with npm by running the following command:{{/i}}</p>
-            <pre>$ npm install less</pre>
-            <p>{{_i}}Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.{{/i}}</p>
-            <p>{{_i}}Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).{{/i}}</p>
-          </td>
-        </tr>
-          <td>{{_i}}Javascript{{/i}}</td>
-          <td>
-            <p>{{_i}}<a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.{{/i}}</p>
+
+<!-- COMPILING LESS AND BOOTSTRAP
+================================================== -->
+<section id="compiling">
+  <div class="page-header">
+    <h1>{{_i}}Compiling Bootstrap with LESS{{/i}}</h1>
+  </div>
+  <div class="alert alert-info">
+    {{_i}}<strong>Note:</strong> If you're submitting a pull request to GitHub with modified CSS, you <strong>must</strong> recompile the CSS via any of these methods.{{/i}}
+  </div>
+  <h2>{{_i}}Tools for compiling{{/i}}</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Node with makefile{{/i}}</h3>
+      <p>{{_i}}Install the LESS command line compiler with npm by running the following command:{{/i}}</p>
+      <pre>$ npm install less</pre>
+      <p>{{_i}}Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.{{/i}}</p>
+      <p>{{_i}}Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).{{/i}}</p>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>{{_i}}Command line{{/i}}</h3>
+      <p>{{_i}}Install the LESS command line tool via Node and run the following command:{{/i}}</p>
+        <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
+      <p>{{_i}}Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!{{/i}}</p>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>{{_i}}Javascript{{/i}}</h3>
+      <p>{{_i}}<a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.{{/i}}</p>
 <pre class="prettyprint">
 &lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
 &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
 </pre>
-            <p>{{_i}}To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.{{/i}}</p>
-          </td>
-        </tr>
-        <tr>
-          <td>{{_i}}Command line{{/i}}</td>
-          <td>
-            <p>{{_i}}Install the LESS command line tool via Node and run the following command:{{/i}}</p>
-              <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
-            <p>{{_i}}Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!{{/i}}</p>
-          </td>
-        </tr>
-        <tr>
-          <td><a href="http://incident57.com/less/" target="_blank">{{_i}}Unofficial Mac app{{/i}}</a></td>
-          <td>
-            <p>{{_i}}<a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.{{/i}}</p>
-            <p>{{_i}}If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.{{/i}}</p>
-          </td>
-        </tr>
-        <tr>
-          <td><a href="http://crunchapp.net/" target="_blank">Crunch</a></td>
-          <td>{{_i}}Crunch is a great looking LESS editor and compiler built on Adobe Air.{{/i}}</td>
-        </tr>
-        <tr>
-          <td><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></td>
-          <td>{{_i}}Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.{{/i}}</td>
-        </tr>
-        <tr>
-          <td><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></td>
-          <td>{{_i}}Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.{{/i}}</td>
-        </tr>
-      </tbody>
-    </table>
-  </div>
-</div>
-
-</section>
\ No newline at end of file
+      <p>{{_i}}To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.{{/i}}</p>
+    </div><!-- /span4 -->
+  </div><!-- /row -->
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Unofficial Mac app{{/i}}</h3>
+      <p>{{_i}}<a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.{{/i}}</p>
+      <p>{{_i}}If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.{{/i}}</p>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>{{_i}}More Mac apps{{/i}}</h3>
+      <h4><a href="http://crunchapp.net/" target="_blank">Crunch</a></h4>
+      <p>{{_i}}Crunch is a great looking LESS editor and compiler built on Adobe Air.{{/i}}</p>
+      <h4><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></h4>
+      <p>{{_i}}Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.{{/i}}</p>
+      <h4><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></h4>
+      <p>{{_i}}Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.{{/i}}</p>
+    </div><!-- /span4 -->
+  </div><!-- /row -->
+</section>
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index ed80dabfca..981c60706d 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -5,9 +5,9 @@
         <p class="lead">{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}</p>
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="./scaffolding.html#grid-system">{{_i}}Grid system{{/i}}</a></li>
-            <li><a href="./scaffolding.html#layouts">{{_i}}Layouts{{/i}}</a></li>
-            <li><a href="./scaffolding.html#responsive">{{_i}}Responsive design{{/i}}</a></li>
+            <li><a href="#grid-system">{{_i}}Grid system{{/i}}</a></li>
+            <li><a href="#layouts">{{_i}}Layouts{{/i}}</a></li>
+            <li><a href="#responsive">{{_i}}Responsive design{{/i}}</a></li>
           </ul>
         </div>
       </header>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 7dab4c0000..75b8e7327b 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -51,6 +51,9 @@
             <li class="">
               <a href="./less.html">Using LESS</a>
             </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
           </ul>
         </div>
       </div>
diff --git a/lib/forms.less b/lib/forms.less
index e35b23da02..100b0ab915 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -166,14 +166,14 @@ textarea {
 
 input,
 textarea {
-  .box-shadow(inset 0 1px 1px rgba(0,0,0,.1));
+  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
   @transition: border linear .2s, box-shadow linear .2s;
   .transition(@transition);
 }
 input:focus,
 textarea:focus {
   border-color: rgba(82,168,236,.8);
-  @shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
+  @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
   .box-shadow(@shadow);
   outline: 0;
 }
-- 
GitLab


From bd36e2a1633ea66fee2bcfdd1123bd70f41b43f2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 01:25:15 -0800
Subject: [PATCH 419/576] remove checkboxes from js docs page overview, they'll
 be on the download page instead

---
 docs/javascript.html                     | 41 +++++++-----------------
 docs/templates/pages/javascript.mustache | 41 +++++++-----------------
 2 files changed, 24 insertions(+), 58 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index a7818ff461..5977006ffd 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -94,25 +94,25 @@
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#modals">Modals</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#modals">Modals</a></h3>
             <p>A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#dropdowns">Dropdowns</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#dropdowns">Dropdowns</a></h3>
             <p>Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#scrollspy">Scrollspy</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#scrollspy">Scrollspy</a></h3>
             <p>Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#tabs">Togglable tabs</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#tabs">Togglable tabs</a></h3>
             <p>Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.</p>
           </label>
         </div>
@@ -120,26 +120,26 @@
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#tooltips">Tooltips</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#tooltips">Tooltips</a></h3>
             <p>A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#popovers">Popovers</a> <small class="muted">*</small></h3>
             <p>Add small overlays of content, like those on the iPad, to any element for housing secondary information.</p>
             <p class="muted"><strong>*</strong> Requires <a href="#tooltips">Tooltips</a> to be included</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#alerts">Alert messages</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#alerts">Alert messages</a></h3>
             <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#buttons">Buttons</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#buttons">Buttons</a></h3>
             <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
           </label>
         </div>
@@ -147,47 +147,30 @@
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#collapse">Collapse</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#collapse">Collapse</a></h3>
             <p>Get base styles and flexible support for collapsible components like accordions and navigation.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#carousel">Carousel</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#carousel">Carousel</a></h3>
             <p>Create a merry-go-round of any content you wish to provide an interactive slideshow of content.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#typeahead">Typeahead</a></h3>
             <p>A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3>Transitions <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <h3>Transitions <small class="muted">*</small></h3>
             <p>For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.</p>
             <p class="muted"><strong>*</strong> Required for animation in plugins</p>
           </label>
         </div>
       </div> <!-- /row -->
-      <div class="row">
-        <div class="span5">
-          <div class="btn-group" id="javascriptBuilder">
-            <a id="javascriptBuild" class="btn primary large" href="#">Download Source</a>
-            <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
-              <span class="caret"></span>
-            </a>
-            <ul class="dropdown-menu large">
-              <li class="active"><a href="#">Compressed</a></li>
-              <li><a href="#">Uncompressed</a></li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <hr>
-      <a id="selectAll" href="#" style="float:right">Select/Unselect All Plugins</a>
-      <p class="muted"><span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
     </section>
 
 
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index df114841a7..7671bc99ad 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -31,25 +31,25 @@
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#modals">{{_i}}Modals{{/i}}</a><input checked="true" value="bootstrap-modal.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#modals">{{_i}}Modals{{/i}}</a></h3>
             <p>{{_i}}A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#dropdowns">{{_i}}Dropdowns{{/i}}</a><input checked="true" value="bootstrap-dropdown.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#dropdowns">{{_i}}Dropdowns{{/i}}</a></h3>
             <p>{{_i}}Add dropdown menus to nearly anything in Bootstrap with this simple plugin. Bootstrap features full dropdown menu support on in the navbar, tabs, and pills.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#scrollspy">{{_i}}Scrollspy{{/i}}</a><input checked="true" value="bootstrap-scrollspy.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#scrollspy">{{_i}}Scrollspy{{/i}}</a></h3>
             <p>{{_i}}Use scrollspy to automatically update the links in your navbar to show the current active link based on scroll position.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#tabs">{{_i}}Togglable tabs{{/i}}</a><input checked="true" value="bootstrap-tab.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#tabs">{{_i}}Togglable tabs{{/i}}</a></h3>
             <p>{{_i}}Use this plugin to make tabs and pills more useful by allowing them to toggle through tabbable panes of local content.{{/i}}</p>
           </label>
         </div>
@@ -57,26 +57,26 @@
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#tooltips">{{_i}}Tooltips{{/i}}</a><input checked="true" value="bootstrap-tooltip.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#tooltips">{{_i}}Tooltips{{/i}}</a></h3>
             <p>{{_i}}A new take on the jQuery Tipsy plugin, Tooltips don't rely on images, uss CSS3 for animations, and data-attributes for local title storage.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#popovers">{{_i}}Popovers{{/i}}</a> <small class="muted">*</small><input checked="true" value="bootstrap-popover.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#popovers">{{_i}}Popovers{{/i}}</a> <small class="muted">*</small></h3>
             <p>{{_i}}Add small overlays of content, like those on the iPad, to any element for housing secondary information.{{/i}}</p>
             <p class="muted"><strong>*</strong> {{_i}}Requires <a href="#tooltips">Tooltips</a> to be included{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#alerts">{{_i}}Alert messages{{/i}}</a><input checked="true" value="bootstrap-alert.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#alerts">{{_i}}Alert messages{{/i}}</a></h3>
             <p>{{_i}}The alert plugin is a tiny class for adding close functionality to alerts.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#buttons">{{_i}}Buttons{{/i}}</a><input checked="true" value="bootstrap-button.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#buttons">{{_i}}Buttons{{/i}}</a></h3>
             <p>{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}</p>
           </label>
         </div>
@@ -84,47 +84,30 @@
       <div class="row">
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a><input checked="true" value="bootstrap-collapse.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a></h3>
             <p>{{_i}}Get base styles and flexible support for collapsible components like accordions and navigation.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#carousel">{{_i}}Carousel{{/i}}</a><input checked="true" value="bootstrap-carousel.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#carousel">{{_i}}Carousel{{/i}}</a></h3>
             <p>{{_i}}Create a merry-go-round of any content you wish to provide an interactive slideshow of content.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3><a href="./javascript.html#typeahead">Typeahead</a><input checked="true" value="bootstrap-typeahead.js" type="checkbox"></h3>
+            <h3><a href="./javascript.html#typeahead">Typeahead</a></h3>
             <p>{{_i}}A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.{{/i}}</p>
           </label>
         </div>
         <div class="span3">
           <label>
-            <h3>{{_i}}Transitions{{/i}} <small class="muted">*</small><input value="bootstrap-transition.js" checked="true" type="checkbox"></h3>
+            <h3>{{_i}}Transitions{{/i}} <small class="muted">*</small></h3>
             <p>{{_i}}For simple transition effects, include bootstrap-transition.js once to slide in modals or fade out alerts.{{/i}}</p>
             <p class="muted"><strong>*</strong> {{_i}}Required for animation in plugins{{/i}}</p>
           </label>
         </div>
       </div> <!-- /row -->
-      <div class="row">
-        <div class="span5">
-          <div class="btn-group" id="javascriptBuilder">
-            <a id="javascriptBuild" class="btn primary large" href="#">{{_i}}Download Source{{/i}}</a>
-            <a class="btn primary large dropdown-toggle" data-toggle="dropdown" href="#">
-              <span class="caret"></span>
-            </a>
-            <ul class="dropdown-menu large">
-              <li class="active"><a href="#">{{_i}}Compressed{{/i}}</a></li>
-              <li><a href="#">{{_i}}Uncompressed{{/i}}</a></li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <hr>
-      <a id="selectAll" href="#" style="float:right">{{_i}}Select/Unselect All Plugins{{/i}}</a>
-      <p class="muted">{{_i}}<span class="label warning">Note:</span> All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p>
     </section>
 
 
-- 
GitLab


From de4ada3b88d7514d0320540e5a298fbe878778e1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 01:45:15 -0800
Subject: [PATCH 420/576] spec out all mixins on less page

---
 docs/less.html                     | 356 ++++++++++++++++++++++++-----
 docs/templates/pages/less.mustache | 356 ++++++++++++++++++++++++-----
 2 files changed, 606 insertions(+), 106 deletions(-)

diff --git a/docs/less.html b/docs/less.html
index ac75dd3469..e10c8899b0 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -105,11 +105,11 @@
   </div>
   <div class="row">
     <div class="span4">
-      <h3>Variables</h3>
+      <h3><a href="#variables">Variables</a></h3>
       <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
     </div>
     <div class="span4">
-      <h3>Mixins</h3>
+      <h3><a href="#mixins">Mixins</a></h3>
       <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
     </div>
     <div class="span4">
@@ -395,62 +395,312 @@
 
 <!-- MIXINS
 ================================================== -->
-<div class="page-header" id="mixins">
-  <h1>Bootstrap mixins <small></small></h1>
-</div>
-
-<h3>Mixins up the wazoo</h3>
-<p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
-<h4>Font stacks</h4>
+<section id="mixins">
+  <div class="page-header">
+    <h1>Bootstrap mixins <small></small></h1>
+  </div>
+  <h2>About mixins</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Basic mixins</h3>
+      <p>A basic mixin is essentially an include or a partial for a snippet of CSS. They're written just like a CSS class and can be called anywhere.</p>
 <pre class="prettyprint linenums">
-#font {
-  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
-  }
-  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
-    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
-  }
-  ...
-}
+  Coming soon!
 </pre>
-<h4>Gradients</h4>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>Parametric mixins</h3>
+      <p>A parametric mixin is just like a basic mixin, but it also accepts optional paramaters (hence the name).</p>
 <pre class="prettyprint linenums">
-#gradient {
-  ...
-  .vertical (@startColor: #555, @endColor: #333) {
-    background-color: @endColor;
-    background-repeat: repeat-x;
-    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
-    background-image: -moz-linear-gradient(@startColor, @endColor); // FF 3.6+
-    background-image: -ms-linear-gradient(@startColor, @endColor); // IE10
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
-    background-image: -webkit-linear-gradient(@startColor, @endColor); // Safari 5.1+, Chrome 10+
-    background-image: -o-linear-gradient(@startColor, @endColor); // Opera 11.10
-    background-image: linear-gradient(@startColor, @endColor); // The standard
-  }
-  ...
-}
+  Coming soon!
 </pre>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>Easily add your own</h3>
+      <p>Nearly all of Bootstrap's mixins are stored in mixins.less, a wonderful utility .less file that enables you to use a mixin in any of the .less files in the toolkit.</p>
+      <p>So, go ahead and use the existing ones or feel free to add your own as you need.</p>
+    </div><!-- /span4 -->
+  </div><!-- /row -->
+  <h2>Included mixins</h2>
+  <h3>Utilities</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.clearfix()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.center-block()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.ie7-inline-block()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.size()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.square()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.opacity()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.reset-filter()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Forms</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.placeholder()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Typography</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>#font > #family > .serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > #family > .sans-serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > #family > .monospace()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .shorthand()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .sans-serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .monospace()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Grid system</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.fixed-container()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.columns()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.offset()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.gridColumn()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>CSS3 properties</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.border-radius()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.border-radius-custom()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.box-shadow()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.transition()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.rotate()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.scale()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.translate()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.background-clip()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.background-size()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.box-sizing()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.user-select()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.resizable()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.content-columns()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Backgrounds and gradients</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.#translucent > .background()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#translucent > .border()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .vertical()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .horizontal()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .directional()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .vertical-three-colors()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .radial()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .striped()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradientBar()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</section>
 
-<h3>Operations</h3>
-<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
-<pre class="prettyprint linenums">
-// Griditude
-@gridColumns:       16;
-@gridColumnWidth:   40px;
-@gridGutterWidth:   20px;
-@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
-
-// Make some columns
-.columns(@columnSpan: 1) {
-  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
-}
-</pre>
 
 
 <!-- COMPILING LESS AND BOOTSTRAP
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index b3b9c15ebe..0889592eb2 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -42,11 +42,11 @@
   </div>
   <div class="row">
     <div class="span4">
-      <h3>{{_i}}Variables{{/i}}</h3>
+      <h3><a href="#variables">{{_i}}Variables{{/i}}</a></h3>
       <p>{{_i}}Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.{{/i}}</p>
     </div>
     <div class="span4">
-      <h3>{{_i}}Mixins{{/i}}</h3>
+      <h3><a href="#mixins">{{_i}}Mixins{{/i}}</a></h3>
       <p>{{_i}}Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.{{/i}}</p>
     </div>
     <div class="span4">
@@ -332,62 +332,312 @@
 
 <!-- MIXINS
 ================================================== -->
-<div class="page-header" id="mixins">
-  <h1>{{_i}}Bootstrap mixins <small></small>{{/i}}</h1>
-</div>
-
-<h3>{{_i}}Mixins up the wazoo{{/i}}</h3>
-<p>{{_i}}Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.{{/i}}</p>
-<h4>{{_i}}Font stacks{{/i}}</h4>
+<section id="mixins">
+  <div class="page-header">
+    <h1>{{_i}}Bootstrap mixins <small></small>{{/i}}</h1>
+  </div>
+  <h2>About mixins</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Basic mixins</h3>
+      <p>A basic mixin is essentially an include or a partial for a snippet of CSS. They're written just like a CSS class and can be called anywhere.</p>
 <pre class="prettyprint linenums">
-#font {
-  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
-  }
-  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
-    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-    font-size: @size;
-    font-weight: @weight;
-    line-height: @lineHeight;
-  }
-  ...
-}
+  Coming soon!
 </pre>
-<h4>{{_i}}Gradients{{/i}}</h4>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>Parametric mixins</h3>
+      <p>A parametric mixin is just like a basic mixin, but it also accepts optional paramaters (hence the name).</p>
 <pre class="prettyprint linenums">
-#gradient {
-  ...
-  .vertical (@startColor: #555, @endColor: #333) {
-    background-color: @endColor;
-    background-repeat: repeat-x;
-    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
-    background-image: -moz-linear-gradient(@startColor, @endColor); // FF 3.6+
-    background-image: -ms-linear-gradient(@startColor, @endColor); // IE10
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
-    background-image: -webkit-linear-gradient(@startColor, @endColor); // Safari 5.1+, Chrome 10+
-    background-image: -o-linear-gradient(@startColor, @endColor); // Opera 11.10
-    background-image: linear-gradient(@startColor, @endColor); // The standard
-  }
-  ...
-}
+  Coming soon!
 </pre>
+    </div><!-- /span4 -->
+    <div class="span4">
+      <h3>Easily add your own</h3>
+      <p>Nearly all of Bootstrap's mixins are stored in mixins.less, a wonderful utility .less file that enables you to use a mixin in any of the .less files in the toolkit.</p>
+      <p>So, go ahead and use the existing ones or feel free to add your own as you need.</p>
+    </div><!-- /span4 -->
+  </div><!-- /row -->
+  <h2>Included mixins</h2>
+  <h3>Utilities</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.clearfix()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.center-block()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.ie7-inline-block()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.size()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.square()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.opacity()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.reset-filter()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Forms</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.placeholder()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Typography</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>#font > #family > .serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > #family > .sans-serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > #family > .monospace()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .shorthand()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .sans-serif()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>#font > .monospace()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Grid system</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.fixed-container()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.columns()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.offset()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.gridColumn()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>CSS3 properties</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.border-radius()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.border-radius-custom()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.box-shadow()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.transition()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.rotate()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.scale()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.translate()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.background-clip()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.background-size()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.box-sizing()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.user-select()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.resizable()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.content-columns()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3>Backgrounds and gradients</h3>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th class="span4">Mixin</th>
+        <th>Paramaters</th>
+        <th>Usage</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><code>.#translucent > .background()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#translucent > .border()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .vertical()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .horizontal()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .directional()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .vertical-three-colors()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .radial()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradient > .striped()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><code>.#gradientBar()</code></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</section>
 
-<h3>{{_i}}Operations{{/i}}</h3>
-<p>{{_i}}Get fancy and perform some math to generate flexible and powerful mixins like the one below.{{/i}}</p>
-<pre class="prettyprint linenums">
-// Griditude
-@gridColumns:       16;
-@gridColumnWidth:   40px;
-@gridGutterWidth:   20px;
-@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
-
-// Make some columns
-.columns(@columnSpan: 1) {
-  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
-}
-</pre>
 
 
 <!-- COMPILING LESS AND BOOTSTRAP
-- 
GitLab


From eb3440b56a8d6ebeb15eebcfa3d6987309acc8d2 Mon Sep 17 00:00:00 2001
From: Lech Wilczynski <lech.wilczynski@gmail.com>
Date: Wed, 25 Jan 2012 15:20:01 +0100
Subject: [PATCH 421/576] fixed span sum to 10 to display properly. Grid has 12
 columns.

---
 examples/container-app.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/examples/container-app.html b/examples/container-app.html
index 788efcbf32..ded402a8a2 100644
--- a/examples/container-app.html
+++ b/examples/container-app.html
@@ -49,7 +49,7 @@
       }
 
       /* Styles you shouldn't keep as they are for displaying this base example only */
-      .content .span10,
+      .content .span6,
       .content .span4 {
         min-height: 500px;
       }
@@ -100,7 +100,7 @@
           <h1>Page name <small>Supporting text or tagline</small></h1>
         </div>
         <div class="row">
-          <div class="span10">
+          <div class="span6">
             <h2>Main content</h2>
           </div>
           <div class="span4">
-- 
GitLab


From 2193866bf0a62a9f900d7231bd4e7fd13b69d6f3 Mon Sep 17 00:00:00 2001
From: Lech Wilczynski <lech.wilczynski@gmail.com>
Date: Wed, 25 Jan 2012 16:26:51 +0100
Subject: [PATCH 422/576] fixed columns to 7+3 for better proportions

---
 examples/container-app.html | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/examples/container-app.html b/examples/container-app.html
index ded402a8a2..79764356bb 100644
--- a/examples/container-app.html
+++ b/examples/container-app.html
@@ -49,12 +49,12 @@
       }
 
       /* Styles you shouldn't keep as they are for displaying this base example only */
-      .content .span6,
-      .content .span4 {
+      .content .span7,
+      .content .span3 {
         min-height: 500px;
       }
       /* Give a quick and non-cross-browser friendly divider */
-      .content .span4 {
+      .content .span3 {
         margin-left: 0;
         padding-left: 19px;
         border-left: 1px solid #eee;
@@ -100,10 +100,10 @@
           <h1>Page name <small>Supporting text or tagline</small></h1>
         </div>
         <div class="row">
-          <div class="span6">
+          <div class="span7">
             <h2>Main content</h2>
           </div>
-          <div class="span4">
+          <div class="span3">
             <h3>Secondary content</h3>
           </div>
         </div>
-- 
GitLab


From d8041f7c8f5f6fcb7777383429464f39879ba916 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 08:34:20 -0800
Subject: [PATCH 423/576] fix margin on input buttons in modals

---
 bootstrap.css     | 3 ++-
 bootstrap.min.css | 2 +-
 lib/modals.less   | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 3b04dc30e8..616e90bb11 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 01:02:35 PST 2012
+ * Date: Wed Jan 25 08:34:06 PST 2012
  */
 article,
 aside,
@@ -2198,6 +2198,7 @@ i {
 .modal-footer .btn {
   float: right;
   margin-left: 5px;
+  margin-bottom: 0;
 }
 .tooltip {
   position: absolute;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 4cbd235022..57d76d9452 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -428,7 +428,7 @@ i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);backgrou
 .modal-body{padding:15px;}
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
 .modal-footer:after{clear:both;}
-.modal-footer .btn{float:right;margin-left:5px;}
+.modal-footer .btn{float:right;margin-left:5px;margin-bottom:0;}
 .tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.tooltip.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .tooltip.top{margin-top:-2px;}
 .tooltip.right{margin-left:2px;}
diff --git a/lib/modals.less b/lib/modals.less
index fe3f295b0b..d6efccd39a 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -60,5 +60,6 @@
   .btn {
     float: right;
     margin-left: 5px;
+    margin-bottom: 0; // account for input[type=submit] which gets the bottom margin like all other inputs
   }
 }
-- 
GitLab


From b01de5fc56ab031df8a08be9ce720c68ced7a5c1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 09:51:03 -0800
Subject: [PATCH 424/576] updated icons to require a base class .icon

---
 bootstrap.css                          |   4 +-
 bootstrap.min.css                      |   2 +-
 docs/assets/css/docs.css               |   8 +-
 docs/base-css.html                     | 208 ++++++++++++-------------
 docs/templates/pages/base-css.mustache | 208 ++++++++++++-------------
 lib/sprites.less                       |   2 +-
 6 files changed, 218 insertions(+), 214 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 616e90bb11..ffdf19f2e4 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 08:34:06 PST 2012
+ * Date: Wed Jan 25 09:50:58 PST 2012
  */
 article,
 aside,
@@ -1088,7 +1088,7 @@ table .headerSortUp:after {
   -moz-opacity: 0.6;
   opacity: 0.6;
 }
-i {
+.icon {
   background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
   background-repeat: no-repeat;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 57d76d9452..9be1c65d47 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -208,7 +208,7 @@ table .headerSortUp,table .headerSortDown{background-color:#f7f7f9;text-shadow:0
 table .header:hover:after{visibility:visible;}
 table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
 table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
-i{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
+.icon{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
 .glass{background-position:0 0;}
 .music{background-position:-24px 0;}
 .search{background-position:-48px 0;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 12c534fb2d..0fe480ecb3 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -596,9 +596,14 @@ form.well {
 
 /* Icons
 ------------------------- */
+.the-icons {
+  margin-bottom: 18px;
+}
 .the-icons i {
   display: block;
   margin-bottom: 5px;
+}
+.the-icons i:hover {
   background-color: rgba(255,0,0,.25);
 }
 .the-icons i:after {
@@ -606,9 +611,8 @@ form.well {
   content: attr(class);
   font-style: normal;
   margin-left: 20px;
-  width: 100px;
+  width: 140px;
 }
-
 #javascript input[type=checkbox] {
   position: relative;
   top: -1px;
diff --git a/docs/base-css.html b/docs/base-css.html
index 75c7efe5e6..6b6bd5c51a 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1284,119 +1284,119 @@
     <h1>Icons <small>Graciously provided by <a href="http://glyphicons.com" target="_blank">Glyphicons</a></small></h1>
   </div>
   <div class="row">
-    <div class="span2">
-      <div class="the-icons">
-        <i class="glass"></i>
-        <i class="music"></i>
-        <i class="search"></i>
-        <i class="envelope"></i>
-        <i class="heart"></i>
-        <i class="star"></i>
-        <i class="star-empty"></i>
-        <i class="user"></i>
-        <i class="film"></i>
-        <i class="th-large"></i>
-        <i class="th"></i>
-        <i class="th-list"></i>
-        <i class="ok"></i>
-        <i class="remove"></i>
-        <i class="zoom-in"></i>
-        <i class="zoom-out"></i>
-        <i class="off"></i>
-        <i class="signal"></i>
-        <i class="cog"></i>
-        <i class="trash"></i>
-      </div>
-    </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="home"></i>
-        <i class="file"></i>
-        <i class="time"></i>
-        <i class="road"></i>
-        <i class="download-alt"></i>
-        <i class="download"></i>
-        <i class="upload"></i>
-        <i class="inbox"></i>
-        <i class="play-circle"></i>
-        <i class="repeat"></i>
-        <i class="refresh"></i>
-        <i class="calendar"></i>
-        <i class="lock"></i>
-        <i class="flag"></i>
-        <i class="headphones"></i>
-        <i class="volume-off"></i>
-        <i class="volume-down"></i>
-        <i class="volume-up"></i>
-        <i class="qrcode"></i>
-        <i class="barcode"></i>
+        <i class="icon glass"></i>
+        <i class="icon music"></i>
+        <i class="icon search"></i>
+        <i class="icon envelope"></i>
+        <i class="icon heart"></i>
+        <i class="icon star"></i>
+        <i class="icon star-empty"></i>
+        <i class="icon user"></i>
+        <i class="icon film"></i>
+        <i class="icon th-large"></i>
+        <i class="icon th"></i>
+        <i class="icon th-list"></i>
+        <i class="icon ok"></i>
+        <i class="icon remove"></i>
+        <i class="icon zoom-in"></i>
+        <i class="icon zoom-out"></i>
+        <i class="icon off"></i>
+        <i class="icon signal"></i>
+        <i class="icon cog"></i>
+        <i class="icon trash"></i>
+
+        <i class="icon home"></i>
+        <i class="icon file"></i>
+        <i class="icon time"></i>
       </div>
     </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="tag"></i>
-        <i class="tags"></i>
-        <i class="book"></i>
-        <i class="bookmark"></i>
-        <i class="print"></i>
-        <i class="camera"></i>
-        <i class="font"></i>
-        <i class="bold"></i>
-        <i class="italic"></i>
-        <i class="text-height"></i>
-        <i class="text-width"></i>
-        <i class="align-left"></i>
-        <i class="align-center"></i>
-        <i class="align-right"></i>
-        <i class="align-justify"></i>
-        <i class="list"></i>
-        <i class="indent-left"></i>
-        <i class="indent-right"></i>
-        <i class="facetime-video"></i>
-        <i class="picture"></i>
+        <i class="icon road"></i>
+        <i class="icon download-alt"></i>
+        <i class="icon download"></i>
+        <i class="icon upload"></i>
+        <i class="icon inbox"></i>
+        <i class="icon play-circle"></i>
+        <i class="icon repeat"></i>
+        <i class="icon refresh"></i>
+        <i class="icon calendar"></i>
+        <i class="icon lock"></i>
+        <i class="icon flag"></i>
+        <i class="icon headphones"></i>
+        <i class="icon volume-off"></i>
+        <i class="icon volume-down"></i>
+        <i class="icon volume-up"></i>
+        <i class="icon qrcode"></i>
+        <i class="icon barcode"></i>
+
+        <i class="icon tag"></i>
+        <i class="icon tags"></i>
+        <i class="icon book"></i>
+        <i class="icon bookmark"></i>
+        <i class="icon print"></i>
+        <i class="icon camera"></i>
       </div>
     </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="pencil"></i>
-        <i class="map-marker"></i>
-        <i class="adjust"></i>
-        <i class="tint"></i>
-        <i class="edit"></i>
-        <i class="share"></i>
-        <i class="check"></i>
-        <i class="move"></i>
-        <i class="step-backward"></i>
-        <i class="fast-backward"></i>
-        <i class="backward"></i>
-        <i class="play"></i>
-        <i class="pause"></i>
-        <i class="stop"></i>
-        <i class="forward"></i>
-        <i class="fast-forward"></i>
-        <i class="step-forward"></i>
-        <i class="eject"></i>
-        <i class="chevron-left"></i>
-        <i class="chevron-right"></i>
+        <i class="icon font"></i>
+        <i class="icon bold"></i>
+        <i class="icon italic"></i>
+        <i class="icon text-height"></i>
+        <i class="icon text-width"></i>
+        <i class="icon align-left"></i>
+        <i class="icon align-center"></i>
+        <i class="icon align-right"></i>
+        <i class="icon align-justify"></i>
+        <i class="icon list"></i>
+        <i class="icon indent-left"></i>
+        <i class="icon indent-right"></i>
+        <i class="icon facetime-video"></i>
+        <i class="icon picture"></i>
+
+        <i class="icon pencil"></i>
+        <i class="icon map-marker"></i>
+        <i class="icon adjust"></i>
+        <i class="icon tint"></i>
+        <i class="icon edit"></i>
+        <i class="icon share"></i>
+        <i class="icon check"></i>
+        <i class="icon move"></i>
+        <i class="icon step-backward"></i>
       </div>
     </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="arrow-left"></i>
-        <i class="arrow-right"></i>
-        <i class="arrow-up"></i>
-        <i class="arrow-down"></i>
-        <i class="share-alt"></i>
-        <i class="resize-full"></i>
-        <i class="resize-small"></i>
-        <i class="plus"></i>
-        <i class="minus"></i>
-        <i class="asterisk"></i>
+        <i class="icon fast-backward"></i>
+        <i class="icon backward"></i>
+        <i class="icon play"></i>
+        <i class="icon pause"></i>
+        <i class="icon stop"></i>
+        <i class="icon forward"></i>
+        <i class="icon fast-forward"></i>
+        <i class="icon step-forward"></i>
+        <i class="icon eject"></i>
+        <i class="icon chevron-left"></i>
+        <i class="icon chevron-right"></i>
+
+        <i class="icon arrow-left"></i>
+        <i class="icon arrow-right"></i>
+        <i class="icon arrow-up"></i>
+        <i class="icon arrow-down"></i>
+        <i class="icon share-alt"></i>
+        <i class="icon resize-full"></i>
+        <i class="icon resize-small"></i>
+        <i class="icon plus"></i>
+        <i class="icon minus"></i>
+        <i class="icon asterisk"></i>
       </div>
     </div>
-    <div class="span2">
-      <p class="muted">Light red background color is only used to show the dimensions of the icons in the docs.</p>
-    </div>
+  </div>
+  <div class="alert alert-info">
+    <strong>Heads up!</strong> On hover we show a light red background color to highlight the size of the icon. This won't appear in normal usage of icons.
   </div>
 
   <br>
@@ -1409,11 +1409,11 @@
     </div>
     <div class="span4">
       <h3>How to use</h3>
-      <p>With v2.0.0, the <code>&lt;i&gt;</code> tag is essentially dedicated to iconography. To use the icons, you can place the follow code wherever you like one to appear:</p>
+      <p>With v2.0.0, we have opted to use an <code>&lt;i&gt;</code> tag for all our icons with a base class of <code>.icon</code>. To use, place the following code just about anywhere:</p>
 <pre class="prettyprint linenums">
-&lt;i class="chevron-left"&gt;&lt;/i&gt;
+&lt;i class="icon search"&gt;&lt;/i&gt;
 </pre>
-      <p>There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right class and you're set. You can find the full list in sprites.less or right here in this document.</p>
+      <p>There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.</p>
     </div>
     <div class="span4">
       <h3>Use cases</h3>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 6308522595..32df36b0f0 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1221,119 +1221,119 @@
     <h1>{{_i}}Icons <small>Graciously provided by <a href="http://glyphicons.com" target="_blank">Glyphicons</a></small>{{/i}}</h1>
   </div>
   <div class="row">
-    <div class="span2">
-      <div class="the-icons">
-        <i class="glass"></i>
-        <i class="music"></i>
-        <i class="search"></i>
-        <i class="envelope"></i>
-        <i class="heart"></i>
-        <i class="star"></i>
-        <i class="star-empty"></i>
-        <i class="user"></i>
-        <i class="film"></i>
-        <i class="th-large"></i>
-        <i class="th"></i>
-        <i class="th-list"></i>
-        <i class="ok"></i>
-        <i class="remove"></i>
-        <i class="zoom-in"></i>
-        <i class="zoom-out"></i>
-        <i class="off"></i>
-        <i class="signal"></i>
-        <i class="cog"></i>
-        <i class="trash"></i>
-      </div>
-    </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="home"></i>
-        <i class="file"></i>
-        <i class="time"></i>
-        <i class="road"></i>
-        <i class="download-alt"></i>
-        <i class="download"></i>
-        <i class="upload"></i>
-        <i class="inbox"></i>
-        <i class="play-circle"></i>
-        <i class="repeat"></i>
-        <i class="refresh"></i>
-        <i class="calendar"></i>
-        <i class="lock"></i>
-        <i class="flag"></i>
-        <i class="headphones"></i>
-        <i class="volume-off"></i>
-        <i class="volume-down"></i>
-        <i class="volume-up"></i>
-        <i class="qrcode"></i>
-        <i class="barcode"></i>
+        <i class="icon glass"></i>
+        <i class="icon music"></i>
+        <i class="icon search"></i>
+        <i class="icon envelope"></i>
+        <i class="icon heart"></i>
+        <i class="icon star"></i>
+        <i class="icon star-empty"></i>
+        <i class="icon user"></i>
+        <i class="icon film"></i>
+        <i class="icon th-large"></i>
+        <i class="icon th"></i>
+        <i class="icon th-list"></i>
+        <i class="icon ok"></i>
+        <i class="icon remove"></i>
+        <i class="icon zoom-in"></i>
+        <i class="icon zoom-out"></i>
+        <i class="icon off"></i>
+        <i class="icon signal"></i>
+        <i class="icon cog"></i>
+        <i class="icon trash"></i>
+
+        <i class="icon home"></i>
+        <i class="icon file"></i>
+        <i class="icon time"></i>
       </div>
     </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="tag"></i>
-        <i class="tags"></i>
-        <i class="book"></i>
-        <i class="bookmark"></i>
-        <i class="print"></i>
-        <i class="camera"></i>
-        <i class="font"></i>
-        <i class="bold"></i>
-        <i class="italic"></i>
-        <i class="text-height"></i>
-        <i class="text-width"></i>
-        <i class="align-left"></i>
-        <i class="align-center"></i>
-        <i class="align-right"></i>
-        <i class="align-justify"></i>
-        <i class="list"></i>
-        <i class="indent-left"></i>
-        <i class="indent-right"></i>
-        <i class="facetime-video"></i>
-        <i class="picture"></i>
+        <i class="icon road"></i>
+        <i class="icon download-alt"></i>
+        <i class="icon download"></i>
+        <i class="icon upload"></i>
+        <i class="icon inbox"></i>
+        <i class="icon play-circle"></i>
+        <i class="icon repeat"></i>
+        <i class="icon refresh"></i>
+        <i class="icon calendar"></i>
+        <i class="icon lock"></i>
+        <i class="icon flag"></i>
+        <i class="icon headphones"></i>
+        <i class="icon volume-off"></i>
+        <i class="icon volume-down"></i>
+        <i class="icon volume-up"></i>
+        <i class="icon qrcode"></i>
+        <i class="icon barcode"></i>
+
+        <i class="icon tag"></i>
+        <i class="icon tags"></i>
+        <i class="icon book"></i>
+        <i class="icon bookmark"></i>
+        <i class="icon print"></i>
+        <i class="icon camera"></i>
       </div>
     </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="pencil"></i>
-        <i class="map-marker"></i>
-        <i class="adjust"></i>
-        <i class="tint"></i>
-        <i class="edit"></i>
-        <i class="share"></i>
-        <i class="check"></i>
-        <i class="move"></i>
-        <i class="step-backward"></i>
-        <i class="fast-backward"></i>
-        <i class="backward"></i>
-        <i class="play"></i>
-        <i class="pause"></i>
-        <i class="stop"></i>
-        <i class="forward"></i>
-        <i class="fast-forward"></i>
-        <i class="step-forward"></i>
-        <i class="eject"></i>
-        <i class="chevron-left"></i>
-        <i class="chevron-right"></i>
+        <i class="icon font"></i>
+        <i class="icon bold"></i>
+        <i class="icon italic"></i>
+        <i class="icon text-height"></i>
+        <i class="icon text-width"></i>
+        <i class="icon align-left"></i>
+        <i class="icon align-center"></i>
+        <i class="icon align-right"></i>
+        <i class="icon align-justify"></i>
+        <i class="icon list"></i>
+        <i class="icon indent-left"></i>
+        <i class="icon indent-right"></i>
+        <i class="icon facetime-video"></i>
+        <i class="icon picture"></i>
+
+        <i class="icon pencil"></i>
+        <i class="icon map-marker"></i>
+        <i class="icon adjust"></i>
+        <i class="icon tint"></i>
+        <i class="icon edit"></i>
+        <i class="icon share"></i>
+        <i class="icon check"></i>
+        <i class="icon move"></i>
+        <i class="icon step-backward"></i>
       </div>
     </div>
-    <div class="span2">
+    <div class="span3">
       <div class="the-icons">
-        <i class="arrow-left"></i>
-        <i class="arrow-right"></i>
-        <i class="arrow-up"></i>
-        <i class="arrow-down"></i>
-        <i class="share-alt"></i>
-        <i class="resize-full"></i>
-        <i class="resize-small"></i>
-        <i class="plus"></i>
-        <i class="minus"></i>
-        <i class="asterisk"></i>
+        <i class="icon fast-backward"></i>
+        <i class="icon backward"></i>
+        <i class="icon play"></i>
+        <i class="icon pause"></i>
+        <i class="icon stop"></i>
+        <i class="icon forward"></i>
+        <i class="icon fast-forward"></i>
+        <i class="icon step-forward"></i>
+        <i class="icon eject"></i>
+        <i class="icon chevron-left"></i>
+        <i class="icon chevron-right"></i>
+
+        <i class="icon arrow-left"></i>
+        <i class="icon arrow-right"></i>
+        <i class="icon arrow-up"></i>
+        <i class="icon arrow-down"></i>
+        <i class="icon share-alt"></i>
+        <i class="icon resize-full"></i>
+        <i class="icon resize-small"></i>
+        <i class="icon plus"></i>
+        <i class="icon minus"></i>
+        <i class="icon asterisk"></i>
       </div>
     </div>
-    <div class="span2">
-      <p class="muted">{{_i}}Light red background color is only used to show the dimensions of the icons in the docs.{{/i}}</p>
-    </div>
+  </div>
+  <div class="alert alert-info">
+    {{_i}}<strong>Heads up!</strong> On hover we show a light red background color to highlight the size of the icon. This won't appear in normal usage of icons.{{/i}}
   </div>
 
   <br>
@@ -1346,11 +1346,11 @@
     </div>
     <div class="span4">
       <h3>{{_i}}How to use{{/i}}</h3>
-      <p>{{_i}}With v2.0.0, the <code>&lt;i&gt;</code> tag is essentially dedicated to iconography. To use the icons, you can place the follow code wherever you like one to appear:{{/i}}</p>
+      <p>{{_i}}With v2.0.0, we have opted to use an <code>&lt;i&gt;</code> tag for all our icons with a base class of <code>.icon</code>. To use, place the following code just about anywhere:{{/i}}</p>
 <pre class="prettyprint linenums">
-&lt;i class="chevron-left"&gt;&lt;/i&gt;
+&lt;i class="icon search"&gt;&lt;/i&gt;
 </pre>
-      <p>{{_i}}There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right class and you're set. You can find the full list in sprites.less or right here in this document.{{/i}}</p>
+      <p>{{_i}}There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.{{/i}}</p>
     </div>
     <div class="span4">
       <h3>{{_i}}Use cases{{/i}}</h3>
diff --git a/lib/sprites.less b/lib/sprites.less
index 4a49bb8b44..0d51125c26 100644
--- a/lib/sprites.less
+++ b/lib/sprites.less
@@ -11,7 +11,7 @@
 // class to add width, height, and background-position. Your resulting HTML
 // will look like <i class="inbox"></i>.
 
-i {
+.icon {
   background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
   background-repeat: no-repeat;
-- 
GitLab


From 29b4ba0fc5a07ecbde11054dfa4406384a360d32 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 09:53:53 -0800
Subject: [PATCH 425/576] fix modal examples on js page, update modal close
 button positioning

---
 bootstrap.css                            | 4 ++--
 bootstrap.min.css                        | 2 +-
 docs/javascript.html                     | 4 ++--
 docs/templates/pages/javascript.mustache | 6 +++---
 lib/modals.less                          | 2 +-
 5 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index ffdf19f2e4..85b515ecc3 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 09:50:58 PST 2012
+ * Date: Wed Jan 25 09:53:40 PST 2012
  */
 article,
 aside,
@@ -2170,7 +2170,7 @@ table .headerSortUp:after {
   border-bottom: 1px solid #eee;
 }
 .modal-header .close {
-  margin-top: 7px;
+  margin-top: 2px;
 }
 .modal-body {
   padding: 15px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 9be1c65d47..cd155d561d 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -424,7 +424,7 @@ table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;b
 .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
 .modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
 .modal.fade.in{top:50%;}
-.modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:7px;}
+.modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
 .modal-body{padding:15px;}
 .modal-footer{padding:14px 15px 15px;margin-bottom:0;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;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
 .modal-footer:after{clear:both;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 5977006ffd..c6682660f8 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -211,7 +211,7 @@
           <!-- sample modal content -->
           <div id="myModal" class="modal hide fade">
             <div class="modal-header">
-              <a href="#" class="close" data-dismiss="modal" >&times;</a>
+              <a class="close" data-dismiss="modal" >&times;</a>
               <h3>Modal Heading</h3>
             </div>
             <div class="modal-body">
@@ -271,7 +271,7 @@
 <pre class="prettyprint linenums">
 &lt;div class="modal"&gt;
   &lt;div class="modal-header"&gt;
-    &lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
+    &lt;a class="close" data-dismiss="modal"&gt;&times;&lt;/a&gt;
     &lt;h3&gt;Modal header&lt;/h3&gt;
   &lt;/div&gt;
   &lt;div class="modal-body"&gt;
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 7671bc99ad..1c6aa47052 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -148,7 +148,7 @@
           <!-- sample modal content -->
           <div id="myModal" class="modal hide fade">
             <div class="modal-header">
-              <a href="#" class="close" data-dismiss="modal" >&times;</a>
+              <a class="close" data-dismiss="modal" >&times;</a>
               <h3>{{_i}}Modal Heading{{/i}}</h3>
             </div>
             <div class="modal-body">
@@ -162,7 +162,7 @@
               <p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p>
             </div>
             <div class="modal-footer">
-              <a href="#" class="btn primary">{{_i}}Save changes<{{/i}}/a>
+              <a href="#" class="btn primary">{{_i}}Save changes{{/i}}</a>
               <a href="#" class="btn" data-dismiss="modal" >{{_i}}Close{{/i}}</a>
             </div>
           </div>
@@ -208,7 +208,7 @@
 <pre class="prettyprint linenums">
 &lt;div class="modal"&gt;
   &lt;div class="modal-header"&gt;
-    &lt;a href="#" class="close js-dismiss"&gt;&times;&lt;/a&gt;
+    &lt;a class="close" data-dismiss="modal"&gt;&times;&lt;/a&gt;
     &lt;h3&gt;Modal header&lt;/h3&gt;
   &lt;/div&gt;
   &lt;div class="modal-body"&gt;
diff --git a/lib/modals.less b/lib/modals.less
index d6efccd39a..0368e01e10 100644
--- a/lib/modals.less
+++ b/lib/modals.less
@@ -44,7 +44,7 @@
   padding: 5px 15px;
   border-bottom: 1px solid #eee;
   // Close icon
-  .close { margin-top: 7px; }
+  .close { margin-top: 2px; }
 }
 .modal-body {
   padding: 15px;
-- 
GitLab


From c381199968dc19a458f5e43e8b1aeebae284b7cc Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 09:57:40 -0800
Subject: [PATCH 426/576] fix media queries in scaffolding

---
 docs/scaffolding.html                     | 4 ++--
 docs/templates/pages/scaffolding.mustache | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 3e2ddf077d..3a903cf573 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -357,7 +357,7 @@
       <ol>
         <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
         <li>Add @import "responsive.less" and recompile Bootstrap</li>
-        <li>Compile responsive.less as a separate file and include that</li>
+        <li>Modify and recompile responsive.less as a separate</li>
       </ol>
       <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
     </div>
@@ -367,7 +367,7 @@
   @media (max-width: 480px) { ... }
 
   // Landscape phone to portrait tablet
-  @media (min-width: 480px) and (max-width: 768px) { ... }
+  @media (max-width: 768px) { ... }
 
   // Portrait tablet to landscape and desktop
   @media (min-width: 768px) and (max-width: 940px) { ... }
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index 981c60706d..aea8002ad0 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -294,7 +294,7 @@
       <ol>
         <li>{{_i}}Use the compiled responsive version, bootstrap.reponsive.css{{/i}}</li>
         <li>{{_i}}Add @import "responsive.less" and recompile Bootstrap{{/i}}</li>
-        <li>{{_i}}Compile responsive.less as a separate file and include that{{/i}}</li>
+        <li>{{_i}}Modify and recompile responsive.less as a separate{{/i}}</li>
       </ol>
       <p>{{_i}}<strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.{{/i}}</p>
     </div>
@@ -304,7 +304,7 @@
   @media (max-width: 480px) { ... }
 
   // {{_i}}Landscape phone to portrait tablet{{/i}}
-  @media (min-width: 480px) and (max-width: 768px) { ... }
+  @media (max-width: 768px) { ... }
 
   // {{_i}}Portrait tablet to landscape and desktop{{/i}}
   @media (min-width: 768px) and (max-width: 940px) { ... }
-- 
GitLab


From 9553b1e3e9457a48b6da3724c906a36f935aa526 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 10:02:52 -0800
Subject: [PATCH 427/576] update docs to include separate responsive css,
 update docs to highlight proper file name, updated makefile to build
 responsive separately

---
 Makefile                                  |   7 +
 bootstrap-responsive.css                  | 245 +++++++++++++++++++++
 bootstrap-responsive.min.css              |   3 +
 bootstrap.css                             | 247 +---------------------
 bootstrap.min.css                         |   2 -
 docs/base-css.html                        |   1 +
 docs/components.html                      |   1 +
 docs/download.html                        |   1 +
 docs/index.html                           |   1 +
 docs/javascript.html                      |   1 +
 docs/less.html                            |   1 +
 docs/scaffolding.html                     |   3 +-
 docs/templates/layout.mustache            |   1 +
 docs/templates/pages/scaffolding.mustache |   2 +-
 docs/upgrading.html                       |   1 +
 lib/bootstrap.less                        |   3 -
 lib/responsive.less                       |   8 +
 17 files changed, 275 insertions(+), 253 deletions(-)
 create mode 100644 bootstrap-responsive.css
 create mode 100644 bootstrap-responsive.min.css

diff --git a/Makefile b/Makefile
index f4324e5665..612f77fdf5 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,9 @@ VERSION=2.0.0
 BOOTSTRAP = ./bootstrap.css
 BOOTSTRAP_MIN = ./bootstrap.min.css
 BOOTSTRAP_LESS = ./lib/bootstrap.less
+BOOTSTRAP_RESPONSIVE = ./bootstrap-responsive.css
+BOOTSTRAP_RESPONSIVE_MIN = ./bootstrap-responsive.min.css
+BOOTSTRAP_RESPONSIVE_LESS = ./lib/responsive.less
 LESS_COMPRESSOR ?= `which lessc`
 UGLIFY_JS ?= `which uglifyjs`
 WATCHR ?= `which watchr`
@@ -16,6 +19,10 @@ build:
 		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP}; \
 		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP_MIN} --compress; \
 		rm -f ${BOOTSTRAP_LESS}.tmp; \
+		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_RESPONSIVE_LESS} >${BOOTSTRAP_RESPONSIVE_LESS}.tmp; \
+		lessc ${BOOTSTRAP_RESPONSIVE_LESS}.tmp > ${BOOTSTRAP_RESPONSIVE}; \
+		lessc ${BOOTSTRAP_RESPONSIVE_LESS}.tmp > ${BOOTSTRAP_RESPONSIVE_MIN} --compress; \
+		rm -f ${BOOTSTRAP_RESPONSIVE_LESS}.tmp; \
 		echo "Bootstrap successfully built! - `date`"; \
 	else \
 		echo "You must have the LESS compiler installed in order to build Bootstrap."; \
diff --git a/bootstrap-responsive.css b/bootstrap-responsive.css
new file mode 100644
index 0000000000..4a924da68d
--- /dev/null
+++ b/bootstrap-responsive.css
@@ -0,0 +1,245 @@
+.hidden {
+  display: none;
+  visibility: hidden;
+}
+@media (max-width: 480px) {
+  .navbar .nav {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 180px;
+    padding-top: 40px;
+    list-style: none;
+  }
+  .navbar .nav, .navbar .nav > li:last-child a {
+    -webkit-border-radius: 0 0 4px 0;
+    -moz-border-radius: 0 0 4px 0;
+    border-radius: 0 0 4px 0;
+  }
+  .navbar .nav > li {
+    float: none;
+    display: none;
+  }
+  .navbar .nav > li > a {
+    float: none;
+    background-color: #222;
+  }
+  .navbar .nav > .active {
+    display: block;
+    position: absolute;
+    top: 0;
+    left: 0;
+  }
+  .navbar .nav > .active > a {
+    background-color: transparent;
+  }
+  .navbar .nav > .active > a:hover {
+    background-color: #333;
+  }
+  .navbar .nav > .active > a:after {
+    display: inline-block;
+    width: 0;
+    height: 0;
+    margin-top: 8px;
+    margin-left: 6px;
+    text-indent: -99999px;
+    vertical-align: top;
+    border-left: 4px solid transparent;
+    border-right: 4px solid transparent;
+    border-top: 4px solid #ffffff;
+    filter: alpha(opacity=100);
+    -moz-opacity: 1;
+    opacity: 1;
+    content: "&darr;";
+  }
+  .navbar .nav:hover > li {
+    display: block;
+  }
+  .navbar .nav:hover > li > a:hover {
+    background-color: #333;
+  }
+  .form-horizontal .control-group > label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+  .form-horizontal .control-list {
+    padding-top: 0;
+  }
+  .form-horizontal .form-actions {
+    padding-left: 0;
+  }
+  .modal {
+    position: absolute;
+    top: 20px;
+    left: 20px;
+    right: 20px;
+    width: auto;
+    margin: 0;
+  }
+  .modal.fade.in {
+    top: auto;
+  }
+  .modal-header .close {
+    padding: 10px;
+  }
+}
+@media (max-width: 768px) {
+  .navbar-fixed {
+    position: absolute;
+  }
+  .navbar-fixed .nav {
+    float: none;
+  }
+  .container {
+    width: auto;
+    padding: 0 20px;
+  }
+  .row {
+    margin-left: 0;
+  }
+  .row > [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+    margin: 0;
+  }
+}
+@media (min-width: 768px) and (max-width: 940px) {
+  .container {
+    width: 748px;
+  }
+  .span1 {
+    width: 44px;
+  }
+  .span2 {
+    width: 108px;
+  }
+  .span3 {
+    width: 172px;
+  }
+  .span4 {
+    width: 236px;
+  }
+  .span5 {
+    width: 300px;
+  }
+  .span6 {
+    width: 364px;
+  }
+  .span7 {
+    width: 428px;
+  }
+  .span8 {
+    width: 492px;
+  }
+  .span9 {
+    width: 556px;
+  }
+  .span10 {
+    width: 620px;
+  }
+  .span11 {
+    width: 684px;
+  }
+  .span12 {
+    width: 748px;
+  }
+  .offset1 {
+    margin-left: 64px;
+  }
+  .offset2 {
+    margin-left: 128px;
+  }
+  .offset3 {
+    margin-left: 192px;
+  }
+  .offset4 {
+    margin-left: 256px;
+  }
+  .offset5 {
+    margin-left: 320px;
+  }
+  .offset6 {
+    margin-left: 384px;
+  }
+  .offset7 {
+    margin-left: 448px;
+  }
+  .offset8 {
+    margin-left: 512px;
+  }
+  .offset9 {
+    margin-left: 576px;
+  }
+  .offset10 {
+    margin-left: 640px;
+  }
+  .offset11 {
+    margin-left: 704px;
+  }
+  .offset12 {
+    margin-left: 768px;
+  }
+}
+/*
+@media (min-width: 1210px) {
+
+  // Reset grid variables
+  @gridColumns:       12;
+  @gridColumnWidth:   70px;
+  @gridGutterWidth:   30px;
+  @siteWidth:         1170px;
+
+  // Bring grid mixins to recalculate widths
+  .columns(@columnSpan: 1) {
+    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+  }
+  .offset(@columnOffset: 1) {
+    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
+  }
+
+  .container {
+    width: @siteWidth;
+  }
+  .row {
+    margin-left: @gridGutterWidth * -1;
+  }
+  [class*="span"] {
+    margin-left: @gridGutterWidth;
+  }
+
+  // Default columns
+  .span1     { .columns(1); }
+  .span2     { .columns(2); }
+  .span3     { .columns(3); }
+  .span4     { .columns(4); }
+  .span5     { .columns(5); }
+  .span6     { .columns(6); }
+  .span7     { .columns(7); }
+  .span8     { .columns(8); }
+  .span9     { .columns(9); }
+  .span10    { .columns(10); }
+  .span11    { .columns(11); }
+  .span12    { .columns(12); }
+
+  // Offset column options
+  .offset1   { .offset(1); }
+  .offset2   { .offset(2); }
+  .offset3   { .offset(3); }
+  .offset4   { .offset(4); }
+  .offset5   { .offset(5); }
+  .offset6   { .offset(6); }
+  .offset7   { .offset(7); }
+  .offset8   { .offset(8); }
+  .offset9   { .offset(9); }
+  .offset10  { .offset(10); }
+  .offset11  { .offset(11); }
+  .offset12  { .offset(12); }
+
+}
+*/
diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
new file mode 100644
index 0000000000..5c45bd12b7
--- /dev/null
+++ b/bootstrap-responsive.min.css
@@ -0,0 +1,3 @@
+
+.hidden{display:none;visibility:hidden;}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 85b515ecc3..d90ec91889 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 09:53:40 PST 2012
+ * Date: Wed Jan 25 10:01:08 PST 2012
  */
 article,
 aside,
@@ -3011,248 +3011,3 @@ a.thumbnail:hover {
 .invisible {
   visibility: hidden;
 }
-.hidden {
-  display: none;
-  visibility: hidden;
-}
-@media (max-width: 480px) {
-  .navbar .nav {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 180px;
-    padding-top: 40px;
-    list-style: none;
-  }
-  .navbar .nav, .navbar .nav > li:last-child a {
-    -webkit-border-radius: 0 0 4px 0;
-    -moz-border-radius: 0 0 4px 0;
-    border-radius: 0 0 4px 0;
-  }
-  .navbar .nav > li {
-    float: none;
-    display: none;
-  }
-  .navbar .nav > li > a {
-    float: none;
-    background-color: #222;
-  }
-  .navbar .nav > .active {
-    display: block;
-    position: absolute;
-    top: 0;
-    left: 0;
-  }
-  .navbar .nav > .active > a {
-    background-color: transparent;
-  }
-  .navbar .nav > .active > a:hover {
-    background-color: #333;
-  }
-  .navbar .nav > .active > a:after {
-    display: inline-block;
-    width: 0;
-    height: 0;
-    margin-top: 8px;
-    margin-left: 6px;
-    text-indent: -99999px;
-    vertical-align: top;
-    border-left: 4px solid transparent;
-    border-right: 4px solid transparent;
-    border-top: 4px solid #ffffff;
-    filter: alpha(opacity=100);
-    -moz-opacity: 1;
-    opacity: 1;
-    content: "&darr;";
-  }
-  .navbar .nav:hover > li {
-    display: block;
-  }
-  .navbar .nav:hover > li > a:hover {
-    background-color: #333;
-  }
-  .form-horizontal .control-group > label {
-    float: none;
-    width: auto;
-    padding-top: 0;
-    text-align: left;
-  }
-  .form-horizontal .controls {
-    margin-left: 0;
-  }
-  .form-horizontal .control-list {
-    padding-top: 0;
-  }
-  .form-horizontal .form-actions {
-    padding-left: 0;
-  }
-  .modal {
-    position: absolute;
-    top: 20px;
-    left: 20px;
-    right: 20px;
-    width: auto;
-    margin: 0;
-  }
-  .modal.fade.in {
-    top: auto;
-  }
-  .modal-header .close {
-    padding: 10px;
-  }
-}
-@media (max-width: 768px) {
-  .navbar-fixed {
-    position: absolute;
-  }
-  .navbar-fixed .nav {
-    float: none;
-  }
-  .container {
-    width: auto;
-    padding: 0 20px;
-  }
-  .row {
-    margin-left: 0;
-  }
-  .row > [class*="span"] {
-    float: none;
-    display: block;
-    width: auto;
-    margin: 0;
-  }
-}
-@media (min-width: 768px) and (max-width: 940px) {
-  .container {
-    width: 748px;
-  }
-  .span1 {
-    width: 44px;
-  }
-  .span2 {
-    width: 108px;
-  }
-  .span3 {
-    width: 172px;
-  }
-  .span4 {
-    width: 236px;
-  }
-  .span5 {
-    width: 300px;
-  }
-  .span6 {
-    width: 364px;
-  }
-  .span7 {
-    width: 428px;
-  }
-  .span8 {
-    width: 492px;
-  }
-  .span9 {
-    width: 556px;
-  }
-  .span10 {
-    width: 620px;
-  }
-  .span11 {
-    width: 684px;
-  }
-  .span12 {
-    width: 748px;
-  }
-  .offset1 {
-    margin-left: 64px;
-  }
-  .offset2 {
-    margin-left: 128px;
-  }
-  .offset3 {
-    margin-left: 192px;
-  }
-  .offset4 {
-    margin-left: 256px;
-  }
-  .offset5 {
-    margin-left: 320px;
-  }
-  .offset6 {
-    margin-left: 384px;
-  }
-  .offset7 {
-    margin-left: 448px;
-  }
-  .offset8 {
-    margin-left: 512px;
-  }
-  .offset9 {
-    margin-left: 576px;
-  }
-  .offset10 {
-    margin-left: 640px;
-  }
-  .offset11 {
-    margin-left: 704px;
-  }
-  .offset12 {
-    margin-left: 768px;
-  }
-}
-/*
-@media (min-width: 1210px) {
-
-  // Reset grid variables
-  @gridColumns:       12;
-  @gridColumnWidth:   70px;
-  @gridGutterWidth:   30px;
-  @siteWidth:         1170px;
-
-  // Bring grid mixins to recalculate widths
-  .columns(@columnSpan: 1) {
-    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
-  }
-  .offset(@columnOffset: 1) {
-    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
-  }
-
-  .container {
-    width: @siteWidth;
-  }
-  .row {
-    margin-left: @gridGutterWidth * -1;
-  }
-  [class*="span"] {
-    margin-left: @gridGutterWidth;
-  }
-
-  // Default columns
-  .span1     { .columns(1); }
-  .span2     { .columns(2); }
-  .span3     { .columns(3); }
-  .span4     { .columns(4); }
-  .span5     { .columns(5); }
-  .span6     { .columns(6); }
-  .span7     { .columns(7); }
-  .span8     { .columns(8); }
-  .span9     { .columns(9); }
-  .span10    { .columns(10); }
-  .span11    { .columns(11); }
-  .span12    { .columns(12); }
-
-  // Offset column options
-  .offset1   { .offset(1); }
-  .offset2   { .offset(2); }
-  .offset3   { .offset(3); }
-  .offset4   { .offset(4); }
-  .offset5   { .offset(5); }
-  .offset6   { .offset(6); }
-  .offset7   { .offset(7); }
-  .offset8   { .offset(8); }
-  .offset9   { .offset(9); }
-  .offset10  { .offset(10); }
-  .offset11  { .offset(11); }
-  .offset12  { .offset(12); }
-
-}
-*/
\ No newline at end of file
diff --git a/bootstrap.min.css b/bootstrap.min.css
index cd155d561d..01342ea849 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -540,5 +540,3 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .hide{display:none;}
 .show{display:block;}
 .invisible{visibility:hidden;}
-.hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
diff --git a/docs/base-css.html b/docs/base-css.html
index 6b6bd5c51a..7902434268 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/components.html b/docs/components.html
index c1cec739cd..e527801838 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/download.html b/docs/download.html
index 1d74c4f78b..7c03675196 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/index.html b/docs/index.html
index 83e65c97e6..4e3ecd038c 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/javascript.html b/docs/javascript.html
index c6682660f8..9ef609138c 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/less.html b/docs/less.html
index e10c8899b0..1e6c48253e 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 3a903cf573..7f2bbc09f3 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
@@ -355,7 +356,7 @@
     <div class="span5">
       <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
       <ol>
-        <li>Use the compiled responsive version, bootstrap.reponsive.css</li>
+        <li>Use the compiled responsive version, bootstrap-reponsive.css</li>
         <li>Add @import "responsive.less" and recompile Bootstrap</li>
         <li>Modify and recompile responsive.less as a separate</li>
       </ol>
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index 1fec7788ef..0bcfaeb63a 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index aea8002ad0..a89f93d8e1 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -292,7 +292,7 @@
     <div class="span5">
       <p>{{_i}}Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:{{/i}}</p>
       <ol>
-        <li>{{_i}}Use the compiled responsive version, bootstrap.reponsive.css{{/i}}</li>
+        <li>{{_i}}Use the compiled responsive version, bootstrap-reponsive.css{{/i}}</li>
         <li>{{_i}}Add @import "responsive.less" and recompile Bootstrap{{/i}}</li>
         <li>{{_i}}Modify and recompile responsive.less as a separate{{/i}}</li>
       </ol>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 75b8e7327b..33b4d939aa 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -14,6 +14,7 @@
 
     <!-- Le styles -->
     <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 67642d1c45..8d307d4271 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -57,6 +57,3 @@
 
 // Utility classes
 @import "utilities.less"; // Has to be last to override when necessary
-
-// Responsive
-@import "responsive.less";
\ No newline at end of file
diff --git a/lib/responsive.less b/lib/responsive.less
index 416a8da7b7..452116ea0d 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -3,6 +3,14 @@
 // -------------------------------------------------------------
 
 
+// REPEAT VARIABLES & MIXINS
+// -------------------------
+// Required since we compile the responsive stuff separately
+
+@import "variables.less"; // Modify this for custom colors, font-sizes, etc
+@import "mixins.less";
+
+
 // RESPONSIVE CLASSES
 // ------------------
 
-- 
GitLab


From 9380ff8a06197de3f7a3f27a66284da540192f0c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 10:09:26 -0800
Subject: [PATCH 428/576] clean up the updated container app layout a bit

---
 examples/container-app.html | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/examples/container-app.html b/examples/container-app.html
index 79764356bb..9bf651753a 100644
--- a/examples/container-app.html
+++ b/examples/container-app.html
@@ -32,7 +32,7 @@
       .content {
         background-color: #fff;
         padding: 20px;
-        margin: 0 -20px; /* negative indent the amount of the padding to maintain the grid system */
+        margin: 0 -20px 18px; /* negative indent the amount of the padding to maintain the grid system */
         -webkit-border-radius: 0 0 6px 6px;
            -moz-border-radius: 0 0 6px 6px;
                 border-radius: 0 0 6px 6px;
@@ -59,11 +59,6 @@
         padding-left: 19px;
         border-left: 1px solid #eee;
       }
-
-      .topbar .btn {
-        border: 0;
-      }
-
     </style>
 
     <!-- Le fav and touch icons -->
-- 
GitLab


From 1fa3eab20c827d0300cd4a4bb50e2c28e16a2872 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 10:19:29 -0800
Subject: [PATCH 429/576] fix location of favicon

---
 docs/base-css.html             | 2 +-
 docs/components.html           | 2 +-
 docs/download.html             | 2 +-
 docs/index.html                | 2 +-
 docs/javascript.html           | 2 +-
 docs/less.html                 | 2 +-
 docs/scaffolding.html          | 2 +-
 docs/templates/layout.mustache | 2 +-
 docs/upgrading.html            | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 7902434268..8013ee8aad 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/components.html b/docs/components.html
index e527801838..0833cbf6b6 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/download.html b/docs/download.html
index 7c03675196..cdc129049d 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/index.html b/docs/index.html
index 4e3ecd038c..958f17bf8f 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/javascript.html b/docs/javascript.html
index 9ef609138c..9d6b2812df 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/less.html b/docs/less.html
index 1e6c48253e..f920a80a88 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 7f2bbc09f3..77aeea5a33 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index 0bcfaeb63a..3435e35799 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 33b4d939aa..c7e6c815f0 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -19,7 +19,7 @@
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
     <!-- Le fav and touch icons -->
-    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
     <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-- 
GitLab


From 324ebb59900fd69411aec323a85953aec8c55bb6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 10:47:08 -0800
Subject: [PATCH 430/576] spec'ed out an examples overview page with links to
 current examples; examples still need work themselves though

---
 bootstrap.css                          |   2 +-
 docs/examples.html                     | 123 +++++++++++++++++++++++++
 docs/index.html                        |   2 +-
 docs/templates/pages/examples.mustache |  26 ++++++
 docs/templates/pages/index.mustache    |   2 +-
 5 files changed, 152 insertions(+), 3 deletions(-)
 create mode 100644 docs/examples.html
 create mode 100644 docs/templates/pages/examples.mustache

diff --git a/bootstrap.css b/bootstrap.css
index d90ec91889..d028d2b3e7 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 10:01:08 PST 2012
+ * Date: Wed Jan 25 10:46:38 PST 2012
  */
 article,
 aside,
diff --git a/docs/examples.html b/docs/examples.html
new file mode 100644
index 0000000000..04ca7fd684
--- /dev/null
+++ b/docs/examples.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap, from Twitter</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/docs.css" rel="stylesheet">
+    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="assets/ico/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+  </head>
+
+  <body>
+  
+  <!-- Navbar
+    ================================================== -->
+    <div class="navbar navbar-fixed">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="./index.html">Bootstrap</a>
+          <ul class="nav">
+            <li class="">
+              <a href="./index.html">Overview</a>
+            </li>
+            <li class="">
+              <a href="./scaffolding.html">Scaffolding</a>
+            </li>
+            <li class="">
+              <a href="./base-css.html">Base CSS</a>
+            </li>
+            <li class="">
+              <a href="./components.html">Components</a>
+            </li>
+            <li class="">
+              <a href="./javascript.html">Javascript plugins</a>
+            </li>
+            <li class="">
+              <a href="./less.html">Using LESS</a>
+            </li>
+            <li class="">
+              <a href="./download.html">Download</a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+<div class="alert">
+  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+</div>
+
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Bootstrap examples</h1>
+  <p class="lead">Use these examples as starting points for your work with Bootstrap. We encourage everyone to iterate on these examples and not simply use them as an end result.</p>
+</header>
+
+
+
+<!-- EXAMPLES
+================================================== -->
+<section id="examples">
+  <div class="page-header">
+    <h1>Examples from 1.x</h1>
+  </div>
+
+<p><a href="../examples/container-app.html">Container app</a></p>
+<p><a href="../examples/fluid.html">Fluid layout</a></p>
+<p><a href="../examples/fluid-reverse.html">Reversed fluid layout</a></p>
+<p><a href="../examples/hero.html">Hero marketing site</a></p>
+
+</section>
+
+     <!-- Footer
+      ================================================== -->
+      <footer class="footer">
+        <p class="pull-right"><a href="#">Back to top</a></p>
+        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
+        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+      </footer>
+
+    </div><!-- /container -->
+
+
+    <!-- Le javascript -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script src="../js/tests/vendor/jquery.js"></script>
+    <script src="assets/js/google-code-prettify/prettify.js"></script>
+    <script src="../js/bootstrap-transition.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
+    <script src="../js/bootstrap-modal.js"></script>
+    <script src="../js/bootstrap-dropdown.js"></script>
+    <script src="../js/bootstrap-scrollspy.js"></script>
+    <script src="../js/bootstrap-tab.js"></script>
+    <script src="../js/bootstrap-tooltip.js"></script>
+    <script src="../js/bootstrap-popover.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
+    <script src="../js/bootstrap-collapse.js"></script>
+    <script src="../js/bootstrap-carousel.js"></script>
+    <script src="../js/bootstrap-typeahead.js"></script>
+    <script src="assets/js/application.js"></script>
+  </body>
+</html>
diff --git a/docs/index.html b/docs/index.html
index 958f17bf8f..2a6078cbea 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -115,7 +115,7 @@
 
         <div class="marketing">
           <h1>Built with Bootstrap.</h1>
-          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.</p>
+          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.</p>
           <ul class="thumbnails example-sites">
             <li class="span4">
               <a class="thumbnail" href="http://kippt.com/" target="_blank">
diff --git a/docs/templates/pages/examples.mustache b/docs/templates/pages/examples.mustache
new file mode 100644
index 0000000000..3c102bef21
--- /dev/null
+++ b/docs/templates/pages/examples.mustache
@@ -0,0 +1,26 @@
+<div class="alert">
+  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
+</div>
+
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>{{_i}}Bootstrap examples{{/i}}</h1>
+  <p class="lead">{{_i}}Use these examples as starting points for your work with Bootstrap. We encourage everyone to iterate on these examples and not simply use them as an end result.{{/i}}</p>
+</header>
+
+
+
+<!-- EXAMPLES
+================================================== -->
+<section id="examples">
+  <div class="page-header">
+    <h1>{{_i}}Examples from 1.x{{/i}}</h1>
+  </div>
+
+<p><a href="../examples/container-app.html">Container app</a></p>
+<p><a href="../examples/fluid.html">Fluid layout</a></p>
+<p><a href="../examples/fluid-reverse.html">Reversed fluid layout</a></p>
+<p><a href="../examples/hero.html">Hero marketing site</a></p>
+
+</section>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 82307eec70..c3f725a05d 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -51,7 +51,7 @@
 
         <div class="marketing">
           <h1>{{_i}}Built with Bootstrap.{{/i}}</h1>
-          <p class="marketing-byline">{{_i}}For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a>.{{/i}}</p>
+          <p class="marketing-byline">{{_i}}For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.{{/i}}</p>
           <ul class="thumbnails example-sites">
             <li class="span4">
               <a class="thumbnail" href="http://kippt.com/" target="_blank">
-- 
GitLab


From 4a3ad1aa891f65547bd2e3e6de8862e3b26f47c9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 10:48:08 -0800
Subject: [PATCH 431/576] update responsive to use latest grid mixins

---
 bootstrap-responsive.css     | 32 ++++++++++++++++----------------
 bootstrap-responsive.min.css |  2 +-
 bootstrap.css                |  2 +-
 lib/responsive.less          | 16 ++++++++--------
 4 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/bootstrap-responsive.css b/bootstrap-responsive.css
index 4a924da68d..9f50081d3c 100644
--- a/bootstrap-responsive.css
+++ b/bootstrap-responsive.css
@@ -150,40 +150,40 @@
     width: 748px;
   }
   .offset1 {
-    margin-left: 64px;
+    margin-left: 84px;
   }
   .offset2 {
-    margin-left: 128px;
+    margin-left: 148px;
   }
   .offset3 {
-    margin-left: 192px;
+    margin-left: 212px;
   }
   .offset4 {
-    margin-left: 256px;
+    margin-left: 276px;
   }
   .offset5 {
-    margin-left: 320px;
+    margin-left: 340px;
   }
   .offset6 {
-    margin-left: 384px;
+    margin-left: 404px;
   }
   .offset7 {
-    margin-left: 448px;
+    margin-left: 468px;
   }
   .offset8 {
-    margin-left: 512px;
+    margin-left: 532px;
   }
   .offset9 {
-    margin-left: 576px;
+    margin-left: 596px;
   }
   .offset10 {
-    margin-left: 640px;
+    margin-left: 660px;
   }
   .offset11 {
-    margin-left: 704px;
+    margin-left: 724px;
   }
   .offset12 {
-    margin-left: 768px;
+    margin-left: 788px;
   }
 }
 /*
@@ -196,11 +196,11 @@
   @siteWidth:         1170px;
 
   // Bring grid mixins to recalculate widths
-  .columns(@columnSpan: 1) {
-    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+  .columns(@columns: 1) {
+    width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
   }
-  .offset(@columnOffset: 1) {
-    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
+  .offset(@columns: 1) {
+    margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
   }
 
   .container {
diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 5c45bd12b7..6a97d792bc 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:64px;} .offset2{margin-left:128px;} .offset3{margin-left:192px;} .offset4{margin-left:256px;} .offset5{margin-left:320px;} .offset6{margin-left:384px;} .offset7{margin-left:448px;} .offset8{margin-left:512px;} .offset9{margin-left:576px;} .offset10{margin-left:640px;} .offset11{margin-left:704px;} .offset12{margin-left:768px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index d028d2b3e7..767624b14b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 10:46:38 PST 2012
+ * Date: Wed Jan 25 10:47:55 PST 2012
  */
 article,
 aside,
diff --git a/lib/responsive.less b/lib/responsive.less
index 452116ea0d..2999eef4d8 100644
--- a/lib/responsive.less
+++ b/lib/responsive.less
@@ -165,11 +165,11 @@
   @siteWidth:         748px;
 
   // Bring grid mixins to recalculate widths
-  .columns(@columnSpan: 1) {
-    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+  .columns(@columns: 1) {
+    width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
   }
-  .offset(@columnOffset: 1) {
-    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
+  .offset(@columns: 1) {
+    margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
   }
 
   // 16cols at 30px wide with 16px gutters
@@ -219,11 +219,11 @@
   @siteWidth:         1170px;
 
   // Bring grid mixins to recalculate widths
-  .columns(@columnSpan: 1) {
-    width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
+  .columns(@columns: 1) {
+    width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
   }
-  .offset(@columnOffset: 1) {
-    margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @gridGutterWidth;
+  .offset(@columns: 1) {
+    margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
   }
 
   .container {
-- 
GitLab


From 97bad784b5b8fe4ea871a7d4d8c3f5714c26e2ee Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 10:50:08 -0800
Subject: [PATCH 432/576] update remaining icons in docs

---
 docs/base-css.html                       | 24 ++++++++++++------------
 docs/components.html                     | 12 ++++++------
 docs/templates/pages/base-css.mustache   | 24 ++++++++++++------------
 docs/templates/pages/components.mustache | 12 ++++++------
 4 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 8013ee8aad..5d67727016 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1434,20 +1434,20 @@
     <div class="span4">
       <p>Use them in buttons, or in button groups for a toolbar style presentation.</p>
       <p>
-        <a class="btn" href="#"><i class="refresh"></i> Refresh</a>
-        <a class="btn" href="#"><i class="cog"></i> Settings</a>
+        <a class="btn" href="#"><i class="icon refresh"></i> Refresh</a>
+        <a class="btn" href="#"><i class="icon cog"></i> Settings</a>
       </p>
       <div class="btn-toolbar">
         <div class="btn-group">
-          <a class="btn" href="#"><i class="font"></i></a>
-          <a class="btn" href="#"><i class="bold"></i></a>
-          <a class="btn" href="#"><i class="italic"></i></a>
+          <a class="btn" href="#"><i class="icon font"></i></a>
+          <a class="btn" href="#"><i class="icon bold"></i></a>
+          <a class="btn" href="#"><i class="icon italic"></i></a>
         </div>
         <div class="btn-group">
-          <a class="btn" href="#"><i class="align-left"></i></a>
-          <a class="btn" href="#"><i class="align-center"></i></a>
-          <a class="btn" href="#"><i class="align-right"></i></a>
-          <a class="btn" href="#"><i class="align-justify"></i></a>
+          <a class="btn" href="#"><i class="icon align-left"></i></a>
+          <a class="btn" href="#"><i class="icon align-center"></i></a>
+          <a class="btn" href="#"><i class="icon align-right"></i></a>
+          <a class="btn" href="#"><i class="icon align-justify"></i></a>
         </div>
       </div>
     </div>
@@ -1455,9 +1455,9 @@
       <p>Or, use them in navigation.</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
-          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
-          <li><a href="#"><i class="book"></i> Library</a></li>
-          <li><a href="#"><i class="pencil"></i> Applications</a></li>
+          <li class="active"><a href="#"><i class="icon home"></i> Home</a></li>
+          <li><a href="#"><i class="icon book"></i> Library</a></li>
+          <li><a href="#"><i class="icon pencil"></i> Applications</a></li>
         </ul>
       </div> <!-- /well -->
     </div>
diff --git a/docs/components.html b/docs/components.html
index 0833cbf6b6..5991cba36e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -452,13 +452,13 @@
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
           <li class="nav-header">List header</li>
-          <li class="active"><a href="#"><i class="home"></i> Home</a></li>
-          <li><a href="#"><i class="book"></i> Library</a></li>
-          <li><a href="#"><i class="pencil"></i> Applications</a></li>
+          <li class="active"><a href="#"><i class="icon home"></i> Home</a></li>
+          <li><a href="#"><i class="icon book"></i> Library</a></li>
+          <li><a href="#"><i class="icon pencil"></i> Applications</a></li>
           <li class="nav-header">Another list header</li>
-          <li><a href="#"><i class="user"></i> Profile</a></li>
-          <li><a href="#"><i class="cog"></i> Settings</a></li>
-          <li><a href="#"><i class="flag"></i> Help</a></li>
+          <li><a href="#"><i class="icon user"></i> Profile</a></li>
+          <li><a href="#"><i class="icon cog"></i> Settings</a></li>
+          <li><a href="#"><i class="icon flag"></i> Help</a></li>
         </ul>
       </div> <!-- /well -->
 <pre class="prettyprint linenums">
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 32df36b0f0..4c70510783 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1370,20 +1370,20 @@
     <div class="span4">
       <p>{{_i}}Use them in buttons, or in button groups for a toolbar style presentation.{{/i}}</p>
       <p>
-        <a class="btn" href="#"><i class="refresh"></i> {{_i}}Refresh{{/i}}</a>
-        <a class="btn" href="#"><i class="cog"></i> {{_i}}Settings{{/i}}</a>
+        <a class="btn" href="#"><i class="icon refresh"></i> {{_i}}Refresh{{/i}}</a>
+        <a class="btn" href="#"><i class="icon cog"></i> {{_i}}Settings{{/i}}</a>
       </p>
       <div class="btn-toolbar">
         <div class="btn-group">
-          <a class="btn" href="#"><i class="font"></i></a>
-          <a class="btn" href="#"><i class="bold"></i></a>
-          <a class="btn" href="#"><i class="italic"></i></a>
+          <a class="btn" href="#"><i class="icon font"></i></a>
+          <a class="btn" href="#"><i class="icon bold"></i></a>
+          <a class="btn" href="#"><i class="icon italic"></i></a>
         </div>
         <div class="btn-group">
-          <a class="btn" href="#"><i class="align-left"></i></a>
-          <a class="btn" href="#"><i class="align-center"></i></a>
-          <a class="btn" href="#"><i class="align-right"></i></a>
-          <a class="btn" href="#"><i class="align-justify"></i></a>
+          <a class="btn" href="#"><i class="icon align-left"></i></a>
+          <a class="btn" href="#"><i class="icon align-center"></i></a>
+          <a class="btn" href="#"><i class="icon align-right"></i></a>
+          <a class="btn" href="#"><i class="icon align-justify"></i></a>
         </div>
       </div>
     </div>
@@ -1391,9 +1391,9 @@
       <p>{{_i}}Or, use them in navigation.{{/i}}</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
-          <li class="active"><a href="#"><i class="home"></i> {{_i}}Home{{/i}}</a></li>
-          <li><a href="#"><i class="book"></i> {{_i}}Library{{/i}}</a></li>
-          <li><a href="#"><i class="pencil"></i> {{_i}}Applications{{/i}}</a></li>
+          <li class="active"><a href="#"><i class="icon home"></i> {{_i}}Home{{/i}}</a></li>
+          <li><a href="#"><i class="icon book"></i> {{_i}}Library{{/i}}</a></li>
+          <li><a href="#"><i class="icon pencil"></i> {{_i}}Applications{{/i}}</a></li>
         </ul>
       </div> <!-- /well -->
     </div>
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 5da0e6989e..2566eb05ee 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -388,13 +388,13 @@
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
           <li class="nav-header">{{_i}}List header{{/i}}</li>
-          <li class="active"><a href="#"><i class="home"></i> {{_i}}Home{{/i}}</a></li>
-          <li><a href="#"><i class="book"></i> {{_i}}Library{{/i}}</a></li>
-          <li><a href="#"><i class="pencil"></i> {{_i}}Applications{{/i}}</a></li>
+          <li class="active"><a href="#"><i class="icon home"></i> {{_i}}Home{{/i}}</a></li>
+          <li><a href="#"><i class="icon book"></i> {{_i}}Library{{/i}}</a></li>
+          <li><a href="#"><i class="icon pencil"></i> {{_i}}Applications{{/i}}</a></li>
           <li class="nav-header">{{_i}}Another list header{{/i}}</li>
-          <li><a href="#"><i class="user"></i> {{_i}}Profile{{/i}}</a></li>
-          <li><a href="#"><i class="cog"></i> {{_i}}Settings{{/i}}</a></li>
-          <li><a href="#"><i class="flag"></i> {{_i}}Help{{/i}}</a></li>
+          <li><a href="#"><i class="icon user"></i> {{_i}}Profile{{/i}}</a></li>
+          <li><a href="#"><i class="icon cog"></i> {{_i}}Settings{{/i}}</a></li>
+          <li><a href="#"><i class="icon flag"></i> {{_i}}Help{{/i}}</a></li>
         </ul>
       </div> <!-- /well -->
 <pre class="prettyprint linenums">
-- 
GitLab


From e49e49ff9557676d9018b410cea14a7f9f399733 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 10:51:26 -0800
Subject: [PATCH 433/576] fix mention of old vertical forms class'

---
 docs/base-css.html                     | 2 +-
 docs/templates/pages/base-css.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 5d67727016..1a9c4e15ab 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -868,7 +868,7 @@
     <tbody>
       <tr>
         <th>Vertical (default)</th>
-        <td><code>.vertical-form</code> <span class="muted">(not required)</span></td>
+        <td><code>.form-vertical</code> <span class="muted">(not required)</span></td>
         <td>Stacked, left-aligned labels over controls</td>
       </tr>
       <tr>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 4c70510783..4263bead3b 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -804,7 +804,7 @@
     <tbody>
       <tr>
         <th>{{_i}}Vertical (default){{/i}}</th>
-        <td><code>.vertical-form</code> <span class="muted">({{_i}}not required{{/i}})</span></td>
+        <td><code>.form-vertical</code> <span class="muted">({{_i}}not required{{/i}})</span></td>
         <td>{{_i}}Stacked, left-aligned labels over controls{{/i}}</td>
       </tr>
       <tr>
-- 
GitLab


From 6cbf2f402432187f79aea1a938a08f1ce876fd2d Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Wed, 25 Jan 2012 10:59:45 -0800
Subject: [PATCH 434/576] s/#fff/@white/

---
 lib/carousel.less      | 2 +-
 lib/progress-bars.less | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/carousel.less b/lib/carousel.less
index 27c1ba6605..8ada01f20c 100644
--- a/lib/carousel.less
+++ b/lib/carousel.less
@@ -71,7 +71,7 @@
   color: #fff;
   text-align: center;
   background: @grayDarker;
-  border: 3px solid #fff;
+  border: 3px solid @white;
   .border-radius(23px);
   .opacity(50);
   .transition(all .2s linear);
diff --git a/lib/progress-bars.less b/lib/progress-bars.less
index c1a3f97922..ff754b8173 100644
--- a/lib/progress-bars.less
+++ b/lib/progress-bars.less
@@ -46,7 +46,7 @@
 .progress .bar {
   width: 0%;
   height: 18px;
-  color: #fff;
+  color: @white;
   font-size: 12px;
   text-align: center;
   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-- 
GitLab


From 0b2dd16e7293fa11f453abf67395493cbfe18935 Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Wed, 25 Jan 2012 11:02:28 -0800
Subject: [PATCH 435/576] missed a white

---
 lib/carousel.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/carousel.less b/lib/carousel.less
index 8ada01f20c..b0e95bfe93 100644
--- a/lib/carousel.less
+++ b/lib/carousel.less
@@ -68,7 +68,7 @@
   font-size: 60px;
   font-weight: 100;
   line-height: 30px;
-  color: #fff;
+  color: @white;
   text-align: center;
   background: @grayDarker;
   border: 3px solid @white;
-- 
GitLab


From 603aaa01ef487d912569459adc69bc06eb0ade52 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:05:23 -0800
Subject: [PATCH 436/576] remake after updating variables from @lookfirst

---
 bootstrap.css     | 8 ++++----
 bootstrap.min.css | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 767624b14b..33260da9ee 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 10:47:55 PST 2012
+ * Date: Wed Jan 25 11:05:15 PST 2012
  */
 article,
 aside,
@@ -2776,7 +2776,7 @@ a.thumbnail:hover {
 .progress .bar {
   width: 0%;
   height: 18px;
-  color: #fff;
+  color: #ffffff;
   font-size: 12px;
   text-align: center;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
@@ -2957,10 +2957,10 @@ a.thumbnail:hover {
   font-size: 60px;
   font-weight: 100;
   line-height: 30px;
-  color: #fff;
+  color: #ffffff;
   text-align: center;
   background: #222222;
-  border: 3px solid #fff;
+  border: 3px solid #ffffff;
   -webkit-border-radius: 23px;
   -moz-border-radius: 23px;
   border-radius: 23px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 01342ea849..f9f4d074d7 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -506,7 +506,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.notice{background-color:#62cffc;}
 @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
-.progress .bar{width:0%;height:18px;color:#fff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
 .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));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: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;}
 .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;}
 .progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
@@ -531,7 +531,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel .next.left,.carousel .prev.right{left:0;}
 .carousel .active.left{left:-100%;}
 .carousel .active.right{left:100%;}
-.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;filter:alpha(opacity=50);-moz-opacity:0.5;opacity:0.5;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
+.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;filter:alpha(opacity=50);-moz-opacity:0.5;opacity:0.5;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
 .carousel-control:hover{color:#ffffff;text-decoration:none;filter:alpha(opacity=90);-moz-opacity:0.9;opacity:0.9;}
 .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);}
 .carousel-caption h4,.carousel-caption p{color:#ffffff;}
-- 
GitLab


From fd3c6733a2d7b8f3afa3fc8511162e23ad1ac412 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:11:22 -0800
Subject: [PATCH 437/576] missing icon class in code example

---
 docs/components.html                     | 2 +-
 docs/templates/pages/components.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index 5991cba36e..a7a4470843 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -466,7 +466,7 @@
   ...
   &lt;li&gt;
     &lt;a href="#"&gt;
-      &lt;i class="book"&gt;&lt;/i&gt;
+      &lt;i class="icon book"&gt;&lt;/i&gt;
       Library
     &lt;/a&gt;
   &lt;/li&gt;
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 2566eb05ee..effa107626 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -402,7 +402,7 @@
   ...
   &lt;li&gt;
     &lt;a href="#"&gt;
-      &lt;i class="book"&gt;&lt;/i&gt;
+      &lt;i class="icon book"&gt;&lt;/i&gt;
       {{_i}}Library{{/i}}
     &lt;/a&gt;
   &lt;/li&gt;
-- 
GitLab


From cfa925cab6dbb10af28ddca6d38e76aed97bb1ef Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:15:48 -0800
Subject: [PATCH 438/576] remake after merging large button group fix

---
 bootstrap.css     | 5 +----
 bootstrap.min.css | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 33260da9ee..8069c5d254 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:05:15 PST 2012
+ * Date: Wed Jan 25 11:15:41 PST 2012
  */
 article,
 aside,
@@ -2597,9 +2597,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -moz-border-radius: 5px;
   border-radius: 5px;
 }
-.btn-group.open .dropdown-menu.large {
-  top: 40px;
-}
 .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);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f9f4d074d7..216af09ceb 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -477,7 +477,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
 .btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);}
-.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-menu.large{top:40px;}
+.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);}
 .btn .caret{margin-top:6px;margin-left:0;}
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
-- 
GitLab


From d3c5dd4e6acc421e06ef72680e794cfd9d52a04a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:21:44 -0800
Subject: [PATCH 439/576] updated comments in forms.less and added
 uneditable-textarea class to extend uneditable-input

---
 bootstrap.css     | 10 ++++++++--
 bootstrap.min.css |  1 +
 lib/forms.less    |  8 ++++++--
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 8069c5d254..0166a32015 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:15:41 PST 2012
+ * Date: Wed Jan 25 11:21:22 PST 2012
  */
 article,
 aside,
@@ -510,13 +510,17 @@ select,
   -moz-border-radius: 3px;
   border-radius: 3px;
 }
+.uneditable-textarea {
+  width: auto;
+  height: auto;
+}
 input[type=image], input[type=checkbox], input[type=radio] {
   width: auto;
   height: auto;
   padding: 0;
   margin: 3px 0;
   *margin-top: 0;
-  /* IE6-7 */
+  /* IE7 */
 
   line-height: normal;
   border: none;
@@ -538,6 +542,8 @@ input[type=button], input[type=reset], input[type=submit] {
 }
 select, input[type=file] {
   height: 27px;
+  /* In IE7, the height of the select element cannot be changed by height, only font-size */
+
   *margin-top: 4px;
   /* For IE7, add top margin to align select with labels */
 
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 216af09ceb..438305f715 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -95,6 +95,7 @@ legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;li
 label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
 input,textarea,select,.uneditable-input{display:block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+.uneditable-textarea{width:auto;height:auto;}
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
diff --git a/lib/forms.less b/lib/forms.less
index 100b0ab915..178c210181 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -63,6 +63,10 @@ select,
   border: 1px solid #ccc;
   .border-radius(3px);
 }
+.uneditable-textarea {
+  width: auto;
+  height: auto;
+}
 
 // Mini reset for unique input types
 input[type=image],
@@ -72,7 +76,7 @@ input[type=radio] {
   height: auto;
   padding: 0;
   margin: 3px 0;
-  *margin-top: 0; /* IE6-7 */
+  *margin-top: 0; /* IE7 */
   line-height: normal;
   border: none;
   cursor: pointer;
@@ -99,7 +103,7 @@ input[type=submit] {
 // Set the height of select and file controls to match text inputs
 select,
 input[type=file] {
-  height: @baseLineHeight * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size
+  height: @baseLineHeight * 1.5; /* In IE7, the height of the select element cannot be changed by height, only font-size */
   *margin-top: 4px; /* For IE7, add top margin to align select with labels */
   line-height: @baseLineHeight * 1.5;
 }
-- 
GitLab


From 25519bacd56ee2507cdde727d85458e5e5ef7949 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 25 Jan 2012 11:25:35 -0800
Subject: [PATCH 440/576] rebuild + add spy to template

---
 bootstrap-responsive.min.css   | 2 +-
 bootstrap.css                  | 4 ++--
 bootstrap.min.css              | 2 +-
 docs/base-css.html             | 2 +-
 docs/components.html           | 2 +-
 docs/download.html             | 2 +-
 docs/examples.html             | 2 +-
 docs/index.html                | 2 +-
 docs/javascript.html           | 2 +-
 docs/less.html                 | 2 +-
 docs/scaffolding.html          | 2 +-
 docs/templates/layout.mustache | 2 +-
 docs/upgrading.html            | 2 +-
 13 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 6a97d792bc..31c1fdbefe 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 0166a32015..e548f5afc6 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:21:22 PST 2012
+ * Date: Wed Jan 25 11:23:36 PST 2012
  */
 article,
 aside,
@@ -1864,7 +1864,7 @@ table .headerSortUp:after {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 438305f715..a9caab69bc 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -379,7 +379,7 @@ table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;b
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 1a9c4e15ab..b0a6743f34 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/components.html b/docs/components.html
index a7a4470843..56c5280dbd 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/download.html b/docs/download.html
index cdc129049d..e873b5e740 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/examples.html b/docs/examples.html
index 04ca7fd684..bc52bea555 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/index.html b/docs/index.html
index 2a6078cbea..0835c46472 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/javascript.html b/docs/javascript.html
index 9d6b2812df..eb291a1a37 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/less.html b/docs/less.html
index f920a80a88..c77ba9706f 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 77aeea5a33..8245f860cc 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index 3435e35799..addcb224f7 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
diff --git a/docs/upgrading.html b/docs/upgrading.html
index c7e6c815f0..fb1fbfcfe0 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -25,7 +25,7 @@
     <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
   </head>
 
-  <body>
+  <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
   <!-- Navbar
     ================================================== -->
-- 
GitLab


From b8511568637dfa4decb3f0475436a3dfa637a57d Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:26:45 -0800
Subject: [PATCH 441/576] change form fields back to inline-block to allow for
 inline-help text in default form markup

---
 bootstrap.css                          | 4 ++--
 bootstrap.min.css                      | 2 +-
 docs/base-css.html                     | 2 +-
 docs/templates/pages/base-css.mustache | 2 +-
 lib/forms.less                         | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0166a32015..39add86960 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:21:22 PST 2012
+ * Date: Wed Jan 25 11:24:56 PST 2012
  */
 article,
 aside,
@@ -497,7 +497,7 @@ input,
 textarea,
 select,
 .uneditable-input {
-  display: block;
+  display: inline-block;
   width: 210px;
   height: 18px;
   padding: 4px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 438305f715..20614ea732 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -94,7 +94,7 @@ fieldset{padding:0;margin:0;border:0;}
 legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
 label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
-input,textarea,select,.uneditable-input{display:block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 .uneditable-textarea{width:auto;height:auto;}
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 1a9c4e15ab..057c98b859 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -899,7 +899,7 @@
     <div class="span9">
       <form class="well">
         <label>Label name</label>
-        <input type="text" class="span3" placeholder="Type something…">
+        <input type="text" class="span3" placeholder="Type something…"> <span class="help-inline">Associated help text!</span>
         <label class="checkbox">
           <input type="checkbox"> Check me out
         </label>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 4263bead3b..4daa98309d 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -835,7 +835,7 @@
     <div class="span9">
       <form class="well">
         <label>{{_i}}Label name{{/i}}</label>
-        <input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}">
+        <input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}"> <span class="help-inline">Associated help text!</span>
         <label class="checkbox">
           <input type="checkbox"> {{_i}}Check me out{{/i}}
         </label>
diff --git a/lib/forms.less b/lib/forms.less
index 178c210181..70a065bdb6 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -52,7 +52,7 @@ input,
 textarea,
 select,
 .uneditable-input {
-  display: block;
+  display: inline-block;
   width: 210px;
   height: @baseLineHeight;
   padding: 4px;
-- 
GitLab


From a4b8cc2a9c8c7f16c4a93e64d2a187d839bfbb40 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:30:30 -0800
Subject: [PATCH 442/576] darken active state on subnav with scrollspy added

---
 docs/assets/css/docs.css | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 0fe480ecb3..600894f386 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -132,6 +132,7 @@ section {
 .subnav {
   width: 100%;
   height: 36px;
+  overflow: hidden;
   background-color: #eeeeee; /* Old browsers */
   background-repeat: repeat-x; /* Repeat the gradient */
   background-image: -moz-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* FF3.6+ */
@@ -167,13 +168,10 @@ section {
   color: #333;
 }
 .subnav .nav .active a {
-  background-color: #eee;
+  background-color: #e5e5e5;
 }
 .subnav .nav li:first-child a {
   border-left: 0;
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
 }
 .subnav .nav li:last-child a {
   border-right: 0;
-- 
GitLab


From 58d08a2db3e2ed1b789a5290ced2f0327c9c163b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:35:08 -0800
Subject: [PATCH 443/576] enable support for form states on select elements

---
 bootstrap.css                          | 14 +++++++-------
 bootstrap.min.css                      |  6 +++---
 docs/base-css.html                     | 13 +++++++++++++
 docs/templates/pages/base-css.mustache | 13 +++++++++++++
 lib/forms.less                         |  1 +
 5 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 730167f51f..4bffde24d1 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:27:15 PST 2012
+ * Date: Wed Jan 25 11:31:57 PST 2012
  */
 article,
 aside,
@@ -715,11 +715,11 @@ textarea[readonly] {
 .control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline {
   color: #c09853;
 }
-.control-group.warning input, .control-group.warning textarea {
+.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 textarea:focus {
+.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;
@@ -733,11 +733,11 @@ textarea[readonly] {
 .control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {
   color: #b94a48;
 }
-.control-group.error input, .control-group.error textarea {
+.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 textarea:focus {
+.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;
@@ -751,11 +751,11 @@ textarea[readonly] {
 .control-group.success > label, .control-group.success .help-block, .control-group.success .help-inline {
   color: #468847;
 }
-.control-group.success input, .control-group.success textarea {
+.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 textarea:focus {
+.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;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 20614ea732..c800de5e00 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -145,13 +145,13 @@ select.span11{width:870px;}
 select.span12{width:950px;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 .control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
-.control-group.warning input,.control-group.warning textarea{color:#c09853;border-color:#c09853;}.control-group.warning input: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;}
+.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;}
 .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>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
-.control-group.error input,.control-group.error textarea{color:#b94a48;border-color:#b94a48;}.control-group.error input: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;}
+.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;}
 .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>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
-.control-group.success input,.control-group.success textarea{color:#468847;border-color:#468847;}.control-group.success input: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;}
+.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;}
 .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;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
diff --git a/docs/base-css.html b/docs/base-css.html
index a8a87da42a..1e9a3d942e 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1066,6 +1066,19 @@
             <span class="help-inline">Woohoo!</span>
           </div>
         </fieldset>
+        <fieldset class="control-group success">
+          <label class="control-label" for="selectError">Select with success</label>
+          <div class="controls">
+            <select name="selectError">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+            <span class="help-inline">Woohoo!</span>
+          </div>
+        </fieldset>
         <fieldset class="form-actions">
           <button type="submit" class="btn primary">Save changes</button>
           <button type="reset" class="btn">Cancel</button>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 4daa98309d..913eea31ab 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1002,6 +1002,19 @@
             <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
           </div>
         </fieldset>
+        <fieldset class="control-group success">
+          <label class="control-label" for="selectError">{{_i}}Select with success{{/i}}</label>
+          <div class="controls">
+            <select name="selectError">
+              <option>1</option>
+              <option>2</option>
+              <option>3</option>
+              <option>4</option>
+              <option>5</option>
+            </select>
+            <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
+          </div>
+        </fieldset>
         <fieldset class="form-actions">
           <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
           <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
diff --git a/lib/forms.less b/lib/forms.less
index 70a065bdb6..3b35a172c7 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -283,6 +283,7 @@ textarea[readonly] {
   }
   // Style inputs accordingly
   input,
+  select,
   textarea {
     color: @textColor;
     border-color: @borderColor;
-- 
GitLab


From 06017b26ca5a9c835edb9d42188431fa30c7e499 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:47:36 -0800
Subject: [PATCH 444/576] fix bottom visual bug on carousel images

---
 bootstrap.css     | 6 +++++-
 bootstrap.min.css | 1 +
 lib/carousel.less | 6 ++++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4bffde24d1..7a538c7176 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:31:57 PST 2012
+ * Date: Wed Jan 25 11:47:25 PST 2012
  */
 article,
 aside,
@@ -2924,6 +2924,10 @@ a.thumbnail:hover {
   -o-transition: 0.6s ease-in-out left;
   transition: 0.6s ease-in-out left;
 }
+.carousel .item > img {
+  display: block;
+  line-height: 1;
+}
 .carousel .active, .carousel .next, .carousel .prev {
   display: block;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index c800de5e00..87ea670e09 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -524,6 +524,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel{position:relative;line-height:1;}
 .carousel-inner{overflow:hidden;width:100%;position:relative;}
 .carousel .item{display:none;position:relative;-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;}
+.carousel .item>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%;}
diff --git a/lib/carousel.less b/lib/carousel.less
index b0e95bfe93..254a9f60c7 100644
--- a/lib/carousel.less
+++ b/lib/carousel.less
@@ -20,6 +20,12 @@
     .transition(.6s ease-in-out left);
   }
 
+  // Account for jankitude on images
+  .item > img {
+    display: block;
+    line-height: 1;
+  }
+
   .active, 
   .next, 
   .prev { display: block; }
-- 
GitLab


From 319b65e64b6882ad2184f398f1763543cfa48a16 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 25 Jan 2012 11:49:00 -0800
Subject: [PATCH 445/576] prevent default

---
 js/bootstrap-carousel.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 3262f0cab0..500c7da7fe 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -147,6 +147,7 @@
         , $target = $($this.attr('data-target') || $this.attr('href'))
         , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
       $target.carousel(options)
+      e.preventDefault()
     })
   })
 
-- 
GitLab


From 04f84997c18f2f132c8173f728f72b6b7aef52d1 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Wed, 25 Jan 2012 11:49:34 -0800
Subject: [PATCH 446/576] rebuil

---
 bootstrap-responsive.min.css | 2 +-
 bootstrap.css                | 4 ++--
 bootstrap.min.css            | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 6a97d792bc..31c1fdbefe 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 7a538c7176..b9cd608ae4 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:47:25 PST 2012
+ * Date: Wed Jan 25 11:49:21 PST 2012
  */
 article,
 aside,
@@ -1864,7 +1864,7 @@ table .headerSortUp:after {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 87ea670e09..eeb88b285b 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -379,7 +379,7 @@ table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;b
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
-- 
GitLab


From 86191d898b2520611b537892e33be3b179f83199 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 11:51:13 -0800
Subject: [PATCH 447/576] height auto on mutli select

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 lib/forms.less    | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 7a538c7176..1556d7704f 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:47:25 PST 2012
+ * Date: Wed Jan 25 11:50:14 PST 2012
  */
 article,
 aside,
@@ -555,7 +555,7 @@ select {
   background-color: #ffffff;
 }
 select[multiple], select[size] {
-  height: inherit;
+  height: auto;
 }
 input[type=image] {
   -webkit-box-shadow: none;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 87ea670e09..8174829501 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -101,7 +101,7 @@ input[type=file]{padding:initial;line-height:initial;border:initial;background-c
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
 select,input[type=file]{height:27px;*margin-top:4px;line-height:27px;}
 select{width:220px;vertical-align:middle;background-color:#ffffff;}
-select[multiple],select[size]{height:inherit;}
+select[multiple],select[size]{height:auto;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
 .radio,.checkbox{padding-left:18px;}
diff --git a/lib/forms.less b/lib/forms.less
index 3b35a172c7..355a33a30d 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -118,7 +118,7 @@ select {
 // Make multiple select elements height not fixed
 select[multiple],
 select[size] {
-  height: inherit;
+  height: auto;
 }
 
 // Remove shadow from image inputs
-- 
GitLab


From 2b2c72b9aae6db9505d0fdb3abc1832de8e0ce7f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 12:04:19 -0800
Subject: [PATCH 448/576] fix select alignment and height

---
 bootstrap.css     | 8 ++++----
 bootstrap.min.css | 4 ++--
 lib/forms.less    | 6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 1556d7704f..c53264a2d6 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 11:50:14 PST 2012
+ * Date: Wed Jan 25 12:03:47 PST 2012
  */
 article,
 aside,
@@ -541,17 +541,17 @@ input[type=button], input[type=reset], input[type=submit] {
   height: auto;
 }
 select, input[type=file] {
-  height: 27px;
+  height: 28px;
   /* In IE7, the height of the select element cannot be changed by height, only font-size */
 
   *margin-top: 4px;
   /* For IE7, add top margin to align select with labels */
 
-  line-height: 27px;
+  line-height: 28px;
 }
 select {
   width: 220px;
-  vertical-align: middle;
+  vertical-align: baseline;
   background-color: #ffffff;
 }
 select[multiple], select[size] {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 8174829501..447ecbb2d8 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -99,8 +99,8 @@ input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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:27px;*margin-top:4px;line-height:27px;}
-select{width:220px;vertical-align:middle;background-color:#ffffff;}
+select,input[type=file]{height:28px;*margin-top:4px;line-height:28px;}
+select{width:220px;vertical-align:baseline;background-color:#ffffff;}
 select[multiple],select[size]{height:auto;}
 input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
diff --git a/lib/forms.less b/lib/forms.less
index 355a33a30d..7451f36efc 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -103,15 +103,15 @@ input[type=submit] {
 // Set the height of select and file controls to match text inputs
 select,
 input[type=file] {
-  height: @baseLineHeight * 1.5; /* In IE7, the height of the select element cannot be changed by height, only font-size */
+  height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
   *margin-top: 4px; /* For IE7, add top margin to align select with labels */
-  line-height: @baseLineHeight * 1.5;
+  line-height: 28px;
 }
 
 // Chrome on Linux and Mobile Safari need background-color
 select {
   width: 220px; // default input width + 10px of padding that doesn't get applied
-  vertical-align: middle;
+  vertical-align: baseline;
   background-color: @white;
 }
 
-- 
GitLab


From 9c4a70c597a35f772bb21cb60dd7812146fc29ee Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 12:43:38 -0800
Subject: [PATCH 449/576] swap fieldsets for divs

---
 docs/base-css.html                     | 88 +++++++++++++-------------
 docs/templates/pages/base-css.mustache | 88 +++++++++++++-------------
 2 files changed, 88 insertions(+), 88 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 1e9a3d942e..60b5640dff 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -940,14 +940,14 @@
     <div class="span8">
       <form class="form-horizontal">
         <legend>Controls Bootstrap supports</legend>
-        <fieldset class="control-group">
+        <div class="control-group">
           <label class="control-label" for="input01">Text input</label>
           <div class="controls">
             <input type="text" class="xlarge" name="input01">
             <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsCheckbox">Checkbox</label>
           <div class="controls">
             <label class="checkbox">
@@ -955,8 +955,8 @@
               Option one is this and that&mdash;be sure to include why it’s great
             </label>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="select01">Select list</label>
           <div class="controls">
             <select name="select01">
@@ -967,8 +967,8 @@
               <option>5</option>
             </select>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="multiSelect">Multi-select</label>
           <div class="controls">
             <select multiple="multiple" name="multiSelect">
@@ -979,23 +979,23 @@
               <option>5</option>
             </select>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="fileInput">File input</label>
           <div class="controls">
             <input class="input-file" id="fileInput" name="fileInput" type="file">
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="textarea">Textarea</label>
           <div class="controls">
             <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
           </div>
-        </fieldset>
-        <fieldset class="form-actions">
+        </div>
+        <div class="form-actions">
           <button type="submit" class="btn primary">Save changes</button>
           <button type="reset" class="btn">Cancel</button>
-        </fieldset>
+        </div>
       </form>
     </div>
     <div class="span4">
@@ -1024,19 +1024,19 @@
     <div class="span8">
       <form class="form-horizontal">
         <legend>Form control states</legend>
-        <fieldset class="control-group">
+        <div class="control-group">
           <label class="control-label" for="focusedInput">Focused input</label>
           <div class="controls">
             <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused…">
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="disabledInput">Disabled input</label>
           <div class="controls">
             <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here…" disabled>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsCheckbox">Disabled checkbox</label>
           <div class="controls">
             <label class="checkbox">
@@ -1044,29 +1044,29 @@
               This is a disabled checkbox
             </label>
           </div>
-        </fieldset>
-        <fieldset class="control-group warning">
+        </div>
+        <div class="control-group warning">
           <label class="control-label" for="inputError">Input with warning</label>
           <div class="controls">
             <input type="text" name="inputError">
             <span class="help-inline">Something may have gone wrong</span>
           </div>
-        </fieldset>
-        <fieldset class="control-group error">
+        </div>
+        <div class="control-group error">
           <label class="control-label" for="inputError">Input with error</label>
           <div class="controls">
             <input type="text" name="inputError">
             <span class="help-inline">Please correct the error</span>
           </div>
-        </fieldset>
-        <fieldset class="control-group success">
+        </div>
+        <div class="control-group success">
           <label class="control-label" for="inputError">Input with success</label>
           <div class="controls">
             <input type="text" name="inputError">
             <span class="help-inline">Woohoo!</span>
           </div>
-        </fieldset>
-        <fieldset class="control-group success">
+        </div>
+        <div class="control-group success">
           <label class="control-label" for="selectError">Select with success</label>
           <div class="controls">
             <select name="selectError">
@@ -1078,11 +1078,11 @@
             </select>
             <span class="help-inline">Woohoo!</span>
           </div>
-        </fieldset>
-        <fieldset class="form-actions">
+        </div>
+        <div class="form-actions">
           <button type="submit" class="btn primary">Save changes</button>
           <button type="reset" class="btn">Cancel</button>
-        </fieldset>
+        </div>
       </form>
     </div>
     <div class="span4">
@@ -1108,7 +1108,7 @@
     <div class="span8">
       <form class="form-horizontal">
         <legend>Extending form controls</legend>
-        <fieldset class="control-group">
+        <div class="control-group">
           <label class="control-label">Form sizes</label>
           <div class="controls docs-input-sizes">
             <input class="span2" type="text" name="" placeholder=".span2">
@@ -1116,8 +1116,8 @@
             <input class="span4" type="text" name="" placeholder=".span4">
             <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="prependedInput">Prepended text</label>
           <div class="controls">
             <div class="input-prepend">
@@ -1126,8 +1126,8 @@
             </div>
             <p class="help-block">Here's some help text</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="appendedInput">Appended text</label>
           <div class="controls">
             <div class="input-append">
@@ -1136,8 +1136,8 @@
             </div>
             <p class="help-block">Here's more help text</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="inlineCheckboxes">Inline checkboxes</label>
           <div class="controls">
             <label class="checkbox inline">
@@ -1150,8 +1150,8 @@
               <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
             </label>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
           <div class="controls">
             <label class="checkbox">
@@ -1168,8 +1168,8 @@
             </label>
             <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsRadios">Radio buttons</label>
           <div class="controls">
             <label class="radio">
@@ -1181,11 +1181,11 @@
               Option two can is something else and selecting it will deselect option one
             </label>
           </div>
-        </fieldset>
-        <fieldset class="form-actions">
+        </div>
+        <div class="form-actions">
           <button type="submit" class="btn primary">Save changes</button>
           <button type="reset" class="btn">Cancel</button>
-        </fieldset>
+        </div>
       </form>
     </div>
     <div class="span4">
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 913eea31ab..7a85d1138e 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -876,14 +876,14 @@
     <div class="span8">
       <form class="form-horizontal">
         <legend>{{_i}}Controls Bootstrap supports{{/i}}</legend>
-        <fieldset class="control-group">
+        <div class="control-group">
           <label class="control-label" for="input01">{{_i}}Text input{{/i}}</label>
           <div class="controls">
             <input type="text" class="xlarge" name="input01">
             <p class="help-block">{{_i}}In addition to freeform text, any HTML5 text-based input appears like so.{{/i}}</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsCheckbox">{{_i}}Checkbox{{/i}}</label>
           <div class="controls">
             <label class="checkbox">
@@ -891,8 +891,8 @@
               {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
             </label>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="select01">{{_i}}Select list{{/i}}</label>
           <div class="controls">
             <select name="select01">
@@ -903,8 +903,8 @@
               <option>5</option>
             </select>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="multiSelect">{{_i}}Multi-select{{/i}}</label>
           <div class="controls">
             <select multiple="multiple" name="multiSelect">
@@ -915,23 +915,23 @@
               <option>5</option>
             </select>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="fileInput">{{_i}}File input{{/i}}</label>
           <div class="controls">
             <input class="input-file" id="fileInput" name="fileInput" type="file">
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="textarea">{{_i}}Textarea{{/i}}</label>
           <div class="controls">
             <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
           </div>
-        </fieldset>
-        <fieldset class="form-actions">
+        </div>
+        <div class="form-actions">
           <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
           <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
-        </fieldset>
+        </div>
       </form>
     </div>
     <div class="span4">
@@ -960,19 +960,19 @@
     <div class="span8">
       <form class="form-horizontal">
         <legend>{{_i}}Form control states{{/i}}</legend>
-        <fieldset class="control-group">
+        <div class="control-group">
           <label class="control-label" for="focusedInput">{{_i}}Focused input{{/i}}</label>
           <div class="controls">
             <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="{{_i}}This is focused…{{/i}}">
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="disabledInput">{{_i}}Disabled input{{/i}}</label>
           <div class="controls">
             <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="{{_i}}Disabled input here…{{/i}}" disabled>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsCheckbox">{{_i}}Disabled checkbox{{/i}}</label>
           <div class="controls">
             <label class="checkbox">
@@ -980,29 +980,29 @@
               {{_i}}This is a disabled checkbox{{/i}}
             </label>
           </div>
-        </fieldset>
-        <fieldset class="control-group warning">
+        </div>
+        <div class="control-group warning">
           <label class="control-label" for="inputError">{{_i}}Input with warning{{/i}}</label>
           <div class="controls">
             <input type="text" name="inputError">
             <span class="help-inline">{{_i}}Something may have gone wrong{{/i}}</span>
           </div>
-        </fieldset>
-        <fieldset class="control-group error">
+        </div>
+        <div class="control-group error">
           <label class="control-label" for="inputError">{{_i}}Input with error{{/i}}</label>
           <div class="controls">
             <input type="text" name="inputError">
             <span class="help-inline">{{_i}}Please correct the error{{/i}}</span>
           </div>
-        </fieldset>
-        <fieldset class="control-group success">
+        </div>
+        <div class="control-group success">
           <label class="control-label" for="inputError">{{_i}}Input with success{{/i}}</label>
           <div class="controls">
             <input type="text" name="inputError">
             <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
           </div>
-        </fieldset>
-        <fieldset class="control-group success">
+        </div>
+        <div class="control-group success">
           <label class="control-label" for="selectError">{{_i}}Select with success{{/i}}</label>
           <div class="controls">
             <select name="selectError">
@@ -1014,11 +1014,11 @@
             </select>
             <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
           </div>
-        </fieldset>
-        <fieldset class="form-actions">
+        </div>
+        <div class="form-actions">
           <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
           <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
-        </fieldset>
+        </div>
       </form>
     </div>
     <div class="span4">
@@ -1044,7 +1044,7 @@
     <div class="span8">
       <form class="form-horizontal">
         <legend>{{_i}}Extending form controls{{/i}}</legend>
-        <fieldset class="control-group">
+        <div class="control-group">
           <label class="control-label">{{_i}}Form sizes{{/i}}</label>
           <div class="controls docs-input-sizes">
             <input class="span2" type="text" name="" placeholder=".span2">
@@ -1052,8 +1052,8 @@
             <input class="span4" type="text" name="" placeholder=".span4">
             <p class="help-block">{{_i}}Use the same <code>.span*</code> classes from the grid system for input sizes.{{/i}}</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="prependedInput">{{_i}}Prepended text{{/i}}</label>
           <div class="controls">
             <div class="input-prepend">
@@ -1062,8 +1062,8 @@
             </div>
             <p class="help-block">{{_i}}Here's some help text{{/i}}</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="appendedInput">{{_i}}Appended text{{/i}}</label>
           <div class="controls">
             <div class="input-append">
@@ -1072,8 +1072,8 @@
             </div>
             <p class="help-block">{{_i}}Here's more help text{{/i}}</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="inlineCheckboxes">{{_i}}Inline checkboxes{{/i}}</label>
           <div class="controls">
             <label class="checkbox inline">
@@ -1086,8 +1086,8 @@
               <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
             </label>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsCheckboxes">{{_i}}Checkboxes{{/i}}</label>
           <div class="controls">
             <label class="checkbox">
@@ -1104,8 +1104,8 @@
             </label>
             <p class="help-text">{{_i}}<strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.{{/i}}</p>
           </div>
-        </fieldset>
-        <fieldset class="control-group">
+        </div>
+        <div class="control-group">
           <label class="control-label" for="optionsRadios">{{_i}}Radio buttons{{/i}}</label>
           <div class="controls">
             <label class="radio">
@@ -1117,11 +1117,11 @@
               {{_i}}Option two can is something else and selecting it will deselect option one{{/i}}
             </label>
           </div>
-        </fieldset>
-        <fieldset class="form-actions">
+        </div>
+        <div class="form-actions">
           <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
           <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
-        </fieldset>
+        </div>
       </form>
     </div>
     <div class="span4">
-- 
GitLab


From 4ea63e5261ba0c10e2b729e2216105896108733b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 13:33:55 -0800
Subject: [PATCH 450/576] finish off the static stuff for build and download
 page

---
 docs/assets/css/docs.css                 |  39 ++--
 docs/assets/img/twitter-logo-no-bird.png | Bin 1509 -> 0 bytes
 docs/base-css.html                       | 252 ++++++++++++-----------
 docs/download.html                       |  28 ++-
 docs/templates/pages/base-css.mustache   | 252 ++++++++++++-----------
 docs/templates/pages/download.mustache   |  28 ++-
 6 files changed, 329 insertions(+), 270 deletions(-)
 delete mode 100644 docs/assets/img/twitter-logo-no-bird.png

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 600894f386..739ae1fc4d 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -125,7 +125,7 @@ section {
   margin-right: 0;
 }
 .subhead h1 {
-  font-size: 45px;
+  font-size: 54px;
 }
 
 /* Subnav */
@@ -168,10 +168,17 @@ section {
   color: #333;
 }
 .subnav .nav .active a {
-  background-color: #e5e5e5;
+  background-color: #e9e9e9;
+  border-right-color: #ddd;
+  border-left: 0;
+  padding-left: 13px;
+  -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.075);
+     -moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.075);
+          box-shadow: inset 0 3px 5px rgba(0,0,0,.075);
 }
 .subnav .nav li:first-child a {
   border-left: 0;
+  padding-left: 12px;
 }
 .subnav .nav li:last-child a {
   border-right: 0;
@@ -464,7 +471,6 @@ section {
   font-family: Menlo, Monaco, "Courier New", monospace;
   font-size: 12px;
   color: #d14;
-  background-color: #f7f7f9;
 }
 .download-builder input[type=text]:focus {
   background-color: #fff;
@@ -473,7 +479,6 @@ section {
 /* Custom, larger checkbox labels */
 .download .checkbox {
   padding: 6px 10px 6px 25px;
-  font-size: 14px;
   color: #555;
   background-color: #f9f9f9;
   -webkit-border-radius: 3px;
@@ -485,10 +490,6 @@ section {
   color: #333;
   background-color: #f5f5f5;
 }
-.download .checkbox input[type=checkbox] {
-  position: relative;
-  top: 1px;
-}
 .download .checkbox small {
   font-size: 12px;
   color: #777;
@@ -496,17 +497,23 @@ section {
 
 /* Giant download button */
 .download-btn {
-  pading: 18px 20px;
-  margin: 45px 0;
+  margin: 36px 0 108px;
+}
+.download p,
+.download h4 {
+  max-width: 50%;
+  margin: 0 auto 18px;
+  color: #999;
   text-align: center;
-  border: 1px solid #eee;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
+}
+.download-btn h4 {
+  margin-bottom: 0;
 }
 .btn.xlarge {
-  margin: 36px auto;
-  padding: 14px 24px;
+  display: block;
+  width: auto;
+  padding: 19px 24px;
+  margin-bottom: 27px;
   font-size: 30px;
   text-align: center;
   -webkit-border-radius: 6px;
diff --git a/docs/assets/img/twitter-logo-no-bird.png b/docs/assets/img/twitter-logo-no-bird.png
deleted file mode 100644
index 70b6573d7e292256256f919b6b0ca6fe02aa7d8e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1509
zcmV<B1seK^P)<h;3K|Lk000e1NJLTq002+`000yS1^@s68rZtm0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU%he<?1RCwC#SZhdQM-)zC)TmJdS_z8S
z7M~TY+xmj0DE(K_>ULceR75QZg>Ji06mhF-@t2k&3;wPZ1?@s<*@gWfShf4Z7Z^ok
zbwy)|Z^cC8JDPq+=gN3<^HAH+!VVl}?s?63=gypS=6cEg8%@RfGui*F$w6w++w9q3
zv)L>j1t6CvmzI{s&&<qNMn*=)F#jreZefC+5?wU=07mF-dVB@z>+8#xmX`h`YHDgK
z1qhj^2u-uGu`zCAZE$d~p7?}Az(n{Q+2`iwrq0jLzaSr7U0si8Gk6mJ`8ymRAMc)>
zo!N-?_V!lL%REI33k#nLa}#ZEZ;uk6;W+0JK3Zrgd!y0#J8wTUH1x42@e?VON~K!Z
zjedT9T2Jo&sHmtF{y88Z;6RLn@J&xo>!j?VAI?7q1qB6r`UET4QMy+1^75jXqdYx5
zwMfV)E~z0iIk45Bvp{Y|uLre)z5xz1WDlh9a7W%L-;tgpjO_6cSPuWO1;iK6a-eIp
zTCH=CYfDN>vLYiR)d2DmyjT2g$;imi6%`f5lZ+M!ax0S&=;YScR$X^@_bX;=0lN#l
z#j&xm)y~e&Ri=KW_4f8gCnhFliLr<mOhS)7;uMD=l#)(rYHDb4aWN$y8O;kU1`KI#
zgWUotl`59dG+ebnjeHs@2HM=AiHV7)<fN~!uU_EI&d$C-FB7Pvqa%BNe}9)`o12@j
z8yg#=1R0HqM>5hOUGgXJh?sAgyI7DsMxE&`FE5W578WLvPg*$4`N(WGuZZ=ChxpkJ
zofKL#0W<B=va+%QdQY((y~DZ9(b193U7DPn%voPw9~JRs0wE)|iuDB<8(+#uSIlF+
zWw*d$M>G#DwqCD)>Pi<M<aK_2{s)ACc3WLtT{#lkt}`3Oby9Y0Y^=r8Wx{Q-goTCe
z^z`(679Ss9AR#yL&w+t~(G3j^wZ6W-%9@&*k7{dcpWt{qEsYe{NZGBRelq&EN`h<n
zb{9*(LZSFEB_-t^&qsavQm519s#L1GZEbB2d0AXsTmcp_qN1YWA#Bx7e49Xxc1Z-K
zfj73T)lt?F2X5#q1$_iz1ur{1JoFN0N%7d7EQ%PEiyime6&BoN?xm%r{VLY;_xBIy
z^|V^8ZeU<QCxwd|lHhwGAt4`%_>G{)V&8U0I6FK04lRniM+w)kSnA0JF(HhXAx1?B
zW5letZhBl1tRvuGC2^Cn@y`~Eg|KUG8y-+$tYCL)Mf}H7x^_FTxw-lKwY9Z2wOTE%
z@u*gsg3QX>pd9!Ty6yP#q2b}-nY=6^A>lq`BWxE{@G=z3$9Q4M9f&Nq<m2NLA@K9^
z^1j72&kSFyA}m|HeR_KO7cDI<ThP;UrN*2X^TELZ`B^}Ta>~CTPS9V#)ywKrrw#G)
z;y#Yd^9*2fTp7@$C<DH#tgKAJ#NY9<-QC?ex;^l>8WC8jTh3i9suf4`nZVfD*%`xa
zBK73tq{G|WyVMnys;VlQ?<YrkRA=I-KFQ3?JmoPHe|UKK=c%cwIk8Q3b@g+UEX21-
z{CK%+!NC`o9=XY6N=85KPSw4&we<&L!{_*#2Dw~*<7*Rw?<4~B`&hsnsRg9M6?5pF
z&B3sI0$&sGmE>#@v3Qa0VqRQa?7|hZ#MJ_7G@8p8s0Wq16C3bybmXbJ&jN6>6J3)d
z8SEDEB6&29iHW&Vir^$1v9ZC`91IKn(#j*Bj`Scua}%>r_Pk3yu6H{Ej~|N@mxA?F
zh2H`F=H%m;@FgFxG3|~l34H_0R`0Mou1R#QYN!8yOpjVW?*sMM51hW9>9)JTVqkjW
z`7T~iq4-+DpUL5$U6tw=k=>QC-9O2j{7iV$WOh67O}k<HTYv!oBv?8tp)(AC00000
LNkvXXu0mjf8j|16

diff --git a/docs/base-css.html b/docs/base-css.html
index 60b5640dff..8340e0f60e 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1023,66 +1023,68 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>Form control states</legend>
-        <div class="control-group">
-          <label class="control-label" for="focusedInput">Focused input</label>
-          <div class="controls">
-            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused…">
+        <fieldset>
+          <legend>Form control states</legend>
+          <div class="control-group">
+            <label class="control-label" for="focusedInput">Focused input</label>
+            <div class="controls">
+              <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused…">
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="disabledInput">Disabled input</label>
-          <div class="controls">
-            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here…" disabled>
+          <div class="control-group">
+            <label class="control-label" for="disabledInput">Disabled input</label>
+            <div class="controls">
+              <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here…" disabled>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsCheckbox">Disabled checkbox</label>
-          <div class="controls">
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
-              This is a disabled checkbox
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="optionsCheckbox">Disabled checkbox</label>
+            <div class="controls">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
+                This is a disabled checkbox
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="control-group warning">
-          <label class="control-label" for="inputError">Input with warning</label>
-          <div class="controls">
-            <input type="text" name="inputError">
-            <span class="help-inline">Something may have gone wrong</span>
+          <div class="control-group warning">
+            <label class="control-label" for="inputError">Input with warning</label>
+            <div class="controls">
+              <input type="text" name="inputError">
+              <span class="help-inline">Something may have gone wrong</span>
+            </div>
           </div>
-        </div>
-        <div class="control-group error">
-          <label class="control-label" for="inputError">Input with error</label>
-          <div class="controls">
-            <input type="text" name="inputError">
-            <span class="help-inline">Please correct the error</span>
+          <div class="control-group error">
+            <label class="control-label" for="inputError">Input with error</label>
+            <div class="controls">
+              <input type="text" name="inputError">
+              <span class="help-inline">Please correct the error</span>
+            </div>
           </div>
-        </div>
-        <div class="control-group success">
-          <label class="control-label" for="inputError">Input with success</label>
-          <div class="controls">
-            <input type="text" name="inputError">
-            <span class="help-inline">Woohoo!</span>
+          <div class="control-group success">
+            <label class="control-label" for="inputError">Input with success</label>
+            <div class="controls">
+              <input type="text" name="inputError">
+              <span class="help-inline">Woohoo!</span>
+            </div>
           </div>
-        </div>
-        <div class="control-group success">
-          <label class="control-label" for="selectError">Select with success</label>
-          <div class="controls">
-            <select name="selectError">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
-            <span class="help-inline">Woohoo!</span>
+          <div class="control-group success">
+            <label class="control-label" for="selectError">Select with success</label>
+            <div class="controls">
+              <select name="selectError">
+                <option>1</option>
+                <option>2</option>
+                <option>3</option>
+                <option>4</option>
+                <option>5</option>
+              </select>
+              <span class="help-inline">Woohoo!</span>
+            </div>
           </div>
-        </div>
-        <div class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
-        </div>
+          <div class="form-actions">
+            <button type="submit" class="btn primary">Save changes</button>
+            <button type="reset" class="btn">Cancel</button>
+          </div>
+        </fieldset>
       </form>
     </div>
     <div class="span4">
@@ -1107,85 +1109,87 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>Extending form controls</legend>
-        <div class="control-group">
-          <label class="control-label">Form sizes</label>
-          <div class="controls docs-input-sizes">
-            <input class="span2" type="text" name="" placeholder=".span2">
-            <input class="span3" type="text" name="" placeholder=".span3">
-            <input class="span4" type="text" name="" placeholder=".span4">
-            <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
+        <fieldset>
+          <legend>Extending form controls</legend>
+          <div class="control-group">
+            <label class="control-label">Form sizes</label>
+            <div class="controls docs-input-sizes">
+              <input class="span2" type="text" name="" placeholder=".span2">
+              <input class="span3" type="text" name="" placeholder=".span3">
+              <input class="span4" type="text" name="" placeholder=".span4">
+              <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="prependedInput">Prepended text</label>
-          <div class="controls">
-            <div class="input-prepend">
-              <span class="add-on">@</span>
-              <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
+          <div class="control-group">
+            <label class="control-label" for="prependedInput">Prepended text</label>
+            <div class="controls">
+              <div class="input-prepend">
+                <span class="add-on">@</span>
+                <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
+              </div>
+              <p class="help-block">Here's some help text</p>
             </div>
-            <p class="help-block">Here's some help text</p>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="appendedInput">Appended text</label>
-          <div class="controls">
-            <div class="input-append">
-              <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
-              <span class="add-on">.00</span>
+          <div class="control-group">
+            <label class="control-label" for="appendedInput">Appended text</label>
+            <div class="controls">
+              <div class="input-append">
+                <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
+                <span class="add-on">.00</span>
+              </div>
+              <p class="help-block">Here's more help text</p>
             </div>
-            <p class="help-block">Here's more help text</p>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="inlineCheckboxes">Inline checkboxes</label>
-          <div class="controls">
-            <label class="checkbox inline">
-              <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
-            </label>
-            <label class="checkbox inline">
-              <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
-            </label>
-            <label class="checkbox inline">
-              <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="inlineCheckboxes">Inline checkboxes</label>
+            <div class="controls">
+              <label class="checkbox inline">
+                <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
+              </label>
+              <label class="checkbox inline">
+                <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
+              </label>
+              <label class="checkbox inline">
+                <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
-          <div class="controls">
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckboxes" value="option1">
-              Option one is this and that&mdash;be sure to include why it’s great
-            </label>
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckboxes" value="option2">
-              Option two can also be checked and included in form results
-            </label>
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckboxes" value="option3">
-              Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
-            </label>
-            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+          <div class="control-group">
+            <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
+            <div class="controls">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option1">
+                Option one is this and that&mdash;be sure to include why it’s great
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option2">
+                Option two can also be checked and included in form results
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option3">
+                Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
+              </label>
+              <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsRadios">Radio buttons</label>
-          <div class="controls">
-            <label class="radio">
-              <input type="radio" checked name="optionsRadios" value="option1">
-              Option one is this and that&mdash;be sure to include why it’s great
-            </label>
-            <label class="radio">
-              <input type="radio" name="optionsRadios" value="option2">
-              Option two can is something else and selecting it will deselect option one
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="optionsRadios">Radio buttons</label>
+            <div class="controls">
+              <label class="radio">
+                <input type="radio" checked name="optionsRadios" value="option1">
+                Option one is this and that&mdash;be sure to include why it’s great
+              </label>
+              <label class="radio">
+                <input type="radio" name="optionsRadios" value="option2">
+                Option two can is something else and selecting it will deselect option one
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
-        </div>
+          <div class="form-actions">
+            <button type="submit" class="btn primary">Save changes</button>
+            <button type="reset" class="btn">Cancel</button>
+          </div>
+        </fieldset>
       </form>
     </div>
     <div class="span4">
diff --git a/docs/download.html b/docs/download.html
index e873b5e740..d4c31ed4df 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -69,11 +69,19 @@
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
-  <h1>Download and customize Bootstrap</h1>
+  <h1>Download and customize</h1>
   <p class="lead"><a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.</p>
+  <div class="subnav">
+    <ul class="nav pills">
+      <li><a href="#components">1. Select components</a></li>
+      <li><a href="#variables">2. Modify variables</a></li>
+      <li><a href="#plugins">3. Select jQuery plugins</a></li>
+      <li><a href="#download">4. Build and download</a></li>
+    </ul>
+  </div>
 </header>
 
-<div class="download">
+<section class="download" id="components">
   <div class="page-header">
     <a class="pull-right toggle-all" href="#">Toggle all</a>
     <h1>
@@ -131,7 +139,9 @@
       <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
     </div><!-- /span -->
   </div><!-- /row -->
+</section>
 
+<section class="download" id="variables">
   <div class="page-header">
     <a class="pull-right toggle-all" href="#">Reset to defaults</a>
     <h1>
@@ -207,7 +217,9 @@
       <input type="text" class="span3" value="#bfe1f2">
     </div><!-- /span -->
   </div><!-- /row -->
+</section>
 
+<section class="download" id="plugins">
   <div class="page-header">
     <a class="pull-right toggle-all" href="#">Toggle all</a>
     <h1>
@@ -273,11 +285,21 @@
       <p class="muted">All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
     </div><!-- /span -->
   </div><!-- /row -->
+</section>
 
+<section class="download" id="download">
+  <div class="page-header">
+    <h1>
+      4. Download
+      <small></small>
+    </h1>
+  </div>
   <div class="download-btn">
     <a class="btn xlarge primary" href="#">Build and Download</a>
+    <h4>What's included?</h4>
+    <p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
   </div>
-</div><!-- /download -->
+</section><!-- /download -->
 
      <!-- Footer
       ================================================== -->
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 7a85d1138e..cbc0519e5a 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -959,66 +959,68 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>{{_i}}Form control states{{/i}}</legend>
-        <div class="control-group">
-          <label class="control-label" for="focusedInput">{{_i}}Focused input{{/i}}</label>
-          <div class="controls">
-            <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="{{_i}}This is focused…{{/i}}">
+        <fieldset>
+          <legend>{{_i}}Form control states{{/i}}</legend>
+          <div class="control-group">
+            <label class="control-label" for="focusedInput">{{_i}}Focused input{{/i}}</label>
+            <div class="controls">
+              <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="{{_i}}This is focused…{{/i}}">
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="disabledInput">{{_i}}Disabled input{{/i}}</label>
-          <div class="controls">
-            <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="{{_i}}Disabled input here…{{/i}}" disabled>
+          <div class="control-group">
+            <label class="control-label" for="disabledInput">{{_i}}Disabled input{{/i}}</label>
+            <div class="controls">
+              <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="{{_i}}Disabled input here…{{/i}}" disabled>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsCheckbox">{{_i}}Disabled checkbox{{/i}}</label>
-          <div class="controls">
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
-              {{_i}}This is a disabled checkbox{{/i}}
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="optionsCheckbox">{{_i}}Disabled checkbox{{/i}}</label>
+            <div class="controls">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
+                {{_i}}This is a disabled checkbox{{/i}}
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="control-group warning">
-          <label class="control-label" for="inputError">{{_i}}Input with warning{{/i}}</label>
-          <div class="controls">
-            <input type="text" name="inputError">
-            <span class="help-inline">{{_i}}Something may have gone wrong{{/i}}</span>
+          <div class="control-group warning">
+            <label class="control-label" for="inputError">{{_i}}Input with warning{{/i}}</label>
+            <div class="controls">
+              <input type="text" name="inputError">
+              <span class="help-inline">{{_i}}Something may have gone wrong{{/i}}</span>
+            </div>
           </div>
-        </div>
-        <div class="control-group error">
-          <label class="control-label" for="inputError">{{_i}}Input with error{{/i}}</label>
-          <div class="controls">
-            <input type="text" name="inputError">
-            <span class="help-inline">{{_i}}Please correct the error{{/i}}</span>
+          <div class="control-group error">
+            <label class="control-label" for="inputError">{{_i}}Input with error{{/i}}</label>
+            <div class="controls">
+              <input type="text" name="inputError">
+              <span class="help-inline">{{_i}}Please correct the error{{/i}}</span>
+            </div>
           </div>
-        </div>
-        <div class="control-group success">
-          <label class="control-label" for="inputError">{{_i}}Input with success{{/i}}</label>
-          <div class="controls">
-            <input type="text" name="inputError">
-            <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
+          <div class="control-group success">
+            <label class="control-label" for="inputError">{{_i}}Input with success{{/i}}</label>
+            <div class="controls">
+              <input type="text" name="inputError">
+              <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
+            </div>
           </div>
-        </div>
-        <div class="control-group success">
-          <label class="control-label" for="selectError">{{_i}}Select with success{{/i}}</label>
-          <div class="controls">
-            <select name="selectError">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
-            <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
+          <div class="control-group success">
+            <label class="control-label" for="selectError">{{_i}}Select with success{{/i}}</label>
+            <div class="controls">
+              <select name="selectError">
+                <option>1</option>
+                <option>2</option>
+                <option>3</option>
+                <option>4</option>
+                <option>5</option>
+              </select>
+              <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
+            </div>
           </div>
-        </div>
-        <div class="form-actions">
-          <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
-          <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
-        </div>
+          <div class="form-actions">
+            <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
+            <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
+          </div>
+        </fieldset>
       </form>
     </div>
     <div class="span4">
@@ -1043,85 +1045,87 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>{{_i}}Extending form controls{{/i}}</legend>
-        <div class="control-group">
-          <label class="control-label">{{_i}}Form sizes{{/i}}</label>
-          <div class="controls docs-input-sizes">
-            <input class="span2" type="text" name="" placeholder=".span2">
-            <input class="span3" type="text" name="" placeholder=".span3">
-            <input class="span4" type="text" name="" placeholder=".span4">
-            <p class="help-block">{{_i}}Use the same <code>.span*</code> classes from the grid system for input sizes.{{/i}}</p>
+        <fieldset>
+          <legend>{{_i}}Extending form controls{{/i}}</legend>
+          <div class="control-group">
+            <label class="control-label">{{_i}}Form sizes{{/i}}</label>
+            <div class="controls docs-input-sizes">
+              <input class="span2" type="text" name="" placeholder=".span2">
+              <input class="span3" type="text" name="" placeholder=".span3">
+              <input class="span4" type="text" name="" placeholder=".span4">
+              <p class="help-block">{{_i}}Use the same <code>.span*</code> classes from the grid system for input sizes.{{/i}}</p>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="prependedInput">{{_i}}Prepended text{{/i}}</label>
-          <div class="controls">
-            <div class="input-prepend">
-              <span class="add-on">@</span>
-              <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
+          <div class="control-group">
+            <label class="control-label" for="prependedInput">{{_i}}Prepended text{{/i}}</label>
+            <div class="controls">
+              <div class="input-prepend">
+                <span class="add-on">@</span>
+                <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
+              </div>
+              <p class="help-block">{{_i}}Here's some help text{{/i}}</p>
             </div>
-            <p class="help-block">{{_i}}Here's some help text{{/i}}</p>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="appendedInput">{{_i}}Appended text{{/i}}</label>
-          <div class="controls">
-            <div class="input-append">
-              <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
-              <span class="add-on">.00</span>
+          <div class="control-group">
+            <label class="control-label" for="appendedInput">{{_i}}Appended text{{/i}}</label>
+            <div class="controls">
+              <div class="input-append">
+                <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
+                <span class="add-on">.00</span>
+              </div>
+              <p class="help-block">{{_i}}Here's more help text{{/i}}</p>
             </div>
-            <p class="help-block">{{_i}}Here's more help text{{/i}}</p>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="inlineCheckboxes">{{_i}}Inline checkboxes{{/i}}</label>
-          <div class="controls">
-            <label class="checkbox inline">
-              <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
-            </label>
-            <label class="checkbox inline">
-              <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
-            </label>
-            <label class="checkbox inline">
-              <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="inlineCheckboxes">{{_i}}Inline checkboxes{{/i}}</label>
+            <div class="controls">
+              <label class="checkbox inline">
+                <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
+              </label>
+              <label class="checkbox inline">
+                <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
+              </label>
+              <label class="checkbox inline">
+                <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsCheckboxes">{{_i}}Checkboxes{{/i}}</label>
-          <div class="controls">
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckboxes" value="option1">
-              {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
-            </label>
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckboxes" value="option2">
-              {{_i}}Option two can also be checked and included in form results{{/i}}
-            </label>
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckboxes" value="option3">
-              {{_i}}Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results{{/i}}
-            </label>
-            <p class="help-text">{{_i}}<strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.{{/i}}</p>
+          <div class="control-group">
+            <label class="control-label" for="optionsCheckboxes">{{_i}}Checkboxes{{/i}}</label>
+            <div class="controls">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option1">
+                {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option2">
+                {{_i}}Option two can also be checked and included in form results{{/i}}
+              </label>
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckboxes" value="option3">
+                {{_i}}Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results{{/i}}
+              </label>
+              <p class="help-text">{{_i}}<strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.{{/i}}</p>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsRadios">{{_i}}Radio buttons{{/i}}</label>
-          <div class="controls">
-            <label class="radio">
-              <input type="radio" checked name="optionsRadios" value="option1">
-              {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
-            </label>
-            <label class="radio">
-              <input type="radio" name="optionsRadios" value="option2">
-              {{_i}}Option two can is something else and selecting it will deselect option one{{/i}}
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="optionsRadios">{{_i}}Radio buttons{{/i}}</label>
+            <div class="controls">
+              <label class="radio">
+                <input type="radio" checked name="optionsRadios" value="option1">
+                {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
+              </label>
+              <label class="radio">
+                <input type="radio" name="optionsRadios" value="option2">
+                {{_i}}Option two can is something else and selecting it will deselect option one{{/i}}
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="form-actions">
-          <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
-          <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
-        </div>
+          <div class="form-actions">
+            <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
+            <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
+          </div>
+        </fieldset>
       </form>
     </div>
     <div class="span4">
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 453bf11418..216098bad0 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -5,11 +5,19 @@
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
-  <h1>{{_i}}Download and customize Bootstrap{{/i}}</h1>
+  <h1>{{_i}}Download and customize{{/i}}</h1>
   <p class="lead">{{_i}}<a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.{{/i}}</p>
+  <div class="subnav">
+    <ul class="nav pills">
+      <li><a href="#components">{{_i}}1. Select components{{/i}}</a></li>
+      <li><a href="#variables">{{_i}}2. Modify variables{{/i}}</a></li>
+      <li><a href="#plugins">{{_i}}3. Select jQuery plugins{{/i}}</a></li>
+      <li><a href="#download">{{_i}}4. Build and download{{/i}}</a></li>
+    </ul>
+  </div>
 </header>
 
-<div class="download">
+<section class="download" id="components">
   <div class="page-header">
     <a class="pull-right toggle-all" href="#">Toggle all</a>
     <h1>
@@ -67,7 +75,9 @@
       <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
     </div><!-- /span -->
   </div><!-- /row -->
+</section>
 
+<section class="download" id="variables">
   <div class="page-header">
     <a class="pull-right toggle-all" href="#">Reset to defaults</a>
     <h1>
@@ -143,7 +153,9 @@
       <input type="text" class="span3" value="#bfe1f2">
     </div><!-- /span -->
   </div><!-- /row -->
+</section>
 
+<section class="download" id="plugins">
   <div class="page-header">
     <a class="pull-right toggle-all" href="#">Toggle all</a>
     <h1>
@@ -209,8 +221,18 @@
       <p class="muted">{{_i}}All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p>
     </div><!-- /span -->
   </div><!-- /row -->
+</section>
 
+<section class="download" id="download">
+  <div class="page-header">
+    <h1>
+      4. Download
+      <small></small>
+    </h1>
+  </div>
   <div class="download-btn">
     <a class="btn xlarge primary" href="#">Build and Download</a>
+    <h4>What's included?</h4>
+    <p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
   </div>
-</div><!-- /download -->
+</section><!-- /download -->
-- 
GitLab


From 7ca3b98d885071bc032ca28e20452ad879cea422 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 13:56:44 -0800
Subject: [PATCH 451/576] docs fixes

---
 docs/assets/css/docs.css               |  6 +++---
 docs/download.html                     |  4 ++--
 docs/index.html                        | 30 +++++++++++++-------------
 docs/templates/pages/download.mustache |  4 ++--
 docs/templates/pages/index.mustache    | 30 +++++++++++++-------------
 5 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 739ae1fc4d..b70b039f20 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -266,12 +266,12 @@ section {
 .marketing p {
   margin-right: 10px;
 }
-.marketing .icon {
+.marketing .bs-icon {
   float: left;
   margin: 7px 10px 0 0;
   opacity: .8;
 }
-.marketing .small-icon {
+.marketing .small-bs-icon {
   float: left;
   margin: 4px 5px 0 0;
 }
@@ -497,7 +497,7 @@ section {
 
 /* Giant download button */
 .download-btn {
-  margin: 36px 0 108px;
+  margin: 36px 0 108px.i;
 }
 .download p,
 .download h4 {
diff --git a/docs/download.html b/docs/download.html
index d4c31ed4df..7b045ae8ef 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -76,7 +76,7 @@
       <li><a href="#components">1. Select components</a></li>
       <li><a href="#variables">2. Modify variables</a></li>
       <li><a href="#plugins">3. Select jQuery plugins</a></li>
-      <li><a href="#download">4. Build and download</a></li>
+      <li><a href="#download">4. Customize and download</a></li>
     </ul>
   </div>
 </header>
@@ -295,7 +295,7 @@
     </h1>
   </div>
   <div class="download-btn">
-    <a class="btn xlarge primary" href="#">Build and Download</a>
+    <a class="btn xlarge primary" href="#">Customize and Download</a>
     <h4>What's included?</h4>
     <p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
   </div>
diff --git a/docs/index.html b/docs/index.html
index 0835c46472..b866da87c6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -71,8 +71,8 @@
             <h1>Bootstrap,<br> from Twitter</h1>
             <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
             <p class="download-info">
-              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">Download on GitHub</a>
-              <a href="./scaffolding.html" class="btn btn-large">Get started &rarr;</a>
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">View on GitHub</a>
+              <a href="./download.html" class="btn btn-large">Customize and Download</a>
             </p>
 
             <div class="benefits">
@@ -138,73 +138,73 @@
           <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
           <div class="row">
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_042_group.png">
               <h2>Built for and by nerds</h2>
               <p>Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
               <h2>For all skill levels</h2>
               <p>Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
               <h2>Cross-everything</h2>
               <p>Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
               <h2>12-column grid</h2>
               <p>Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
               <h2>Responsive design</h2>
               <p>With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
               <h2>Styleguide docs</h2>
               <p>Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
               <h2>Growing library</h2>
               <p>Despite being only 10kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
               <h2>Custom jQuery plugins</h2>
               <p>What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/less-small.png">
+              <img class="bs-icon" src="assets/img/less-small.png">
               <h2>Built on LESS</h2>
               <p>Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-html5.png">
+              <img class="small-bs-iconn" src="assets/img/icon-html5.png">
               <h3>HTML5</h3>
               <p>Built to support new HTML5 elements and syntax.</p>
             </div>
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-css3.png">
+              <img class="small-bs-iconn" src="assets/img/icon-css3.png">
               <h3>CSS3</h3>
               <p>Progressively enhanced components for ultimate style.</p>
             </div>
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-github.png">
+              <img class="small-bs-iconn" src="assets/img/icon-github.png">
               <h3>Open-source</h3>
               <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
             </div>
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-twitter.png">
+              <img class="small-bs-iconn" src="assets/img/icon-twitter.png">
               <h3>Made at Twitter</h3>
               <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
             </div>
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 216098bad0..f5964dc352 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -12,7 +12,7 @@
       <li><a href="#components">{{_i}}1. Select components{{/i}}</a></li>
       <li><a href="#variables">{{_i}}2. Modify variables{{/i}}</a></li>
       <li><a href="#plugins">{{_i}}3. Select jQuery plugins{{/i}}</a></li>
-      <li><a href="#download">{{_i}}4. Build and download{{/i}}</a></li>
+      <li><a href="#download">{{_i}}4. Customize and download{{/i}}</a></li>
     </ul>
   </div>
 </header>
@@ -231,7 +231,7 @@
     </h1>
   </div>
   <div class="download-btn">
-    <a class="btn xlarge primary" href="#">Build and Download</a>
+    <a class="btn xlarge primary" href="#">Customize and Download</a>
     <h4>What's included?</h4>
     <p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
   </div>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index c3f725a05d..ff486bc7b9 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -7,8 +7,8 @@
             <h1>{{_i}}Bootstrap,<br> from Twitter{{/i}}</h1>
             <p class="lead">{{_i}}Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.{{/i}}</p>
             <p class="download-info">
-              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}Download on GitHub{{/i}}</a>
-              <a href="./scaffolding.html" class="btn btn-large">{{_i}}Get started &rarr;{{/i}}</a>
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}View on GitHub{{/i}}</a>
+              <a href="./download.html" class="btn btn-large">{{_i}}Customize and Download{{/i}}</a>
             </p>
 
             <div class="benefits">
@@ -74,73 +74,73 @@
           <p class="marketing-byline">{{_i}}Need reasons to love Bootstrap? Look no further.{{/i}}</p>
           <div class="row">
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_042_group.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_042_group.png">
               <h2>{{_i}}Built for and by nerds{{/i}}</h2>
               <p>{{_i}}Like you, we love building awesome products on the web. We love it so much, we decided to help people just like us do it easier, better, and faster. Bootstrap is built for you.{{/i}}</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_079_podium.png">
               <h2>{{_i}}For all skill levels{{/i}}</h2>
               <p>{{_i}}Bootstrap is designed to help people of all skill level&mdash;designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.{{/i}}</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_163_iphone.png">
               <h2>{{_i}}Cross-everything{{/i}}</h2>
               <p>{{_i}}Originally built with only modern browsers in mind, Bootstrap has evolved to include support for all major browsers (even IE7!) and, with Bootstrap 2, tablets and smartphones, too.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_155_show_thumbnails.png">
               <h2>{{_i}}12-column grid{{/i}}</h2>
               <p>{{_i}}Grid systems aren't everything, but having a durable and flexible one at the core of your work can make development much simpler. Use our built-in grid classes or roll your own.{{/i}}</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_214_resize_small.png">
               <h2>{{_i}}Responsive design{{/i}}</h2>
               <p>{{_i}}With Bootstrap 2, we've gone fully responsive. Our components are scaled according to a range of resolutions and devices to provide a consistent experience, no matter what.{{/i}}</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_266_book_open.png">
               <h2>{{_i}}Styleguide docs{{/i}}</h2>
               <p>{{_i}}Unlike other front-end toolkits, Bootstrap was designed first and foremost as a styleguide to document not only our features, but best practices and living, coded examples.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_082_roundabout.png">
               <h2>{{_i}}Growing library{{/i}}</h2>
               <p>{{_i}}Despite being only 10kb (gzipped), Bootstrap is one of the most complete front-end toolkits out there with dozens of fully functional components ready to be put to use.{{/i}}</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
+              <img class="bs-icon" src="assets/img/glyphicons/glyphicons_009_magic.png">
               <h2>{{_i}}Custom jQuery plugins{{/i}}</h2>
               <p>{{_i}}What good is an awesome design component without easy-to-use, proper, and extensible interactions? With Bootstrap, you get custom-built jQuery plugins to bring your projects to life.{{/i}}</p>
             </div>
             <div class="span4">
-              <img class="icon" src="assets/img/less-small.png">
+              <img class="bs-icon" src="assets/img/less-small.png">
               <h2>{{_i}}Built on LESS{{/i}}</h2>
               <p>{{_i}}Where vanilla CSS falters, LESS excels. Variables, nesting, operations, and mixins in LESS makes coding CSS faster and more efficient with minimal overhead.{{/i}}</p>
             </div>
           </div><!--/row-->
           <div class="row">
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-html5.png">
+              <img class="small-bs-iconn" src="assets/img/icon-html5.png">
               <h3>HTML5</h3>
               <p>{{_i}}Built to support new HTML5 elements and syntax.{{/i}}</p>
             </div>
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-css3.png">
+              <img class="small-bs-iconn" src="assets/img/icon-css3.png">
               <h3>CSS3</h3>
               <p>{{_i}}Progressively enhanced components for ultimate style.{{/i}}</p>
             </div>
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-github.png">
+              <img class="small-bs-iconn" src="assets/img/icon-github.png">
               <h3>{{_i}}Open-source{{/i}}</h3>
               <p>{{_i}}Built for and maintained by the community via <a href="https://github.com">GitHub</a>.{{/i}}</p>
             </div>
             <div class="span3">
-              <img class="small-icon" src="assets/img/icon-twitter.png">
+              <img class="small-bs-iconn" src="assets/img/icon-twitter.png">
               <h3>{{_i}}Made at Twitter{{/i}}</h3>
               <p>{{_i}}Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.{{/i}}</p>
             </div>
-- 
GitLab


From 7d83f45ebbadf7d100b56f944718763a6ce3e55c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 14:08:51 -0800
Subject: [PATCH 452/576] start filling out mixins tables

---
 docs/less.html                     | 46 +++++++++++++++---------------
 docs/templates/pages/less.mustache | 46 +++++++++++++++---------------
 2 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/docs/less.html b/docs/less.html
index c77ba9706f..23c2c53c65 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -411,7 +411,7 @@
     </div><!-- /span4 -->
     <div class="span4">
       <h3>Parametric mixins</h3>
-      <p>A parametric mixin is just like a basic mixin, but it also accepts optional paramaters (hence the name).</p>
+      <p>A parametric mixin is just like a basic mixin, but it also accepts optional Parameters (hence the name).</p>
 <pre class="prettyprint linenums">
   Coming soon!
 </pre>
@@ -428,45 +428,45 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.clearfix()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Add to any parent to clear floats within</td>
       </tr>
       <tr>
         <td><code>.center-block()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Auto center a block-level element using <code>margin: auto</code></td>
       </tr>
       <tr>
         <td><code>.ie7-inline-block()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Use in addition to regular <code>display: inline-block</code> to get IE7 support</td>
       </tr>
       <tr>
         <td><code>.size()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@height: 5px, @width: 5px</code></td>
+        <td>Quickly set the height and width on one line</td>
       </tr>
       <tr>
         <td><code>.square()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: 5px</code></td>
+        <td>Builds on <code>.size()</code> to set the width and height as same value</td>
       </tr>
       <tr>
         <td><code>.opacity()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@opacity: 100</code></td>
+        <td>Set, in whole numbers, the opacity percentage (e.g., "50" or "75")</td>
       </tr>
       <tr>
         <td><code>.reset-filter()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Resets any IE filter</td>
       </tr>
     </tbody>
   </table>
@@ -475,15 +475,15 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.placeholder()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color: @placeholderText</code></td>
+        <td>Set the <code>placeholder</code> text color for inputs</td>
       </tr>
     </tbody>
   </table>
@@ -492,7 +492,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
@@ -539,7 +539,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
@@ -571,7 +571,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
@@ -648,7 +648,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 0889592eb2..51d2295def 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -347,7 +347,7 @@
     </div><!-- /span4 -->
     <div class="span4">
       <h3>Parametric mixins</h3>
-      <p>A parametric mixin is just like a basic mixin, but it also accepts optional paramaters (hence the name).</p>
+      <p>A parametric mixin is just like a basic mixin, but it also accepts optional Parameters (hence the name).</p>
 <pre class="prettyprint linenums">
   Coming soon!
 </pre>
@@ -364,45 +364,45 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.clearfix()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Add to any parent to clear floats within</td>
       </tr>
       <tr>
         <td><code>.center-block()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Auto center a block-level element using <code>margin: auto</code></td>
       </tr>
       <tr>
         <td><code>.ie7-inline-block()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Use in addition to regular <code>display: inline-block</code> to get IE7 support</td>
       </tr>
       <tr>
         <td><code>.size()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@height: 5px, @width: 5px</code></td>
+        <td>Quickly set the height and width on one line</td>
       </tr>
       <tr>
         <td><code>.square()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: 5px</code></td>
+        <td>Builds on <code>.size()</code> to set the width and height as same value</td>
       </tr>
       <tr>
         <td><code>.opacity()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@opacity: 100</code></td>
+        <td>Set, in whole numbers, the opacity percentage (e.g., "50" or "75")</td>
       </tr>
       <tr>
         <td><code>.reset-filter()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Resets any IE filter</td>
       </tr>
     </tbody>
   </table>
@@ -411,15 +411,15 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.placeholder()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color: @placeholderText</code></td>
+        <td>Set the <code>placeholder</code> text color for inputs</td>
       </tr>
     </tbody>
   </table>
@@ -428,7 +428,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
@@ -475,7 +475,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
@@ -507,7 +507,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
@@ -584,7 +584,7 @@
     <thead>
       <tr>
         <th class="span4">Mixin</th>
-        <th>Paramaters</th>
+        <th>Parameters</th>
         <th>Usage</th>
       </tr>
     </thead>
-- 
GitLab


From 0777e391ee19cbc3bda7637dcbb17b5b171afac5 Mon Sep 17 00:00:00 2001
From: Krister Kari <krister.kari@webtehdas.fi>
Date: Thu, 26 Jan 2012 01:03:36 +0200
Subject: [PATCH 453/576] Drop khtml gradient, shorten old webkit gradient

---
 lib/mixins.less | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/lib/mixins.less b/lib/mixins.less
index e64b80ad36..793c000ab9 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -279,10 +279,9 @@
 #gradient {
   .horizontal(@startColor: #555, @endColor: #333) {
     background-color: @endColor;
-    background-image: -khtml-gradient(linear, left top, right top, from(@startColor), to(@endColor)); // Konqueror
     background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
     background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10
-    background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
+    background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
     background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
     background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
     background-image: linear-gradient(left, @startColor, @endColor); // Le standard
@@ -291,10 +290,9 @@
   }
   .vertical(@startColor: #555, @endColor: #333) {
     background-color: @endColor;
-    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
     background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
     background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
     background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
     background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
     background-image: linear-gradient(top, @startColor, @endColor); // The standard
-- 
GitLab


From b6b7d1343b74713a60e86401d8b625f097a7b8dc Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 15:03:44 -0800
Subject: [PATCH 454/576] finish the rest of the less page mixins docs

---
 docs/less.html                            | 147 ++++++++-------
 docs/scaffolding.html                     |   2 +-
 docs/templates/pages/less.mustache        | 217 +++++++++++-----------
 docs/templates/pages/scaffolding.mustache |   2 +-
 lib/mixins.less                           |  35 +---
 lib/scaffolding.less                      |   2 +-
 6 files changed, 193 insertions(+), 212 deletions(-)

diff --git a/docs/less.html b/docs/less.html
index 23c2c53c65..f6321fc69b 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -406,14 +406,18 @@
       <h3>Basic mixins</h3>
       <p>A basic mixin is essentially an include or a partial for a snippet of CSS. They're written just like a CSS class and can be called anywhere.</p>
 <pre class="prettyprint linenums">
-  Coming soon!
+.element {
+  .clearfix();
+}
 </pre>
     </div><!-- /span4 -->
     <div class="span4">
       <h3>Parametric mixins</h3>
-      <p>A parametric mixin is just like a basic mixin, but it also accepts optional Parameters (hence the name).</p>
+      <p>A parametric mixin is just like a basic mixin, but it also accepts parameters (hence the name) with optional default values.</p>
 <pre class="prettyprint linenums">
-  Coming soon!
+.element {
+  .border-radius(4px);
+}
 </pre>
     </div><!-- /span4 -->
     <div class="span4">
@@ -499,38 +503,38 @@
     <tbody>
       <tr>
         <td><code>#font > #family > .serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Make an element use a serif font stack</td>
       </tr>
       <tr>
         <td><code>#font > #family > .sans-serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Make an element use a sans-serif font stack</td>
       </tr>
       <tr>
         <td><code>#font > #family > .monospace()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Make an element use a monospace font stack</td>
       </tr>
       <tr>
         <td><code>#font > .shorthand()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>Easily set font size, weight, and leading</td>
       </tr>
       <tr>
         <td><code>#font > .serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>Set font family to serif, and control size, weight, and leading</td>
       </tr>
       <tr>
         <td><code>#font > .sans-serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>Set font family to sans-serif, and control size, weight, and leading</td>
       </tr>
       <tr>
         <td><code>#font > .monospace()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>Set font family to monospace, and control size, weight, and leading</td>
       </tr>
     </tbody>
   </table>
@@ -545,24 +549,24 @@
     </thead>
     <tbody>
       <tr>
-        <td><code>.fixed-container()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>.container-fixed()</code></td>
+        <td><em class="muted">none</em></td>
+        <td>Provide a fixed-width (set with <code>@siteWidth</code>) container for holding your content</td>
       </tr>
       <tr>
         <td><code>.columns()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@columns: 1</code></td>
+        <td>Build a grid column that spans any number of columns (defaults to 1 column)</td>
       </tr>
       <tr>
         <td><code>.offset()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@columns: 1</code></td>
+        <td>Offset a grid column with left margin that spans any number of columns</td>
       </tr>
       <tr>
         <td><code>.gridColumn()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>Make an element float like a grid column</td>
       </tr>
     </tbody>
   </table>
@@ -570,7 +574,7 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th class="span4">Mixin</th>
+        <th class="span3">Mixin</th>
         <th>Parameters</th>
         <th>Usage</th>
       </tr>
@@ -578,68 +582,63 @@
     <tbody>
       <tr>
         <td><code>.border-radius()</code></td>
-        <td></td>
-        <td></td>
-      </tr>
-      <tr>
-        <td><code>.border-radius-custom()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@radius: 5px</code></td>
+        <td>Round the corners of an element. Can be a single value or four space-separated values</td>
       </tr>
       <tr>
         <td><code>.box-shadow()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@shadow: 0 1px 3px rgba(0,0,0,.25)</code></td>
+        <td>Add a drop shadow to an element</td>
       </tr>
       <tr>
         <td><code>.transition()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@transition</code></td>
+        <td>Add CSS3 transition effect (e.g., <code>all .2s linear</code>)</td>
       </tr>
       <tr>
         <td><code>.rotate()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@degrees</code></td>
+        <td>Rotate an element <em>n</em> degrees</td>
       </tr>
       <tr>
         <td><code>.scale()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@ratio</code></td>
+        <td>Scale an element to <em>n</em> times it's original size</td>
       </tr>
       <tr>
         <td><code>.translate()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@x: 0, @y: 0</code></td>
+        <td>Move an element on the x and y planes</td>
       </tr>
       <tr>
         <td><code>.background-clip()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@clip</code></td>
+        <td>Crop the backgroud of an element (useful for <code>border-radius</code>)</td>
       </tr>
       <tr>
         <td><code>.background-size()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size</code></td>
+        <td>Control the size of background images via CSS3</td>
       </tr>
       <tr>
         <td><code>.box-sizing()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@boxmodel</code></td>
+        <td>Change the box model for an element (e.g., <code>border-box</code> for a full-width <code>input</code>)</td>
       </tr>
       <tr>
         <td><code>.user-select()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@select</code></td>
+        <td>Control cursor selection of text on a page</td>
       </tr>
       <tr>
         <td><code>.resizable()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@direction: both</code></td>
+        <td>Make any element resizable on the right and bottom</td>
       </tr>
       <tr>
         <td><code>.content-columns()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@columnCount, @columnGap: @gridColumnGutter</code></td>
+        <td>Make the content of any element use CSS3 columns</td>
       </tr>
     </tbody>
   </table>
@@ -655,48 +654,48 @@
     <tbody>
       <tr>
         <td><code>.#translucent > .background()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color: @white, @alpha: 1</code></td>
+        <td>Give an element a translucent background color</td>
       </tr>
       <tr>
         <td><code>.#translucent > .border()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color: @white, @alpha: 1</code></td>
+        <td>Give an element a translucent border color</td>
       </tr>
       <tr>
         <td><code>.#gradient > .vertical()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @endColor</code></td>
+        <td>Create a cross-browser vertical background gradient</td>
       </tr>
       <tr>
         <td><code>.#gradient > .horizontal()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @endColor</code></td>
+        <td>Create a cross-browser horizontal background gradient</td>
       </tr>
       <tr>
         <td><code>.#gradient > .directional()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @endColor, @deg</code></td>
+        <td>Create a cross-browser directional background gradient</td>
       </tr>
       <tr>
         <td><code>.#gradient > .vertical-three-colors()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @midColor, @colorStop, @endColor</code></td>
+        <td>Create a cross-browser three-color background gradient</td>
       </tr>
       <tr>
         <td><code>.#gradient > .radial()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@innerColor, @outerColor</code></td>
+        <td>Create a cross-browser radial background gradient</td>
       </tr>
       <tr>
         <td><code>.#gradient > .striped()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color, @angle</code></td>
+        <td>Create a cross-browser striped background gradient</td>
       </tr>
       <tr>
         <td><code>.#gradientBar()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@primaryColor, @secondaryColor</code></td>
+        <td>Used for buttons to assign a gradient and slightly darker border</td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 8245f860cc..2ba8d5d7ad 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -212,7 +212,7 @@
       <tr>
         <td><code>@siteWidth</code></td>
         <td><em>Computed sum of all columns and gutters</em></td>
-        <td>Counts number of columns and gutters to set width of the <code>.fixed-container()</code> mixin</td>
+        <td>Counts number of columns and gutters to set width of the <code>.container-fixed()</code> mixin</td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 51d2295def..f2c2668421 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -270,7 +270,7 @@
       </table>
     </div>
     <div class="span6">
-      <h4>Form states and alerts</h4>
+      <h4>{{_i}}Form states and alerts{{/i}}</h4>
       <table class="table table-bordered table-striped">
         <tbody>
           <tr>
@@ -336,73 +336,77 @@
   <div class="page-header">
     <h1>{{_i}}Bootstrap mixins <small></small>{{/i}}</h1>
   </div>
-  <h2>About mixins</h2>
+  <h2>{{_i}}About mixins{{/i}}</h2>
   <div class="row">
     <div class="span4">
-      <h3>Basic mixins</h3>
-      <p>A basic mixin is essentially an include or a partial for a snippet of CSS. They're written just like a CSS class and can be called anywhere.</p>
+      <h3>{{_i}}Basic mixins{{/i}}</h3>
+      <p>{{_i}}A basic mixin is essentially an include or a partial for a snippet of CSS. They're written just like a CSS class and can be called anywhere.{{/i}}</p>
 <pre class="prettyprint linenums">
-  Coming soon!
+.element {
+  .clearfix();
+}
 </pre>
     </div><!-- /span4 -->
     <div class="span4">
-      <h3>Parametric mixins</h3>
-      <p>A parametric mixin is just like a basic mixin, but it also accepts optional Parameters (hence the name).</p>
+      <h3>{{_i}}Parametric mixins{{/i}}</h3>
+      <p>{{_i}}A parametric mixin is just like a basic mixin, but it also accepts parameters (hence the name) with optional default values.{{/i}}</p>
 <pre class="prettyprint linenums">
-  Coming soon!
+.element {
+  .border-radius(4px);
+}
 </pre>
     </div><!-- /span4 -->
     <div class="span4">
-      <h3>Easily add your own</h3>
-      <p>Nearly all of Bootstrap's mixins are stored in mixins.less, a wonderful utility .less file that enables you to use a mixin in any of the .less files in the toolkit.</p>
-      <p>So, go ahead and use the existing ones or feel free to add your own as you need.</p>
+      <h3>{{_i}}Easily add your own{{/i}}</h3>
+      <p>{{_i}}Nearly all of Bootstrap's mixins are stored in mixins.less, a wonderful utility .less file that enables you to use a mixin in any of the .less files in the toolkit.{{/i}}</p>
+      <p>{{_i}}So, go ahead and use the existing ones or feel free to add your own as you need.{{/i}}</p>
     </div><!-- /span4 -->
   </div><!-- /row -->
-  <h2>Included mixins</h2>
-  <h3>Utilities</h3>
+  <h2>{{_i}}Included mixins{{/i}}</h2>
+  <h3>{{_i}}Utilities{{/i}}</h3>
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th class="span4">Mixin</th>
-        <th>Parameters</th>
-        <th>Usage</th>
+        <th class="span4">{{_i}}Mixin{{/i}}</th>
+        <th>{{_i}}Parameters{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.clearfix()</code></td>
         <td><em class="muted">none</em></td>
-        <td>Add to any parent to clear floats within</td>
+        <td>{{_i}}Add to any parent to clear floats within{{/i}}</td>
       </tr>
       <tr>
         <td><code>.center-block()</code></td>
         <td><em class="muted">none</em></td>
-        <td>Auto center a block-level element using <code>margin: auto</code></td>
+        <td>{{_i}}Auto center a block-level element using <code>margin: auto</code>{{/i}}</td>
       </tr>
       <tr>
         <td><code>.ie7-inline-block()</code></td>
         <td><em class="muted">none</em></td>
-        <td>Use in addition to regular <code>display: inline-block</code> to get IE7 support</td>
+        <td>{{_i}}Use in addition to regular <code>display: inline-block</code> to get IE7 support{{/i}}</td>
       </tr>
       <tr>
         <td><code>.size()</code></td>
         <td><code>@height: 5px, @width: 5px</code></td>
-        <td>Quickly set the height and width on one line</td>
+        <td>{{_i}}Quickly set the height and width on one line{{/i}}</td>
       </tr>
       <tr>
         <td><code>.square()</code></td>
         <td><code>@size: 5px</code></td>
-        <td>Builds on <code>.size()</code> to set the width and height as same value</td>
+        <td>{{_i}}Builds on <code>.size()</code> to set the width and height as same value{{/i}}</td>
       </tr>
       <tr>
         <td><code>.opacity()</code></td>
         <td><code>@opacity: 100</code></td>
-        <td>Set, in whole numbers, the opacity percentage (e.g., "50" or "75")</td>
+        <td>{{_i}}Set, in whole numbers, the opacity percentage (e.g., "50" or "75"){{/i}}</td>
       </tr>
       <tr>
         <td><code>.reset-filter()</code></td>
         <td><em class="muted">none</em></td>
-        <td>Resets any IE filter</td>
+        <td>{{_i}}Resets any IE filter{{/i}}</td>
       </tr>
     </tbody>
   </table>
@@ -410,16 +414,16 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th class="span4">Mixin</th>
-        <th>Parameters</th>
-        <th>Usage</th>
+        <th class="span4">{{_i}}Mixin{{/i}}</th>
+        <th>{{_i}}Parameters{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.placeholder()</code></td>
         <td><code>@color: @placeholderText</code></td>
-        <td>Set the <code>placeholder</code> text color for inputs</td>
+        <td>{{_i}}Set the <code>placeholder</code> text color for inputs{{/i}}</td>
       </tr>
     </tbody>
   </table>
@@ -427,46 +431,46 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th class="span4">Mixin</th>
-        <th>Parameters</th>
-        <th>Usage</th>
+        <th class="span4">{{_i}}Mixin{{/i}}</th>
+        <th>{{_i}}Parameters{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>#font > #family > .serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>{{_i}}Make an element use a serif font stack{{/i}}</td>
       </tr>
       <tr>
         <td><code>#font > #family > .sans-serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>{{_i}}Make an element use a sans-serif font stack{{/i}}</td>
       </tr>
       <tr>
         <td><code>#font > #family > .monospace()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>{{_i}}Make an element use a monospace font stack{{/i}}</td>
       </tr>
       <tr>
         <td><code>#font > .shorthand()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>{{_i}}Easily set font size, weight, and leading{{/i}}</td>
       </tr>
       <tr>
         <td><code>#font > .serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>{{_i}}Set font family to serif, and control size, weight, and leading{{/i}}</td>
       </tr>
       <tr>
         <td><code>#font > .sans-serif()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>{{_i}}Set font family to sans-serif, and control size, weight, and leading{{/i}}</td>
       </tr>
       <tr>
         <td><code>#font > .monospace()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
+        <td>{{_i}}Set font family to monospace, and control size, weight, and leading{{/i}}</td>
       </tr>
     </tbody>
   </table>
@@ -474,31 +478,31 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th class="span4">Mixin</th>
-        <th>Parameters</th>
-        <th>Usage</th>
+        <th class="span4">{{_i}}Mixin{{/i}}</th>
+        <th>{{_i}}Parameters{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
-        <td><code>.fixed-container()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>.container-fixed()</code></td>
+        <td><em class="muted">none</em></td>
+        <td>{{_i}}Provide a fixed-width (set with <code>@siteWidth</code>) container for holding your content{{/i}}</td>
       </tr>
       <tr>
         <td><code>.columns()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@columns: 1</code></td>
+        <td>{{_i}}Build a grid column that spans any number of columns (defaults to 1 column){{/i}}</td>
       </tr>
       <tr>
         <td><code>.offset()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@columns: 1</code></td>
+        <td>{{_i}}Offset a grid column with left margin that spans any number of columns{{/i}}</td>
       </tr>
       <tr>
         <td><code>.gridColumn()</code></td>
-        <td></td>
-        <td></td>
+        <td><em class="muted">none</em></td>
+        <td>{{_i}}Make an element float like a grid column{{/i}}</td>
       </tr>
     </tbody>
   </table>
@@ -506,76 +510,71 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th class="span4">Mixin</th>
-        <th>Parameters</th>
-        <th>Usage</th>
+        <th class="span3">{{_i}}Mixin{{/i}}</th>
+        <th>{{_i}}Parameters{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.border-radius()</code></td>
-        <td></td>
-        <td></td>
-      </tr>
-      <tr>
-        <td><code>.border-radius-custom()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@radius: 5px</code></td>
+        <td>{{_i}}Round the corners of an element. Can be a single value or four space-separated values{{/i}}</td>
       </tr>
       <tr>
         <td><code>.box-shadow()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@shadow: 0 1px 3px rgba(0,0,0,.25)</code></td>
+        <td>{{_i}}Add a drop shadow to an element{{/i}}</td>
       </tr>
       <tr>
         <td><code>.transition()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@transition</code></td>
+        <td>{{_i}}Add CSS3 transition effect (e.g., <code>all .2s linear</code>){{/i}}</td>
       </tr>
       <tr>
         <td><code>.rotate()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@degrees</code></td>
+        <td>{{_i}}Rotate an element <em>n</em> degrees{{/i}}</td>
       </tr>
       <tr>
         <td><code>.scale()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@ratio</code></td>
+        <td>{{_i}}Scale an element to <em>n</em> times it's original size{{/i}}</td>
       </tr>
       <tr>
         <td><code>.translate()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@x: 0, @y: 0</code></td>
+        <td>{{_i}}Move an element on the x and y planes{{/i}}</td>
       </tr>
       <tr>
         <td><code>.background-clip()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@clip</code></td>
+        <td>{{_i}}Crop the backgroud of an element (useful for <code>border-radius</code>){{/i}}</td>
       </tr>
       <tr>
         <td><code>.background-size()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@size</code></td>
+        <td>{{_i}}Control the size of background images via CSS3{{/i}}</td>
       </tr>
       <tr>
         <td><code>.box-sizing()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@boxmodel</code></td>
+        <td>{{_i}}Change the box model for an element (e.g., <code>border-box</code> for a full-width <code>input</code>){{/i}}</td>
       </tr>
       <tr>
         <td><code>.user-select()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@select</code></td>
+        <td>{{_i}}Control cursor selection of text on a page{{/i}}</td>
       </tr>
       <tr>
         <td><code>.resizable()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@direction: both</code></td>
+        <td>{{_i}}Make any element resizable on the right and bottom{{/i}}</td>
       </tr>
       <tr>
         <td><code>.content-columns()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@columnCount, @columnGap: @gridColumnGutter</code></td>
+        <td>{{_i}}Make the content of any element use CSS3 columns{{/i}}</td>
       </tr>
     </tbody>
   </table>
@@ -583,56 +582,56 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th class="span4">Mixin</th>
-        <th>Parameters</th>
-        <th>Usage</th>
+        <th class="span4">{{_i}}Mixin{{/i}}</th>
+        <th>{{_i}}Parameters{{/i}}</th>
+        <th>{{_i}}Usage{{/i}}</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td><code>.#translucent > .background()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color: @white, @alpha: 1</code></td>
+        <td>{{_i}}Give an element a translucent background color{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#translucent > .border()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color: @white, @alpha: 1</code></td>
+        <td>{{_i}}Give an element a translucent border color{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#gradient > .vertical()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @endColor</code></td>
+        <td>{{_i}}Create a cross-browser vertical background gradient{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#gradient > .horizontal()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @endColor</code></td>
+        <td>{{_i}}Create a cross-browser horizontal background gradient{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#gradient > .directional()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @endColor, @deg</code></td>
+        <td>{{_i}}Create a cross-browser directional background gradient{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#gradient > .vertical-three-colors()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@startColor, @midColor, @colorStop, @endColor</code></td>
+        <td>{{_i}}Create a cross-browser three-color background gradient{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#gradient > .radial()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@innerColor, @outerColor</code></td>
+        <td>{{_i}}Create a cross-browser radial background gradient{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#gradient > .striped()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@color, @angle</code></td>
+        <td>{{_i}}Create a cross-browser striped background gradient{{/i}}</td>
       </tr>
       <tr>
         <td><code>.#gradientBar()</code></td>
-        <td></td>
-        <td></td>
+        <td><code>@primaryColor, @secondaryColor</code></td>
+        <td>{{_i}}Used for buttons to assign a gradient and slightly darker border{{/i}}</td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index a89f93d8e1..bc924e3ef7 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -148,7 +148,7 @@
       <tr>
         <td><code>@siteWidth</code></td>
         <td><em>{{_i}}Computed sum of all columns and gutters{{/i}}</em></td>
-        <td>{{_i}}Counts number of columns and gutters to set width of the <code>.fixed-container()</code> mixin{{/i}}</td>
+        <td>{{_i}}Counts number of columns and gutters to set width of the <code>.container-fixed()</code> mixin{{/i}}</td>
       </tr>
     </tbody>
   </table>
diff --git a/lib/mixins.less b/lib/mixins.less
index e64b80ad36..4ebb94cfcb 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -100,7 +100,7 @@
 
 // Site container
 // -------------------------
-.fixed-container() {
+.container-fixed() {
   width: @siteWidth;
   margin-left: auto;
   margin-right: auto;
@@ -137,23 +137,6 @@
      -moz-border-radius: @radius;
           border-radius: @radius;
 }
-.border-radius-custom(@topLeft: 0, @topRight: 0, @bottomRight: 0, @bottomLeft: 0) {
-  -webkit-border-top-left-radius: @topLeft;
-      -moz-border-radius-topleft: @topLeft;
-          border-top-left-radius: @topLeft;
-  -webkit-border-top-right-radius: @topRight;
-      -moz-border-radius-topright: @topRight;
-          border-top-right-radius: @topRight;
-  -webkit-border-bottom-right-radius: @bottomRight;
-      -moz-border-radius-bottomright: @bottomRight;
-          border-bottom-right-radius: @bottomRight;
-  -webkit-border-bottom-left-radius: @bottomLeft;
-      -moz-border-radius-bottomleft: @bottomLeft;
-          border-bottom-left-radius: @bottomLeft;
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding;
-          background-clip: padding-box;
-}
 
 // Drop shadows
 .box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) {
@@ -172,19 +155,19 @@
 }
 
 // Transformations
-.rotate(@degrees: 5deg) {
+.rotate(@degrees) {
   -webkit-transform: rotate(@degrees);
      -moz-transform: rotate(@degrees);
       -ms-transform: rotate(@degrees);
        -o-transform: rotate(@degrees);
           transform: rotate(@degrees);
 }
-.scale(@value: 1.5) {
-  -webkit-transform: scale(@value);
-     -moz-transform: scale(@value);
-      -ms-transform: scale(@value);
-       -o-transform: scale(@value);
-          transform: scale(@value);
+.scale(@ratio) {
+  -webkit-transform: scale(@ratio);
+     -moz-transform: scale(@ratio);
+      -ms-transform: scale(@ratio);
+       -o-transform: scale(@ratio);
+          transform: scale(@ratio);
 }
 .translate(@x: 0, @y: 0) {
   -webkit-transform: translate(@x, @y);
@@ -234,7 +217,7 @@
 }
 
 // CSS3 Content Columns
-.content-columns(@columnCount, @columnGap: 20px) {
+.content-columns(@columnCount, @columnGap: @gridColumnGutter) {
   -webkit-column-count: @columnCount;
      -moz-column-count: @columnCount;
           column-count: @columnCount;
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index ff029e841b..7002b04083 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -18,7 +18,7 @@ body {
 
 // Container (centered, fixed-width layouts)
 .container {
-  .fixed-container();
+  .container-fixed();
 }
 
 // Fluid layouts (left aligned, with sidebar, min- & max-width content)
-- 
GitLab


From 0db2d45350a67bc1a98c0f2d1c4706e3bd25ca50 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 15:04:41 -0800
Subject: [PATCH 455/576] update mixins to use slightly diff variables within
 some parametric mixins

---
 bootstrap-responsive.min.css | 2 +-
 bootstrap.css                | 8 ++------
 bootstrap.min.css            | 2 +-
 lib/mixins.less              | 4 ++--
 4 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 31c1fdbefe..6a97d792bc 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 931d0c0179..0d81b9b038 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,11 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
-<<<<<<< HEAD
- * Date: Wed Jan 25 12:03:47 PST 2012
-=======
- * Date: Wed Jan 25 11:49:21 PST 2012
->>>>>>> 04f84997c18f2f132c8173f728f72b6b7aef52d1
+ * Date: Wed Jan 25 15:04:24 PST 2012
  */
 article,
 aside,
@@ -1868,7 +1864,7 @@ table .headerSortUp:after {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index f8266b49b1..447ecbb2d8 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -379,7 +379,7 @@ table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;b
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
diff --git a/lib/mixins.less b/lib/mixins.less
index 4ebb94cfcb..327e21813c 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -304,7 +304,7 @@
     background-repeat: no-repeat;
     filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback
   }
-  .radial(@centerColor: #555, @outsideColor: #333)  {
+  .radial(@innerColor: #555, @outerColor: #333)  {
     background-color: @outsideColor;
     background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@centerColor), to(@outsideColor));
     background-image: -webkit-radial-gradient(circle, @centerColor, @outsideColor);
@@ -313,7 +313,7 @@
     background-repeat: no-repeat;
     // Opera cannot do radial gradients yet
   }
-  .striped(@color,@angle: -45deg) {
+  .striped(@color, @angle: -45deg) {
     background-color: @color;
     background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
     background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
-- 
GitLab


From e877d125d7a2c673fec4e63600c2d8544c3128f6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 20:02:32 -0800
Subject: [PATCH 456/576] fix button group shadows, update js docs to fix alert
 js file link

---
 bootstrap.css                            | 8 ++++----
 bootstrap.min.css                        | 2 +-
 docs/assets/css/docs.css                 | 6 +++---
 docs/components.html                     | 6 +++---
 docs/javascript.html                     | 2 +-
 docs/templates/pages/components.mustache | 6 +++---
 docs/templates/pages/javascript.mustache | 2 +-
 lib/button-groups.less                   | 2 +-
 8 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 0d81b9b038..4ece30d203 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 15:04:24 PST 2012
+ * Date: Wed Jan 25 15:27:50 PST 2012
  */
 article,
 aside,
@@ -2592,9 +2592,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .btn-group .dropdown-toggle {
   padding-left: 8px;
   padding-right: 8px;
-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -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);
 }
 .btn-group.open .dropdown-menu {
   display: block;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 447ecbb2d8..50b328682c 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -477,7 +477,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
 .btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
-.btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),0 1px 2px rgba(0, 0, 0, 0.05);}
+.btn-group .dropdown-toggle{padding-left:8px;padding-right: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);}
 .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);}
 .btn .caret{margin-top:6px;margin-left:0;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index b70b039f20..3265e324fd 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -172,9 +172,9 @@ section {
   border-right-color: #ddd;
   border-left: 0;
   padding-left: 13px;
-  -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.075);
-     -moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.075);
-          box-shadow: inset 0 3px 5px rgba(0,0,0,.075);
+  -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
+     -moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
+          box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
 }
 .subnav .nav li:first-child a {
   border-left: 0;
diff --git a/docs/components.html b/docs/components.html
index 56c5280dbd..2ccfd26e6f 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -70,7 +70,7 @@
   <div class="subnav">
     <ul class="nav pills">
       <li><a href="#buttonGroups">Button groups</a></li>
-      <li><a href="#buttonDropdowns">Button dropdowns</a></li>
+      <li><a href="#comboButtons">Combo buttons</a></li>
       <li><a href="#navs">Nav, tabs, pills</a></li>
       <li><a href="#navbar">Navbar</a></li>
       <li><a href="#breadcrumbs">Breadcrumbs</a></li>
@@ -156,9 +156,9 @@
 
 <!-- Split button dropdowns
 ================================================== -->
-<section id="buttonDropdowns">
+<section id="comboButtons">
   <div class="page-header">
-    <h1>Split button dropdowns <small>Built on button groups to provide contextual menus</small></h1>
+    <h1>Combo buttons <small>Built on button groups to provide contextual dropdown menus</small></h1>
   </div>
   <div class="row">
     <div class="span4">
diff --git a/docs/javascript.html b/docs/javascript.html
index eb291a1a37..34d61ef9cb 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -871,7 +871,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
         <div class="span3 columns">
           <h3>About alerts</h3>
           <p>The alert plugin is a tiny class for adding close functionality to alerts.</p>
-          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">Download</a>
+          <a href="../js/bootstrap-alert.js" target="_blank" class="btn">Download</a>
         </div>
         <div class="span9 columns">
           <h2>Example alerts</h2>
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index effa107626..aaee36410e 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -6,7 +6,7 @@
   <div class="subnav">
     <ul class="nav pills">
       <li><a href="#buttonGroups">{{_i}}Button groups{{/i}}</a></li>
-      <li><a href="#buttonDropdowns">{{_i}}Button dropdowns{{/i}}</a></li>
+      <li><a href="#comboButtons">{{_i}}Combo buttons{{/i}}</a></li>
       <li><a href="#navs">{{_i}}Nav, tabs, pills{{/i}}</a></li>
       <li><a href="#navbar">{{_i}}Navbar{{/i}}</a></li>
       <li><a href="#breadcrumbs">{{_i}}Breadcrumbs{{/i}}</a></li>
@@ -92,9 +92,9 @@
 
 <!-- Split button dropdowns
 ================================================== -->
-<section id="buttonDropdowns">
+<section id="comboButtons">
   <div class="page-header">
-    <h1>{{_i}}Split button dropdowns{{/i}} <small>{{_i}}Built on button groups to provide contextual menus{{/i}}</small></h1>
+    <h1>{{_i}}Combo buttons{{/i}} <small>{{_i}}Built on button groups to provide contextual dropdown menus{{/i}}</small></h1>
   </div>
   <div class="row">
     <div class="span4">
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 1c6aa47052..6b2a3693d5 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -807,7 +807,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
         <div class="span3 columns">
           <h3>{{_i}}About alerts{{/i}}</h3>
           <p>{{_i}}The alert plugin is a tiny class for adding close functionality to alerts.{{/i}}</p>
-          <a href="../js/bootstrap-alerts.js" target="_blank" class="btn">{{_i}}Download{{/i}}</a>
+          <a href="../js/bootstrap-alert.js" target="_blank" class="btn">{{_i}}Download{{/i}}</a>
         </div>
         <div class="span9 columns">
           <h2>{{_i}}Example alerts{{/i}}</h2>
diff --git a/lib/button-groups.less b/lib/button-groups.less
index 4be4aca717..17957f1d60 100644
--- a/lib/button-groups.less
+++ b/lib/button-groups.less
@@ -81,7 +81,7 @@
 .btn-group .dropdown-toggle {
   padding-left: 8px;
   padding-right: 8px;
-  @shadow: inset 1px 0 0 rgba(255,255,255,.125), 0 1px 2px rgba(0,0,0,.05);
+  @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(@shadow);
 }
 
-- 
GitLab


From f62c9379fb60bfb70435517b4569f586ec729d5b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 20:07:27 -0800
Subject: [PATCH 457/576] remove all tablesorter assets and css

---
 bootstrap.css                        | 40 +--------------------
 bootstrap.min.css                    |  5 ---
 docs/assets/js/jquery.tablesorter.js |  3 --
 lib/tables.less                      | 54 ----------------------------
 4 files changed, 1 insertion(+), 101 deletions(-)
 delete mode 100644 docs/assets/js/jquery.tablesorter.js

diff --git a/bootstrap.css b/bootstrap.css
index 4ece30d203..921cd18c05 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 15:27:50 PST 2012
+ * Date: Wed Jan 25 20:07:19 PST 2012
  */
 article,
 aside,
@@ -1056,44 +1056,6 @@ table .span12 {
   width: 924px;
   margin-left: 0;
 }
-table .header {
-  cursor: pointer;
-}
-table .header:after {
-  content: "";
-  float: right;
-  margin-top: 7px;
-  border-width: 0 4px 4px;
-  border-style: solid;
-  border-color: #000000 transparent;
-  visibility: hidden;
-}
-table .headerSortUp, table .headerSortDown {
-  background-color: #f7f7f9;
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-}
-table .header:hover:after {
-  visibility: visible;
-}
-table .headerSortDown:after, table .headerSortDown:hover:after {
-  visibility: visible;
-  filter: alpha(opacity=60);
-  -moz-opacity: 0.6;
-  opacity: 0.6;
-}
-table .headerSortUp:after {
-  border-bottom: none;
-  border-left: 4px solid transparent;
-  border-right: 4px solid transparent;
-  border-top: 4px solid #000000;
-  visibility: visible;
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
-  filter: alpha(opacity=60);
-  -moz-opacity: 0.6;
-  opacity: 0.6;
-}
 .icon {
   background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 50b328682c..ae0d9a5874 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -204,11 +204,6 @@ 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 .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000000 transparent;visibility:hidden;}
-table .headerSortUp,table .headerSortDown{background-color:#f7f7f9;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
-table .header:hover:after{visibility:visible;}
-table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
-table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;}
 .icon{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
 .glass{background-position:0 0;}
 .music{background-position:-24px 0;}
diff --git a/docs/assets/js/jquery.tablesorter.js b/docs/assets/js/jquery.tablesorter.js
deleted file mode 100644
index 8ca383e39d..0000000000
--- a/docs/assets/js/jquery.tablesorter.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function($){$.extend({tablesorter:new
-function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,rows,-1,i);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==''&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log('Checking if value was empty on row:'+rowIndex);}}else{keepLooking=false;}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i];}}return parsers[0];}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex];}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node));}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue;}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]));}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent;}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML;}else{text=node.innerHTML;}}}else{if(typeof(config.textExtraction)=="function"){text=config.textExtraction(node);}else{text=$(node).text();}}return text;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName('THEAD')[0];var trs=thead.getElementsByTagName('TR');for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1
-var firstAvailCol;if(typeof(matrix[rowIndex])=="undefined"){matrix[rowIndex]=[];}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof(matrix[rowIndex][k])=="undefined"){firstAvailCol=k;break;}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof(matrix[k])=="undefined"){matrix[k]=[];}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x";}}}}return lookup;}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHeaderOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){return(v.toLowerCase()=="desc")?1:0;}else{return(v==1)?1:0;}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(table.config.parsers[c].type=="text")?((order==0)?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c)):((order==0)?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c));var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date());}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=='text'&&direction=='asc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));";}else if(type=='text'&&direction=='desc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));";}else if(type=='numeric'&&direction=='asc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));";}else if(type=='numeric'&&direction=='desc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));";}};function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me);},1);}).bind("updateCell",function(e,cell){var config=this.config;var pos=[(cell.parentNode.rowIndex-1),cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,'')));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLocaleLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=(row%2==0);$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);
\ No newline at end of file
diff --git a/lib/tables.less b/lib/tables.less
index 4010f63ec8..809c2f60e7 100644
--- a/lib/tables.less
+++ b/lib/tables.less
@@ -136,57 +136,3 @@ table {
   .span11    { .tableColumns(11); }
   .span12    { .tableColumns(12); }
 }
-
-
-
-// TABLESORTER
-// -----------
-// Support for the tablesorter jQuery plugin
-
-table {
-  // Tablesorting styles w/ jQuery plugin
-  .header {
-    cursor: pointer;
-    &:after {
-      content: "";
-      float: right;
-      margin-top: 7px;
-      border-width: 0 4px 4px;
-      border-style: solid;
-      border-color: @black transparent;
-      visibility: hidden;
-    }
-  }
-  // Style the sorted column headers (THs)
-  .headerSortUp,
-  .headerSortDown {
-    background-color: #f7f7f9;
-    text-shadow: 0 1px 1px rgba(255,255,255,.75);
-  }
-  // Style the ascending (reverse alphabetical) column header
-  .header:hover {
-    &:after {
-      visibility:visible;
-    }
-  }
-  // Style the descending (alphabetical) column header
-  .headerSortDown,
-  .headerSortDown:hover {
-    &:after {
-      visibility:visible;
-      .opacity(60);
-    }
-  }
-  // Style the ascending (reverse alphabetical) column header
-  .headerSortUp {
-    &:after {
-      border-bottom: none;
-      border-left: 4px solid transparent;
-      border-right: 4px solid transparent;
-      border-top: 4px solid @black;
-      visibility:visible;
-      .box-shadow(none); //can't add boxshadow to downward facing arrow :(
-      .opacity(60);
-    }
-  }
-}
-- 
GitLab


From ce467f70915a6846ed0638422114ee35d29aa1cd Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 20:11:13 -0800
Subject: [PATCH 458/576] consistency in download page heading

---
 docs/assets/css/docs.css               | 1 -
 docs/download.html                     | 2 +-
 docs/templates/pages/download.mustache | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 3265e324fd..9f21f901f5 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -30,7 +30,6 @@ body {
   -webkit-transition: all .2s linear;
      -moz-transition: all .2s linear;
           transition: all .2s linear;
-      
 }
 .navbar-fixed .brand:hover {
   text-decoration: none;
diff --git a/docs/download.html b/docs/download.html
index 7b045ae8ef..58fdd56597 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -69,7 +69,7 @@
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
-  <h1>Download and customize</h1>
+  <h1>Customize and download</h1>
   <p class="lead"><a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.</p>
   <div class="subnav">
     <ul class="nav pills">
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index f5964dc352..4478a006ac 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -5,7 +5,7 @@
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
-  <h1>{{_i}}Download and customize{{/i}}</h1>
+  <h1>{{_i}}Customize and download{{/i}}</h1>
   <p class="lead">{{_i}}<a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.{{/i}}</p>
   <div class="subnav">
     <ul class="nav pills">
-- 
GitLab


From b6b19866ac82089b9d3964f7fe9bbb3457306495 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 20:32:19 -0800
Subject: [PATCH 459/576] remove some old -moz- prefixes from mixins while
 we're at it, dropping FF3.6 support

---
 bootstrap-responsive.css     |   4 +-
 bootstrap-responsive.min.css |   2 +-
 bootstrap.css                | 157 ++++++--------------------------
 bootstrap.min.css            | 170 +++++++++++++++++------------------
 lib/mixins.less              |  14 +--
 5 files changed, 117 insertions(+), 230 deletions(-)

diff --git a/bootstrap-responsive.css b/bootstrap-responsive.css
index 9f50081d3c..7907c0e086 100644
--- a/bootstrap-responsive.css
+++ b/bootstrap-responsive.css
@@ -13,7 +13,6 @@
   }
   .navbar .nav, .navbar .nav > li:last-child a {
     -webkit-border-radius: 0 0 4px 0;
-    -moz-border-radius: 0 0 4px 0;
     border-radius: 0 0 4px 0;
   }
   .navbar .nav > li {
@@ -47,9 +46,8 @@
     border-left: 4px solid transparent;
     border-right: 4px solid transparent;
     border-top: 4px solid #ffffff;
-    filter: alpha(opacity=100);
-    -moz-opacity: 1;
     opacity: 1;
+    filter: alpha(opacity=100);
     content: "&darr;";
   }
   .navbar .nav:hover > li {
diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 6a97d792bc..fb736a12be 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 921cd18c05..6068875fd0 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 20:07:19 PST 2012
+ * Date: Wed Jan 25 20:31:53 PST 2012
  */
 article,
 aside,
@@ -420,7 +420,6 @@ code, pre {
   font-size: 12px;
   color: #333333;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
   border-radius: 3px;
 }
 code {
@@ -439,7 +438,6 @@ pre {
   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;
@@ -507,7 +505,6 @@ select,
   color: #555555;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
   border-radius: 3px;
 }
 .uneditable-textarea {
@@ -533,7 +530,6 @@ input[type=file] {
   background-color: #ffffff;
   background-color: initial;
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
   box-shadow: none;
 }
 input[type=button], input[type=reset], input[type=submit] {
@@ -559,7 +555,6 @@ select[multiple], select[size] {
 }
 input[type=image] {
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
   box-shadow: none;
 }
 textarea {
@@ -584,7 +579,6 @@ textarea {
 }
 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);
   -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
   -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
@@ -595,13 +589,11 @@ input, textarea {
 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;
 }
 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
   box-shadow: none;
   outline: 1px dotted #666;
 }
@@ -722,7 +714,6 @@ textarea[readonly] {
 .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;
 }
 .control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {
@@ -740,7 +731,6 @@ textarea[readonly] {
 .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;
 }
 .control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {
@@ -758,7 +748,6 @@ textarea[readonly] {
 .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;
 }
 .control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {
@@ -773,7 +762,6 @@ input:focus:required:invalid, textarea:focus:required:invalid, select:focus:requ
 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;
 }
 .form-actions {
@@ -788,7 +776,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   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;
 }
@@ -832,7 +819,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 .input-prepend .uneditable-input,
 .input-append .uneditable-input {
   -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
 .input-prepend .uneditable-input, .input-append .uneditable-input {
@@ -854,7 +840,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   background-color: #f5f5f5;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
 }
 .input-prepend .active, .input-append .active {
@@ -869,7 +854,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 .input-append input, .input-append .uneditable-input {
   float: left;
   -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
 }
 .input-append .uneditable-input {
@@ -879,7 +863,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   margin-right: 0;
   margin-left: -1px;
   -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
 .search-query {
@@ -887,7 +870,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   padding-right: 14px;
   margin-bottom: 0;
   -webkit-border-radius: 14px;
-  -moz-border-radius: 14px;
   border-radius: 14px;
 }
 .form-search input,
@@ -961,7 +943,6 @@ table {
   border: 1px solid #ddd;
   border-collapse: separate;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .table-bordered th + th,
@@ -975,22 +956,18 @@ table {
 }
 .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;
 }
 .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;
 }
 .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;
 }
 .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;
 }
 .table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
@@ -1347,9 +1324,8 @@ table .span12 {
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
   border-top: 4px solid #000000;
-  filter: alpha(opacity=30);
-  -moz-opacity: 0.3;
   opacity: 0.3;
+  filter: alpha(opacity=30);
   content: "\2193";
 }
 .dropdown .caret {
@@ -1358,9 +1334,8 @@ table .span12 {
   *margin-top: 7px;
 }
 .dropdown:hover .caret, .open.dropdown .caret {
-  filter: alpha(opacity=100);
-  -moz-opacity: 1;
   opacity: 1;
+  filter: alpha(opacity=100);
 }
 .dropdown-menu {
   position: absolute;
@@ -1380,10 +1355,8 @@ table .span12 {
   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;
@@ -1429,7 +1402,6 @@ table .span12 {
 .typeahead {
   margin-top: 2px;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .well {
@@ -1440,10 +1412,8 @@ table .span12 {
   border: 1px solid #eee;
   border: 1px solid rgba(0, 0, 0, 0.05);
   -webkit-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);
 }
 .well blockquote {
@@ -1481,16 +1451,14 @@ table .span12 {
   line-height: 18px;
   color: #000000;
   text-shadow: 0 1px 0 #ffffff;
-  filter: alpha(opacity=20);
-  -moz-opacity: 0.2;
   opacity: 0.2;
+  filter: alpha(opacity=20);
 }
 .close:hover {
   color: #000000;
   text-decoration: none;
-  filter: alpha(opacity=40);
-  -moz-opacity: 0.4;
   opacity: 0.4;
+  filter: alpha(opacity=40);
   cursor: pointer;
 }
 .nav {
@@ -1565,7 +1533,6 @@ table .span12 {
   padding-bottom: 9px;
   border: 1px solid transparent;
   -webkit-border-radius: 4px 4px 0 0;
-  -moz-border-radius: 4px 4px 0 0;
   border-radius: 4px 4px 0 0;
 }
 .tabs > li > a:hover {
@@ -1584,7 +1551,6 @@ table .span12 {
   margin-top: 2px;
   margin-bottom: 2px;
   -webkit-border-radius: 5px;
-  -moz-border-radius: 5px;
   border-radius: 5px;
 }
 .pills .active > a, .pills .active > a:hover {
@@ -1603,17 +1569,14 @@ table .span12 {
 .tabs.stacked > li > a {
   border: 1px solid #ddd;
   -webkit-border-radius: 0;
-  -moz-border-radius: 0;
   border-radius: 0;
 }
 .tabs.stacked > li:first-child > a {
   -webkit-border-radius: 4px 4px 0 0;
-  -moz-border-radius: 4px 4px 0 0;
   border-radius: 4px 4px 0 0;
 }
 .tabs.stacked > li:last-child > a {
   -webkit-border-radius: 0 0 4px 4px;
-  -moz-border-radius: 0 0 4px 4px;
   border-radius: 0 0 4px 4px;
 }
 .tabs.stacked > li > a:hover {
@@ -1632,7 +1595,6 @@ table .span12 {
 }
 .pills .dropdown-menu {
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .tabs .dropdown-toggle .caret, .pills .dropdown-toggle .caret {
@@ -1656,9 +1618,8 @@ table .span12 {
 }
 .nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {
   border-top-color: #ffffff;
-  filter: alpha(opacity=100);
-  -moz-opacity: 1;
   opacity: 1;
+  filter: alpha(opacity=100);
 }
 .tabs.stacked .open > a:hover {
   border-color: #999999;
@@ -1691,7 +1652,6 @@ table .span12 {
 }
 .tabs-below .tabs > li > a {
   -webkit-border-radius: 0 0 4px 4px;
-  -moz-border-radius: 0 0 4px 4px;
   border-radius: 0 0 4px 4px;
 }
 .tabs-below .tabs > li > a:hover {
@@ -1717,7 +1677,6 @@ table .span12 {
 .tabs-left .tabs > li > a {
   margin-right: -1px;
   -webkit-border-radius: 4px 0 0 4px;
-  -moz-border-radius: 4px 0 0 4px;
   border-radius: 4px 0 0 4px;
 }
 .tabs-left .tabs > li > a:hover {
@@ -1734,7 +1693,6 @@ table .span12 {
 .tabs-right .tabs > li > a {
   margin-left: -1px;
   -webkit-border-radius: 0 4px 4px 0;
-  -moz-border-radius: 0 4px 4px 0;
   border-radius: 0 4px 4px 0;
 }
 .tabs-right .tabs > li > a:hover {
@@ -1749,17 +1707,15 @@ table .span12 {
 .navbar-inner {
   background-color: #222222;
   background-color: #222222;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
   background-image: -moz-linear-gradient(top, #333333, #222222);
   background-image: -ms-linear-gradient(top, #333333, #222222);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);
   -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);
 }
 .navbar .brand:hover {
@@ -1815,7 +1771,6 @@ table .span12 {
   background: rgba(255, 255, 255, 0.3);
   border: 1px solid #111;
   -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-transition: none;
   -moz-transition: none;
@@ -1841,7 +1796,6 @@ table .span12 {
   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;
 }
@@ -1852,7 +1806,6 @@ table .span12 {
   padding-left: 20px;
   padding-right: 20px;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .navbar-fixed {
@@ -1910,7 +1863,6 @@ table .span12 {
 .navbar .dropdown-menu {
   margin-top: 1px;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .navbar .dropdown-menu:before {
@@ -1938,9 +1890,8 @@ table .span12 {
   border-top-color: #ffffff;
 }
 .navbar .nav .active .caret {
-  filter: alpha(opacity=100);
-  -moz-opacity: 1;
   opacity: 1;
+  filter: alpha(opacity=100);
 }
 .navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {
   background-color: transparent;
@@ -1963,10 +1914,9 @@ table .span12 {
   padding: 7px 14px;
   margin: 0 0 18px;
   background-color: #f5f5f5;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
   background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));
   background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: linear-gradient(top, #ffffff, #f5f5f5);
@@ -1974,10 +1924,8 @@ table .span12 {
   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;
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
-  -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
 }
 .breadcrumb li {
@@ -2004,10 +1952,8 @@ table .span12 {
   margin-left: 0;
   margin-bottom: 0;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
   border-radius: 3px;
   -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);
 }
 .pagination li {
@@ -2035,12 +1981,10 @@ table .span12 {
 .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;
 }
 .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;
 }
 .pagination-centered {
@@ -2071,7 +2015,6 @@ table .span12 {
   padding: 6px 15px;
   background-color: #f5f5f5;
   -webkit-border-radius: 15px;
-  -moz-border-radius: 15px;
   border-radius: 15px;
 }
 .pager .next a {
@@ -2093,9 +2036,8 @@ table .span12 {
   opacity: 0;
 }
 .modal-backdrop, .modal-backdrop.fade.in {
-  filter: alpha(opacity=80);
-  -moz-opacity: 0.8;
   opacity: 0.8;
+  filter: alpha(opacity=80);
 }
 .modal {
   position: fixed;
@@ -2113,13 +2055,10 @@ table .span12 {
   /* IE6-7 */
 
   -webkit-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);
   -webkit-background-clip: padding-box;
-  -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
 .modal.fade {
@@ -2149,10 +2088,8 @@ table .span12 {
   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;
   *zoom: 1;
 }
@@ -2175,14 +2112,12 @@ table .span12 {
   visibility: visible;
   padding: 5px;
   font-size: 11px;
-  filter: alpha(opacity=0);
-  -moz-opacity: 0;
   opacity: 0;
+  filter: alpha(opacity=0);
 }
 .tooltip.in {
-  filter: alpha(opacity=80);
-  -moz-opacity: 0.8;
   opacity: 0.8;
+  filter: alpha(opacity=80);
 }
 .tooltip.top {
   margin-top: -2px;
@@ -2236,7 +2171,6 @@ table .span12 {
   text-decoration: none;
   background-color: #000000;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .tooltip-arrow {
@@ -2308,10 +2242,8 @@ table .span12 {
   background: #000000;
   background: rgba(0, 0, 0, 0.8);
   -webkit-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);
 }
 .popover .title {
@@ -2320,17 +2252,14 @@ table .span12 {
   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;
 }
 .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;
   -webkit-background-clip: padding-box;
-  -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
 .popover .content p, .popover .content ul, .popover .content ol {
@@ -2347,10 +2276,9 @@ table .span12 {
 }
 .btn.danger {
   background-color: #c43c35;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
   background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: linear-gradient(top, #ee5f5b, #c43c35);
@@ -2361,10 +2289,9 @@ table .span12 {
 }
 .btn.success {
   background-color: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
   background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
   background-image: -webkit-linear-gradient(top, #62c462, #57a957);
   background-image: -o-linear-gradient(top, #62c462, #57a957);
   background-image: linear-gradient(top, #62c462, #57a957);
@@ -2375,10 +2302,9 @@ table .span12 {
 }
 .btn.info {
   background-color: #339bb9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
   background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
   background-image: linear-gradient(top, #5bc0de, #339bb9);
@@ -2406,10 +2332,8 @@ table .span12 {
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
   -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;
   -webkit-transition: 0.1s linear all;
@@ -2430,10 +2354,9 @@ table .span12 {
   color: #ffffff;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0064cd;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
   background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
   background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#049cdb), to(#0064cd));
   background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
   background-image: -o-linear-gradient(top, #049cdb, #0064cd);
   background-image: linear-gradient(top, #049cdb, #0064cd);
@@ -2445,29 +2368,24 @@ table .span12 {
 .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);
 }
 .btn.disabled {
   cursor: default;
   background-image: none;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  filter: alpha(opacity=65);
-  -moz-opacity: 0.65;
   opacity: 0.65;
+  filter: alpha(opacity=65);
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
   box-shadow: none;
 }
 .btn[disabled] {
   cursor: default;
   background-image: none;
   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  filter: alpha(opacity=65);
-  -moz-opacity: 0.65;
   opacity: 0.65;
+  filter: alpha(opacity=65);
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
   box-shadow: none;
 }
 .btn.large {
@@ -2475,7 +2393,6 @@ table .span12 {
   font-size: 15px;
   line-height: normal;
   -webkit-border-radius: 5px;
-  -moz-border-radius: 5px;
   border-radius: 5px;
 }
 .btn.small {
@@ -2511,7 +2428,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   float: left;
   margin-left: -1px;
   -webkit-border-radius: 0;
-  -moz-border-radius: 0;
   border-radius: 0;
 }
 .btn-group .btn:first-child {
@@ -2555,20 +2471,17 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding-left: 8px;
   padding-right: 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);
 }
 .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);
 }
 .btn .caret {
@@ -2580,9 +2493,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .info .caret,
 .success .caret {
   border-top-color: #ffffff;
-  filter: alpha(opacity=75);
-  -moz-opacity: 0.75;
   opacity: 0.75;
+  filter: alpha(opacity=75);
 }
 .alert {
   padding: 8px 35px 8px 14px;
@@ -2591,7 +2503,6 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-color: #fcf8e3;
   border: 1px solid #f3edd2;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .alert, .alert-heading {
@@ -2658,16 +2569,13 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   line-height: 1;
   border: 1px solid #ddd;
   -webkit-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);
 }
 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);
 }
 .thumbnail > img {
@@ -2685,7 +2593,6 @@ a.thumbnail:hover {
   text-transform: uppercase;
   background-color: #999999;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
   border-radius: 3px;
 }
 .label.important {
@@ -2718,24 +2625,21 @@ a.thumbnail:hover {
 }
 .progress, .progress .bar {
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .progress {
   height: 18px;
   margin-bottom: 18px;
   background-color: #f9f9f9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));
   background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
   background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
   background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
   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);
 }
 .progress .bar {
@@ -2746,17 +2650,15 @@ a.thumbnail:hover {
   text-align: center;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0480be;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));
   background-image: -moz-linear-gradient(top, #149bdf, #0480be);
   background-image: -ms-linear-gradient(top, #149bdf, #0480be);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat: repeat-x;
   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);
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
@@ -2787,10 +2689,9 @@ a.thumbnail:hover {
 }
 .progress.danger .bar {
   background-color: #c43c35;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
   background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: linear-gradient(top, #ee5f5b, #c43c35);
@@ -2808,10 +2709,9 @@ a.thumbnail:hover {
 }
 .progress.success .bar {
   background-color: #57a957;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
   background-image: -ms-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
   background-image: -webkit-linear-gradient(top, #62c462, #57a957);
   background-image: -o-linear-gradient(top, #62c462, #57a957);
   background-image: linear-gradient(top, #62c462, #57a957);
@@ -2829,10 +2729,9 @@ a.thumbnail:hover {
 }
 .progress.info .bar {
   background-color: #339bb9;
-  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
   background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
   background-image: linear-gradient(top, #5bc0de, #339bb9);
@@ -2854,7 +2753,6 @@ a.thumbnail:hover {
 .accordion-group {
   background-color: #f5f5f5;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .accordion-heading {
@@ -2931,11 +2829,9 @@ a.thumbnail:hover {
   background: #222222;
   border: 3px solid #ffffff;
   -webkit-border-radius: 23px;
-  -moz-border-radius: 23px;
   border-radius: 23px;
-  filter: alpha(opacity=50);
-  -moz-opacity: 0.5;
   opacity: 0.5;
+  filter: alpha(opacity=50);
   -webkit-transition: all 0.2s linear;
   -moz-transition: all 0.2s linear;
   -ms-transition: all 0.2s linear;
@@ -2949,9 +2845,8 @@ a.thumbnail:hover {
 .carousel-control:hover {
   color: #ffffff;
   text-decoration: none;
-  filter: alpha(opacity=90);
-  -moz-opacity: 0.9;
   opacity: 0.9;
+  filter: alpha(opacity=90);
 }
 .carousel-caption {
   position: absolute;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index ae0d9a5874..ba5e295491 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -83,9 +83,9 @@ blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:
 blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}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;}
-code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;border-radius:3px;}
 code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
-pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
 small{font-size:100%;}
 cite{font-style:normal;}
@@ -94,24 +94,24 @@ fieldset{padding:0;margin:0;border:0;}
 legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
 label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;}
 .uneditable-textarea{width:auto;height:auto;}
 input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
-input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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;*margin-top:4px;line-height:28px;}
 select{width:220px;vertical-align:baseline;background-color:#ffffff;}
 select[multiple],select[size]{height:auto;}
-input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+input[type=image]{-webkit-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
 .radio,.checkbox{padding-left:18px;}
 .radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-18px;}
 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
 .radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;}
 .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);-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;}
-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;}
-input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
+input,textarea{-webkit-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;}
+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);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
+input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
 .input-mini{width:60px;}
 .input-small{width:90px;}
 .input-medium{width:150px;}
@@ -145,32 +145,32 @@ select.span11{width:870px;}
 select.span12{width:950px;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 .control-group.warning>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;}
+.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;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>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;}
+.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;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>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;}
+.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;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;}
+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;box-shadow:0 0 6px #f8b9b7;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
-.uneditable-input{display:block;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;}
+.uneditable-input{display:block;background-color:#ffffff;border-color:#eee;-webkit-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-placeholder{color:#999999;}
 ::-webkit-input-placeholder{color:#999999;}
 .help-block{margin-top:5px;margin-bottom:0;color:#999999;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
 .input-prepend:after,.input-append:after{clear:both;}
-.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;}
-.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
-.input-append input,.input-append .uneditable-input{float:left;-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 .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-append .uneditable-input{border-right-color:#ccc;}
-.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-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;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
+.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;border-radius:14px;}
 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:9px;}
@@ -185,12 +185,12 @@ table{max-width:100%;border-collapse:collapse;border-spacing:0;}
 .table thead:first-child tr th,.table thead:first-child tr td{border-top:0;}
 .table tbody+tbody{border-top:2px solid #ddd;}
 .table-condensed th,.table-condensed td{padding:4px 5px;}
-.table-bordered{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
+.table-bordered{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
 .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;}
-.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;}
-.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;}
-.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;}
+.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;border-radius:4px 0 0 0;}
+.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;border-radius:0 4px 0 0;}
+.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;border-radius:0 0 0 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;border-radius:0 0 4px 0;}
 .table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
 table .span1{float:none;width:44px;margin-left:0;}
 table .span2{float:none;width:124px;margin-left:0;}
@@ -296,20 +296,20 @@ table .span12{float:none;width:924px;margin-left:0;}
 .minus{background-position:-432px -96px;}
 .asterisk{background-position:-456px -96px;}
 .dropdown{position:relative;}
-.caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;content:"\2193";}
+.caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
-.dropdown:hover .caret,.open.dropdown .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
-.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
+.dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100);}
+.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;border-radius:0 0 5px 5px;-webkit-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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
 .dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
 .dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
-.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.typeahead{margin-top:2px;-webkit-border-radius:4px;border-radius:4px;}
+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;border-radius:4px;-webkit-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);}
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
-.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);-moz-opacity:0.2;opacity:0.2;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4;cursor:pointer;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;opacity:0.4;filter:alpha(opacity=40);cursor:pointer;}
 .nav{margin-left:0;margin-bottom:18px;list-style:none;}
 .nav>li>a{display:block;}
 .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
@@ -324,27 +324,27 @@ table .span12{float:none;width:924px;margin-left:0;}
 .tabs>li>a,.pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
 .tabs{border-bottom:1px solid #ddd;}
 .tabs>li{margin-bottom:-1px;}
-.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
+.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
 .tabs>.active>a,.tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
-.pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;border-radius:5px;}
 .pills .active>a,.pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
 .nav.stacked>li{float:none;}
 .nav.stacked>li>a{margin-right:0;}
 .tabs.stacked{border-bottom:0;}
-.tabs.stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
-.tabs.stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
-.tabs.stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
+.tabs.stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;}
+.tabs.stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
+.tabs.stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
 .tabs.stacked>li>a:hover{border-color:#ddd;z-index:2;}
 .pills.stacked>li>a{margin-bottom:3px;}
 .pills.stacked>li:last-child>a{margin-bottom:1px;}
 .pills .dropdown-menu,.tabs .dropdown-menu{margin-top:1px;border-width:1px;}
-.pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.pills .dropdown-menu{-webkit-border-radius:4px;border-radius:4px;}
 .tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
 .tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
 .tabs .active .dropdown-toggle .caret,.pills .active .dropdown-toggle .caret{border-top-color:#333333;}
 .nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;}
 .tabs .open .dropdown-toggle,.pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
-.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
 .tabs.stacked .open>a:hover{border-color:#999999;}
 .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";}
 .tabbable:after{clear:both;}
@@ -353,32 +353,32 @@ table .span12{float:none;width:924px;margin-left:0;}
 .tab-content>.active,.pill-content>.active{display:block;}
 .tabs-below .tabs{border-top:1px solid #ddd;}
 .tabs-below .tabs>li{margin-top:-1px;margin-bottom:0;}
-.tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
+.tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
 .tabs-below .tabs .active>a,.tabs-below .tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;}
 .tabs-left .tabs>li,.tabs-right .tabs>li{float:none;}
 .tabs-left .tabs>li>a,.tabs-right .tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
 .tabs-left .tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
-.tabs-left .tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
+.tabs-left .tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
 .tabs-left .tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
 .tabs-left .tabs .active>a,.tabs-left .tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;}
 .tabs-right .tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
-.tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
+.tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
 .tabs-right .tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
 .tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
 .navbar{overflow:visible;}
-.navbar-inner{background-color:#222222;background-color:#222222;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #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);-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);}
+.navbar-inner{background-color:#222222;background-color:#222222;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);-webkit-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 .brand:hover{color:#ffffff;text-decoration:none;}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
 .navbar .btn,.navbar .btn-group{margin-top:5px;}
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
+.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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-webkit-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
 .navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
-.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;}
 .navbar-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1030;}
 .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
 .navbar .nav.pull-right{float:right;}
@@ -388,44 +388,44 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222222;background-color:rgba(0, 0, 0, 0.5);}
 .navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222222;border-right:1px solid #444;}
 .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
-.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
+.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
 .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;}
 .navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;}
-.navbar .nav .active .caret{filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
+.navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);}
 .navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
 .navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;}
 .navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
 .navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
-.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;}
 .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;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
+.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;border-radius:3px;-webkit-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;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;}
 .pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
 .pagination .active a{color:#999999;}
 .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
-.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;}
-.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;}
+.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.pagination li:last-child a{-webkit-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;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";}
 .pager:after{clear:both;}
 .pager li{display:inline;}
-.pager a{display:inline-block;padding:6px 15px;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
+.pager a{display:inline-block;padding:6px 15px;background-color:#f5f5f5;-webkit-border-radius:15px;border-radius:15px;}
 .pager .next a{float:right;}
 .pager .previous a{float:left;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
-.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
-.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
+.modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
+.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;border-radius:6px;-webkit-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;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%;}
 .modal.fade.in{top:50%;}
 .modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
 .modal-body{padding:15px;}
-.modal-footer{padding:14px 15px 15px;margin-bottom:0;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;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
+.modal-footer{padding:14px 15px 15px;margin-bottom:0;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;margin-bottom:0;}
-.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;}.tooltip.in{filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;}
+.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
 .tooltip.top{margin-top:-2px;}
 .tooltip.right{margin-left:2px;}
 .tooltip.bottom{margin-top:2px;}
@@ -434,7 +434,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;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;}
 .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;}
-.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;border-radius:4px;}
 .tooltip-arrow{position:absolute;width:0;height:0;}
 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
@@ -445,20 +445,20 @@ table .span12{float:none;width:924px;margin-left:0;}
 .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;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-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);}
-.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;}
-.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;-webkit-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;}
+.popover .inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-border-radius:6px;border-radius:6px;-webkit-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;border-radius:3px 3px 0 0;}
+.popover .content{padding:14px;background-color:#ffffff;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;background-clip:padding-box;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
 .btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
-.btn.danger{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success{background-color:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info{background-color:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
+.btn.danger{background-color:#c43c35;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.success{background-color:#57a957;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn.info{background-color:#339bb9;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;border-radius:4px;-webkit-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.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);}
-.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#049cdb), to(#0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
+.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);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);}
+.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;}
+.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;}
+.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;border-radius:5px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
@@ -466,18 +466,18 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group:after{clear:both;}
 .btn-group+.btn-group{margin-left:5px;}
 .btn-toolbar .btn-group{display:inline-block;}
-.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;border-radius:0;}
 .btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
 .btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
 .btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
-.btn-group .dropdown-toggle{padding-left:8px;padding-right: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);}
-.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);}
+.btn-group .dropdown-toggle{padding-left:8px;padding-right: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);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.open .dropdown-menu{display:block;margin-top:1px;-webkit-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);box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);}
 .btn .caret{margin-top:6px;margin-left:0;}
-.primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
-.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);}
+.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;border-radius:4px;}
 .alert,.alert-heading{color:#c09853;}
 .alert .close{position:relative;right:-21px;line-height:18px;}
 .alert-success{background-color:#dff0d8;border-color:#cfe8c4;}
@@ -492,27 +492,27 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 18px 20px;}
-.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
-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);}
+.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;border-radius:4px;-webkit-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);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
-.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-khtml-gradient(linear, left top, left bottom, from(#f5f5f5), to(#f9f9f9));background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
-.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;background-image:-khtml-gradient(linear, left top, left bottom, from(#149bdf), to(#0480be));background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #149bdf), color-stop(100%, #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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;border-radius:4px;}
+.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);}
+.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;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-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-webkit-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;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;}
 .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));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: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;}
 .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;}
-.progress.danger .bar{background-color:#c43c35;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
+.progress.danger .bar{background-color:#c43c35;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
 .progress.danger.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));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: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:#57a957;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
+.progress.success .bar{background-color:#57a957;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
 .progress.success.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));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: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:#339bb9;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
+.progress.info .bar{background-color:#339bb9;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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{background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.accordion-group{background-color:#f5f5f5;-webkit-border-radius:4px;border-radius:4px;}
 .accordion-heading{padding:8px 15px;border-bottom:0;}
 .accordion-body{margin-bottom:2px;}
 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
@@ -528,8 +528,8 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel .next.left,.carousel .prev.right{left:0;}
 .carousel .active.left{left:-100%;}
 .carousel .active.right{left:100%;}
-.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;filter:alpha(opacity=50);-moz-opacity:0.5;opacity:0.5;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
-.carousel-control:hover{color:#ffffff;text-decoration:none;filter:alpha(opacity=90);-moz-opacity:0.9;opacity:0.9;}
+.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
+.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;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);}
 .carousel-caption h4,.carousel-caption p{color:#ffffff;}
 .pull-right{float:right;}
diff --git a/lib/mixins.less b/lib/mixins.less
index a1dc946261..2eab8f36ed 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -134,14 +134,12 @@
 // Border Radius
 .border-radius(@radius: 5px) {
   -webkit-border-radius: @radius;
-     -moz-border-radius: @radius;
           border-radius: @radius;
 }
 
 // Drop shadows
 .box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) {
   -webkit-box-shadow: @shadow;
-     -moz-box-shadow: @shadow;
           box-shadow: @shadow;
 }
 
@@ -178,10 +176,9 @@
 }
 
 // Background clipping
-// Heads up: FF 3.6 and under need padding instead of padding-box
+// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
 .background-clip(@clip) {
   -webkit-background-clip: @clip;
-     -moz-background-clip: @clip;
           background-clip: @clip;
 }
 
@@ -228,9 +225,8 @@
 
 // Opacity
 .opacity(@opacity: 100) {
-  filter: e(%("alpha(opacity=%d)", @opacity));
-    -moz-opacity: @opacity / 100;
-         opacity: @opacity / 100;
+  opacity: @opacity / 100;
+   filter: e(%("alpha(opacity=%d)", @opacity));
 }
 
 
@@ -245,9 +241,7 @@
   }
   .border(@color: @white, @alpha: 1) {
     border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
-    -webkit-background-clip: padding-box;
-       -moz-background-clip: padding;
-            background-clip: padding-box;
+    .background-clip(padding-box);
   }
 }
 
-- 
GitLab


From 94ea3b62f09c840db5efe5e48815d011ca7e43d1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Wed, 25 Jan 2012 21:28:24 -0800
Subject: [PATCH 460/576] fix forms examples and allow for inputs in labels

---
 bootstrap.css                          |   8 +-
 bootstrap.min.css                      |   2 +
 docs/base-css.html                     | 104 +++++++++++++------------
 docs/templates/pages/base-css.mustache | 104 +++++++++++++------------
 lib/forms.less                         |  11 +++
 5 files changed, 126 insertions(+), 103 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6068875fd0..7de5801627 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 20:31:53 PST 2012
+ * Date: Wed Jan 25 21:28:14 PST 2012
  */
 article,
 aside,
@@ -511,6 +511,9 @@ select,
   width: auto;
   height: auto;
 }
+label input, label textarea, label select {
+  display: block;
+}
 input[type=image], input[type=checkbox], input[type=radio] {
   width: auto;
   height: auto;
@@ -893,6 +896,9 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 .control-group {
   margin-bottom: 9px;
 }
+.form-horizontal legend + .control-group {
+  padding-top: 27px;
+}
 .form-horizontal .control-group {
   margin-bottom: 18px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index ba5e295491..06f511b149 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -96,6 +96,7 @@ label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,
 label{display:block;margin-bottom:5px;color:#333333;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-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]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;box-shadow:none;}
 input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
@@ -174,6 +175,7 @@ input:focus:required:invalid,textarea:focus:required:invalid,select:focus:requir
 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:9px;}
+.form-horizontal legend+.control-group{padding-top:27px;}
 .form-horizontal .control-group{margin-bottom:18px;}
 .form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
 .form-horizontal .controls{margin-left:160px;}
diff --git a/docs/base-css.html b/docs/base-css.html
index 8340e0f60e..a2eff98ee3 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -939,63 +939,65 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>Controls Bootstrap supports</legend>
-        <div class="control-group">
-          <label class="control-label" for="input01">Text input</label>
-          <div class="controls">
-            <input type="text" class="xlarge" name="input01">
-            <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p>
+        <fieldset>
+          <legend>Controls Bootstrap supports</legend>
+          <div class="control-group">
+            <label class="control-label" for="input01">Text input</label>
+            <div class="controls">
+              <input type="text" class="xlarge" name="input01">
+              <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsCheckbox">Checkbox</label>
-          <div class="controls">
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckbox" value="option1">
-              Option one is this and that&mdash;be sure to include why it’s great
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="optionsCheckbox">Checkbox</label>
+            <div class="controls">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckbox" value="option1">
+                Option one is this and that&mdash;be sure to include why it’s great
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="select01">Select list</label>
-          <div class="controls">
-            <select name="select01">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
+          <div class="control-group">
+            <label class="control-label" for="select01">Select list</label>
+            <div class="controls">
+              <select name="select01">
+                <option>1</option>
+                <option>2</option>
+                <option>3</option>
+                <option>4</option>
+                <option>5</option>
+              </select>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="multiSelect">Multi-select</label>
-          <div class="controls">
-            <select multiple="multiple" name="multiSelect">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
+          <div class="control-group">
+            <label class="control-label" for="multiSelect">Multi-select</label>
+            <div class="controls">
+              <select multiple="multiple" name="multiSelect">
+                <option>1</option>
+                <option>2</option>
+                <option>3</option>
+                <option>4</option>
+                <option>5</option>
+              </select>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="fileInput">File input</label>
-          <div class="controls">
-            <input class="input-file" id="fileInput" name="fileInput" type="file">
+          <div class="control-group">
+            <label class="control-label" for="fileInput">File input</label>
+            <div class="controls">
+              <input class="input-file" id="fileInput" name="fileInput" type="file">
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="textarea">Textarea</label>
-          <div class="controls">
-            <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+          <div class="control-group">
+            <label class="control-label" for="textarea">Textarea</label>
+            <div class="controls">
+              <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+            </div>
           </div>
-        </div>
-        <div class="form-actions">
-          <button type="submit" class="btn primary">Save changes</button>
-          <button type="reset" class="btn">Cancel</button>
-        </div>
+          <div class="form-actions">
+            <button type="submit" class="btn primary">Save changes</button>
+            <button type="reset" class="btn">Cancel</button>
+          </div>
+        </fieldset>
       </form>
     </div>
     <div class="span4">
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index cbc0519e5a..c2dd661ae0 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -875,63 +875,65 @@
   <div class="row">
     <div class="span8">
       <form class="form-horizontal">
-        <legend>{{_i}}Controls Bootstrap supports{{/i}}</legend>
-        <div class="control-group">
-          <label class="control-label" for="input01">{{_i}}Text input{{/i}}</label>
-          <div class="controls">
-            <input type="text" class="xlarge" name="input01">
-            <p class="help-block">{{_i}}In addition to freeform text, any HTML5 text-based input appears like so.{{/i}}</p>
+        <fieldset>
+          <legend>{{_i}}Controls Bootstrap supports{{/i}}</legend>
+          <div class="control-group">
+            <label class="control-label" for="input01">{{_i}}Text input{{/i}}</label>
+            <div class="controls">
+              <input type="text" class="xlarge" name="input01">
+              <p class="help-block">{{_i}}In addition to freeform text, any HTML5 text-based input appears like so.{{/i}}</p>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="optionsCheckbox">{{_i}}Checkbox{{/i}}</label>
-          <div class="controls">
-            <label class="checkbox">
-              <input type="checkbox" name="optionsCheckbox" value="option1">
-              {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
-            </label>
+          <div class="control-group">
+            <label class="control-label" for="optionsCheckbox">{{_i}}Checkbox{{/i}}</label>
+            <div class="controls">
+              <label class="checkbox">
+                <input type="checkbox" name="optionsCheckbox" value="option1">
+                {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
+              </label>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="select01">{{_i}}Select list{{/i}}</label>
-          <div class="controls">
-            <select name="select01">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
+          <div class="control-group">
+            <label class="control-label" for="select01">{{_i}}Select list{{/i}}</label>
+            <div class="controls">
+              <select name="select01">
+                <option>1</option>
+                <option>2</option>
+                <option>3</option>
+                <option>4</option>
+                <option>5</option>
+              </select>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="multiSelect">{{_i}}Multi-select{{/i}}</label>
-          <div class="controls">
-            <select multiple="multiple" name="multiSelect">
-              <option>1</option>
-              <option>2</option>
-              <option>3</option>
-              <option>4</option>
-              <option>5</option>
-            </select>
+          <div class="control-group">
+            <label class="control-label" for="multiSelect">{{_i}}Multi-select{{/i}}</label>
+            <div class="controls">
+              <select multiple="multiple" name="multiSelect">
+                <option>1</option>
+                <option>2</option>
+                <option>3</option>
+                <option>4</option>
+                <option>5</option>
+              </select>
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="fileInput">{{_i}}File input{{/i}}</label>
-          <div class="controls">
-            <input class="input-file" id="fileInput" name="fileInput" type="file">
+          <div class="control-group">
+            <label class="control-label" for="fileInput">{{_i}}File input{{/i}}</label>
+            <div class="controls">
+              <input class="input-file" id="fileInput" name="fileInput" type="file">
+            </div>
           </div>
-        </div>
-        <div class="control-group">
-          <label class="control-label" for="textarea">{{_i}}Textarea{{/i}}</label>
-          <div class="controls">
-            <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+          <div class="control-group">
+            <label class="control-label" for="textarea">{{_i}}Textarea{{/i}}</label>
+            <div class="controls">
+              <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+            </div>
           </div>
-        </div>
-        <div class="form-actions">
-          <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
-          <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
-        </div>
+          <div class="form-actions">
+            <button type="submit" class="btn primary">{{_i}}Save changes{{/i}}</button>
+            <button type="reset" class="btn">{{_i}}Cancel{{/i}}</button>
+          </div>
+        </fieldset>
       </form>
     </div>
     <div class="span4">
diff --git a/lib/forms.less b/lib/forms.less
index 7451f36efc..3acb8c5dcb 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -68,6 +68,13 @@ select,
   height: auto;
 }
 
+// Inputs within a label
+label input,
+label textarea,
+label select {
+  display: block;
+}
+
 // Mini reset for unique input types
 input[type=image],
 input[type=checkbox],
@@ -474,6 +481,10 @@ select:focus:required:invalid {
 // --------------------------
 
 .form-horizontal {
+  // Legend collapses margin, so we're relegated to padding
+  legend + .control-group {
+    padding-top: @baseLineHeight * 1.5;
+  }
   // Increase spacing between groups
   .control-group {
     margin-bottom: @baseLineHeight;
-- 
GitLab


From 106625a2ece84fd5e1e68144411c8d00db05c23f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 00:36:40 -0800
Subject: [PATCH 461/576] fix small icons on homepage

---
 docs/index.html                     | 8 ++++----
 docs/templates/pages/index.mustache | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index b866da87c6..f3738e8372 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -189,22 +189,22 @@
           </div><!--/row-->
           <div class="row">
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-html5.png">
+              <img class="small-bs-icon" src="assets/img/icon-html5.png">
               <h3>HTML5</h3>
               <p>Built to support new HTML5 elements and syntax.</p>
             </div>
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-css3.png">
+              <img class="small-bs-icon" src="assets/img/icon-css3.png">
               <h3>CSS3</h3>
               <p>Progressively enhanced components for ultimate style.</p>
             </div>
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-github.png">
+              <img class="small-bs-icon" src="assets/img/icon-github.png">
               <h3>Open-source</h3>
               <p>Built for and maintained by the community via <a href="https://github.com">GitHub</a>.</p>
             </div>
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-twitter.png">
+              <img class="small-bs-icon" src="assets/img/icon-twitter.png">
               <h3>Made at Twitter</h3>
               <p>Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.</p>
             </div>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index ff486bc7b9..33bfd035f2 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -125,22 +125,22 @@
           </div><!--/row-->
           <div class="row">
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-html5.png">
+              <img class="small-bs-icon" src="assets/img/icon-html5.png">
               <h3>HTML5</h3>
               <p>{{_i}}Built to support new HTML5 elements and syntax.{{/i}}</p>
             </div>
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-css3.png">
+              <img class="small-bs-icon" src="assets/img/icon-css3.png">
               <h3>CSS3</h3>
               <p>{{_i}}Progressively enhanced components for ultimate style.{{/i}}</p>
             </div>
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-github.png">
+              <img class="small-bs-icon" src="assets/img/icon-github.png">
               <h3>{{_i}}Open-source{{/i}}</h3>
               <p>{{_i}}Built for and maintained by the community via <a href="https://github.com">GitHub</a>.{{/i}}</p>
             </div>
             <div class="span3">
-              <img class="small-bs-iconn" src="assets/img/icon-twitter.png">
+              <img class="small-bs-icon" src="assets/img/icon-twitter.png">
               <h3>{{_i}}Made at Twitter{{/i}}</h3>
               <p>{{_i}}Brought to you by an experienced <a href="http://twitter.com/fat">engineer</a> and <a href="http://twitter.com/mdo">designer</a>.{{/i}}</p>
             </div>
-- 
GitLab


From 0ef4b6419fd83170dd62049a2850c5e8466635c9 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 10:00:09 -0800
Subject: [PATCH 462/576] overhaul frontpage jumbotron, add js for twitter
 buttons back in, fix up some form ids and classes, straighten out the use of
 primary button variable

---
 bootstrap-responsive.css               |   1 +
 bootstrap-responsive.min.css           |   2 +-
 bootstrap.css                          | 103 ++++++++++++++++--
 bootstrap.min.css                      | 141 +++++++++++++------------
 docs/assets/css/docs.css               |  50 ++++++---
 docs/base-css.html                     |  66 ++++++------
 docs/components.html                   |   8 +-
 docs/download.html                     |   8 +-
 docs/examples.html                     |   8 +-
 docs/index.html                        |  66 ++++++------
 docs/javascript.html                   |   8 +-
 docs/less.html                         |  12 ++-
 docs/scaffolding.html                  |   8 +-
 docs/templates/layout.mustache         |   8 +-
 docs/templates/pages/base-css.mustache |  58 +++++-----
 docs/templates/pages/index.mustache    |  58 +++++-----
 docs/templates/pages/less.mustache     |   4 +-
 docs/upgrading.html                    |   8 +-
 lib/buttons.less                       |   2 +-
 lib/forms.less                         |   6 ++
 lib/mixins.less                        |   3 +
 lib/variables.less                     |   2 +-
 22 files changed, 394 insertions(+), 236 deletions(-)

diff --git a/bootstrap-responsive.css b/bootstrap-responsive.css
index 7907c0e086..02b5c099ef 100644
--- a/bootstrap-responsive.css
+++ b/bootstrap-responsive.css
@@ -13,6 +13,7 @@
   }
   .navbar .nav, .navbar .nav > li:last-child a {
     -webkit-border-radius: 0 0 4px 0;
+    -moz-border-radius: 0 0 4px 0;
     border-radius: 0 0 4px 0;
   }
   .navbar .nav > li {
diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index fb736a12be..8ed8745bb6 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 7de5801627..787211a75c 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Wed Jan 25 21:28:14 PST 2012
+ * Date: Thu Jan 26 09:49:45 PST 2012
  */
 article,
 aside,
@@ -420,6 +420,7 @@ code, pre {
   font-size: 12px;
   color: #333333;
   -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
   border-radius: 3px;
 }
 code {
@@ -438,6 +439,7 @@ pre {
   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;
@@ -505,6 +507,7 @@ select,
   color: #555555;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
   border-radius: 3px;
 }
 .uneditable-textarea {
@@ -533,6 +536,7 @@ input[type=file] {
   background-color: #ffffff;
   background-color: initial;
   -webkit-box-shadow: none;
+  -moz-box-shadow: none;
   box-shadow: none;
 }
 input[type=button], input[type=reset], input[type=submit] {
@@ -558,11 +562,15 @@ select[multiple], select[size] {
 }
 input[type=image] {
   -webkit-box-shadow: none;
+  -moz-box-shadow: none;
   box-shadow: none;
 }
 textarea {
   height: auto;
 }
+input[type=hidden] {
+  display: none;
+}
 .radio, .checkbox {
   padding-left: 18px;
 }
@@ -582,6 +590,7 @@ textarea {
 }
 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);
   -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
   -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
@@ -592,11 +601,13 @@ input, textarea {
 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;
 }
 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
   -webkit-box-shadow: none;
+  -moz-box-shadow: none;
   box-shadow: none;
   outline: 1px dotted #666;
 }
@@ -717,6 +728,7 @@ textarea[readonly] {
 .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;
 }
 .control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {
@@ -734,6 +746,7 @@ textarea[readonly] {
 .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;
 }
 .control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {
@@ -751,6 +764,7 @@ textarea[readonly] {
 .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;
 }
 .control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {
@@ -765,6 +779,7 @@ input:focus:required:invalid, textarea:focus:required:invalid, select:focus:requ
 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;
 }
 .form-actions {
@@ -779,6 +794,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   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;
 }
@@ -822,6 +838,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 .input-prepend .uneditable-input,
 .input-append .uneditable-input {
   -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
 .input-prepend .uneditable-input, .input-append .uneditable-input {
@@ -843,6 +860,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   background-color: #f5f5f5;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
 }
 .input-prepend .active, .input-append .active {
@@ -857,6 +875,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 .input-append input, .input-append .uneditable-input {
   float: left;
   -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
 }
 .input-append .uneditable-input {
@@ -866,6 +885,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   margin-right: 0;
   margin-left: -1px;
   -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
 .search-query {
@@ -873,6 +893,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   padding-right: 14px;
   margin-bottom: 0;
   -webkit-border-radius: 14px;
+  -moz-border-radius: 14px;
   border-radius: 14px;
 }
 .form-search input,
@@ -949,6 +970,7 @@ table {
   border: 1px solid #ddd;
   border-collapse: separate;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .table-bordered th + th,
@@ -962,18 +984,22 @@ table {
 }
 .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;
 }
 .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;
 }
 .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;
 }
 .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;
 }
 .table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
@@ -1361,8 +1387,10 @@ table .span12 {
   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;
@@ -1408,6 +1436,7 @@ table .span12 {
 .typeahead {
   margin-top: 2px;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .well {
@@ -1418,8 +1447,10 @@ table .span12 {
   border: 1px solid #eee;
   border: 1px solid rgba(0, 0, 0, 0.05);
   -webkit-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);
 }
 .well blockquote {
@@ -1539,6 +1570,7 @@ table .span12 {
   padding-bottom: 9px;
   border: 1px solid transparent;
   -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
   border-radius: 4px 4px 0 0;
 }
 .tabs > li > a:hover {
@@ -1557,6 +1589,7 @@ table .span12 {
   margin-top: 2px;
   margin-bottom: 2px;
   -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
   border-radius: 5px;
 }
 .pills .active > a, .pills .active > a:hover {
@@ -1575,14 +1608,17 @@ table .span12 {
 .tabs.stacked > li > a {
   border: 1px solid #ddd;
   -webkit-border-radius: 0;
+  -moz-border-radius: 0;
   border-radius: 0;
 }
 .tabs.stacked > li:first-child > a {
   -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
   border-radius: 4px 4px 0 0;
 }
 .tabs.stacked > li:last-child > a {
   -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
   border-radius: 0 0 4px 4px;
 }
 .tabs.stacked > li > a:hover {
@@ -1601,6 +1637,7 @@ table .span12 {
 }
 .pills .dropdown-menu {
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .tabs .dropdown-toggle .caret, .pills .dropdown-toggle .caret {
@@ -1658,6 +1695,7 @@ table .span12 {
 }
 .tabs-below .tabs > li > a {
   -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
   border-radius: 0 0 4px 4px;
 }
 .tabs-below .tabs > li > a:hover {
@@ -1683,6 +1721,7 @@ table .span12 {
 .tabs-left .tabs > li > a {
   margin-right: -1px;
   -webkit-border-radius: 4px 0 0 4px;
+  -moz-border-radius: 4px 0 0 4px;
   border-radius: 4px 0 0 4px;
 }
 .tabs-left .tabs > li > a:hover {
@@ -1699,6 +1738,7 @@ table .span12 {
 .tabs-right .tabs > li > a {
   margin-left: -1px;
   -webkit-border-radius: 0 4px 4px 0;
+  -moz-border-radius: 0 4px 4px 0;
   border-radius: 0 4px 4px 0;
 }
 .tabs-right .tabs > li > a:hover {
@@ -1722,6 +1762,7 @@ table .span12 {
   background-repeat: repeat-x;
   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);
 }
 .navbar .brand:hover {
@@ -1777,6 +1818,7 @@ table .span12 {
   background: rgba(255, 255, 255, 0.3);
   border: 1px solid #111;
   -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-transition: none;
   -moz-transition: none;
@@ -1802,6 +1844,7 @@ table .span12 {
   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;
 }
@@ -1812,6 +1855,7 @@ table .span12 {
   padding-left: 20px;
   padding-right: 20px;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .navbar-fixed {
@@ -1869,6 +1913,7 @@ table .span12 {
 .navbar .dropdown-menu {
   margin-top: 1px;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .navbar .dropdown-menu:before {
@@ -1930,8 +1975,10 @@ table .span12 {
   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;
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
+  -moz-box-shadow: inset 0 1px 0 #ffffff;
   box-shadow: inset 0 1px 0 #ffffff;
 }
 .breadcrumb li {
@@ -1958,8 +2005,10 @@ table .span12 {
   margin-left: 0;
   margin-bottom: 0;
   -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
   border-radius: 3px;
   -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);
 }
 .pagination li {
@@ -1987,10 +2036,12 @@ table .span12 {
 .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;
 }
 .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;
 }
 .pagination-centered {
@@ -2021,6 +2072,7 @@ table .span12 {
   padding: 6px 15px;
   background-color: #f5f5f5;
   -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
   border-radius: 15px;
 }
 .pager .next a {
@@ -2061,10 +2113,13 @@ table .span12 {
   /* IE6-7 */
 
   -webkit-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);
   -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
 .modal.fade {
@@ -2094,8 +2149,10 @@ table .span12 {
   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;
   *zoom: 1;
 }
@@ -2177,6 +2234,7 @@ table .span12 {
   text-decoration: none;
   background-color: #000000;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .tooltip-arrow {
@@ -2248,8 +2306,10 @@ table .span12 {
   background: #000000;
   background: rgba(0, 0, 0, 0.8);
   -webkit-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);
 }
 .popover .title {
@@ -2258,14 +2318,17 @@ table .span12 {
   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;
 }
 .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;
   -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
   background-clip: padding-box;
 }
 .popover .content p, .popover .content ul, .popover .content ol {
@@ -2338,8 +2401,10 @@ table .span12 {
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
   -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;
   -webkit-transition: 0.1s linear all;
@@ -2359,21 +2424,22 @@ table .span12 {
 .btn.primary {
   color: #ffffff;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0064cd;
-  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#049cdb), to(#0064cd));
-  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
-  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
-  background-image: linear-gradient(top, #049cdb, #0064cd);
+  background-color: #0055cc;
+  background-image: -moz-linear-gradient(top, #0088cc, #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: linear-gradient(top, #0088cc, #0055cc);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
-  border-color: #0064cd #0064cd #003f81;
+  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);
 }
 .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);
 }
 .btn.disabled {
@@ -2383,6 +2449,7 @@ table .span12 {
   opacity: 0.65;
   filter: alpha(opacity=65);
   -webkit-box-shadow: none;
+  -moz-box-shadow: none;
   box-shadow: none;
 }
 .btn[disabled] {
@@ -2392,6 +2459,7 @@ table .span12 {
   opacity: 0.65;
   filter: alpha(opacity=65);
   -webkit-box-shadow: none;
+  -moz-box-shadow: none;
   box-shadow: none;
 }
 .btn.large {
@@ -2399,6 +2467,7 @@ table .span12 {
   font-size: 15px;
   line-height: normal;
   -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
   border-radius: 5px;
 }
 .btn.small {
@@ -2434,6 +2503,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   float: left;
   margin-left: -1px;
   -webkit-border-radius: 0;
+  -moz-border-radius: 0;
   border-radius: 0;
 }
 .btn-group .btn:first-child {
@@ -2477,17 +2547,20 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding-left: 8px;
   padding-right: 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);
 }
 .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);
 }
 .btn .caret {
@@ -2509,6 +2582,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   background-color: #fcf8e3;
   border: 1px solid #f3edd2;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .alert, .alert-heading {
@@ -2575,13 +2649,16 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   line-height: 1;
   border: 1px solid #ddd;
   -webkit-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);
 }
 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);
 }
 .thumbnail > img {
@@ -2599,6 +2676,7 @@ a.thumbnail:hover {
   text-transform: uppercase;
   background-color: #999999;
   -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
   border-radius: 3px;
 }
 .label.important {
@@ -2631,6 +2709,7 @@ a.thumbnail:hover {
 }
 .progress, .progress .bar {
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .progress {
@@ -2646,6 +2725,7 @@ a.thumbnail:hover {
   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);
 }
 .progress .bar {
@@ -2665,6 +2745,7 @@ a.thumbnail:hover {
   background-repeat: repeat-x;
   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);
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
@@ -2759,6 +2840,7 @@ a.thumbnail:hover {
 .accordion-group {
   background-color: #f5f5f5;
   -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
   border-radius: 4px;
 }
 .accordion-heading {
@@ -2835,6 +2917,7 @@ a.thumbnail:hover {
   background: #222222;
   border: 3px solid #ffffff;
   -webkit-border-radius: 23px;
+  -moz-border-radius: 23px;
   border-radius: 23px;
   opacity: 0.5;
   filter: alpha(opacity=50);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 06f511b149..94bde2d36f 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -83,9 +83,9 @@ blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:
 blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}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;}
-code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;border-radius:3px;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
-pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
 small{font-size:100%;}
 cite{font-style:normal;}
@@ -94,25 +94,26 @@ fieldset{padding:0;margin:0;border:0;}
 legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
 label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-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]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
-input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;box-shadow:none;}
+input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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;*margin-top:4px;line-height:28px;}
 select{width:220px;vertical-align:baseline;background-color:#ffffff;}
 select[multiple],select[size]{height:auto;}
-input[type=image]{-webkit-box-shadow:none;box-shadow:none;}
+input[type=image]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 textarea{height:auto;}
+input[type=hidden]{display:none;}
 .radio,.checkbox{padding-left:18px;}
 .radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-18px;}
 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
 .radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;}
 .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);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;}
-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);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);outline:0;}
-input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
+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);-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;}
+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;}
+input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
 .input-mini{width:60px;}
 .input-small{width:90px;}
 .input-medium{width:150px;}
@@ -146,32 +147,32 @@ select.span11{width:870px;}
 select.span12{width:950px;}
 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
 .control-group.warning>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;box-shadow:0 0 6px #dbc59e;}
+.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;}
 .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>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;box-shadow:0 0 6px #d59392;}
+.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;}
 .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>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;box-shadow:0 0 6px #7aba7b;}
+.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;}
 .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;box-shadow:0 0 6px #f8b9b7;}
+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;}
 .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
-.uneditable-input{display:block;background-color:#ffffff;border-color:#eee;-webkit-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;}
+.uneditable-input{display:block;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-placeholder{color:#999999;}
 ::-webkit-input-placeholder{color:#999999;}
 .help-block{margin-top:5px;margin-bottom:0;color:#999999;}
 .help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
 .input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
 .input-prepend:after,.input-append:after{clear:both;}
-.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
 .input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;}
-.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
 .input-prepend .add-on{*margin-top:1px;}
-.input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
 .input-append .uneditable-input{border-right-color:#ccc;}
-.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;border-radius:14px;}
+.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-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;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:9px;}
@@ -187,12 +188,12 @@ table{max-width:100%;border-collapse:collapse;border-spacing:0;}
 .table thead:first-child tr th,.table thead:first-child tr td{border-top:0;}
 .table tbody+tbody{border-top:2px solid #ddd;}
 .table-condensed th,.table-condensed td{padding:4px 5px;}
-.table-bordered{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
+.table-bordered{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
 .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;border-radius:4px 0 0 0;}
-.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;border-radius:0 4px 0 0;}
-.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;border-radius:0 0 0 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;border-radius:0 0 4px 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;}
+.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;}
+.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;}
+.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;}
 .table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
 table .span1{float:none;width:44px;margin-left:0;}
 table .span2{float:none;width:124px;margin-left:0;}
@@ -301,14 +302,14 @@ table .span12{float:none;width:924px;margin-left:0;}
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
 .dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100);}
-.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;border-radius:0 0 5px 5px;-webkit-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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
+.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
 .dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
 .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
 .dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
 .dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
 .dropdown.open .dropdown-menu{display:block;}
-.typeahead{margin-top:2px;-webkit-border-radius:4px;border-radius:4px;}
-.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;border-radius:4px;-webkit-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);}
+.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
 .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;}.fade.in{opacity:1;}
 .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;}.collapse.in{height:auto;}
 .close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;opacity:0.4;filter:alpha(opacity=40);cursor:pointer;}
@@ -326,21 +327,21 @@ table .span12{float:none;width:924px;margin-left:0;}
 .tabs>li>a,.pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
 .tabs{border-bottom:1px solid #ddd;}
 .tabs>li{margin-bottom:-1px;}
-.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
+.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
 .tabs>.active>a,.tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
-.pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;border-radius:5px;}
+.pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .pills .active>a,.pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
 .nav.stacked>li{float:none;}
 .nav.stacked>li>a{margin-right:0;}
 .tabs.stacked{border-bottom:0;}
-.tabs.stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;}
-.tabs.stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
-.tabs.stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
+.tabs.stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+.tabs.stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
+.tabs.stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
 .tabs.stacked>li>a:hover{border-color:#ddd;z-index:2;}
 .pills.stacked>li>a{margin-bottom:3px;}
 .pills.stacked>li:last-child>a{margin-bottom:1px;}
 .pills .dropdown-menu,.tabs .dropdown-menu{margin-top:1px;border-width:1px;}
-.pills .dropdown-menu{-webkit-border-radius:4px;border-radius:4px;}
+.pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
 .tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
 .tabs .active .dropdown-toggle .caret,.pills .active .dropdown-toggle .caret{border-top-color:#333333;}
@@ -355,32 +356,32 @@ table .span12{float:none;width:924px;margin-left:0;}
 .tab-content>.active,.pill-content>.active{display:block;}
 .tabs-below .tabs{border-top:1px solid #ddd;}
 .tabs-below .tabs>li{margin-top:-1px;margin-bottom:0;}
-.tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
+.tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
 .tabs-below .tabs .active>a,.tabs-below .tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;}
 .tabs-left .tabs>li,.tabs-right .tabs>li{float:none;}
 .tabs-left .tabs>li>a,.tabs-right .tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
 .tabs-left .tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
-.tabs-left .tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
+.tabs-left .tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
 .tabs-left .tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
 .tabs-left .tabs .active>a,.tabs-left .tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;}
 .tabs-right .tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
-.tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
+.tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
 .tabs-right .tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
 .tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
 .navbar{overflow:visible;}
-.navbar-inner{background-color:#222222;background-color:#222222;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);-webkit-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-inner{background-color:#222222;background-color:#222222;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);-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);}
 .navbar .brand:hover{color:#ffffff;text-decoration:none;}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
 .navbar .btn,.navbar .btn-group{margin-top:5px;}
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-webkit-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
+.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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
 .navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
-.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;border-radius:4px;}
+.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1030;}
 .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
 .navbar .nav.pull-right{float:right;}
@@ -390,7 +391,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222222;background-color:rgba(0, 0, 0, 0.5);}
 .navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222222;border-right:1px solid #444;}
 .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
-.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
+.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
 .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;}
 .navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;}
 .navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);}
@@ -398,33 +399,33 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;}
 .navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
 .navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
-.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .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;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);}
+.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
 .pagination li{display:inline;}
 .pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;}
 .pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
 .pagination .active a{color:#999999;}
 .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
-.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.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;}
+.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;}
 .pagination-centered{text-align:center;}
 .pagination-right{text-align:right;}
 .pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";}
 .pager:after{clear:both;}
 .pager li{display:inline;}
-.pager a{display:inline-block;padding:6px 15px;background-color:#f5f5f5;-webkit-border-radius:15px;border-radius:15px;}
+.pager a{display:inline-block;padding:6px 15px;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
 .pager .next a{float:right;}
 .pager .previous a{float:left;}
 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;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;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;border-radius:6px;-webkit-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;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%;}
+.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
 .modal.fade.in{top:50%;}
 .modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
 .modal-body{padding:15px;}
-.modal-footer{padding:14px 15px 15px;margin-bottom:0;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
+.modal-footer{padding:14px 15px 15px;margin-bottom:0;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;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
 .modal-footer:after{clear:both;}
 .modal-footer .btn{float:right;margin-left:5px;margin-bottom:0;}
 .tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
@@ -436,7 +437,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;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;}
 .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;}
-.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;border-radius:4px;}
+.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .tooltip-arrow{position:absolute;width:0;height:0;}
 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;}
 .popover.right{margin-left:5px;}
@@ -447,20 +448,20 @@ table .span12{float:none;width:924px;margin-left:0;}
 .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;}
 .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
 .popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-border-radius:6px;border-radius:6px;-webkit-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;border-radius:3px 3px 0 0;}
-.popover .content{padding:14px;background-color:#ffffff;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;background-clip:padding-box;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
+.popover .inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-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);}
+.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;}
+.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;-webkit-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;}
 .btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
 .btn.danger{background-color:#c43c35;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.success{background-color:#57a957;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
 .btn.info{background-color:#339bb9;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;border-radius:4px;-webkit-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
+.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0064cd;background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#049cdb), to(#0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.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);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);}
-.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;}
-.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;border-radius:5px;}
+.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0055cc;background-image:-moz-linear-gradient(top, #0088cc, #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: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);}
+.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);}
+.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 :root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
@@ -468,18 +469,18 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .btn-group:after{clear:both;}
 .btn-group+.btn-group{margin-left:5px;}
 .btn-toolbar .btn-group{display:inline-block;}
-.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;border-radius:0;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
 .btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
 .btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
 .btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
 .btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
 .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
-.btn-group .dropdown-toggle{padding-left:8px;padding-right: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);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.open .dropdown-menu{display:block;margin-top:1px;-webkit-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);box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);}
+.btn-group .dropdown-toggle{padding-left:8px;padding-right: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);}
+.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);}
 .btn .caret{margin-top:6px;margin-left:0;}
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);}
-.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;border-radius:4px;}
+.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .alert,.alert-heading{color:#c09853;}
 .alert .close{position:relative;right:-21px;line-height:18px;}
 .alert-success{background-color:#dff0d8;border-color:#cfe8c4;}
@@ -494,17 +495,17 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";}
 .thumbnails:after{clear:both;}
 .thumbnails>li{float:left;margin:0 0 18px 20px;}
-.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;border-radius:4px;-webkit-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);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);}
+.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
+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);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
-.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
 .label.warning{background-color:#f89406;}
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;border-radius:4px;}
-.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);}
-.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;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-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-webkit-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;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;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
+.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
 .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));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: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;}
 .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;}
 .progress.danger .bar{background-color:#c43c35;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
@@ -514,7 +515,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info .bar{background-color:#339bb9;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
 .progress.info.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));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: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{background-color:#f5f5f5;-webkit-border-radius:4px;border-radius:4px;}
+.accordion-group{background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .accordion-heading{padding:8px 15px;border-bottom:0;}
 .accordion-body{margin-bottom:2px;}
 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
@@ -530,7 +531,7 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .carousel .next.left,.carousel .prev.right{left:0;}
 .carousel .active.left{left:-100%;}
 .carousel .active.right{left:100%;}
-.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
+.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
 .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;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);}
 .carousel-caption h4,.carousel-caption p{color:#ffffff;}
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 9f21f901f5..d266dd92e0 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -50,31 +50,41 @@ section {
   line-height: 1;
 }
 
+/* Faded out hr */
+hr.soften {
+  height: 1px;
+  margin: 54px 0;
+  background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0)); 
+  background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0)); 
+  background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0)); 
+  background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0)); 
+  border: 0;
+}
+
 
 /* Jumbotrons
 -------------------------------------------------- */
 .jumbotron {
   position: relative;
-  text-shadow: 0 1px 0 #fff;
 }
 .jumbotron h1 {
-  margin-right: 40%;
   margin-bottom: 9px;
-  font-size: 90px;
+  font-size: 108px;
   letter-spacing: -1px;
   line-height: 1;
 }
 .jumbotron p {
-  margin-right: 32%;
-  margin-bottom: 20px;
+  margin-bottom: 18px;
   font-size: 25px;
   font-weight: 300;
   line-height: 36px;
+  color: #333;
 }
 .jumbotron .btn-large {
   font-size: 20px;
+  font-weight: normal;
   padding: 14px 24px;
-  margin-right: 5px;
+  margin-right: 10px;
   -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
           border-radius: 6px;
@@ -84,9 +94,26 @@ section {
   color: #999;
 }
 
+/* Masthead (docs home) */
+.masthead {
+  padding: 36px 0 0;
+}
+.masthead h1,
+.masthead p {
+  text-align: center;
+}
+.masthead h1 {
+  margin-bottom: 18px;
+}
+.masthead p {
+  margin: 0 5% 27px;
+}
+
+
 /* Benefits list in masthead */
 .benefits {
-  width: 280px;
+  display: none;
+  width: 260px;
   position: absolute;
   right: 0;
   bottom: 0;
@@ -213,16 +240,9 @@ section {
 .quick-links {
   min-height: 30px;
   padding: 5px 20px;
-  margin: 45px 0;
+  margin: 36px 0;
   list-style: none;
   text-align: center;
-  background-color: #eee;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-  -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
-     -moz-box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
-          box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
   overflow: hidden;
 }
 .quick-links li {
diff --git a/docs/base-css.html b/docs/base-css.html
index a2eff98ee3..bbe7ecd885 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -944,7 +945,7 @@
           <div class="control-group">
             <label class="control-label" for="input01">Text input</label>
             <div class="controls">
-              <input type="text" class="xlarge" name="input01">
+              <input type="text" class="input-xlarge" id="input01">
               <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p>
             </div>
           </div>
@@ -952,7 +953,7 @@
             <label class="control-label" for="optionsCheckbox">Checkbox</label>
             <div class="controls">
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckbox" value="option1">
+                <input type="checkbox" id="optionsCheckbox" value="option1">
                 Option one is this and that&mdash;be sure to include why it’s great
               </label>
             </div>
@@ -960,7 +961,7 @@
           <div class="control-group">
             <label class="control-label" for="select01">Select list</label>
             <div class="controls">
-              <select name="select01">
+              <select id="select01">
                 <option>1</option>
                 <option>2</option>
                 <option>3</option>
@@ -972,7 +973,7 @@
           <div class="control-group">
             <label class="control-label" for="multiSelect">Multi-select</label>
             <div class="controls">
-              <select multiple="multiple" name="multiSelect">
+              <select multiple="multiple" id="multiSelect">
                 <option>1</option>
                 <option>2</option>
                 <option>3</option>
@@ -984,13 +985,13 @@
           <div class="control-group">
             <label class="control-label" for="fileInput">File input</label>
             <div class="controls">
-              <input class="input-file" id="fileInput" name="fileInput" type="file">
+              <input class="input-file" id="fileInput" type="file">
             </div>
           </div>
           <div class="control-group">
             <label class="control-label" for="textarea">Textarea</label>
             <div class="controls">
-              <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+              <textarea class="input-xlarge" id="textarea" rows="3"></textarea>
             </div>
           </div>
           <div class="form-actions">
@@ -1030,20 +1031,20 @@
           <div class="control-group">
             <label class="control-label" for="focusedInput">Focused input</label>
             <div class="controls">
-              <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="This is focused…">
+              <input class="input-xlarge focused" id="focusedInput" type="text" value="This is focused…">
             </div>
           </div>
           <div class="control-group">
             <label class="control-label" for="disabledInput">Disabled input</label>
             <div class="controls">
-              <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="Disabled input here…" disabled>
+              <input class="input-xlarge disabled" id="disabledInput" type="text" placeholder="Disabled input here…" disabled>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="optionsCheckbox">Disabled checkbox</label>
+            <label class="control-label" for="optionsCheckbox2">Disabled checkbox</label>
             <div class="controls">
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
+                <input type="checkbox" id="optionsCheckbox2" value="option1" disabled>
                 This is a disabled checkbox
               </label>
             </div>
@@ -1051,28 +1052,28 @@
           <div class="control-group warning">
             <label class="control-label" for="inputError">Input with warning</label>
             <div class="controls">
-              <input type="text" name="inputError">
+              <input type="text" id="inputError">
               <span class="help-inline">Something may have gone wrong</span>
             </div>
           </div>
           <div class="control-group error">
             <label class="control-label" for="inputError">Input with error</label>
             <div class="controls">
-              <input type="text" name="inputError">
+              <input type="text" id="inputError">
               <span class="help-inline">Please correct the error</span>
             </div>
           </div>
           <div class="control-group success">
             <label class="control-label" for="inputError">Input with success</label>
             <div class="controls">
-              <input type="text" name="inputError">
+              <input type="text" id="inputError">
               <span class="help-inline">Woohoo!</span>
             </div>
           </div>
           <div class="control-group success">
             <label class="control-label" for="selectError">Select with success</label>
             <div class="controls">
-              <select name="selectError">
+              <select id="selectError">
                 <option>1</option>
                 <option>2</option>
                 <option>3</option>
@@ -1116,9 +1117,9 @@
           <div class="control-group">
             <label class="control-label">Form sizes</label>
             <div class="controls docs-input-sizes">
-              <input class="span2" type="text" name="" placeholder=".span2">
-              <input class="span3" type="text" name="" placeholder=".span3">
-              <input class="span4" type="text" name="" placeholder=".span4">
+              <input class="span2" type="text" placeholder=".span2">
+              <input class="span3" type="text" placeholder=".span3">
+              <input class="span4" type="text" placeholder=".span4">
               <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
             </div>
           </div>
@@ -1127,7 +1128,7 @@
             <div class="controls">
               <div class="input-prepend">
                 <span class="add-on">@</span>
-                <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
+                <input class="span2" id="prependedInput" size="16" type="text">
               </div>
               <p class="help-block">Here's some help text</p>
             </div>
@@ -1136,7 +1137,7 @@
             <label class="control-label" for="appendedInput">Appended text</label>
             <div class="controls">
               <div class="input-append">
-                <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
+                <input class="span2" id="appendedInput" size="16" type="text">
                 <span class="add-on">.00</span>
               </div>
               <p class="help-block">Here's more help text</p>
@@ -1146,43 +1147,43 @@
             <label class="control-label" for="inlineCheckboxes">Inline checkboxes</label>
             <div class="controls">
               <label class="checkbox inline">
-                <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
+                <input type="checkbox" id="inlineCheckbox1" value="option1"> 1
               </label>
               <label class="checkbox inline">
-                <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
+                <input type="checkbox" id="inlineCheckbox2" value="option2"> 2
               </label>
               <label class="checkbox inline">
-                <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
+                <input type="checkbox" id="inlineCheckbox3" value="option3"> 3
               </label>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
+            <label class="control-label" for="optionsCheckboxList">Checkboxes</label>
             <div class="controls">
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option1">
+                <input type="checkbox" name="optionsCheckboxList1" value="option1">
                 Option one is this and that&mdash;be sure to include why it’s great
               </label>
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option2">
+                <input type="checkbox" name="optionsCheckboxList2" value="option2">
                 Option two can also be checked and included in form results
               </label>
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option3">
+                <input type="checkbox" name="optionsCheckboxList3" value="option3">
                 Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
               </label>
               <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="optionsRadios">Radio buttons</label>
+            <label class="control-label">Radio buttons</label>
             <div class="controls">
               <label class="radio">
-                <input type="radio" checked name="optionsRadios" value="option1">
+                <input type="radio" id="optionsRadios1" value="option1" checked>
                 Option one is this and that&mdash;be sure to include why it’s great
               </label>
               <label class="radio">
-                <input type="radio" name="optionsRadios" value="option2">
+                <input type="radio" id="optionsRadios2" value="option2">
                 Option two can is something else and selecting it will deselect option one
               </label>
             </div>
@@ -1482,6 +1483,7 @@
     </div>
   </div>
 </section>
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1494,9 +1496,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/components.html b/docs/components.html
index 2ccfd26e6f..49f3f8369c 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -1248,6 +1249,7 @@
 
       </section>
 
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1260,9 +1262,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/download.html b/docs/download.html
index 58fdd56597..3ad6ec921d 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -301,6 +302,7 @@
   </div>
 </section><!-- /download -->
 
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -313,9 +315,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/examples.html b/docs/examples.html
index bc52bea555..0d3e11f5a3 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -89,6 +90,7 @@
 
 </section>
 
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -101,9 +103,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/index.html b/docs/index.html
index f3738e8372..333077601e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -68,18 +69,17 @@
         ================================================== -->
         <header class="jumbotron masthead">
           <div class="inner">
-            <h1>Bootstrap,<br> from Twitter</h1>
-            <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.</p>
+            <h1>Twitter Bootstrap</h1>
+            <p class="lead">Bootstrap is a comprehensive front-end toolkit from Twitter designed to kickstart web development. It features HTML, CSS, and JS for dozens of base elements, commonly used design components, and more.</p>
             <p class="download-info">
-              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">View on GitHub</a>
-              <a href="./download.html" class="btn btn-large">Customize and Download</a>
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">View project on GitHub</a>
+              <a href="./download.html" class="btn btn-large">Customize and download</a>
             </p>
-
             <div class="benefits">
               <h4>Feature highlights</h4>
               <ul>
                 <li><span>&#10004;</span> Built on LESS</li>
-                <li><span>&#10004;</span> Complete styleguide docs</li>
+                <li><span>&#10004;</span> Complete style guide docs</li>
                 <li><span>&#10004;</span> Fully responsive design</li>
                 <li><span>&#10004;</span> Small footprint (10kb gzipped)</li>
                 <li><span>&#10004;</span> Support for IE7 and up</li>
@@ -88,30 +88,30 @@
               </ul>
             </div>
           </div>
-        </header>
 
-        <ul class="quick-links">
-          <li><strong>Quick links</strong></li>
-          <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
-          <li class="divider">&middot;</li>
-          <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
-          </li>
-          <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
-          </li>
-          <li class="divider">&middot;</li>
-          <li class="follow-btn">
-            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
-          </li>
-          <li class="tweet-btn">
-            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
-          </li>
-        </ul>
+          <ul class="quick-links">
+            <li><a href="https://github.com/twitter/bootstrap/">GitHub repo</a></li>
+            <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
+            <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
+            <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
+            <li class="divider">&middot;</li>
+            <li>
+              <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
+            </li>
+            <li>
+              <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
+            </li>
+            <li class="divider">&middot;</li>
+            <li class="follow-btn">
+              <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a>
+            </li>
+            <li class="tweet-btn">
+              <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
+            </li>
+          </ul>
+        </header>
 
+        <hr class="soften">
 
         <div class="marketing">
           <h1>Built with Bootstrap.</h1>
@@ -134,6 +134,8 @@
             </li>
           </ul>
 
+        <hr class="soften">
+
           <h1>Designed for everyone, everywhere.</h1>
           <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
           <div class="row">
@@ -210,6 +212,7 @@
             </div>
           </div><!--/row-->
 
+        <hr class="soften">
 
           <!-- Quickstart options
           ================================================== -->
@@ -243,6 +246,7 @@
 
         </div><!-- /.marketing -->
       </div><!-- /#overview -->
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -255,9 +259,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/javascript.html b/docs/javascript.html
index 34d61ef9cb..400a93dd23 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -1356,6 +1357,7 @@ $('.myCarousel').carousel({
         </div>
       </div>
     </section>
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -1368,9 +1370,11 @@ $('.myCarousel').carousel({
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/less.html b/docs/less.html
index f6321fc69b..d2e083c2e0 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -301,8 +302,8 @@
       <table class="table table-bordered table-striped">
         <tbody>
           <tr>
-            <td class="span3"><code>@primaryButtonColor</code></td>
-            <td><code>@blue</code></td>
+            <td class="span3"><code>@primaryButtonBackground</code></td>
+            <td><code>@linkColor</code></td>
           </tr>
         </tbody>
       </table>
@@ -755,6 +756,7 @@
   </div><!-- /row -->
 </section>
 
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -767,9 +769,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 2ba8d5d7ad..2c8d873e7f 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -379,6 +380,7 @@
     </div>
   </div>
 </section>
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -391,9 +393,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index addcb224f7..547b99bb40 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -64,6 +65,7 @@
 
 {{>body}}
 
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -76,9 +78,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index c2dd661ae0..325883872b 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -880,7 +880,7 @@
           <div class="control-group">
             <label class="control-label" for="input01">{{_i}}Text input{{/i}}</label>
             <div class="controls">
-              <input type="text" class="xlarge" name="input01">
+              <input type="text" class="input-xlarge" id="input01">
               <p class="help-block">{{_i}}In addition to freeform text, any HTML5 text-based input appears like so.{{/i}}</p>
             </div>
           </div>
@@ -888,7 +888,7 @@
             <label class="control-label" for="optionsCheckbox">{{_i}}Checkbox{{/i}}</label>
             <div class="controls">
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckbox" value="option1">
+                <input type="checkbox" id="optionsCheckbox" value="option1">
                 {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
               </label>
             </div>
@@ -896,7 +896,7 @@
           <div class="control-group">
             <label class="control-label" for="select01">{{_i}}Select list{{/i}}</label>
             <div class="controls">
-              <select name="select01">
+              <select id="select01">
                 <option>1</option>
                 <option>2</option>
                 <option>3</option>
@@ -908,7 +908,7 @@
           <div class="control-group">
             <label class="control-label" for="multiSelect">{{_i}}Multi-select{{/i}}</label>
             <div class="controls">
-              <select multiple="multiple" name="multiSelect">
+              <select multiple="multiple" id="multiSelect">
                 <option>1</option>
                 <option>2</option>
                 <option>3</option>
@@ -920,13 +920,13 @@
           <div class="control-group">
             <label class="control-label" for="fileInput">{{_i}}File input{{/i}}</label>
             <div class="controls">
-              <input class="input-file" id="fileInput" name="fileInput" type="file">
+              <input class="input-file" id="fileInput" type="file">
             </div>
           </div>
           <div class="control-group">
             <label class="control-label" for="textarea">{{_i}}Textarea{{/i}}</label>
             <div class="controls">
-              <textarea class="input-xlarge" name="textarea" id="textarea" rows="3"></textarea>
+              <textarea class="input-xlarge" id="textarea" rows="3"></textarea>
             </div>
           </div>
           <div class="form-actions">
@@ -966,20 +966,20 @@
           <div class="control-group">
             <label class="control-label" for="focusedInput">{{_i}}Focused input{{/i}}</label>
             <div class="controls">
-              <input class="input-xlarge focused" id="focusedInput" name="focusedInput" type="text" value="{{_i}}This is focused…{{/i}}">
+              <input class="input-xlarge focused" id="focusedInput" type="text" value="{{_i}}This is focused…{{/i}}">
             </div>
           </div>
           <div class="control-group">
             <label class="control-label" for="disabledInput">{{_i}}Disabled input{{/i}}</label>
             <div class="controls">
-              <input class="input-xlarge disabled" id="disabledInput" name="disabledInput" type="text" placeholder="{{_i}}Disabled input here…{{/i}}" disabled>
+              <input class="input-xlarge disabled" id="disabledInput" type="text" placeholder="{{_i}}Disabled input here…{{/i}}" disabled>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="optionsCheckbox">{{_i}}Disabled checkbox{{/i}}</label>
+            <label class="control-label" for="optionsCheckbox2">{{_i}}Disabled checkbox{{/i}}</label>
             <div class="controls">
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckbox" value="option1" disabled>
+                <input type="checkbox" id="optionsCheckbox2" value="option1" disabled>
                 {{_i}}This is a disabled checkbox{{/i}}
               </label>
             </div>
@@ -987,28 +987,28 @@
           <div class="control-group warning">
             <label class="control-label" for="inputError">{{_i}}Input with warning{{/i}}</label>
             <div class="controls">
-              <input type="text" name="inputError">
+              <input type="text" id="inputError">
               <span class="help-inline">{{_i}}Something may have gone wrong{{/i}}</span>
             </div>
           </div>
           <div class="control-group error">
             <label class="control-label" for="inputError">{{_i}}Input with error{{/i}}</label>
             <div class="controls">
-              <input type="text" name="inputError">
+              <input type="text" id="inputError">
               <span class="help-inline">{{_i}}Please correct the error{{/i}}</span>
             </div>
           </div>
           <div class="control-group success">
             <label class="control-label" for="inputError">{{_i}}Input with success{{/i}}</label>
             <div class="controls">
-              <input type="text" name="inputError">
+              <input type="text" id="inputError">
               <span class="help-inline">{{_i}}Woohoo!{{/i}}</span>
             </div>
           </div>
           <div class="control-group success">
             <label class="control-label" for="selectError">{{_i}}Select with success{{/i}}</label>
             <div class="controls">
-              <select name="selectError">
+              <select id="selectError">
                 <option>1</option>
                 <option>2</option>
                 <option>3</option>
@@ -1052,9 +1052,9 @@
           <div class="control-group">
             <label class="control-label">{{_i}}Form sizes{{/i}}</label>
             <div class="controls docs-input-sizes">
-              <input class="span2" type="text" name="" placeholder=".span2">
-              <input class="span3" type="text" name="" placeholder=".span3">
-              <input class="span4" type="text" name="" placeholder=".span4">
+              <input class="span2" type="text" placeholder=".span2">
+              <input class="span3" type="text" placeholder=".span3">
+              <input class="span4" type="text" placeholder=".span4">
               <p class="help-block">{{_i}}Use the same <code>.span*</code> classes from the grid system for input sizes.{{/i}}</p>
             </div>
           </div>
@@ -1063,7 +1063,7 @@
             <div class="controls">
               <div class="input-prepend">
                 <span class="add-on">@</span>
-                <input class="span2" id="prependedInput" name="prependedInput" size="16" type="text">
+                <input class="span2" id="prependedInput" size="16" type="text">
               </div>
               <p class="help-block">{{_i}}Here's some help text{{/i}}</p>
             </div>
@@ -1072,7 +1072,7 @@
             <label class="control-label" for="appendedInput">{{_i}}Appended text{{/i}}</label>
             <div class="controls">
               <div class="input-append">
-                <input class="span2" id="appendedInput" name="appendedInput" size="16" type="text">
+                <input class="span2" id="appendedInput" size="16" type="text">
                 <span class="add-on">.00</span>
               </div>
               <p class="help-block">{{_i}}Here's more help text{{/i}}</p>
@@ -1082,43 +1082,43 @@
             <label class="control-label" for="inlineCheckboxes">{{_i}}Inline checkboxes{{/i}}</label>
             <div class="controls">
               <label class="checkbox inline">
-                <input type="checkbox" name="inlineCheckbox1" value="option1"> 1
+                <input type="checkbox" id="inlineCheckbox1" value="option1"> 1
               </label>
               <label class="checkbox inline">
-                <input type="checkbox" name="inlineCheckbox1" value="option1"> 2
+                <input type="checkbox" id="inlineCheckbox2" value="option2"> 2
               </label>
               <label class="checkbox inline">
-                <input type="checkbox" name="inlineCheckbox1" value="option1"> 3
+                <input type="checkbox" id="inlineCheckbox3" value="option3"> 3
               </label>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="optionsCheckboxes">{{_i}}Checkboxes{{/i}}</label>
+            <label class="control-label" for="optionsCheckboxList">{{_i}}Checkboxes{{/i}}</label>
             <div class="controls">
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option1">
+                <input type="checkbox" name="optionsCheckboxList1" value="option1">
                 {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
               </label>
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option2">
+                <input type="checkbox" name="optionsCheckboxList2" value="option2">
                 {{_i}}Option two can also be checked and included in form results{{/i}}
               </label>
               <label class="checkbox">
-                <input type="checkbox" name="optionsCheckboxes" value="option3">
+                <input type="checkbox" name="optionsCheckboxList3" value="option3">
                 {{_i}}Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results{{/i}}
               </label>
               <p class="help-text">{{_i}}<strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.{{/i}}</p>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="optionsRadios">{{_i}}Radio buttons{{/i}}</label>
+            <label class="control-label">{{_i}}Radio buttons{{/i}}</label>
             <div class="controls">
               <label class="radio">
-                <input type="radio" checked name="optionsRadios" value="option1">
+                <input type="radio" id="optionsRadios1" value="option1" checked>
                 {{_i}}Option one is this and that&mdash;be sure to include why it’s great{{/i}}
               </label>
               <label class="radio">
-                <input type="radio" name="optionsRadios" value="option2">
+                <input type="radio" id="optionsRadios2" value="option2">
                 {{_i}}Option two can is something else and selecting it will deselect option one{{/i}}
               </label>
             </div>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 33bfd035f2..5bc52644d6 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -4,18 +4,17 @@
         ================================================== -->
         <header class="jumbotron masthead">
           <div class="inner">
-            <h1>{{_i}}Bootstrap,<br> from Twitter{{/i}}</h1>
-            <p class="lead">{{_i}}Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, featuring HTML, CSS, and JS for dozens of base elements and common design components.{{/i}}</p>
+            <h1>{{_i}}Twitter Bootstrap{{/i}}</h1>
+            <p class="lead">{{_i}}Bootstrap is a comprehensive front-end toolkit from Twitter designed to kickstart web development. It features HTML, CSS, and JS for dozens of base elements, commonly used design components, and more.{{/i}}</p>
             <p class="download-info">
-              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}View on GitHub{{/i}}</a>
-              <a href="./download.html" class="btn btn-large">{{_i}}Customize and Download{{/i}}</a>
+              <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}View project on GitHub{{/i}}</a>
+              <a href="./download.html" class="btn btn-large">{{_i}}Customize and download{{/i}}</a>
             </p>
-
             <div class="benefits">
               <h4>{{_i}}Feature highlights{{/i}}</h4>
               <ul>
                 <li><span>&#10004;</span> {{_i}}Built on LESS{{/i}}</li>
-                <li><span>&#10004;</span> {{_i}}Complete styleguide docs{{/i}}</li>
+                <li><span>&#10004;</span> {{_i}}Complete style guide docs{{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Fully responsive design{{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Small footprint (10kb gzipped){{/i}}</li>
                 <li><span>&#10004;</span> {{_i}}Support for IE7 and up{{/i}}</li>
@@ -24,30 +23,30 @@
               </ul>
             </div>
           </div>
-        </header>
 
-        <ul class="quick-links">
-          <li><strong>{{_i}}Quick links{{/i}}</strong></li>
-          <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">{{_i}}Roadmap{{/i}}</a></li>
-          <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">{{_i}}Changelog{{/i}}</a></li>
-          <li class="divider">&middot;</li>
-          <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
-          </li>
-          <li>
-            <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
-          </li>
-          <li class="divider">&middot;</li>
-          <li class="follow-btn">
-            <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">{{_i}}Follow @twbootstrap{{/i}}</a>
-          </li>
-          <li class="tweet-btn">
-            <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
-          </li>
-        </ul>
+          <ul class="quick-links">
+            <li><a href="https://github.com/twitter/bootstrap/">GitHub repo</a></li>
+            <li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
+            <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">{{_i}}Roadmap{{/i}}</a></li>
+            <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">{{_i}}Changelog{{/i}}</a></li>
+            <li class="divider">&middot;</li>
+            <li>
+              <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="114px" height="20px"></iframe>
+            </li>
+            <li>
+              <iframe class="github-btn" src="http://markdotto.github.com/github-buttons/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe>
+            </li>
+            <li class="divider">&middot;</li>
+            <li class="follow-btn">
+              <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">{{_i}}Follow @twbootstrap{{/i}}</a>
+            </li>
+            <li class="tweet-btn">
+              <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
+            </li>
+          </ul>
+        </header>
 
+        <hr class="soften">
 
         <div class="marketing">
           <h1>{{_i}}Built with Bootstrap.{{/i}}</h1>
@@ -70,6 +69,8 @@
             </li>
           </ul>
 
+        <hr class="soften">
+
           <h1>{{_i}}Designed for everyone, everywhere.{{/i}}</h1>
           <p class="marketing-byline">{{_i}}Need reasons to love Bootstrap? Look no further.{{/i}}</p>
           <div class="row">
@@ -146,6 +147,7 @@
             </div>
           </div><!--/row-->
 
+        <hr class="soften">
 
           <!-- Quickstart options
           ================================================== -->
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index f2c2668421..6478e3b2fe 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -237,8 +237,8 @@
       <table class="table table-bordered table-striped">
         <tbody>
           <tr>
-            <td class="span3"><code>@primaryButtonColor</code></td>
-            <td><code>@blue</code></td>
+            <td class="span3"><code>@primaryButtonBackground</code></td>
+            <td><code>@linkColor</code></td>
           </tr>
         </tbody>
       </table>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index fb1fbfcfe0..e80fac2d6f 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -27,6 +27,7 @@
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
   
+  
   <!-- Navbar
     ================================================== -->
     <div class="navbar navbar-fixed">
@@ -148,6 +149,7 @@
   </li>
 -->
 </ul>
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
@@ -160,9 +162,11 @@
     </div><!-- /container -->
 
 
-    <!-- Le javascript -->
+
+    <!-- Le javascript
+    ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <!-- <script src="http://code.jquery.com/jquery-1.7.min.js"></script> -->
+    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
     <script src="../js/tests/vendor/jquery.js"></script>
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script src="../js/bootstrap-transition.js"></script>
diff --git a/lib/buttons.less b/lib/buttons.less
index f13a9acbfd..d97f044cfe 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -59,7 +59,7 @@
   &.primary {
     color: @white;
     text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-    .gradientBar(@blue, @blueDark)
+    .gradientBar(@primaryButtonBackground, spin(@primaryButtonBackground, 15));
   }
 
    // Transitions
diff --git a/lib/forms.less b/lib/forms.less
index 3acb8c5dcb..744649f904 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -133,10 +133,16 @@ input[type=image] {
   .box-shadow(none);
 }
 
+// Make textarea height behave
 textarea {
   height: auto;
 }
 
+// Hidden inputs
+input[type=hidden] {
+  display: none;
+}
+
 
 
 // CHECKBOXES & RADIOS
diff --git a/lib/mixins.less b/lib/mixins.less
index 2eab8f36ed..b58571e6a1 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -134,12 +134,14 @@
 // Border Radius
 .border-radius(@radius: 5px) {
   -webkit-border-radius: @radius;
+     -moz-border-radius: @radius;
           border-radius: @radius;
 }
 
 // Drop shadows
 .box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) {
   -webkit-box-shadow: @shadow;
+     -moz-box-shadow: @shadow;
           box-shadow: @shadow;
 }
 
@@ -179,6 +181,7 @@
 // Heads up: FF 3.6 and under need "padding" instead of "padding-box"
 .background-clip(@clip) {
   -webkit-background-clip: @clip;
+     -moz-background-clip: @clip;
           background-clip: @clip;
 }
 
diff --git a/lib/variables.less b/lib/variables.less
index 3c4f562ca4..5ed896cc0c 100644
--- a/lib/variables.less
+++ b/lib/variables.less
@@ -45,7 +45,7 @@
 @baseLineHeight:        18px;
 
 // Buttons
-@primaryButtonColor:    @blue;
+@primaryButtonBackground:    @linkColor;
 
 
 
-- 
GitLab


From 29f0e4c28b56e684a9be9931dcf77b418cb63ae0 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 13:01:03 -0500
Subject: [PATCH 463/576] Removes filters as a way to provide gradients for
 IE<=9  - Lets us use rounded corners in IE9  - Makes hover / active states
 work correctly in IE<=9

Only change for non-IE is that moving from hover -> not hovering
no longer animates (was a subtle blend) due to mismatch between the
bottom of the gradient and the background color.

Refactor: moves the primary button background to match the others.
---
 docs/less.html                     |  5 ---
 docs/templates/pages/less.mustache |  5 ---
 lib/buttons.less                   | 53 ++++++++++++++++++------------
 lib/mixins.less                    | 12 ++-----
 4 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/docs/less.html b/docs/less.html
index d2e083c2e0..dc0e834435 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -468,11 +468,6 @@
         <td><code>@opacity: 100</code></td>
         <td>Set, in whole numbers, the opacity percentage (e.g., "50" or "75")</td>
       </tr>
-      <tr>
-        <td><code>.reset-filter()</code></td>
-        <td><em class="muted">none</em></td>
-        <td>Resets any IE filter</td>
-      </tr>
     </tbody>
   </table>
   <h3>Forms</h3>
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 6478e3b2fe..1aec06c2c2 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -403,11 +403,6 @@
         <td><code>@opacity: 100</code></td>
         <td>{{_i}}Set, in whole numbers, the opacity percentage (e.g., "50" or "75"){{/i}}</td>
       </tr>
-      <tr>
-        <td><code>.reset-filter()</code></td>
-        <td><em class="muted">none</em></td>
-        <td>{{_i}}Resets any IE filter{{/i}}</td>
-      </tr>
     </tbody>
   </table>
   <h3>Forms</h3>
diff --git a/lib/buttons.less b/lib/buttons.less
index d97f044cfe..7f5a91b990 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -1,9 +1,10 @@
 // BUTTON STYLES
 // -------------
 
-// Shared colors for buttons and alerts
 .btn {
   // Set text color
+  &.primary,
+  &.primary:hover,
   &.danger,
   &.danger:hover,
   &.success,
@@ -13,17 +14,36 @@
     text-shadow: 0 -1px 0 rgba(0,0,0,.25);
     color: @white
   }
+  &.primary {
+    .buttonBackground(@primaryButtonBackground, spin(@primaryButtonBackground, 15));
+  }
   // Danger and error appear as red
   &.danger {
-    .gradientBar(#ee5f5b, #c43c35);
+    .buttonBackground(#ee5f5b, #c43c35);
   }
   // Success appears as green
   &.success {
-    .gradientBar(#62c462, #57a957);
+    .buttonBackground(#62c462, #57a957);
   }
   // Info appears as a neutral blue
   &.info {
-    .gradientBar(#5bc0de, #339bb9);
+    .buttonBackground(#5bc0de, #339bb9);
+  }
+}
+
+.buttonBackground(@startColor, @endColor) {
+  // gradientBar will set the background to a pleasing blend of these, to support IE<=9
+  .gradientBar(@startColor, @endColor);
+
+  // in these cases the gradient won't cover the background, so we override
+  &:hover, &:active, &.active {
+    background-color: @endColor;
+  }
+
+  &:active,
+  &.active {
+    // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
+    background-color: darken(@endColor, 10%) e("\9");
   }
 }
 
@@ -47,7 +67,12 @@
   &:hover {
     color: @grayDark;
     text-decoration: none;
+    background-color: darken(@white, 10%);
     background-position: 0 -15px;
+
+    // transition is only when going to hover, otherwise the background
+    // behind the gradient (there for IE<=9 fallback) gets mismatched
+    .transition(background-position .1s linear);
   }
 
   // Focus state for keyboard and accessibility
@@ -55,27 +80,18 @@
     outline: 1px dotted #666;
   }
 
-  // Primary Button Type
-  &.primary {
-    color: @white;
-    text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-    .gradientBar(@primaryButtonBackground, spin(@primaryButtonBackground, 15));
-  }
-
-   // Transitions
-  .transition(.1s linear all);
-
   // Active and Disabled states
   &.active,
   &:active {
     background-image: none;
     @shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
     .box-shadow(@shadow);
+    background-color: darken(@white, 10%);
+    background-color: darken(@white, 15%) e("\9");
   }
   &.disabled {
     cursor: default;
     background-image: none;
-    .reset-filter();
     .opacity(65);
     .box-shadow(none);
   }
@@ -84,7 +100,6 @@
     // def because IE8 and below will drop it ;_;
     cursor: default;
     background-image: none;
-    .reset-filter();
     .opacity(65);
     .box-shadow(none);
   }
@@ -101,10 +116,6 @@
     font-size: @baseFontSize - 2px;
   }
 }
-// Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons
-:root .btn {
-  border-radius: 0 \0;
-}
 
 // Help Firefox not be a jerk about adding extra padding to buttons
 button.btn,
@@ -113,4 +124,4 @@ input[type=submit].btn {
   	padding: 0;
   	border: 0;
   }
-}
\ No newline at end of file
+}
diff --git a/lib/mixins.less b/lib/mixins.less
index b58571e6a1..b8c969ea8f 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -266,10 +266,9 @@
     background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
     background-image: linear-gradient(left, @startColor, @endColor); // Le standard
     background-repeat: repeat-x;
-    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); // IE9 and down
   }
   .vertical(@startColor: #555, @endColor: #333) {
-    background-color: @endColor;
+    background-color: mix(@startColor, @endColor, 60%);
     background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
     background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10
     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
@@ -277,7 +276,6 @@
     background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
     background-image: linear-gradient(top, @startColor, @endColor); // The standard
     background-repeat: repeat-x;
-   filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down
   }
   .directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
     background-color: @endColor;
@@ -289,7 +287,7 @@
     background-image: linear-gradient(@deg, @startColor, @endColor); // The standard
   }
   .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
-    background-color: @endColor;
+    background-color: @midColor;
     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
     background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
     background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
@@ -297,7 +295,6 @@
     background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
     background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
     background-repeat: no-repeat;
-    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback
   }
   .radial(@innerColor: #555, @outerColor: #333)  {
     background-color: @outsideColor;
@@ -319,11 +316,6 @@
   }
 }
 
-// Reset filters for IE
-.reset-filter() {
-  filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
-}
-
 
 
 // COMPONENT MIXINS
-- 
GitLab


From 2c2f8ebe3a090bff0254aba10b745dae10bf242d Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 13:04:30 -0500
Subject: [PATCH 464/576] Rebuild of *.css

---
 bootstrap-responsive.min.css |   2 +-
 bootstrap.css                | 108 +++++++++++++++++++----------------
 bootstrap.min.css            |  39 +++++++------
 3 files changed, 81 insertions(+), 68 deletions(-)

diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 8ed8745bb6..dcf17dce92 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 787211a75c..6462eb5a88 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 09:49:45 PST 2012
+ * Date: Thu Jan 26 13:07:59 EST 2012
  */
 article,
 aside,
@@ -1752,7 +1752,7 @@ table .span12 {
 }
 .navbar-inner {
   background-color: #222222;
-  background-color: #222222;
+  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));
@@ -1760,7 +1760,6 @@ table .span12 {
   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-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);
@@ -1829,7 +1828,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -1964,7 +1963,7 @@ table .span12 {
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
-  background-color: #f5f5f5;
+  background-color: #fbfbfb;
   background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));
@@ -1972,7 +1971,6 @@ table .span12 {
   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;
@@ -2334,6 +2332,8 @@ table .span12 {
 .popover .content p, .popover .content ul, .popover .content ol {
   margin-bottom: 0;
 }
+.btn.primary,
+.btn.primary:hover,
 .btn.danger,
 .btn.danger:hover,
 .btn.success,
@@ -2343,8 +2343,26 @@ table .span12 {
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   color: #ffffff;
 }
+.btn.primary {
+  background-color: #0074cc;
+  background-image: -moz-linear-gradient(top, #0088cc, #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: linear-gradient(top, #0088cc, #0055cc);
+  background-repeat: repeat-x;
+  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);
+}
+.btn.primary:hover, .btn.primary:active, .btn.primary.active {
+  background-color: #0055cc;
+}
+.btn.primary:active, .btn.primary.active {
+  background-color: #004099 \9;
+}
 .btn.danger {
-  background-color: #c43c35;
+  background-color: #dd514c;
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
@@ -2352,12 +2370,17 @@ table .span12 {
   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);
   border-color: #c43c35 #c43c35 #882a25;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
+.btn.danger:hover, .btn.danger:active, .btn.danger.active {
+  background-color: #c43c35;
+}
+.btn.danger:active, .btn.danger.active {
+  background-color: #9c302a \9;
+}
 .btn.success {
-  background-color: #57a957;
+  background-color: #5eb95e;
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
   background-image: -ms-linear-gradient(top, #62c462, #57a957);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
@@ -2365,12 +2388,17 @@ table .span12 {
   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);
   border-color: #57a957 #57a957 #3d773d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
+.btn.success:hover, .btn.success:active, .btn.success.active {
+  background-color: #57a957;
+}
+.btn.success:active, .btn.success.active {
+  background-color: #458845 \9;
+}
 .btn.info {
-  background-color: #339bb9;
+  background-color: #4bb1cf;
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
@@ -2378,10 +2406,15 @@ table .span12 {
   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);
   border-color: #339bb9 #339bb9 #22697d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
+.btn.info:hover, .btn.info:active, .btn.info.active {
+  background-color: #339bb9;
+}
+.btn.info:active, .btn.info.active {
+  background-color: #287a91 \9;
+}
 .btn {
   display: inline-block;
   padding: 5px 10px 6px;
@@ -2389,7 +2422,7 @@ table .span12 {
   line-height: normal;
   color: #333333;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-  background-color: #e6e6e6;
+  background-color: #ffffff;
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
   background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
@@ -2397,7 +2430,6 @@ table .span12 {
   background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-repeat: no-repeat;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
   border: 1px solid #ccc;
   border-bottom-color: #bbb;
   -webkit-border-radius: 4px;
@@ -2407,45 +2439,32 @@ table .span12 {
   -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;
-  -webkit-transition: 0.1s linear all;
-  -moz-transition: 0.1s linear all;
-  -ms-transition: 0.1s linear all;
-  -o-transition: 0.1s linear all;
-  transition: 0.1s linear all;
 }
 .btn:hover {
   color: #333333;
   text-decoration: none;
+  background-color: #e6e6e6;
   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;
 }
 .btn:focus {
   outline: 1px dotted #666;
 }
-.btn.primary {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0055cc;
-  background-image: -moz-linear-gradient(top, #0088cc, #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: 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);
-}
 .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;
 }
 .btn.disabled {
   cursor: default;
   background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
   opacity: 0.65;
   filter: alpha(opacity=65);
   -webkit-box-shadow: none;
@@ -2455,7 +2474,6 @@ table .span12 {
 .btn[disabled] {
   cursor: default;
   background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
   opacity: 0.65;
   filter: alpha(opacity=65);
   -webkit-box-shadow: none;
@@ -2474,9 +2492,6 @@ table .span12 {
   padding: 7px 9px 7px;
   font-size: 11px;
 }
-:root .btn {
-  border-radius: 0 \0;
-}
 button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding: 0;
   border: 0;
@@ -2715,7 +2730,7 @@ a.thumbnail:hover {
 .progress {
   height: 18px;
   margin-bottom: 18px;
-  background-color: #f9f9f9;
+  background-color: #f7f7f7;
   background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
   background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
@@ -2723,7 +2738,6 @@ 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);
@@ -2735,7 +2749,7 @@ a.thumbnail:hover {
   font-size: 12px;
   text-align: center;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0480be;
+  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));
@@ -2743,7 +2757,6 @@ a.thumbnail:hover {
   background-image: -o-linear-gradient(top, #149bdf, #0480be);
   background-image: linear-gradient(top, #149bdf, #0480be);
   background-repeat: repeat-x;
-  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);
@@ -2775,7 +2788,7 @@ a.thumbnail:hover {
   animation: progress-bar-stripes 2s linear infinite;
 }
 .progress.danger .bar {
-  background-color: #c43c35;
+  background-color: #dd514c;
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
@@ -2783,7 +2796,6 @@ 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);
 }
 .progress.danger.striped .bar {
   background-color: #ee5f5b;
@@ -2795,7 +2807,7 @@ a.thumbnail:hover {
   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: #57a957;
+  background-color: #5eb95e;
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
   background-image: -ms-linear-gradient(top, #62c462, #57a957);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
@@ -2803,7 +2815,6 @@ 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);
 }
 .progress.success.striped .bar {
   background-color: #62c462;
@@ -2815,7 +2826,7 @@ a.thumbnail:hover {
   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: #339bb9;
+  background-color: #4bb1cf;
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
@@ -2823,7 +2834,6 @@ 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);
 }
 .progress.info.striped .bar {
   background-color: #5bc0de;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 94bde2d36f..be9c1f2602 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -369,7 +369,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .tabs-right .tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
 .tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
 .navbar{overflow:visible;}
-.navbar-inner{background-color:#222222;background-color:#222222;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);-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);}
+.navbar-inner{background-color:#222222;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;-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);}
 .navbar .brand:hover{color:#ffffff;text-decoration:none;}
 .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
 .navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
@@ -377,7 +377,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
@@ -399,7 +399,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;}
 .navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
 .navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
-.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);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;-webkit-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;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#fbfbfb;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);background-repeat:repeat-x;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-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;text-shadow:0 1px 0 #ffffff;}
 .breadcrumb .divider{padding:0 5px;color:#999999;}
 .breadcrumb .active a{color:#333333;}
 .pagination{height:36px;margin:18px 0;}
@@ -451,19 +451,22 @@ table .span12{float:none;width:924px;margin-left:0;}
 .popover .inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-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);}
 .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;}
 .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;-webkit-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;}
-.btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
-.btn.danger{background-color:#c43c35;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.success{background-color:#57a957;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn.info{background-color:#339bb9;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
-.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#e6e6e6;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;}
+.btn.primary,.btn.primary:hover,.btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
+.btn.primary{background-color:#0074cc;background-image:-moz-linear-gradient(top, #0088cc, #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:linear-gradient(top, #0088cc, #0055cc);background-repeat:repeat-x;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);}.btn.primary:hover,.btn.primary:active,.btn.primary.active{background-color:#0055cc;}
+.btn.primary:active,.btn.primary.active{background-color:#004099 \9;}
+.btn.danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.danger:hover,.btn.danger:active,.btn.danger.active{background-color:#c43c35;}
+.btn.danger:active,.btn.danger.active{background-color:#9c302a \9;}
+.btn.success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.success:hover,.btn.success:active,.btn.success.active{background-color:#57a957;}
+.btn.success:active,.btn.success.active{background-color:#458845 \9;}
+.btn.info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.info:hover,.btn.info:active,.btn.info.active{background-color:#339bb9;}
+.btn.info:active,.btn.info.active{background-color:#287a91 \9;}
+.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#ffffff;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;}.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;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;}
 .btn:focus{outline:1px dotted #666;}
-.btn.primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0055cc;background-image:-moz-linear-gradient(top, #0088cc, #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: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);}
-.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);}
-.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.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;}
+.btn.disabled{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
-:root .btn{border-radius:0 \0;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
 .btn-group{position:relative;*zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";}
 .btn-group:after{clear:both;}
@@ -504,15 +507,15 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .label.success{background-color:#46a546;}
 .label.notice{background-color:#62cffc;}
 @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.progress{height:18px;margin-bottom:18px;background-color:#f9f9f9;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);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);}
-.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0480be;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-repeat:repeat-x;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);-webkit-box-sizing:border-box;-moz-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;}
+.progress{height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(top, #f5f5f5, #f9f9f9);background-repeat:repeat-x;-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%;height:18px;color:#ffffff;font-size:12px;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-repeat:repeat-x;-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);-webkit-box-sizing:border-box;-moz-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;}
 .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));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: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;}
 .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;}
-.progress.danger .bar{background-color:#c43c35;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);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);}
+.progress.danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;}
 .progress.danger.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));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: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:#57a957;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);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);}
+.progress.success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;}
 .progress.success.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));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: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:#339bb9;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);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);}
+.progress.info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;}
 .progress.info.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));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: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{background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-- 
GitLab


From ef4d0dd7dbd959f830d4cb7976d6a4b061784ec6 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 10:12:25 -0800
Subject: [PATCH 465/576] space out masthead a git more

---
 docs/assets/css/docs.css | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index d266dd92e0..27c446d233 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -96,7 +96,8 @@ hr.soften {
 
 /* Masthead (docs home) */
 .masthead {
-  padding: 36px 0 0;
+  padding-top: 36px;
+  margin-bottom: 72px;
 }
 .masthead h1,
 .masthead p {
-- 
GitLab


From 7117db499f0b02da32a8d08f6371cab1f6b53338 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 13:26:14 -0500
Subject: [PATCH 466/576] Makes default button the tiniest bit of gray for
 IE<=9

---
 lib/mixins.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/mixins.less b/lib/mixins.less
index b8c969ea8f..dd331ebf28 100644
--- a/lib/mixins.less
+++ b/lib/mixins.less
@@ -287,7 +287,7 @@
     background-image: linear-gradient(@deg, @startColor, @endColor); // The standard
   }
   .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
-    background-color: @midColor;
+    background-color: mix(@midColor, @endColor, 80%);
     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
     background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
     background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
-- 
GitLab


From 86e0e89ee81d4a2a1daef6b68aa269419ee7d644 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 13:26:28 -0500
Subject: [PATCH 467/576] More *.css building

---
 bootstrap.css     | 4 ++--
 bootstrap.min.css | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 6462eb5a88..f4af5ede94 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 13:07:59 EST 2012
+ * Date: Thu Jan 26 13:26:16 EST 2012
  */
 article,
 aside,
@@ -2422,7 +2422,7 @@ table .span12 {
   line-height: normal;
   color: #333333;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-  background-color: #ffffff;
+  background-color: #fafafa;
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
   background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
   background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
diff --git a/bootstrap.min.css b/bootstrap.min.css
index be9c1f2602..bada2d6adb 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -460,7 +460,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .btn.success:active,.btn.success.active{background-color:#458845 \9;}
 .btn.info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.info:hover,.btn.info:active,.btn.info.active{background-color:#339bb9;}
 .btn.info:active,.btn.info.active{background-color:#287a91 \9;}
-.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#ffffff;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;}.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;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;}
+.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;}.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;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;}
 .btn:focus{outline:1px dotted #666;}
 .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;}
 .btn.disabled{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-- 
GitLab


From 34488a450081422037e84d269ddb289aa709e9fb Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 10:39:07 -0800
Subject: [PATCH 468/576] fix tabs example on js docs page

---
 docs/javascript.html                     | 8 ++++----
 docs/templates/pages/javascript.mustache | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 400a93dd23..e589c4670d 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -625,10 +625,10 @@ $('#myModal').on('hidden', function () {
 &lt;/ul&gt;
 
 &lt;div class="tab-content"&gt;
-  &lt;div class="active" id="home"&gt;...&lt;/div&gt;
-  &lt;div id="profile"&gt;...&lt;/div&gt;
-  &lt;div id="messages"&gt;...&lt;/div&gt;
-  &lt;div id="settings"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane active" id="home"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane" id="profile"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane" id="messages"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane" id="settings"&gt;...&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;script&gt;
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 6b2a3693d5..66493dc0c6 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -560,10 +560,10 @@ $('#myModal').on('hidden', function () {
 &lt;/ul&gt;
 
 &lt;div class="tab-content"&gt;
-  &lt;div class="active" id="home"&gt;...&lt;/div&gt;
-  &lt;div id="profile"&gt;...&lt;/div&gt;
-  &lt;div id="messages"&gt;...&lt;/div&gt;
-  &lt;div id="settings"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane active" id="home"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane" id="profile"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane" id="messages"&gt;...&lt;/div&gt;
+  &lt;div class="tab-pane" id="settings"&gt;...&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;script&gt;
-- 
GitLab


From b8c1950cbfbb48d49f79b1e36f8c8294b19ed57d Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 10:43:08 -0800
Subject: [PATCH 469/576] change label fo first subnav link on js docs

---
 docs/javascript.html                     | 2 +-
 docs/templates/pages/javascript.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index e589c4670d..63881d2c9a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -70,7 +70,7 @@
         <p class="lead">Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="#javascript">Overview</a></li>
+            <li><a href="#javascript">All plugins</a></li>
             <li><a href="#modals">Modal</a></li>
             <li><a href="#dropdowns">Dropdown</a></li>
             <li><a href="#scrollspy">Scrollspy</a></li>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 66493dc0c6..941c6b485a 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -5,7 +5,7 @@
         <p class="lead">{{_i}}Bring Bootstrap's components to life&mdash;now with 12 custom <a href="http://jquery.com/" target="_blank">jQuery</a> plugins.{{/i}}
         <div class="subnav">
           <ul class="nav pills">
-            <li><a href="#javascript">{{_i}}Overview{{/i}}</a></li>
+            <li><a href="#javascript">{{_i}}All plugins{{/i}}</a></li>
             <li><a href="#modals">{{_i}}Modal{{/i}}</a></li>
             <li><a href="#dropdowns">{{_i}}Dropdown{{/i}}</a></li>
             <li><a href="#scrollspy">{{_i}}Scrollspy{{/i}}</a></li>
-- 
GitLab


From cd907067b81eb5b46cd416a3e65fb2858c4603f9 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 13:51:03 -0500
Subject: [PATCH 470/576] Fixes background color for disabled buttons to match
 pre-IE fix (which prevents hover effects)

---
 lib/buttons.less | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/buttons.less b/lib/buttons.less
index 7f5a91b990..228b6c06d7 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -36,7 +36,11 @@
   .gradientBar(@startColor, @endColor);
 
   // in these cases the gradient won't cover the background, so we override
-  &:hover, &:active, &.active {
+  &:hover, &:active, &.active, &.disabled {
+    background-color: @endColor;
+  }
+
+  &[disabled] {
     background-color: @endColor;
   }
 
@@ -92,6 +96,7 @@
   &.disabled {
     cursor: default;
     background-image: none;
+    background-color: darken(@white, 10%);
     .opacity(65);
     .box-shadow(none);
   }
@@ -100,6 +105,7 @@
     // def because IE8 and below will drop it ;_;
     cursor: default;
     background-image: none;
+    background-color: darken(@white, 10%);
     .opacity(65);
     .box-shadow(none);
   }
-- 
GitLab


From 62b2fdc4de2abe56a0366c5e46861ce4837aca56 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 13:51:29 -0500
Subject: [PATCH 471/576] Rebuild *.css

---
 bootstrap.css     | 36 +++++++++++++++++++++++++++++++-----
 bootstrap.min.css | 16 ++++++++++------
 2 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index f4af5ede94..2432c74dba 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 13:26:16 EST 2012
+ * Date: Thu Jan 26 13:51:07 EST 2012
  */
 article,
 aside,
@@ -2355,7 +2355,13 @@ table .span12 {
   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);
 }
-.btn.primary:hover, .btn.primary:active, .btn.primary.active {
+.btn.primary:hover,
+.btn.primary:active,
+.btn.primary.active,
+.btn.primary.disabled {
+  background-color: #0055cc;
+}
+.btn.primary[disabled] {
   background-color: #0055cc;
 }
 .btn.primary:active, .btn.primary.active {
@@ -2373,7 +2379,13 @@ table .span12 {
   border-color: #c43c35 #c43c35 #882a25;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.btn.danger:hover, .btn.danger:active, .btn.danger.active {
+.btn.danger:hover,
+.btn.danger:active,
+.btn.danger.active,
+.btn.danger.disabled {
+  background-color: #c43c35;
+}
+.btn.danger[disabled] {
   background-color: #c43c35;
 }
 .btn.danger:active, .btn.danger.active {
@@ -2391,7 +2403,13 @@ table .span12 {
   border-color: #57a957 #57a957 #3d773d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.btn.success:hover, .btn.success:active, .btn.success.active {
+.btn.success:hover,
+.btn.success:active,
+.btn.success.active,
+.btn.success.disabled {
+  background-color: #57a957;
+}
+.btn.success[disabled] {
   background-color: #57a957;
 }
 .btn.success:active, .btn.success.active {
@@ -2409,7 +2427,13 @@ table .span12 {
   border-color: #339bb9 #339bb9 #22697d;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
 }
-.btn.info:hover, .btn.info:active, .btn.info.active {
+.btn.info:hover,
+.btn.info:active,
+.btn.info.active,
+.btn.info.disabled {
+  background-color: #339bb9;
+}
+.btn.info[disabled] {
   background-color: #339bb9;
 }
 .btn.info:active, .btn.info.active {
@@ -2465,6 +2489,7 @@ table .span12 {
 .btn.disabled {
   cursor: default;
   background-image: none;
+  background-color: #e6e6e6;
   opacity: 0.65;
   filter: alpha(opacity=65);
   -webkit-box-shadow: none;
@@ -2474,6 +2499,7 @@ table .span12 {
 .btn[disabled] {
   cursor: default;
   background-image: none;
+  background-color: #e6e6e6;
   opacity: 0.65;
   filter: alpha(opacity=65);
   -webkit-box-shadow: none;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index bada2d6adb..e025ab93b0 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -452,19 +452,23 @@ table .span12{float:none;width:924px;margin-left:0;}
 .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;}
 .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;-webkit-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;}
 .btn.primary,.btn.primary:hover,.btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
-.btn.primary{background-color:#0074cc;background-image:-moz-linear-gradient(top, #0088cc, #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:linear-gradient(top, #0088cc, #0055cc);background-repeat:repeat-x;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);}.btn.primary:hover,.btn.primary:active,.btn.primary.active{background-color:#0055cc;}
+.btn.primary{background-color:#0074cc;background-image:-moz-linear-gradient(top, #0088cc, #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:linear-gradient(top, #0088cc, #0055cc);background-repeat:repeat-x;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);}.btn.primary:hover,.btn.primary:active,.btn.primary.active,.btn.primary.disabled{background-color:#0055cc;}
+.btn.primary[disabled]{background-color:#0055cc;}
 .btn.primary:active,.btn.primary.active{background-color:#004099 \9;}
-.btn.danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.danger:hover,.btn.danger:active,.btn.danger.active{background-color:#c43c35;}
+.btn.danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.danger:hover,.btn.danger:active,.btn.danger.active,.btn.danger.disabled{background-color:#c43c35;}
+.btn.danger[disabled]{background-color:#c43c35;}
 .btn.danger:active,.btn.danger.active{background-color:#9c302a \9;}
-.btn.success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.success:hover,.btn.success:active,.btn.success.active{background-color:#57a957;}
+.btn.success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.success:hover,.btn.success:active,.btn.success.active,.btn.success.disabled{background-color:#57a957;}
+.btn.success[disabled]{background-color:#57a957;}
 .btn.success:active,.btn.success.active{background-color:#458845 \9;}
-.btn.info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.info:hover,.btn.info:active,.btn.info.active{background-color:#339bb9;}
+.btn.info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.info:hover,.btn.info:active,.btn.info.active,.btn.info.disabled{background-color:#339bb9;}
+.btn.info[disabled]{background-color:#339bb9;}
 .btn.info:active,.btn.info.active{background-color:#287a91 \9;}
 .btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;}.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;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;}
 .btn:focus{outline:1px dotted #666;}
 .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;}
-.btn.disabled{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn.disabled{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-- 
GitLab


From edef89f30efd73e5fca9952eef48136f8264aa93 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 11:10:07 -0800
Subject: [PATCH 472/576] move around some comments in buttons.less, update
 labels to use correct variables, add snippet to docs about IE9

---
 bootstrap-responsive.min.css           |  2 +-
 bootstrap.css                          | 12 ++++++------
 bootstrap.min.css                      |  8 ++++----
 docs/base-css.html                     | 15 +++++++++++----
 docs/templates/pages/base-css.mustache | 15 +++++++++++----
 lib/buttons.less                       | 15 +++++++++++++--
 lib/labels.less                        |  6 +++---
 7 files changed, 49 insertions(+), 24 deletions(-)

diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index dcf17dce92..8ed8745bb6 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 2432c74dba..4e73165586 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 13:51:07 EST 2012
+ * Date: Thu Jan 26 11:09:38 PST 2012
  */
 article,
 aside,
@@ -1828,7 +1828,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2721,16 +2721,16 @@ a.thumbnail:hover {
   border-radius: 3px;
 }
 .label.important {
-  background-color: #c43c35;
+  background-color: #b94a48;
 }
 .label.warning {
   background-color: #f89406;
 }
 .label.success {
-  background-color: #46a546;
+  background-color: #468847;
 }
-.label.notice {
-  background-color: #62cffc;
+.label.info {
+  background-color: #3a87ad;
 }
 @-webkit-keyframes progress-bar-stripes {
   from {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index e025ab93b0..6f22405e69 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -377,7 +377,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
@@ -506,10 +506,10 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 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);}
 .thumbnail>img{display:block;max-width:100%;}
 .thumbnail .caption{padding:9px;}
-.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
+.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#b94a48;}
 .label.warning{background-color:#f89406;}
-.label.success{background-color:#46a546;}
-.label.notice{background-color:#62cffc;}
+.label.success{background-color:#468847;}
+.label.info{background-color:#3a87ad;}
 @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .progress{height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(top, #f5f5f5, #f9f9f9);background-repeat:repeat-x;-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%;height:18px;color:#ffffff;font-size:12px;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-repeat:repeat-x;-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);-webkit-box-sizing:border-box;-moz-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;}
diff --git a/docs/base-css.html b/docs/base-css.html
index bbe7ecd885..ebc6285dc8 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -432,10 +432,10 @@
       </tr>
       <tr>
         <td>
-          <span class="label notice">Notice</span>
+          <span class="label info">Info</span>
         </td>
         <td>
-          <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
+          <code>&lt;span class="label info"&gt;Info&lt;/span&gt;</code>
         </td>
       </tr>
     </tbody>
@@ -1210,6 +1210,8 @@
 
 
 
+<!-- Buttons
+================================================== -->
 <section id="buttons">
   <div class="page-header">
     <h1>Buttons</h1>
@@ -1278,9 +1280,9 @@
         <a href="#" class="btn small">Action</a>
       </p>
     </div>
-    <div class="span8">
+    <div class="span4">
       <h3>Disabled state</h3>
-      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
+      <p>For disabled buttons, use <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
       <p>
         <a href="#" class="btn large primary disabled">Primary action</a>
         <a href="#" class="btn large disabled">Action</a>
@@ -1290,6 +1292,11 @@
         <button class="btn large" disabled>Action</button>
       </p>
     </div>
+    <div class="span4">
+      <h3>Cross browser compatibility</h3>
+      <p>In IE9, we drop the gradient on all buttons in favor of rounded corners as IE9 doesn't crop background gradients to the corners.</p>
+      <p>Related, IE9 jankifies disabled <code>button</code> elements, rendering text gray with a nasty text-shadow&mdash;unfortunately we can't fix this.</p>
+    </div>
   </div>
 
   <br>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 325883872b..27386d47fb 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -367,10 +367,10 @@
       </tr>
       <tr>
         <td>
-          <span class="label notice">{{_i}}Notice{{/i}}</span>
+          <span class="label info">{{_i}}Info{{/i}}</span>
         </td>
         <td>
-          <code>&lt;span class="label notice"&gt;{{_i}}Notice{{/i}}&lt;/span&gt;</code>
+          <code>&lt;span class="label info"&gt;{{_i}}Info{{/i}}&lt;/span&gt;</code>
         </td>
       </tr>
     </tbody>
@@ -1145,6 +1145,8 @@
 
 
 
+<!-- Buttons
+================================================== -->
 <section id="buttons">
   <div class="page-header">
     <h1>{{_i}}Buttons{{/i}}</h1>
@@ -1213,9 +1215,9 @@
         <a href="#" class="btn small">{{_i}}Action{{/i}}</a>
       </p>
     </div>
-    <div class="span8">
+    <div class="span4">
       <h3>{{_i}}Disabled state{{/i}}</h3>
-      <p>{{_i}}For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.{{/i}}</p>
+      <p>{{_i}}For disabled buttons, use <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.{{/i}}</p>
       <p>
         <a href="#" class="btn large primary disabled">{{_i}}Primary action{{/i}}</a>
         <a href="#" class="btn large disabled">{{_i}}Action{{/i}}</a>
@@ -1225,6 +1227,11 @@
         <button class="btn large" disabled>{{_i}}Action{{/i}}</button>
       </p>
     </div>
+    <div class="span4">
+      <h3>Cross browser compatibility</h3>
+      <p>In IE9, we drop the gradient on all buttons in favor of rounded corners as IE9 doesn't crop background gradients to the corners.</p>
+      <p>Related, IE9 jankifies disabled <code>button</code> elements, rendering text gray with a nasty text-shadow&mdash;unfortunately we can't fix this.</p>
+    </div>
   </div>
 
   <br>
diff --git a/lib/buttons.less b/lib/buttons.less
index 228b6c06d7..cebacd049b 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -1,6 +1,10 @@
 // BUTTON STYLES
 // -------------
 
+
+// Colors
+// ------
+
 .btn {
   // Set text color
   &.primary,
@@ -31,6 +35,9 @@
   }
 }
 
+
+// Mixin for generating button backgrounds
+// ---------------------------------------
 .buttonBackground(@startColor, @endColor) {
   // gradientBar will set the background to a pleasing blend of these, to support IE<=9
   .gradientBar(@startColor, @endColor);
@@ -40,18 +47,22 @@
     background-color: @endColor;
   }
 
+  // called out separately because IE8 would ignore otherwise
   &[disabled] {
     background-color: @endColor;
   }
 
+  // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
   &:active,
   &.active {
-    // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
     background-color: darken(@endColor, 10%) e("\9");
   }
 }
 
-// Base .btn styles
+
+// Base styles
+// -----------
+
 .btn {
   // Button Base
   display: inline-block;
diff --git a/lib/labels.less b/lib/labels.less
index 114bc85b56..06dc7f3c00 100644
--- a/lib/labels.less
+++ b/lib/labels.less
@@ -9,8 +9,8 @@
   text-transform: uppercase;
   background-color: @grayLight;
   .border-radius(3px);
-  &.important { background-color: #c43c35; }
+  &.important { background-color: @errorText; }
   &.warning   { background-color: @orange; }
-  &.success   { background-color: @green; }
-  &.notice    { background-color: lighten(@blue, 25%); }
+  &.success   { background-color: @successText; }
+  &.info      { background-color: @infoText; }
 }
-- 
GitLab


From 9c1ec6fb98efb72dbf9618e6c332702082dcd622 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 11:40:29 -0800
Subject: [PATCH 473/576] updated homepage docs to distill strapline

---
 docs/assets/css/docs.css            | 4 +++-
 docs/index.html                     | 3 ++-
 docs/templates/pages/index.mustache | 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 27c446d233..8745d99852 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -69,7 +69,7 @@ hr.soften {
 }
 .jumbotron h1 {
   margin-bottom: 9px;
-  font-size: 108px;
+  font-size: 90px;
   letter-spacing: -1px;
   line-height: 1;
 }
@@ -108,6 +108,8 @@ hr.soften {
 }
 .masthead p {
   margin: 0 5% 27px;
+  font-size: 30px;
+  line-height: 36px;
 }
 
 
diff --git a/docs/index.html b/docs/index.html
index 333077601e..72295d0b33 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -70,7 +70,8 @@
         <header class="jumbotron masthead">
           <div class="inner">
             <h1>Twitter Bootstrap</h1>
-            <p class="lead">Bootstrap is a comprehensive front-end toolkit from Twitter designed to kickstart web development. It features HTML, CSS, and JS for dozens of base elements, commonly used design components, and more.</p>
+<!--             <p class="lead">Bootstrap is a front-end web development toolkit from Twitter that provides simple and flexible HTML, CSS, and Javascript for common user interface components and interactions.</p>
+ -->            <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">View project on GitHub</a>
               <a href="./download.html" class="btn btn-large">Customize and download</a>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 5bc52644d6..2831babe4e 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -5,7 +5,7 @@
         <header class="jumbotron masthead">
           <div class="inner">
             <h1>{{_i}}Twitter Bootstrap{{/i}}</h1>
-            <p class="lead">{{_i}}Bootstrap is a comprehensive front-end toolkit from Twitter designed to kickstart web development. It features HTML, CSS, and JS for dozens of base elements, commonly used design components, and more.{{/i}}</p>
+            <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}View project on GitHub{{/i}}</a>
               <a href="./download.html" class="btn btn-large">{{_i}}Customize and download{{/i}}</a>
-- 
GitLab


From b7f22e27ec89049f4347ae5249e97c08eb8d6a2f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 11:47:40 -0800
Subject: [PATCH 474/576] more docs homepage adjustments

---
 docs/assets/css/docs.css            | 4 ++--
 docs/index.html                     | 5 ++---
 docs/templates/pages/index.mustache | 2 +-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 8745d99852..449199ca0f 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -69,7 +69,7 @@ hr.soften {
 }
 .jumbotron h1 {
   margin-bottom: 9px;
-  font-size: 90px;
+  font-size: 81px;
   letter-spacing: -1px;
   line-height: 1;
 }
@@ -107,7 +107,7 @@ hr.soften {
   margin-bottom: 18px;
 }
 .masthead p {
-  margin: 0 5% 27px;
+  margin: 0 5% 18px;
   font-size: 30px;
   line-height: 36px;
 }
diff --git a/docs/index.html b/docs/index.html
index 72295d0b33..8d66e35680 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -69,9 +69,8 @@
         ================================================== -->
         <header class="jumbotron masthead">
           <div class="inner">
-            <h1>Twitter Bootstrap</h1>
-<!--             <p class="lead">Bootstrap is a front-end web development toolkit from Twitter that provides simple and flexible HTML, CSS, and Javascript for common user interface components and interactions.</p>
- -->            <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
+            <h1>Bootstrap, from Twitter</h1>
+            <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">View project on GitHub</a>
               <a href="./download.html" class="btn btn-large">Customize and download</a>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 2831babe4e..b045cc5797 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -4,7 +4,7 @@
         ================================================== -->
         <header class="jumbotron masthead">
           <div class="inner">
-            <h1>{{_i}}Twitter Bootstrap{{/i}}</h1>
+            <h1>{{_i}}Bootstrap, from Twitter{{/i}}</h1>
             <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}View project on GitHub{{/i}}</a>
-- 
GitLab


From c13de3db607dad06ce992e78ffdb8c2fa6871e70 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 13:56:18 -0500
Subject: [PATCH 475/576] Fixes off-by-1px between checkbox and form label (all
 browsers)

---
 lib/forms.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/forms.less b/lib/forms.less
index 744649f904..4aec1ec1ab 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -162,7 +162,7 @@ input[type=hidden] {
 // Move the options list down to align with labels
 .controls > .radio:first-child,
 .controls > .checkbox:first-child {
-  padding-top: 6px; // has to be padding because margin collaspes
+  padding-top: 5px; // has to be padding because margin collaspes
 }
 
 // Radios and checkboxes on same line
-- 
GitLab


From f76444c8585f3a720e0af2cedd33acddc718b962 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 14:11:05 -0500
Subject: [PATCH 476/576] Clears border-radius on checkboxes because they look
 bad on IE

---
 lib/forms.less | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/forms.less b/lib/forms.less
index 4aec1ec1ab..b2bd7b8cc8 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -87,6 +87,7 @@ input[type=radio] {
   line-height: normal;
   border: none;
   cursor: pointer;
+  .border-radius(0);
 }
 
 // Reset the file input to browser defaults
-- 
GitLab


From b9413460afe2bdfac18889953447622d13eb1968 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 16:02:27 -0500
Subject: [PATCH 477/576] Makes inputs and buttons align middle so they line up
 in all browsers

---
 lib/buttons.less | 7 ++++---
 lib/forms.less   | 8 ++++----
 lib/reset.less   | 3 +--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/lib/buttons.less b/lib/buttons.less
index cebacd049b..240e117e2b 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -66,9 +66,9 @@
 .btn {
   // Button Base
   display: inline-block;
-  padding: 5px 10px 6px;
+  padding: 4px 10px 4px;
   font-size: @baseFontSize;
-  line-height: normal;
+  line-height: @baseLineHeight;
   color: @grayDark;
   text-shadow: 0 1px 1px rgba(255,255,255,.75);
   #gradient > .vertical-three-colors(@white, @white, 25%, darken(@white, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
@@ -129,8 +129,9 @@
     .border-radius(5px);
   }
   &.small {
-    padding: 7px 9px 7px;
+    padding: 5px 9px 5px;
     font-size: @baseFontSize - 2px;
+    line-height: @baseLineHeight - 2px;
   }
 }
 
diff --git a/lib/forms.less b/lib/forms.less
index b2bd7b8cc8..4ee636683b 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -119,7 +119,6 @@ input[type=file] {
 // Chrome on Linux and Mobile Safari need background-color
 select {
   width: 220px; // default input width + 10px of padding that doesn't get applied
-  vertical-align: baseline;
   background-color: @white;
 }
 
@@ -377,9 +376,9 @@ select:focus:required:invalid {
 }
 
 .help-inline {
-  *position: relative; /* IE6-7 */
-  *top: -5px; /* IE6-7 */
-  display: inline;
+  display: inline-block;
+  margin-bottom: 9px;
+  vertical-align: middle;
   padding-left: 5px;
 }
 
@@ -469,6 +468,7 @@ select:focus:required:invalid {
   input,
   textarea,
   select,
+  .help-inline,
   .uneditable-input {
     display: inline-block;
     margin-bottom: 0;
diff --git a/lib/reset.less b/lib/reset.less
index 31e7160f2d..ef4dc8af6c 100644
--- a/lib/reset.less
+++ b/lib/reset.less
@@ -91,8 +91,7 @@ select,
 textarea {
   margin: 0;
   font-size: 100%;
-  vertical-align: baseline;
-  *vertical-align: middle;
+  vertical-align: middle;
 }
 button,
 input {
-- 
GitLab


From 721b8a10785c548fa6a1cb26ccd698ceabc43e36 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 16:15:09 -0500
Subject: [PATCH 478/576] rebuild *.css

---
 bootstrap-responsive.min.css |  2 +-
 bootstrap.css                | 33 +++++++++++++++++----------------
 bootstrap.min.css            | 18 +++++++++---------
 3 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 8ed8745bb6..dcf17dce92 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index 4e73165586..58757683c5 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 11:09:38 PST 2012
+ * Date: Thu Jan 26 16:14:59 EST 2012
  */
 article,
 aside,
@@ -63,8 +63,7 @@ select,
 textarea {
   margin: 0;
   font-size: 100%;
-  vertical-align: baseline;
-  *vertical-align: middle;
+  vertical-align: middle;
 }
 button, input {
   *overflow: visible;
@@ -528,6 +527,9 @@ input[type=image], input[type=checkbox], input[type=radio] {
   line-height: normal;
   border: none;
   cursor: pointer;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
 }
 input[type=file] {
   padding: initial;
@@ -554,7 +556,6 @@ select, input[type=file] {
 }
 select {
   width: 220px;
-  vertical-align: baseline;
   background-color: #ffffff;
 }
 select[multiple], select[size] {
@@ -579,7 +580,7 @@ input[type=hidden] {
   margin-left: -18px;
 }
 .controls > .radio:first-child, .controls > .checkbox:first-child {
-  padding-top: 6px;
+  padding-top: 5px;
 }
 .radio.inline, .checkbox.inline {
   display: inline-block;
@@ -810,13 +811,9 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   color: #999999;
 }
 .help-inline {
-  *position: relative;
-  /* IE6-7 */
-
-  *top: -5px;
-  /* IE6-7 */
-
-  display: inline;
+  display: inline-block;
+  margin-bottom: 9px;
+  vertical-align: middle;
   padding-left: 5px;
 }
 .input-prepend, .input-append {
@@ -905,6 +902,9 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 .form-search select,
 .form-inline select,
 .form-horizontal select,
+.form-search .help-inline,
+.form-inline .help-inline,
+.form-horizontal .help-inline,
 .form-search .uneditable-input,
 .form-inline .uneditable-input,
 .form-horizontal .uneditable-input {
@@ -1828,7 +1828,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2441,9 +2441,9 @@ table .span12 {
 }
 .btn {
   display: inline-block;
-  padding: 5px 10px 6px;
+  padding: 4px 10px 4px;
   font-size: 13px;
-  line-height: normal;
+  line-height: 18px;
   color: #333333;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
   background-color: #fafafa;
@@ -2515,8 +2515,9 @@ table .span12 {
   border-radius: 5px;
 }
 .btn.small {
-  padding: 7px 9px 7px;
+  padding: 5px 9px 5px;
   font-size: 11px;
+  line-height: 16px;
 }
 button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding: 0;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6f22405e69..26c3dfe945 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -8,7 +8,7 @@ sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
 sup{top:-0.5em;}
 sub{bottom:-0.25em;}
 img{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic;}
-button,input,select,textarea{margin:0;font-size:100%;vertical-align:baseline;*vertical-align:middle;}
+button,input,select,textarea{margin:0;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"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
@@ -97,18 +97,18 @@ label{display:block;margin-bottom:5px;color:#333333;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-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]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;}
+input[type=image],input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
 input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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;*margin-top:4px;line-height:28px;}
-select{width:220px;vertical-align:baseline;background-color:#ffffff;}
+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;}
 textarea{height:auto;}
 input[type=hidden]{display:none;}
 .radio,.checkbox{padding-left:18px;}
 .radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-18px;}
-.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:6px;}
+.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
 .radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;}
 .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);-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;}
@@ -161,7 +161,7 @@ input:focus:required:invalid,textarea:focus:required:invalid,select:focus:requir
 :-moz-placeholder{color:#999999;}
 ::-webkit-input-placeholder{color:#999999;}
 .help-block{margin-top:5px;margin-bottom:0;color:#999999;}
-.help-inline{*position:relative;*top:-5px;display:inline;padding-left:5px;}
+.help-inline{display:inline-block;margin-bottom:9px;vertical-align:middle;padding-left:5px;}
 .input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
 .input-prepend:after,.input-append:after{clear:both;}
 .input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
@@ -173,7 +173,7 @@ input:focus:required:invalid,textarea:focus:required:invalid,select:focus:requir
 .input-append .uneditable-input{border-right-color:#ccc;}
 .input-append .add-on{margin-right:0;margin-left:-1px;-webkit-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;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
-.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
+.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:9px;}
 .form-horizontal legend+.control-group{padding-top:27px;}
@@ -377,7 +377,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
@@ -464,13 +464,13 @@ table .span12{float:none;width:924px;margin-left:0;}
 .btn.info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.info:hover,.btn.info:active,.btn.info.active,.btn.info.disabled{background-color:#339bb9;}
 .btn.info[disabled]{background-color:#339bb9;}
 .btn.info:active,.btn.info.active{background-color:#287a91 \9;}
-.btn{display:inline-block;padding:5px 10px 6px;font-size:13px;line-height:normal;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;}.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;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;}
+.btn{display:inline-block;padding:4px 10px 4px;font-size:13px;line-height:18px;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;}.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;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;}
 .btn:focus{outline:1px dotted #666;}
 .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;}
 .btn.disabled{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
-.btn.small{padding:7px 9px 7px;font-size:11px;}
+.btn.small{padding:5px 9px 5px;font-size:11px;line-height:16px;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
 .btn-group{position:relative;*zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";}
 .btn-group:after{clear:both;}
-- 
GitLab


From 78652a707f8ae2d98b1cd434b4bca546d2948236 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 13:51:12 -0800
Subject: [PATCH 479/576] allow icons in small buttons

---
 lib/button-groups.less | 5 +++++
 lib/buttons.less       | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/lib/button-groups.less b/lib/button-groups.less
index 17957f1d60..5fb0a8e975 100644
--- a/lib/button-groups.less
+++ b/lib/button-groups.less
@@ -114,3 +114,8 @@
   }
 }
 
+// Small button dropdowns
+.btn.small .caret {
+  margin-top: 4px;
+}
+
diff --git a/lib/buttons.less b/lib/buttons.less
index cebacd049b..118af568a6 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -132,6 +132,9 @@
     padding: 7px 9px 7px;
     font-size: @baseFontSize - 2px;
   }
+  &.small .icon {
+    margin-top: -2px;
+  }
 }
 
 // Help Firefox not be a jerk about adding extra padding to buttons
-- 
GitLab


From 1f04481092f6021c721f48465b57f7a829f186f5 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 17:07:06 -0500
Subject: [PATCH 480/576] Switches from Array#filter to jQuery.grep for IE<=8
 support

---
 js/bootstrap-typeahead.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index f64fcca01e..1205a99caf 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -79,7 +79,7 @@
 
       q = this.query.toLowerCase()
 
-      items = this.data.filter(function (item) {
+      items = jQuery.grep(this.data, function (item) {
         if (that.matcher(item, q)) return item
       })
 
@@ -249,4 +249,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
-- 
GitLab


From 2aa99d17d52cffe7fd4a1aad18a46cfc2ba91185 Mon Sep 17 00:00:00 2001
From: Linmiao Xu <linmiao.xu@gmail.com>
Date: Thu, 26 Jan 2012 14:36:30 -0800
Subject: [PATCH 481/576] Fix icon margin in large buttons.

---
 lib/buttons.less | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/buttons.less b/lib/buttons.less
index 118af568a6..2cbcc1d4fd 100644
--- a/lib/buttons.less
+++ b/lib/buttons.less
@@ -128,6 +128,9 @@
     line-height: normal;
     .border-radius(5px);
   }
+  &.large .icon {
+    margin-top: 1px;
+  }
   &.small {
     padding: 7px 9px 7px;
     font-size: @baseFontSize - 2px;
-- 
GitLab


From 43c8f41895cded171185f4f7ddac9d917f9912d2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 14:40:09 -0800
Subject: [PATCH 482/576] add values to inputs for grid variables on download
 page

---
 docs/download.html                     | 10 +++++-----
 docs/templates/pages/download.mustache | 10 +++++-----
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/docs/download.html b/docs/download.html
index 3ad6ec921d..3ac59b00e9 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -159,15 +159,15 @@
       <input type="text" class="span3" value="darken(@linkColor, 15%)">
       <h3>Grid system</h3>
       <label>@gridColumns</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="12">
       <label>@gridColumnWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="40px">
       <label>@gridGutterWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="20px">
       <label>@siteWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
       <label>@fluidSidebarWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="220px">
     </div><!-- /span -->
     <div class="span4">
       <h3>Typography</h3>
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 4478a006ac..1401011f5b 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -94,15 +94,15 @@
       <input type="text" class="span3" value="darken(@linkColor, 15%)">
       <h3>Grid system</h3>
       <label>@gridColumns</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="12">
       <label>@gridColumnWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="40px">
       <label>@gridGutterWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="20px">
       <label>@siteWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
       <label>@fluidSidebarWidth</label>
-      <input type="text" class="span3" value="">
+      <input type="text" class="span3" value="220px">
     </div><!-- /span -->
     <div class="span4">
       <h3>Typography</h3>
-- 
GitLab


From 8a6be6601dfb826e32a5004b7b0f09756ebb975b Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 14:40:19 -0800
Subject: [PATCH 483/576] make accordion links block level

---
 bootstrap.css                            | 13 +++++++++++--
 bootstrap.min.css                        |  5 ++++-
 docs/javascript.html                     |  6 +++---
 docs/templates/pages/javascript.mustache |  6 +++---
 lib/accordion.less                       |  5 ++++-
 5 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 4e73165586..8db6a82e63 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 11:09:38 PST 2012
+ * Date: Thu Jan 26 13:56:25 PST 2012
  */
 article,
 aside,
@@ -2518,6 +2518,9 @@ table .span12 {
   padding: 7px 9px 7px;
   font-size: 11px;
 }
+.btn.small .icon {
+  margin-top: -2px;
+}
 button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   padding: 0;
   border: 0;
@@ -2616,6 +2619,9 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   opacity: 0.75;
   filter: alpha(opacity=75);
 }
+.btn.small .caret {
+  margin-top: 4px;
+}
 .alert {
   padding: 8px 35px 8px 14px;
   margin-bottom: 18px;
@@ -2880,9 +2886,12 @@ a.thumbnail:hover {
   border-radius: 4px;
 }
 .accordion-heading {
-  padding: 8px 15px;
   border-bottom: 0;
 }
+.accordion-heading .accordion-toggle {
+  display: block;
+  padding: 8px 15px;
+}
 .accordion-body {
   margin-bottom: 2px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 6f22405e69..191784b436 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -471,6 +471,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
+.btn.small .icon{margin-top:-2px;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
 .btn-group{position:relative;*zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";}
 .btn-group:after{clear:both;}
@@ -487,6 +488,7 @@ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;
 .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);}
 .btn .caret{margin-top:6px;margin-left:0;}
 .primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);}
+.btn.small .caret{margin-top:4px;}
 .alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
 .alert,.alert-heading{color:#c09853;}
 .alert .close{position:relative;right:-21px;line-height:18px;}
@@ -523,7 +525,8 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .progress.info.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));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: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{background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.accordion-heading{padding:8px 15px;border-bottom:0;}
+.accordion-heading{border-bottom:0;}
+.accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
 .accordion-body{margin-bottom:2px;}
 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
 .carousel{position:relative;line-height:1;}
diff --git a/docs/javascript.html b/docs/javascript.html
index 63881d2c9a..2bd5bbd05c 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1054,7 +1054,7 @@ $('#my-alert').bind('closed', function () {
           <div class="accordion" id="accordion2">
             <div class="accordion-group">
               <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
                   Collapsible Group Item #1
                 </a>
               </div>
@@ -1066,7 +1066,7 @@ $('#my-alert').bind('closed', function () {
             </div>
             <div class="accordion-group">
               <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
                   Collapsible Group Item #2
                 </a>
               </div>
@@ -1078,7 +1078,7 @@ $('#my-alert').bind('closed', function () {
             </div>
             <div class="accordion-group">
               <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
                   Collapsible Group Item #3
                 </a>
               </div>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 941c6b485a..59b8a03d6b 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -989,7 +989,7 @@ $('#my-alert').bind('closed', function () {
           <div class="accordion" id="accordion2">
             <div class="accordion-group">
               <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
                   {{_i}}Collapsible Group Item #1{{/i}}
                 </a>
               </div>
@@ -1001,7 +1001,7 @@ $('#my-alert').bind('closed', function () {
             </div>
             <div class="accordion-group">
               <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
                   {{_i}}Collapsible Group Item #2{{/i}}
                 </a>
               </div>
@@ -1013,7 +1013,7 @@ $('#my-alert').bind('closed', function () {
             </div>
             <div class="accordion-group">
               <div class="accordion-heading">
-                <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
                   {{_i}}Collapsible Group Item #3{{/i}}
                 </a>
               </div>
diff --git a/lib/accordion.less b/lib/accordion.less
index a57683e7b0..1ebd5b1a1a 100644
--- a/lib/accordion.less
+++ b/lib/accordion.less
@@ -13,9 +13,12 @@
   .border-radius(4px);
 }
 .accordion-heading {
-  padding: 8px 15px;
   border-bottom: 0;
 }
+.accordion-heading .accordion-toggle {
+  display: block;
+  padding: 8px 15px;
+}
 .accordion-body {
   margin-bottom: 2px;
 }
-- 
GitLab


From 7a6737512a18f56bb95a0024fdbd4a8823034b76 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 14:50:55 -0800
Subject: [PATCH 484/576] break scaffolding down into smaller less files

---
 bootstrap.css        | 100 +++++++++++++++++++++----------------------
 bootstrap.min.css    |  20 ++++-----
 lib/bootstrap.less   |   2 +
 lib/grid.less        |  41 ++++++++++++++++++
 lib/layouts.less     |  43 +++++++++++++++++++
 lib/scaffolding.less |  86 +------------------------------------
 6 files changed, 148 insertions(+), 144 deletions(-)
 create mode 100644 lib/grid.less
 create mode 100644 lib/layouts.less

diff --git a/bootstrap.css b/bootstrap.css
index 8db6a82e63..6970487e01 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 13:56:25 PST 2012
+ * Date: Thu Jan 26 14:50:34 PST 2012
  */
 article,
 aside,
@@ -102,55 +102,6 @@ body {
   color: #555555;
   background-color: #ffffff;
 }
-.container {
-  width: 940px;
-  margin-left: auto;
-  margin-right: auto;
-  *zoom: 1;
-}
-.container:before, .container:after {
-  display: table;
-  content: "";
-}
-.container:after {
-  clear: both;
-}
-.fluid-container {
-  position: relative;
-  min-width: 940px;
-  padding-left: 20px;
-  padding-right: 20px;
-  *zoom: 1;
-}
-.fluid-container:before, .fluid-container:after {
-  display: table;
-  content: "";
-}
-.fluid-container:after {
-  clear: both;
-}
-.fluid-sidebar {
-  width: 220px;
-  margin: 0 20px 18px;
-}
-.sidebar-left {
-  padding-left: 260px;
-}
-.sidebar-right {
-  padding-right: 260px;
-}
-.sidebar-left .fluid-sidebar {
-  float: left;
-  margin-left: -240px;
-}
-.sidebar-right .fluid-sidebar {
-  float: right;
-  margin-right: -240px;
-}
-.fluid-content {
-  float: left;
-  width: 100%;
-}
 a {
   color: #0088cc;
   text-decoration: none;
@@ -243,6 +194,55 @@ a:hover {
 .offset11 {
   margin-left: 900px;
 }
+.container {
+  width: 940px;
+  margin-left: auto;
+  margin-right: auto;
+  *zoom: 1;
+}
+.container:before, .container:after {
+  display: table;
+  content: "";
+}
+.container:after {
+  clear: both;
+}
+.fluid-container {
+  position: relative;
+  min-width: 940px;
+  padding-left: 20px;
+  padding-right: 20px;
+  *zoom: 1;
+}
+.fluid-container:before, .fluid-container:after {
+  display: table;
+  content: "";
+}
+.fluid-container:after {
+  clear: both;
+}
+.fluid-sidebar {
+  width: 220px;
+  margin: 0 20px 18px;
+}
+.sidebar-left {
+  padding-left: 260px;
+}
+.sidebar-right {
+  padding-right: 260px;
+}
+.sidebar-left .fluid-sidebar {
+  float: left;
+  margin-left: -240px;
+}
+.sidebar-right .fluid-sidebar {
+  float: right;
+  margin-right: -240px;
+}
+.fluid-content {
+  float: left;
+  width: 100%;
+}
 p {
   margin: 0 0 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 191784b436..dc158adcf4 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -16,16 +16,6 @@ input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box
 input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
 textarea{overflow:auto;vertical-align:top;}
 body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#555555;background-color:#ffffff;}
-.container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
-.container:after{clear:both;}
-.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;*zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";}
-.fluid-container:after{clear:both;}
-.fluid-sidebar{width:220px;margin:0 20px 18px;}
-.sidebar-left{padding-left:260px;}
-.sidebar-right{padding-right:260px;}
-.sidebar-left .fluid-sidebar{float:left;margin-left:-240px;}
-.sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
-.fluid-content{float:left;width:100%;}
 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;}
@@ -53,6 +43,16 @@ a{color:#0088cc;text-decoration:none;}a:hover{color:#005580;text-decoration:unde
 .offset9{margin-left:740px;}
 .offset10{margin-left:820px;}
 .offset11{margin-left:900px;}
+.container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
+.container:after{clear:both;}
+.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;*zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";}
+.fluid-container:after{clear:both;}
+.fluid-sidebar{width:220px;margin:0 20px 18px;}
+.sidebar-left{padding-left:260px;}
+.sidebar-right{padding-right:260px;}
+.sidebar-left .fluid-sidebar{float:left;margin-left:-240px;}
+.sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
+.fluid-content{float:left;width:100%;}
 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,h4,h5,h6{margin:0;font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 8d307d4271..40ebd7f2f8 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -18,6 +18,8 @@
 
 // Grid system and page structure
 @import "scaffolding.less";
+@import "grid.less";
+@import "layouts.less";
 
 // Base CSS
 @import "type.less";
diff --git a/lib/grid.less b/lib/grid.less
new file mode 100644
index 0000000000..d5b5f487d1
--- /dev/null
+++ b/lib/grid.less
@@ -0,0 +1,41 @@
+// GRID SYSTEM
+// -----------
+// To customize the grid system, bring up the variables.less file and change the column count, size, and gutter there
+.row {
+  margin-left: @gridGutterWidth * -1;
+  .clearfix();
+}
+
+// Find all .span# classes within .row and give them the necessary properties for grid columns 
+// (supported by all browsers back to IE7)
+// Credit to @dhg for the idea
+[class*="span"] {
+  .gridColumn();
+}
+
+// Default columns
+.span1     { .columns(1); }
+.span2     { .columns(2); }
+.span3     { .columns(3); }
+.span4     { .columns(4); }
+.span5     { .columns(5); }
+.span6     { .columns(6); }
+.span7     { .columns(7); }
+.span8     { .columns(8); }
+.span9     { .columns(9); }
+.span10    { .columns(10); }
+.span11    { .columns(11); }
+.span12    { .columns(12); }
+
+// Offset column options
+.offset1   { .offset(1); }
+.offset2   { .offset(2); }
+.offset3   { .offset(3); }
+.offset4   { .offset(4); }
+.offset5   { .offset(5); }
+.offset6   { .offset(6); }
+.offset7   { .offset(7); }
+.offset8   { .offset(8); }
+.offset9   { .offset(9); }
+.offset10  { .offset(10); }
+.offset11  { .offset(11); }
diff --git a/lib/layouts.less b/lib/layouts.less
new file mode 100644
index 0000000000..14435c9d15
--- /dev/null
+++ b/lib/layouts.less
@@ -0,0 +1,43 @@
+//
+// Layouts
+// Fixed-width and fluid (with sidebar) layouts
+// --------------------------------------------
+
+
+// Container (centered, fixed-width layouts)
+.container {
+  .container-fixed();
+}
+
+// Fluid layouts (left aligned, with sidebar, min- & max-width content)
+.fluid-container {
+  position: relative;
+  min-width: @siteWidth;
+  padding-left: @gridGutterWidth;
+  padding-right: @gridGutterWidth;
+  .clearfix();
+}
+
+// Sidebars (left and right options)
+.fluid-sidebar {
+  width: @fluidSidebarWidth;
+  margin: 0 20px 18px;
+}
+.sidebar-left   { padding-left: @fluidSidebarWidth + @gridGutterWidth * 2; }
+.sidebar-right  { padding-right: @fluidSidebarWidth + @gridGutterWidth * 2; }
+
+// Float the sidebars accordingly
+.sidebar-left .fluid-sidebar {
+  float: left;
+  margin-left: (@fluidSidebarWidth + @gridGutterWidth) * -1;
+}
+.sidebar-right .fluid-sidebar {
+  float: right;
+  margin-right: (@fluidSidebarWidth + @gridGutterWidth) * -1;
+}
+
+// The main content area
+.fluid-content {
+  float: left;
+  width: 100%;
+}
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 7002b04083..3eced0ef09 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -16,49 +16,10 @@ body {
   background-color: @white;
 }
 
-// Container (centered, fixed-width layouts)
-.container {
-  .container-fixed();
-}
-
-// Fluid layouts (left aligned, with sidebar, min- & max-width content)
-.fluid-container {
-  position: relative;
-  min-width: @siteWidth;
-  padding-left: @gridGutterWidth;
-  padding-right: @gridGutterWidth;
-  .clearfix();
-}
-
-// Sidebars (left and right options)
-.fluid-sidebar {
-  width: @fluidSidebarWidth;
-  margin: 0 20px 18px;
-}
-.sidebar-left   { padding-left: @fluidSidebarWidth + @gridGutterWidth * 2; }
-.sidebar-right  { padding-right: @fluidSidebarWidth + @gridGutterWidth * 2; }
-
-// Float the sidebars accordingly
-.sidebar-left .fluid-sidebar {
-  float: left;
-  margin-left: (@fluidSidebarWidth + @gridGutterWidth) * -1;
-}
-.sidebar-right .fluid-sidebar {
-  float: right;
-  margin-right: (@fluidSidebarWidth + @gridGutterWidth) * -1;
-}
-
-// The main content area
-.fluid-content {
-  float: left;
-  width: 100%;
-}
-
 
-// BASE STYLES
-// -----------
+// LINKS
+// -----
 
-// Links
 a {
   color: @linkColor;
   text-decoration: none;
@@ -67,46 +28,3 @@ a {
     text-decoration: underline;
   }
 }
-
-
-// GRID SYSTEM
-// -----------
-// To customize the grid system, bring up the variables.less file and change the column count, size, and gutter there
-.row {
-  margin-left: @gridGutterWidth * -1;
-  .clearfix();
-}
-
-// Find all .span# classes within .row and give them the necessary properties for grid columns 
-// (supported by all browsers back to IE7)
-// Credit to @dhg for the idea
-[class*="span"] {
-  .gridColumn();
-}
-
-// Default columns
-.span1     { .columns(1); }
-.span2     { .columns(2); }
-.span3     { .columns(3); }
-.span4     { .columns(4); }
-.span5     { .columns(5); }
-.span6     { .columns(6); }
-.span7     { .columns(7); }
-.span8     { .columns(8); }
-.span9     { .columns(9); }
-.span10    { .columns(10); }
-.span11    { .columns(11); }
-.span12    { .columns(12); }
-
-// Offset column options
-.offset1   { .offset(1); }
-.offset2   { .offset(2); }
-.offset3   { .offset(3); }
-.offset4   { .offset(4); }
-.offset5   { .offset(5); }
-.offset6   { .offset(6); }
-.offset7   { .offset(7); }
-.offset8   { .offset(8); }
-.offset9   { .offset(9); }
-.offset10  { .offset(10); }
-.offset11  { .offset(11); }
-- 
GitLab


From f82db4b95bf12bc6c04a5ecc3d4a649ba9800db0 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 14:53:35 -0800
Subject: [PATCH 485/576] separate code from type css files

---
 bootstrap.css        | 14 +++++++-------
 bootstrap.min.css    |  4 ++--
 lib/bootstrap.less   |  1 +
 lib/code.less        | 44 ++++++++++++++++++++++++++++++++++++++++++++
 lib/scaffolding.less |  1 -
 lib/type.less        | 43 +------------------------------------------
 6 files changed, 55 insertions(+), 52 deletions(-)
 create mode 100644 lib/code.less

diff --git a/bootstrap.css b/bootstrap.css
index 6970487e01..f3ea6d0b92 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 14:50:34 PST 2012
+ * Date: Thu Jan 26 14:52:24 PST 2012
  */
 article,
 aside,
@@ -414,6 +414,12 @@ address {
   line-height: 18px;
   font-style: normal;
 }
+small {
+  font-size: 100%;
+}
+cite {
+  font-style: normal;
+}
 code, pre {
   padding: 0 3px 2px;
   font-family: Menlo, Monaco, "Courier New", monospace;
@@ -452,12 +458,6 @@ pre code {
   padding: 0;
   background-color: transparent;
 }
-small {
-  font-size: 100%;
-}
-cite {
-  font-style: normal;
-}
 form {
   margin: 0 0 18px;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index dc158adcf4..711e5c01ef 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -83,12 +83,12 @@ blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:
 blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}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;}
+small{font-size:100%;}
+cite{font-style:normal;}
 code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
 code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
 pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
 pre code{padding:0;background-color:transparent;}
-small{font-size:100%;}
-cite{font-style:normal;}
 form{margin:0 0 18px;}
 fieldset{padding:0;margin:0;border:0;}
 legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index 40ebd7f2f8..ede31c0357 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -23,6 +23,7 @@
 
 // Base CSS
 @import "type.less";
+@import "code.less";
 @import "forms.less";
 @import "tables.less";
 
diff --git a/lib/code.less b/lib/code.less
new file mode 100644
index 0000000000..0cc3db857a
--- /dev/null
+++ b/lib/code.less
@@ -0,0 +1,44 @@
+// Code.less
+// Code typography styles for the <code> and <pre> elements
+// --------------------------------------------------------
+
+// Inline and block code styles
+code,
+pre {
+  padding: 0 3px 2px;
+  #font > #family > .monospace;
+  font-size: @baseFontSize - 1;
+  color: @grayDark;
+  .border-radius(3px);
+}
+code {
+  padding: 3px 4px;
+  color: #d14;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
+}
+pre {
+  display: block;
+  padding: (@baseLineHeight - 1) / 2;
+  margin: 0 0 @baseLineHeight / 2;
+  font-size: 12px;
+  line-height: @baseLineHeight;
+  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;
+
+  // Make prettyprint styles more spaced out for readability
+  &.prettyprint {
+    margin-bottom: @baseLineHeight;
+  }
+
+  // Account for some code outputs that place code tags in pre tags
+  code {
+    padding: 0;
+    background-color: transparent;
+  }
+}
diff --git a/lib/scaffolding.less b/lib/scaffolding.less
index 3eced0ef09..3c1826830e 100644
--- a/lib/scaffolding.less
+++ b/lib/scaffolding.less
@@ -1,4 +1,3 @@
-//
 // Scaffolding
 // Basic and global styles for generating a grid system, structural layout, and page templates
 // -------------------------------------------------------------------------------------------
diff --git a/lib/type.less b/lib/type.less
index 548c222f1c..087224fd0c 100644
--- a/lib/type.less
+++ b/lib/type.less
@@ -197,51 +197,10 @@ address {
   font-style: normal;
 }
 
-// Inline and block code styles
-code,
-pre {
-  padding: 0 3px 2px;
-  #font > #family > .monospace;
-  font-size: @baseFontSize - 1;
-  color: @grayDark;
-  .border-radius(3px);
-}
-code {
-  padding: 3px 4px;
-  color: #d14;
-  background-color: #f7f7f9;
-  border: 1px solid #e1e1e8;
-}
-pre {
-  display: block;
-  padding: (@baseLineHeight - 1) / 2;
-  margin: 0 0 @baseLineHeight / 2;
-  font-size: 12px;
-  line-height: @baseLineHeight;
-  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;
-
-  // Make prettyprint styles more spaced out for readability
-  &.prettyprint {
-    margin-bottom: @baseLineHeight;
-  }
-
-  // Account for some code outputs that place code tags in pre tags
-  code {
-    padding: 0;
-    background-color: transparent;
-  }
-}
-
+// Misc
 small {
   font-size: 100%;
 }
-
 cite {
   font-style: normal;
 }
-- 
GitLab


From 945870d7785fcda985241582e15c53fab5ae6f64 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 14:54:24 -0800
Subject: [PATCH 486/576] small text change on downloads page

---
 docs/download.html                     | 2 +-
 docs/templates/pages/download.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/download.html b/docs/download.html
index 3ac59b00e9..89077d2478 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -97,7 +97,7 @@
       <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
       <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
       <h3>Base CSS</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
+      <label class="checkbox"><input type="checkbox" value=""> Headings, body, etc</label>
       <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
       <label class="checkbox"><input type="checkbox" value=""> Labels</label>
       <label class="checkbox"><input type="checkbox" value=""> Tables</label>
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 1401011f5b..673bed9121 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -32,7 +32,7 @@
       <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
       <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
       <h3>Base CSS</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Headings and body</label>
+      <label class="checkbox"><input type="checkbox" value=""> Headings, body, etc</label>
       <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
       <label class="checkbox"><input type="checkbox" value=""> Labels</label>
       <label class="checkbox"><input type="checkbox" value=""> Tables</label>
-- 
GitLab


From 5844aa550d5a2d22d527d80cfa42443914d28c1f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 15:00:59 -0800
Subject: [PATCH 487/576] consistent new lines at ends of files

---
 js/bootstrap-alert.js      | 2 +-
 js/bootstrap-button.js     | 2 +-
 js/bootstrap-carousel.js   | 2 +-
 js/bootstrap-collapse.js   | 2 +-
 js/bootstrap-dropdown.js   | 2 +-
 js/bootstrap-modal.js      | 2 +-
 js/bootstrap-scrollspy.js  | 2 +-
 js/bootstrap-tab.js        | 2 +-
 js/bootstrap-transition.js | 2 +-
 js/bootstrap-typeahead.js  | 2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index d6d2108f9c..2df64c6e1d 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -82,4 +82,4 @@
     $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js
index 2461ffec6e..d85c82947a 100644
--- a/js/bootstrap-button.js
+++ b/js/bootstrap-button.js
@@ -95,4 +95,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 500c7da7fe..47d832c821 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -151,4 +151,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index ac434dcf37..e33dadedff 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -131,4 +131,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index f9d93fc72a..1ae317b44c 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -80,4 +80,4 @@
     $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index ecb7b5add7..eea1938d0f 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -202,4 +202,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 91c49f32ee..dcb52456e0 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -121,4 +121,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index d52be872f1..95698d23e5 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -122,4 +122,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-transition.js b/js/bootstrap-transition.js
index 94f1dbdf80..956350bd0a 100644
--- a/js/bootstrap-transition.js
+++ b/js/bootstrap-transition.js
@@ -48,4 +48,4 @@
 
   })
   
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index f64fcca01e..fad28ea46b 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -249,4 +249,4 @@
     })
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
-- 
GitLab


From 95356ee0622561b67327b3880bcdc3c5df97cf40 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 15:04:36 -0800
Subject: [PATCH 488/576] make css after merge

---
 bootstrap.css     | 5 ++++-
 bootstrap.min.css | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/bootstrap.css b/bootstrap.css
index f3ea6d0b92..89a9303eb7 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 14:52:24 PST 2012
+ * Date: Thu Jan 26 15:04:19 PST 2012
  */
 article,
 aside,
@@ -2514,6 +2514,9 @@ table .span12 {
   -moz-border-radius: 5px;
   border-radius: 5px;
 }
+.btn.large .icon {
+  margin-top: 1px;
+}
 .btn.small {
   padding: 7px 9px 7px;
   font-size: 11px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 711e5c01ef..f2af57a449 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -470,6 +470,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .btn.disabled{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
 .btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.btn.large .icon{margin-top:1px;}
 .btn.small{padding:7px 9px 7px;font-size:11px;}
 .btn.small .icon{margin-top:-2px;}
 button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-- 
GitLab


From f398926e4647df1e7e5a2abdbc9e2e9e775eeb34 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 15:22:52 -0800
Subject: [PATCH 489/576] move down background iamge

---
 docs/assets/css/docs.css | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 449199ca0f..2ef4139069 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -14,6 +14,7 @@ body {
   background-color: #fff;
   background-image: url(../img/grid-18px-masked.png);
   background-repeat: repeat-x;
+  background-position: 0 40px;
 }
 
 
-- 
GitLab


From b9589fcb8076aa6b2559553c56d7e65808568a86 Mon Sep 17 00:00:00 2001
From: David N <dave.noel@gmail.com>
Date: Thu, 26 Jan 2012 17:23:09 -0600
Subject: [PATCH 490/576] Enable default browser key behaviour when typeahead
 isn't showing.

---
 js/bootstrap-typeahead.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index fad28ea46b..82188f5926 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -157,6 +157,7 @@
 
         case 9: // tab
         case 13: // enter
+          if (!this.shown) return
           this.select()
           break
 
@@ -172,6 +173,7 @@
 
   , keypress: function (e) {
       e.stopPropagation()
+      if (!this.shown) return
 
       switch(e.keyCode) {
         case 9: // tab
@@ -181,13 +183,11 @@
           break
 
         case 38: // up arrow
-          if (!this.shown) return
           e.preventDefault()
           this.prev()
           break
 
         case 40: // down arrow
-          if (!this.shown) return
           e.preventDefault()
           this.next()
           break
-- 
GitLab


From d8e1001836f869436df2de2905411b2236c8cbad Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 15:39:37 -0800
Subject: [PATCH 491/576] fix legend margin collapse

---
 bootstrap.css     | 6 +++---
 bootstrap.min.css | 4 ++--
 lib/forms.less    | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 862b4c5b63..cc5d7f0190 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 15:25:02 PST 2012
+ * Date: Thu Jan 26 15:39:24 PST 2012
  */
 article,
 aside,
@@ -475,7 +475,6 @@ legend {
   color: #333333;
   border: 0;
   border-bottom: 1px solid #eee;
-  -webkit-margin-collapse: separate;
 }
 label,
 input,
@@ -918,7 +917,8 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   margin-bottom: 9px;
 }
 .form-horizontal legend + .control-group {
-  padding-top: 27px;
+  margin-top: 18px;
+  -webkit-margin-top-collapse: separate;
 }
 .form-horizontal .control-group {
   margin-bottom: 18px;
diff --git a/bootstrap.min.css b/bootstrap.min.css
index c4b048f742..1e41bf9115 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -91,7 +91,7 @@ pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;b
 pre code{padding:0;background-color:transparent;}
 form{margin:0 0 18px;}
 fieldset{padding:0;margin:0;border:0;}
-legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;-webkit-margin-collapse:separate;}
+legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;}
 label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
 label{display:block;margin-bottom:5px;color:#333333;}
 input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
@@ -176,7 +176,7 @@ input:focus:required:invalid,textarea:focus:required:invalid,select:focus:requir
 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
 .form-search label,.form-inline label{display:inline-block;}
 .control-group{margin-bottom:9px;}
-.form-horizontal legend+.control-group{padding-top:27px;}
+.form-horizontal legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate;}
 .form-horizontal .control-group{margin-bottom:18px;}
 .form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
 .form-horizontal .controls{margin-left:160px;}
diff --git a/lib/forms.less b/lib/forms.less
index 4ee636683b..9e2e1dc1bf 100644
--- a/lib/forms.less
+++ b/lib/forms.less
@@ -28,7 +28,6 @@ legend {
   color: @grayDark;
   border: 0;
   border-bottom: 1px solid #eee;
-  -webkit-margin-collapse: separate;
 }
 
 // Set font for forms
@@ -490,7 +489,8 @@ select:focus:required:invalid {
 .form-horizontal {
   // Legend collapses margin, so we're relegated to padding
   legend + .control-group {
-    padding-top: @baseLineHeight * 1.5;
+    margin-top: @baseLineHeight;
+    -webkit-margin-top-collapse: separate;
   }
   // Increase spacing between groups
   .control-group {
-- 
GitLab


From ef4e3bc0f7549e327c45792884a264faab402400 Mon Sep 17 00:00:00 2001
From: Linmiao Xu <linmiao.xu@gmail.com>
Date: Thu, 26 Jan 2012 15:51:11 -0800
Subject: [PATCH 492/576] Move hero-unit css out of pattern.less and include
 it. Fixes #1185.

---
 bootstrap-responsive.min.css |  2 +-
 bootstrap.css                | 23 +++++++++++++++++++++--
 bootstrap.min.css            |  4 +++-
 lib/bootstrap.less           |  1 +
 lib/hero-unit.less           | 20 ++++++++++++++++++++
 lib/patterns.less            | 17 -----------------
 6 files changed, 46 insertions(+), 21 deletions(-)
 create mode 100644 lib/hero-unit.less

diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 8ed8745bb6..dcf17dce92 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index cc5d7f0190..b71432eb4b 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 15:39:24 PST 2012
+ * Date: Thu Jan 26 15:50:30 PST 2012
  */
 article,
 aside,
@@ -1828,7 +1828,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2998,6 +2998,25 @@ a.thumbnail:hover {
 .carousel-caption h4, .carousel-caption p {
   color: #ffffff;
 }
+.hero-unit {
+  padding: 60px;
+  margin-bottom: 30px;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+}
+.hero-unit h1 {
+  margin-bottom: 0;
+  font-size: 60px;
+  line-height: 1;
+  letter-spacing: -1px;
+}
+.hero-unit p {
+  font-size: 18px;
+  font-weight: 200;
+  line-height: 27px;
+}
 .pull-right {
   float: right;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 1e41bf9115..88f8968fc2 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -377,7 +377,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
@@ -546,6 +546,8 @@ a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105,
 .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;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:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
+.hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
 .pull-right{float:right;}
 .pull-left{float:left;}
 .hide{display:none;}
diff --git a/lib/bootstrap.less b/lib/bootstrap.less
index ede31c0357..bc9f84373c 100644
--- a/lib/bootstrap.less
+++ b/lib/bootstrap.less
@@ -57,6 +57,7 @@
 @import "progress-bars.less";
 @import "accordion.less";
 @import "carousel.less";
+@import "hero-unit.less";
 
 // Utility classes
 @import "utilities.less"; // Has to be last to override when necessary
diff --git a/lib/hero-unit.less b/lib/hero-unit.less
new file mode 100644
index 0000000000..cba1cc46cf
--- /dev/null
+++ b/lib/hero-unit.less
@@ -0,0 +1,20 @@
+// HERO UNIT
+// ---------
+
+.hero-unit {
+  padding: 60px;
+  margin-bottom: 30px;
+  background-color: #f5f5f5;
+  .border-radius(6px);
+  h1 {
+    margin-bottom: 0;
+    font-size: 60px;
+    line-height: 1;
+    letter-spacing: -1px;
+  }
+  p {
+    font-size: 18px;
+    font-weight: 200;
+    line-height: @baseLineHeight * 1.5;
+  }
+}
diff --git a/lib/patterns.less b/lib/patterns.less
index 7a039ce265..d94b921e42 100644
--- a/lib/patterns.less
+++ b/lib/patterns.less
@@ -6,23 +6,6 @@
 // PAGE HEADERS
 // ------------
 
-.hero-unit {
-  padding: 60px;
-  margin-bottom: 30px;
-  background-color: #f5f5f5;
-  .border-radius(6px);
-  h1 {
-    margin-bottom: 0;
-    font-size: 60px;
-    line-height: 1;
-    letter-spacing: -1px;
-  }
-  p {
-    font-size: 18px;
-    font-weight: 200;
-    line-height: @baseLineHeight * 1.5;
-  }
-}
 footer {
   padding-top: @baseLineHeight - 1;
   margin-top: @baseLineHeight - 1;
-- 
GitLab


From b260544de02788bc921c4c713df0f754d96c5a27 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 15:54:04 -0800
Subject: [PATCH 493/576] fix links to apple touch icons

---
 docs/base-css.html                     | 8 ++++----
 docs/components.html                   | 6 +++---
 docs/download.html                     | 6 +++---
 docs/examples.html                     | 6 +++---
 docs/index.html                        | 6 +++---
 docs/javascript.html                   | 6 +++---
 docs/less.html                         | 6 +++---
 docs/scaffolding.html                  | 6 +++---
 docs/templates/layout.mustache         | 6 +++---
 docs/templates/pages/base-css.mustache | 2 +-
 docs/upgrading.html                    | 6 +++---
 11 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index ebc6285dc8..239b963c4f 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
@@ -962,7 +962,7 @@
             <label class="control-label" for="select01">Select list</label>
             <div class="controls">
               <select id="select01">
-                <option>1</option>
+                <option>something</option>
                 <option>2</option>
                 <option>3</option>
                 <option>4</option>
diff --git a/docs/components.html b/docs/components.html
index 49f3f8369c..252e1a0c3b 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/download.html b/docs/download.html
index 89077d2478..c4ee833d34 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/examples.html b/docs/examples.html
index 0d3e11f5a3..6fcbc58556 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/index.html b/docs/index.html
index 8d66e35680..d7a870e8dc 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/javascript.html b/docs/javascript.html
index 2bd5bbd05c..07c55e834a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/less.html b/docs/less.html
index dc0e834435..c827df4539 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 2c8d873e7f..11f3b4486d 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index 547b99bb40..014f248d68 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 27386d47fb..6f928dfa37 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -897,7 +897,7 @@
             <label class="control-label" for="select01">{{_i}}Select list{{/i}}</label>
             <div class="controls">
               <select id="select01">
-                <option>1</option>
+                <option>something</option>
                 <option>2</option>
                 <option>3</option>
                 <option>4</option>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index e80fac2d6f..d0234a8ba9 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -20,9 +20,9 @@
 
     <!-- Le fav and touch icons -->
     <link rel="shortcut icon" href="assets/ico/favicon.ico">
-    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
   </head>
 
   <body data-spy="scroll" data-target=".subnav" data-offset="50">
-- 
GitLab


From d531f72645b72d648d52bd56698a80fcfff38043 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 16:12:34 -0800
Subject: [PATCH 494/576] some js for javascript for builder (stil incomplete)

---
 docs/assets/js/application.js          | 89 ++++++++++++++------------
 docs/download.html                     | 12 ++--
 docs/templates/pages/download.mustache | 12 ++--
 3 files changed, 60 insertions(+), 53 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 84227f5557..898a49d9a9 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -76,46 +76,7 @@ $(function(){
     }
   }
 
-  // javascript build logic
-
-  var inputs = $("#javascript input")
-
-  // toggle all plugin checkboxes
-  $('#selectAll').on('click', function (e) {
-    e.preventDefault()
-    inputs.attr('checked', !inputs.is(':checked'))
-  })
-
-  // handle build button dropdown
-  var buildTypes = $('#javascriptBuilder .dropdown-menu li').on('click', function () {
-    buildTypes.removeClass('active')
-    $(this).addClass('active')
-  })
-
-  // request built javascript
-  $('#javascriptBuild').on('click', function () {
-
-    var names = $("#javascript input:checked")
-      .map(function () { return this.value })
-      .toArray()
-
-    if (names[names.length - 1] == 'bootstrap-transition.js') {
-      names.unshift(names.pop())
-    }
-
-    $.ajax({
-      type: 'POST'
-    , dataType: 'jsonpi'
-    , params: {
-        branch: '2.0-wip'
-      , dir: 'js'
-      , filenames: names
-      , compress: buildTypes.first().hasClass('active')
-      }
-    , url: "http://bootstrap.herokuapp.com"
-    })
-  })
-
+ 
   // fix sub nav playa
   var $win = $(window)
     , $nav = $('.subnav')
@@ -201,4 +162,50 @@ $(function () {
       }
     }
   })
-}(jQuery);
\ No newline at end of file
+}(jQuery);
+
+ // javascript build logic
+
+$(function () {
+
+  var inputsComponent = $("#components.download input")
+    , inputsPlugin = $("#plugins.download input")
+
+  // toggle all plugin checkboxes
+  $('#components.download .toggle-all').on('click', function (e) {
+    e.preventDefault()
+    inputsComponent.attr('checked', !inputsComponent.is(':checked'))
+  })
+
+  $('#plugins.download .toggle-all').on('click', function (e) {
+    e.preventDefault()
+    inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
+  })
+
+  // request built javascript
+  $('.download-btn').on('click', function () {
+
+    var comp = $("#components.download input:checked")
+          .map(function () { return this.value })
+          .toArray()
+      , plug = $("#plugins.download input:checked")
+          .map(function () { return this.value })
+          .toArray()
+
+    
+
+    $.ajax({
+      type: 'POST'
+    , dataType: 'jsonpi'
+    , params: {
+        branch: '2.0-wip'
+      , dir: 'js'
+      , filenames: names
+      , compress: buildTypes.first().hasClass('active')
+      }
+    , url: "http://bootstrap.herokuapp.com"
+    })
+  })
+
+})
+
diff --git a/docs/download.html b/docs/download.html
index 89077d2478..afc189fb38 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -230,6 +230,10 @@
   </div>
   <div class="row download-builder">
     <div class="span4">
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-transition.js">
+        Transitions <small>(required for any animation)</small>
+      </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-modal.js">
         Modals
@@ -250,12 +254,12 @@
         <input type="checkbox" checked="true" value="bootstrap-tooltip.js">
         Tooltips
       </label>
+    </div><!-- /span -->
+    <div class="span4">
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-popover.js">
         Popovers <small>(requires Tooltips)</small>
       </label>
-    </div><!-- /span -->
-    <div class="span4">
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-alert.js">
         Alert messages
@@ -276,10 +280,6 @@
         <input type="checkbox" checked="true" value="bootstrap-typeahead.js">
         Typeahead
       </label>
-      <label class="checkbox">
-        <input type="checkbox" checked="true" value="bootstrap-transition.js">
-        Transitions <small>(required for any animation)</small>
-      </label>
     </div><!-- /span -->
     <div class="span4">
       <h4 class="muted">Heads up!</h4>
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 673bed9121..037690e73a 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -165,6 +165,10 @@
   </div>
   <div class="row download-builder">
     <div class="span4">
+      <label class="checkbox">
+        <input type="checkbox" checked="true" value="bootstrap-transition.js">
+        Transitions <small>(required for any animation)</small>
+      </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-modal.js">
         Modals
@@ -185,12 +189,12 @@
         <input type="checkbox" checked="true" value="bootstrap-tooltip.js">
         Tooltips
       </label>
+    </div><!-- /span -->
+    <div class="span4">
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-popover.js">
         Popovers <small>(requires Tooltips)</small>
       </label>
-    </div><!-- /span -->
-    <div class="span4">
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-alert.js">
         Alert messages
@@ -211,10 +215,6 @@
         <input type="checkbox" checked="true" value="bootstrap-typeahead.js">
         Typeahead
       </label>
-      <label class="checkbox">
-        <input type="checkbox" checked="true" value="bootstrap-transition.js">
-        Transitions <small>(required for any animation)</small>
-      </label>
     </div><!-- /span -->
     <div class="span4">
       <h4 class="muted">Heads up!</h4>
-- 
GitLab


From af96da6e895974dd4bd6fb19cf0c6d7e16bf050d Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 16:27:37 -0800
Subject: [PATCH 495/576] adding white sprites

---
 bootstrap.css                                 |   5 ++++-
 bootstrap.min.css                             |   1 +
 .../img/glyphicons-halflings-sprite-white.png | Bin 0 -> 13566 bytes
 .../img/glyphicons-halflings-sprite.png       | Bin 5249 -> 14152 bytes
 docs/base-css.html                            |   2 +-
 docs/templates/pages/base-css.mustache        |   2 +-
 lib/sprites.less                              |   3 +++
 7 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 docs/assets/img/glyphicons-halflings-sprite-white.png

diff --git a/bootstrap.css b/bootstrap.css
index cc5d7f0190..cadc4d2438 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 15:39:24 PST 2012
+ * Date: Thu Jan 26 16:26:33 PST 2012
  */
 article,
 aside,
@@ -1074,6 +1074,9 @@ table .span12 {
   width: 14px;
   height: 14px;
 }
+.icon.white {
+  background-image: url(docs/assets/img/glyphicons-halflings-sprite-white.png);
+}
 .glass {
   background-position: 0      0;
 }
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 1e41bf9115..cf78031f29 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -208,6 +208,7 @@ 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;}
 .icon{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
+.icon.white{background-image:url(docs/assets/img/glyphicons-halflings-sprite-white.png);}
 .glass{background-position:0 0;}
 .music{background-position:-24px 0;}
 .search{background-position:-48px 0;}
diff --git a/docs/assets/img/glyphicons-halflings-sprite-white.png b/docs/assets/img/glyphicons-halflings-sprite-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..a92b1913a2ba91686e5d96e915367d7c31a26146
GIT binary patch
literal 13566
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
XG79cOO}DTABS}R;UA|P-Eb#vTi{*=0

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons-halflings-sprite.png b/docs/assets/img/glyphicons-halflings-sprite.png
index 2d783eefef24c35a2051757a756486d4e9d03ff9..b4e0acfbc11203068a008545ed95e2e03ecbb921 100644
GIT binary patch
literal 14152
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

literal 5249
zcmYjVWmr^Q+a0<~x*2ICL>lQXsTopAkrX6{aE68l5Tyh}=^B_BLRvsdDWy~#Kt)P&
zXok-3Jg?vPUGMpE?{(H$d+l}aA7`KIB%7P+(@=6yf<Pb|LjxU45QqQ^;3wonK-J?8
z9|VXia}%iU^?xpMa&mwNAW#Vj39G8A{^GwCAeot&feKvzk^ft0XlO`DN&hl3GBN;Q
zV`F>p;K5(PztaCRbaQk2iy0Xi&CSgLOiN1(27>`5uoe*!5db(jIqB)?0W2yi3XpMe
zaRdYeP$)DuHWmP(p`j!sB!G;EheuUam5PdrjEwBYjT=A!Ko2}pS68>QvjYSg8XA<8
zlmG+Fdh_ND9UUFeT4`x1aI2)Gq@$x_VqyaL1FI7g69ZO2rJ$g2baVt{Qc_ZYKj2ec
zT@CmH8XzhF06pNtz`$_l&K;miNJs#k0zT~Q?7(zxZf*eq0eyXa;1*aH5dUR>7(hEL
zEG&ROU;+Sfad9CbAt1AsmKLA^NT33#fNg1NY68T7QczG(TU#6G0@xx+Nl7>y&dSPK
zP*4D14h{~01d;#_fH?#L0rb?=)UvX&z+7HlULcH^m>9tD@$mthX<=aj$bdY+c6oSs
z*xTD@W@Z9PUteEfUBDLTPXE9v3m8zrmZlJp(BwEF-JUpG5t-CZ4X-l^E$^qLZh=sB
zD-$lTSro;bX&Pg)LtRxSb@3u|aYt{!g2t|%`WNMo91NaASWIJlrk4Q&(_rbmP<y#(
zkGqEU*Ov{DKLbV&AEdKN_R0GN`h$~0l9Zm?>wV*Qxb<QpS}rEu#WUz-iizWQ&&N#>
z7CJKZmVRQ;wqTV4;d@1|v}0W*vvSPLeLe)f%RsYarz2%=^Owlm*(9j93xhxm$%Z<b
z&@iX1f<!o%?wiDJoa}E^l(4}YNN$Fnh;2@vy%w##kB?8BA(gnxv|!NSw#2FY@0DPs
z)qMQr)i4A*Ve%M<X}I5%>cKkom~FnM(C-X27u=xEeDI@}K^`QVwJY5#toKg#sHCm;
zEYLMVqw>R<AwrR8B>o_Xx`=mM$(OL|o;(PN8(3G5rzbS}uCf#+_eM`h?CTN1vqwfh
zySZy%vIDX{E}gp1m2+|%&nrRmqW4NcBdxi}nHF&;O`#70`7Fs%0$S?e;ft(;5;{Wi
zNLyv>?$!C}fCwKYv|8+Y&pXF>Q6&vo;XeEF<p<{>@vY_dIbFTSOB{tRW7{R3UY7G@
zl;nlp1KOW`-H(o-+Rk~$#QKXvH|s~uM9tJx2#4aF?_dY0K_jxB92Ocny@v(~p{n!C
zUpm_Fq==q!MOJ9bo>{3FLwuO$QYFN~7)ksx$Lw_OcyFt|OuXs3|B4CenjL1)CYWNA
zt4-39nzuu=TXCtD#~VGG2Alo4+fHmgrQP9xrqkLhK6J6VS&$a(skXd4+4tc^Rx!!f
z3|D?S`+Lk7N@nP;JmoCXwTY8)&Qm6;AiVU8;xc_Wn!du4S<B?gU2X6N`Z#xeX$gC9
znvpY_HtO65W9D)k)Lt<lh~RkN*~vqX%Zrr0)(x+Y217p>P)cCQ%imR3q90n7#8O5k
z#qxfWRwi?*?K~Z8+Hqz^<)#FxFWe@KPBIOyw(hQ-oYH0&>(KdR%-YHnQ|^v;J+v?q
zAhzHrka&rk7oFG2QKe9^nv%a<zOa$B<P)SFO2_?SGqBTlHiPk3g*!=1=NdInXwyEO
z0K5I>t_W>Mtz3hA?LY87E{wGU<t`6;r-C|0mg=l(F^8lVEL2v3VeBAD-b^)hLVDOi
z8*A)&By{P%5O(Sb(asHS!qzBnGb@603GA86(@o=PUi#*-Kg0H;?)g4g@B4-``C>;)
zOX-MA*+T0pc;Dsq$VFW*BZzH=j%ffskDJ2IMaL#`oSC11^LWA27q+Wg4Brhc6dXmv
z(I^$8kGrDtpS}v4%EicsAYac3Y)(~PSXA{)viLLIx@%EyXW>9}*2DN{SBmdp<XdXc
za2%t9O(S5c-n7*vRl{}Qi-&xUqCI}O7>TGgK{Fi`uaN}rLto`&FWEGNjS-#YF>oA;
z7VrrtC--|(W{*7#+7l}cRO90J;EH@UWp%#ooMBDtR6l0MKDT!}NB}3Zt2|&}r<n1q
znf0r%0gTsZ`ygbsIm6T@sULev{(^;BAUB;p1<T}pnUHPOUcV@jy+54$*5Qih-98>2
zar|c`LzTm4;OJEJ&tsl1o^Rn^aC9S;`o>{o%We1|RKm=Q$3Hu%g;lbm&thDA_MTW$
ze|#>ILh?Y0xbLLd=FxJ~QMM%y$=j3tam*#pA-pql9HUtys_oYIo1Zh-wPD<hoi}*(
zsYO(1E$1`@OCGrz6V1lJlvMs!r2>}lPBZkTY844I)kj)}nLLa9o23(1S(7l*@JBz1
zy@RdD`FoB&g6x=aGo?AZT*vp{!8G7!-NAaI0q%G%4-}=HM(Pbbp1nvR@#BKOA{Xu7
zAyqzN#b3bSUDL67i$@Npj4x8#MUhy`RTN&(5J{nAyu2ZsGxaMg7gyJ+JvSS!)NkGf
z&PH~s$u!O)C*lS_95WIt85GY5gKik3XA;%ub>}ZJbHv*nbSFqbD|kWRl~e}4?-Nee
z<w&Cqsx8S}-0N@qYGM%nHD+Q%-=m;GE1K^*U=Ye^a3cskbG}wHGFE$FdyTu>1K%Oo
zv9)ZT5?vkF67fIMf!!?5Pds7s<leJoc#MP|6NrzWR9~$W(!=w14J*|wMp}Kk66Dv{
zW8x9@m1r$1fdS}izp~c!*l!7iM*$K`P1UG<Wph|AZ`y0WUjBqcWsLTtTI~Z7(4rc&
z(Ck$_l8lhAg24>?O--e5##=9|W~~0@5q<i4^U%CB-<{I|KlyPl6lE;sWT7{MSc;j_
z!zj{72D)_gar9*O8EJI09LUcWvJC6N8K{Fu+oOnV3<5~z++i2(^`=*er+pE{DtVIN
z*QSTIzXDOvak;zYYbJvPx>Q^8_A?V>L6-j4X>_V_%J|rAgyTJsarKb&VO?z4HBJds
z*GW2`zbEXExPy&Bm!0mi_}}_|k+$n<dBMg?1N-M`0c*JeJ$vV+t*#~ty2tqWG`Yl7
zo@~TzX2My21$s>`8u?k0Nk>bA{4u&-gI34KF#EWU@XNW)1}Gf~GOrZf50PAiA$nfH
zWO>C2Q({(Pb}|<`q8~(E>C{1>zT&*cjg5?Rw|Ozb_nOsfoRRsjXkcsids>I)yIC06
zRmq+2Zj+RFMm3jv8=K*uUZd%?cAPu^p_m%^?fHHTHs4<T5l2)G2eHx9fTDfpoPSMj
zsMsF-xRMNjUV0CDPs77@77Av!Qzn!_<sib`v7Vry0h!%8^;+WN4%qvF_w<6m8#&7a
zJKOz~MZ-BsExK{S4M-e~HB?Z5*d=1gY$HG?q+b;P^Xt!5(}g>$e(Mw2OXtp8wlpkb
zk34K!c|^>ZiEE_18HbLP3p$^}e?~b`ZjVQ<e~tWH<U`&tUjWH&fTEACu!5kl_%(*h
zV~Xha1yu7eYa1)>l>`?a5*HZZB5X6F<*Q6vU6`X>gI#$$il(MEEGy$8<vfld<J0w(
zpMLjX=*#IyYeOLD88K)^sJ-S|jeybzW)#j;Y{abvJ@KBh;>YNsG36N{LA?>~_#c{y
zTS5k)*uH?eD~Lf`OUMW4)+L4kgwQx30O=e-w_xvDk@oGT>Nx4S{DNO@hg*BPjGWm<
z+0US6i6it>C=Y`*qSFT|pE)1kr$lXENo+W~jaFfFFi-W-B5$#x%l*<uQ+D}|E^5dz
zLF>7$vPQ<c7+*7%co8QvUNBgigPpU$FdfPLzwd$nABZyhkc_UYp0rYZhvmruuT6XC
zVUi_mjFrA?#fC}SEh<AE%2;=XTN8VvoO@-=B_ajh<-sYRgJ`GTIS@_q9NiYsTNMlG
znDBnS_sOzZm}bL#*m`#D{>W-{ZfP>%kNPOdrvYjG_MSYq0;_z`FcGJQP4a-8o0~y*
z3H3a@Ptp~m5?19JU-<4%#)IN*@m0}3C{gahMsjzvp*6aF#PkF*7Xl8R?2r4Q-8B8$
z6D=_mG~dFiyd1<?`IL2Z@@@7SYBj!dqmI8+-S^BBETQjX2<3kGc`f;rYe>`StQI8%
zDZD`~?AK;ISM{vf2;Gxb{Ep`BokB7MgNtyBM^|d%bJS$(u3|uRv?w0!XPrWrM|StT
zaFRWDBe|jSjfPZUsz^SHG3m{UZJvEKv!&`SCaGQMs-#2ipPgcbvvp^X#BiUw*>mNm
z2VRwLG%YTvRl4q@U56Kt*h--;lae$&^3rLp$JPDzU@YM%e1~WUu7VA+A&tT<j8oes
zbz;Kg1q##$)vZjem~Q)VS4EOq@1-}ZFx&tkp$Z33*LsdK5W-}+Rg(nr)b-D`Aa;0%
zaL36VMO&=s@%d&)eO#Kss`GBa#9eFSIf-V|Kh)xVrqqke!jyZd^vJUSh_M`3%N6Of
zKc`+P9xTc~l7=gATj9cn%u-uhoqekt7G~u2WYo{?E+m`;3+VP{lP!ITws0u-${^BN
z<lRc6Upbf0^B`Sa)EC@L;gKrPiWGC>3LLiK4H;6G){J>|9Dho=cO3XRWUmU0wTAOv
zYar%t2^%rb|C~jHPQ~DkdmO}Iui!2`#-<s(R95RZp@rU%lyMA+x3nXRE>R}S#*l35
zqbCayN>^4#c;!0Rz>YrBE4xtF=MwtMibc{KHuq6SvO6(bF!GA72o<YrUOKs{Efr`X
zdd00uz!iI3O51N-%|9`nsT6O&**;d}TC!I6g4(!3>g7O4P#$--4-99ffUUMfhin#c
z;?0A8CmR>0duz@*+~Yu*2Ujs+v__CRs1gF3dc~VBYMT&K!aH9tQipyd->Owd*n7BW
z9w|c&ZXJ!+m}+#h`7}nMp8fY}N}I^<W8pTrzDlXTrhxk=;mOq2#&IC2?ajLjH>?B=
z*N7EAv`Usez>VoWw4Y*)=FJ>yR2*FXb_aB_A3?O@QROz<Wl;&nWcR#RY5sXDWm#Lk
zTcsG%Lx)ZI-3n4G7Z*0s8V2X)2A8_sI9rtp<Jn+a^W7%&{dm@HuIWWhaDfS@cv8p0
z<Fw~Ai3o<p>?+Si*0PUQQXqKHqShKh#Q!?dRksd-Kw9gCY$p${wA_p8Efd@pK7q^h
zKfnl2N?LxLQprWsOwE44RX94xR@YHQ_p9EnEsCVg(@NSd*-@XQkyVG66@WItUR{ji
zND6;lDmj+uB)jV9pHcs@FP5$@L{n>ZruP%AfFWUlLz@ao^(FE}vzz<(TB^U3p@j+l
zIfUJd_|=*<Lw6{K!7=)urk^6D@e;q&HnP@!vo9z^q4BUI3h(PrE-!$*$?8@4Vi&i~
zK5p8fJ~Zrpr$6=%WDAg)dq4fWj*<h_RcEunJ~@@JR2@RUBX*v#cSc$lGIXK8`&0uj
zJ(~8_*5iE3HMXv@WMIhi)VwNOwL+l!jrY~3lKw`^gyoWbEfpvaMiu&$E0=u?WOH)X
z^Jq<>efk28`onml2rW8|`n4gc6BJN<TFKu$=c_!%Z1V1*N!;@sI$y8CiY5m+Y`#R}
zYK81@*MQou>qry5#mK9+N%Qq^k=-3cgiEHAv-9!YW6fSj1Z48K7m?4v9sIN1Y?Yr~
z>|m#aKAL_LP8lY4vus&A&C6-L?9>Pg#hXQrEZT`SZaqs|-@h~)GRTaoMU+b?8kKPy
z$jf{@>j4$l)Nw|f@MZ{NTUUX=Akl{S^WaEfq39-CLnT!xp*IhxaalX2pHX1eo(p;p
zi$T5W0UR+_xyS1D|Da0|5VdbZ=1SM=1Zy>KCdsTBzkD^FzCJAeuKK1l4O|lv>z|~C
z*Uyb;A62o)2Wi~E|FF`0T^%sAf-SQSh3-8uTz;MCeN>&*&yucW4X-*#MU+zv>G-Q^
zT^ru1q4Tjdyzb^VC?!K4vZlvLLHCbZ+%!ns>JdXLF~8$Dvx|J7h2d51<3_J*MCQ-^
z;0>R&eS6Q(Mx#f{@t3SWa(z{2H;dT`M&p9*i^AX08D1~QWWVq9WjEKf6X&%QTk7f#
z5p6tpWVt>Wkx7xD0$s*Z4X4@BreQB0y-YMxIBr)UY{-yAj@V888C|pkKa`jDU`cqi
zXCmk4ci(z~BUmDbPL$bS>h23nnb<JvHl8(PQ~Lf*Yy8W5JYpp5mx~MJM!1Q=|N2J$
z&)L|Nv!O>9ZEExo4v8=+5=zA@@)la7$89ZZ6mHjAtNSo$)TD1)*sIy?-tS{4nihK{
zR`>BE(L2*r#6fU26iep}I{YUpZJ_--$WFsG*^kz+!vy`FmQK#zi{q9q-m3yS_v{OZ
zBWbo2o>8w#eMfwA?q}koZYwox??yQHfE>G%Pqlz{O{TXzuV#c&1AKoI-YPfR)VO-;
zP$ZRydn=9lI6eF6<DYCEi61RGEOaY7;3o@DP>VUUy%ZWrwH3}&QwYoN(lg6X@aBwG
zPJNPCv$2%f-<F3?;xH4ZB)()xlMMpQ$L&Cg(0*nJ^R0}mOJ>bu9<LgTo|Y$k(e5=f
zj>bpf25Lq3HdepP+1+=AiHEiwbu1$Mbk?sI5SSS9q%WRdRSoFJb@`~iL}~ODiWU4I
zcpIeGIPEaQ^TL)p<kj%@GmIMD+(Bu$i`xE^Z>okKv;0)Eh{}u2C-B`CSX<j?+-`?M
zq>Y0rwm2l6a9vZP82++JkHvf4(Ea%7HDM6uJ#F{!a%evmQo+X$7NK(Z<JLw1j<0Z3
nzU8R@dpU60QTlr3B|b`GyzJyA)#<-K8$pJ;raHA+F0uau^Vpx7

diff --git a/docs/base-css.html b/docs/base-css.html
index 239b963c4f..a30e0c1f37 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1482,7 +1482,7 @@
       <p>Or, use them in navigation.</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
-          <li class="active"><a href="#"><i class="icon home"></i> Home</a></li>
+          <li class="active"><a href="#"><i class="icon white home"></i> Home</a></li>
           <li><a href="#"><i class="icon book"></i> Library</a></li>
           <li><a href="#"><i class="icon pencil"></i> Applications</a></li>
         </ul>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 6f928dfa37..c3d10eb081 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1417,7 +1417,7 @@
       <p>{{_i}}Or, use them in navigation.{{/i}}</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
-          <li class="active"><a href="#"><i class="icon home"></i> {{_i}}Home{{/i}}</a></li>
+          <li class="active"><a href="#"><i class="icon white home"></i> {{_i}}Home{{/i}}</a></li>
           <li><a href="#"><i class="icon book"></i> {{_i}}Library{{/i}}</a></li>
           <li><a href="#"><i class="icon pencil"></i> {{_i}}Applications{{/i}}</a></li>
         </ul>
diff --git a/lib/sprites.less b/lib/sprites.less
index 0d51125c26..c85d63e8fa 100644
--- a/lib/sprites.less
+++ b/lib/sprites.less
@@ -20,6 +20,9 @@
   width: 14px;
   height: 14px;
 }
+.icon.white {
+  background-image: url(docs/assets/img/glyphicons-halflings-sprite-white.png);
+}
 
 .glass              { background-position: 0      0; }
 .music              { background-position: -24px  0; }
-- 
GitLab


From 12484a7471513f38be02e8420db3b09842968562 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 16:41:28 -0800
Subject: [PATCH 496/576] more builder crap

---
 docs/assets/js/application.js          | 21 +++++---
 docs/download.html                     | 68 +++++++++++++-------------
 docs/templates/pages/download.mustache | 68 +++++++++++++-------------
 3 files changed, 81 insertions(+), 76 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 898a49d9a9..de2382b2ee 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -185,25 +185,30 @@ $(function () {
   // request built javascript
   $('.download-btn').on('click', function () {
 
-    var comp = $("#components.download input:checked")
+    var css = $("#components.download input:checked")
           .map(function () { return this.value })
           .toArray()
-      , plug = $("#plugins.download input:checked")
+      , js = $("#plugins.download input:checked")
           .map(function () { return this.value })
           .toArray()
+      , vars = {}
 
-    
+    $("#variables.download input")
+      .each(function () {
+        return $(this).val() 
+      })
 
     $.ajax({
       type: 'POST'
+    , url: 'localhost:3000'
+   // , url: "http://bootstrap.herokuapp.com"
     , dataType: 'jsonpi'
     , params: {
         branch: '2.0-wip'
-      , dir: 'js'
-      , filenames: names
-      , compress: buildTypes.first().hasClass('active')
-      }
-    , url: "http://bootstrap.herokuapp.com"
+      , js: js
+      , css: css
+      , vars: vars
+    }
     })
   })
 
diff --git a/docs/download.html b/docs/download.html
index a81f31cebf..5b2b716d7e 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -93,51 +93,51 @@
   <div class="row download-builder">
     <div class="span3">
       <h3>Scaffolding</h3>
-      <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
-      <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
-      <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> CSS reset</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> Grid system</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> Layouts</label>
       <h3>Base CSS</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Headings, body, etc</label>
-      <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
-      <label class="checkbox"><input type="checkbox" value=""> Labels</label>
-      <label class="checkbox"><input type="checkbox" value=""> Tables</label>
-      <label class="checkbox"><input type="checkbox" value=""> Forms</label>
-      <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
-      <label class="checkbox"><input type="checkbox" value=""> Icons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> Labels</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="sprites.less"> Icons</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>Components</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
-      <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
-      <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
-      <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
-      <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
-      <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
-      <label class="checkbox"><input type="checkbox" value=""> Pager</label>
-      <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
-      <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
-      <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="button-combo.less"> Combo buttons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="page.less"> Pager</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="progres-bars.less"> Progress bars</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>JS Components</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
-      <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
-      <label class="checkbox"><input type="checkbox" value=""> Modals</label>
-      <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
-      <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
-      <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
-      <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltips.less"> Tooltips</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="popover.less"> Popovers</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tabs.less"> Tabs</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="collapse.less"> Collapse</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>Miscellaneous</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Wells</label>
-      <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
-      <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
-      <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> Wells</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
       <h3>Responsive</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
-      <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
-      <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-480.less"> Max-width 480px</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-768.less"> Max-width 768px</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-1210.less"> Max-width 1210px</label>
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 037690e73a..4707e60a94 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -28,51 +28,51 @@
   <div class="row download-builder">
     <div class="span3">
       <h3>Scaffolding</h3>
-      <label class="checkbox"><input type="checkbox" value=""> CSS reset</label>
-      <label class="checkbox"><input type="checkbox" value=""> Grid system</label>
-      <label class="checkbox"><input type="checkbox" value=""> Layouts</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> CSS reset</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> Grid system</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> Layouts</label>
       <h3>Base CSS</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Headings, body, etc</label>
-      <label class="checkbox"><input type="checkbox" value=""> Code and pre</label>
-      <label class="checkbox"><input type="checkbox" value=""> Labels</label>
-      <label class="checkbox"><input type="checkbox" value=""> Tables</label>
-      <label class="checkbox"><input type="checkbox" value=""> Forms</label>
-      <label class="checkbox"><input type="checkbox" value=""> Buttons</label>
-      <label class="checkbox"><input type="checkbox" value=""> Icons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> Labels</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="sprites.less"> Icons</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>Components</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Button groups</label>
-      <label class="checkbox"><input type="checkbox" value=""> Combo buttons</label>
-      <label class="checkbox"><input type="checkbox" value=""> Navs, tabs, and pills</label>
-      <label class="checkbox"><input type="checkbox" value=""> Navbar</label>
-      <label class="checkbox"><input type="checkbox" value=""> Breadcrumbs</label>
-      <label class="checkbox"><input type="checkbox" value=""> Pagination</label>
-      <label class="checkbox"><input type="checkbox" value=""> Pager</label>
-      <label class="checkbox"><input type="checkbox" value=""> Thumbnails</label>
-      <label class="checkbox"><input type="checkbox" value=""> Alerts</label>
-      <label class="checkbox"><input type="checkbox" value=""> Progress bars</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="button-combo.less"> Combo buttons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="page.less"> Pager</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="progres-bars.less"> Progress bars</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>JS Components</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Tooltips</label>
-      <label class="checkbox"><input type="checkbox" value=""> Popovers</label>
-      <label class="checkbox"><input type="checkbox" value=""> Modals</label>
-      <label class="checkbox"><input type="checkbox" value=""> Dropdowns</label>
-      <label class="checkbox"><input type="checkbox" value=""> Tabs</label>
-      <label class="checkbox"><input type="checkbox" value=""> Collapse</label>
-      <label class="checkbox"><input type="checkbox" value=""> Carousel</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltips.less"> Tooltips</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="popover.less"> Popovers</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tabs.less"> Tabs</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="collapse.less"> Collapse</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>Miscellaneous</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Wells</label>
-      <label class="checkbox"><input type="checkbox" value=""> Close icon</label>
-      <label class="checkbox"><input type="checkbox" value=""> Utilities</label>
-      <label class="checkbox"><input type="checkbox" value=""> Component animations</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> Wells</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
       <h3>Responsive</h3>
-      <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
-      <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
-      <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-480.less"> Max-width 480px</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-768.less"> Max-width 768px</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-1210.less"> Max-width 1210px</label>
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
-- 
GitLab


From c8d2c4e44297d52339216f7e6664d9105ff554a1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 16:45:01 -0800
Subject: [PATCH 497/576] fix height of download button

---
 docs/assets/css/docs.css | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 2ef4139069..6fa20cf4da 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -538,6 +538,7 @@ hr.soften {
   padding: 19px 24px;
   margin-bottom: 27px;
   font-size: 30px;
+  line-height: 1;
   text-align: center;
   -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
-- 
GitLab


From 6886022fe6c35d151888ae4a57e91e9e34da3f5d Mon Sep 17 00:00:00 2001
From: Marco Wise <marco.wise@stanford.edu>
Date: Thu, 26 Jan 2012 18:10:36 -0800
Subject: [PATCH 498/576] fix typo in docs/scaffolding.html

---
 docs/scaffolding.html                     | 2 +-
 docs/templates/pages/scaffolding.mustache | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 11f3b4486d..df6ea9f008 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -357,7 +357,7 @@
     <div class="span5">
       <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
       <ol>
-        <li>Use the compiled responsive version, bootstrap-reponsive.css</li>
+        <li>Use the compiled responsive version, bootstrap-responsive.css</li>
         <li>Add @import "responsive.less" and recompile Bootstrap</li>
         <li>Modify and recompile responsive.less as a separate</li>
       </ol>
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index bc924e3ef7..7781e86f65 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -292,7 +292,7 @@
     <div class="span5">
       <p>{{_i}}Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:{{/i}}</p>
       <ol>
-        <li>{{_i}}Use the compiled responsive version, bootstrap-reponsive.css{{/i}}</li>
+        <li>{{_i}}Use the compiled responsive version, bootstrap-responsive.css{{/i}}</li>
         <li>{{_i}}Add @import "responsive.less" and recompile Bootstrap{{/i}}</li>
         <li>{{_i}}Modify and recompile responsive.less as a separate{{/i}}</li>
       </ol>
@@ -314,4 +314,4 @@
 </pre>
     </div>
   </div>
-</section>
\ No newline at end of file
+</section>
-- 
GitLab


From a4a8ea2328f163fad43f250f6b3311fe0b670946 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 19:09:59 -0800
Subject: [PATCH 499/576] flip order of content on home page

---
 docs/index.html                     | 46 ++++++++++++++---------------
 docs/templates/pages/index.mustache | 46 ++++++++++++++---------------
 2 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/docs/index.html b/docs/index.html
index d7a870e8dc..e60e9d7116 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -114,28 +114,6 @@
         <hr class="soften">
 
         <div class="marketing">
-          <h1>Built with Bootstrap.</h1>
-          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.</p>
-          <ul class="thumbnails example-sites">
-            <li class="span4">
-              <a class="thumbnail" href="http://kippt.com/" target="_blank">
-                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
-              </a>
-            </li>
-            <li class="span4">
-              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
-                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
-              </a>
-            </li>
-            <li class="span4">
-              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
-                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
-              </a>
-            </li>
-          </ul>
-
-        <hr class="soften">
-
           <h1>Designed for everyone, everywhere.</h1>
           <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
           <div class="row">
@@ -212,7 +190,29 @@
             </div>
           </div><!--/row-->
 
-        <hr class="soften">
+          <hr class="soften">
+
+          <h1>Built with Bootstrap.</h1>
+          <p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.</p>
+          <ul class="thumbnails example-sites">
+            <li class="span4">
+              <a class="thumbnail" href="http://kippt.com/" target="_blank">
+                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
+                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
+                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
+              </a>
+            </li>
+          </ul>
+
+          <hr class="soften">
 
           <!-- Quickstart options
           ================================================== -->
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index b045cc5797..9a5421bd3a 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -49,28 +49,6 @@
         <hr class="soften">
 
         <div class="marketing">
-          <h1>{{_i}}Built with Bootstrap.{{/i}}</h1>
-          <p class="marketing-byline">{{_i}}For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.{{/i}}</p>
-          <ul class="thumbnails example-sites">
-            <li class="span4">
-              <a class="thumbnail" href="http://kippt.com/" target="_blank">
-                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
-              </a>
-            </li>
-            <li class="span4">
-              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
-                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
-              </a>
-            </li>
-            <li class="span4">
-              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
-                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
-              </a>
-            </li>
-          </ul>
-
-        <hr class="soften">
-
           <h1>{{_i}}Designed for everyone, everywhere.{{/i}}</h1>
           <p class="marketing-byline">{{_i}}Need reasons to love Bootstrap? Look no further.{{/i}}</p>
           <div class="row">
@@ -147,7 +125,29 @@
             </div>
           </div><!--/row-->
 
-        <hr class="soften">
+          <hr class="soften">
+
+          <h1>{{_i}}Built with Bootstrap.{{/i}}</h1>
+          <p class="marketing-byline">{{_i}}For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./examples.html">browse the examples</a>.{{/i}}</p>
+          <ul class="thumbnails example-sites">
+            <li class="span4">
+              <a class="thumbnail" href="http://kippt.com/" target="_blank">
+                <img src="assets/img/example-sites/kippt.png" alt="Kippt">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.fleetio.com/" target="_blank">
+                <img src="assets/img/example-sites/fleetio.png" alt="Fleetio">
+              </a>
+            </li>
+            <li class="span4">
+              <a class="thumbnail" href="http://www.jshint.com/" target="_blank">
+                <img src="assets/img/example-sites/jshint.png" alt="JS Hint">
+              </a>
+            </li>
+          </ul>
+
+          <hr class="soften">
 
           <!-- Quickstart options
           ================================================== -->
-- 
GitLab


From 7a3d04d5bed9b9ddf5a3c78466b7115a0260b75e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Thu, 26 Jan 2012 19:10:09 -0800
Subject: [PATCH 500/576] scope icons to .icon

---
 bootstrap.css     | 182 +++++++++++++++++++++++-----------------------
 bootstrap.min.css | 180 ++++++++++++++++++++++-----------------------
 lib/sprites.less  | 180 ++++++++++++++++++++++-----------------------
 3 files changed, 271 insertions(+), 271 deletions(-)

diff --git a/bootstrap.css b/bootstrap.css
index 086537f5fd..c7d457d6e0 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 16:30:52 PST 2012
+ * Date: Thu Jan 26 19:09:35 PST 2012
  */
 article,
 aside,
@@ -1077,274 +1077,274 @@ table .span12 {
 .icon.white {
   background-image: url(docs/assets/img/glyphicons-halflings-sprite-white.png);
 }
-.glass {
+.icon.glass {
   background-position: 0      0;
 }
-.music {
+.icon.music {
   background-position: -24px 0;
 }
-.search {
+.icon.search {
   background-position: -48px 0;
 }
-.envelope {
+.icon.envelope {
   background-position: -72px 0;
 }
-.heart {
+.icon.heart {
   background-position: -96px 0;
 }
-.star {
+.icon.star {
   background-position: -120px 0;
 }
-.star-empty {
+.icon.star-empty {
   background-position: -144px 0;
 }
-.user {
+.icon.user {
   background-position: -168px 0;
 }
-.film {
+.icon.film {
   background-position: -192px 0;
 }
-.th-large {
+.icon.th-large {
   background-position: -216px 0;
 }
-.th {
+.icon.th {
   background-position: -240px 0;
 }
-.th-list {
+.icon.th-list {
   background-position: -264px 0;
 }
-.ok {
+.icon.ok {
   background-position: -288px 0;
 }
-.remove {
+.icon.remove {
   background-position: -312px 0;
 }
-.zoom-in {
+.icon.zoom-in {
   background-position: -336px 0;
 }
-.zoom-out {
+.icon.zoom-out {
   background-position: -360px 0;
 }
-.off {
+.icon.off {
   background-position: -384px 0;
 }
-.signal {
+.icon.signal {
   background-position: -408px 0;
 }
-.cog {
+.icon.cog {
   background-position: -432px 0;
 }
-.trash {
+.icon.trash {
   background-position: -456px 0;
 }
-.home {
+.icon.home {
   background-position: 0 -24px;
 }
-.file {
+.icon.file {
   background-position: -24px -24px;
 }
-.time {
+.icon.time {
   background-position: -48px -24px;
 }
-.road {
+.icon.road {
   background-position: -72px -24px;
 }
-.download-alt {
+.icon.download-alt {
   background-position: -96px -24px;
 }
-.download {
+.icon.download {
   background-position: -120px -24px;
 }
-.upload {
+.icon.upload {
   background-position: -144px -24px;
 }
-.inbox {
+.icon.inbox {
   background-position: -168px -24px;
 }
-.play-circle {
+.icon.play-circle {
   background-position: -192px -24px;
 }
-.repeat {
+.icon.repeat {
   background-position: -216px -24px;
 }
-.refresh {
+.icon.refresh {
   background-position: -240px -24px;
 }
-.calendar {
+.icon.calendar {
   background-position: -264px -24px;
 }
-.lock {
+.icon.lock {
   background-position: -288px -24px;
 }
-.flag {
+.icon.flag {
   background-position: -312px -24px;
 }
-.headphones {
+.icon.headphones {
   background-position: -336px -24px;
 }
-.volume-off {
+.icon.volume-off {
   background-position: -360px -24px;
 }
-.volume-down {
+.icon.volume-down {
   background-position: -384px -24px;
 }
-.volume-up {
+.icon.volume-up {
   background-position: -408px -24px;
 }
-.qrcode {
+.icon.qrcode {
   background-position: -432px -24px;
 }
-.barcode {
+.icon.barcode {
   background-position: -456px -24px;
 }
-.tag {
+.icon.tag {
   background-position: 0 -48px;
 }
-.tags {
+.icon.tags {
   background-position: -24px -48px;
 }
-.book {
+.icon.book {
   background-position: -48px -48px;
 }
-.bookmark {
+.icon.bookmark {
   background-position: -72px -48px;
 }
-.print {
+.icon.print {
   background-position: -96px -48px;
 }
-.camera {
+.icon.camera {
   background-position: -120px -48px;
 }
-.font {
+.icon.font {
   background-position: -144px -48px;
 }
-.bold {
+.icon.bold {
   background-position: -168px -48px;
 }
-.italic {
+.icon.italic {
   background-position: -192px -48px;
 }
-.text-height {
+.icon.text-height {
   background-position: -216px -48px;
 }
-.text-width {
+.icon.text-width {
   background-position: -240px -48px;
 }
-.align-left {
+.icon.align-left {
   background-position: -264px -48px;
 }
-.align-center {
+.icon.align-center {
   background-position: -288px -48px;
 }
-.align-right {
+.icon.align-right {
   background-position: -312px -48px;
 }
-.align-justify {
+.icon.align-justify {
   background-position: -336px -48px;
 }
-.list {
+.icon.list {
   background-position: -360px -48px;
 }
-.indent-left {
+.icon.indent-left {
   background-position: -384px -48px;
 }
-.indent-right {
+.icon.indent-right {
   background-position: -408px -48px;
 }
-.facetime-video {
+.icon.facetime-video {
   background-position: -432px -48px;
 }
-.picture {
+.icon.picture {
   background-position: -456px -48px;
 }
-.pencil {
+.icon.pencil {
   background-position: 0 -72px;
 }
-.map-marker {
+.icon.map-marker {
   background-position: -24px -72px;
 }
-.adjust {
+.icon.adjust {
   background-position: -48px -72px;
 }
-.tint {
+.icon.tint {
   background-position: -72px -72px;
 }
-.edit {
+.icon.edit {
   background-position: -96px -72px;
 }
-.share {
+.icon.share {
   background-position: -120px -72px;
 }
-.check {
+.icon.check {
   background-position: -144px -72px;
 }
-.move {
+.icon.move {
   background-position: -168px -72px;
 }
-.step-backward {
+.icon.step-backward {
   background-position: -192px -72px;
 }
-.fast-backward {
+.icon.fast-backward {
   background-position: -216px -72px;
 }
-.backward {
+.icon.backward {
   background-position: -240px -72px;
 }
-.play {
+.icon.play {
   background-position: -264px -72px;
 }
-.pause {
+.icon.pause {
   background-position: -288px -72px;
 }
-.stop {
+.icon.stop {
   background-position: -312px -72px;
 }
-.forward {
+.icon.forward {
   background-position: -336px -72px;
 }
-.fast-forward {
+.icon.fast-forward {
   background-position: -360px -72px;
 }
-.step-forward {
+.icon.step-forward {
   background-position: -384px -72px;
 }
-.eject {
+.icon.eject {
   background-position: -408px -72px;
 }
-.chevron-left {
+.icon.chevron-left {
   background-position: -432px -72px;
 }
-.chevron-right {
+.icon.chevron-right {
   background-position: -456px -72px;
 }
-.arrow-left {
+.icon.arrow-left {
   background-position: -240px -96px;
 }
-.arrow-right {
+.icon.arrow-right {
   background-position: -264px -96px;
 }
-.arrow-up {
+.icon.arrow-up {
   background-position: -288px -96px;
 }
-.arrow-down {
+.icon.arrow-down {
   background-position: -312px -96px;
 }
-.share-alt {
+.icon.share-alt {
   background-position: -336px -96px;
 }
-.resize-full {
+.icon.resize-full {
   background-position: -360px -96px;
 }
-.resize-small {
+.icon.resize-small {
   background-position: -384px -96px;
 }
-.plus {
+.icon.plus {
   background-position: -408px -96px;
 }
-.minus {
+.icon.minus {
   background-position: -432px -96px;
 }
-.asterisk {
+.icon.asterisk {
   background-position: -456px -96px;
 }
 .dropdown {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 55ee176240..846a935b86 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -209,96 +209,96 @@ table .span11{float:none;width:844px;margin-left:0;}
 table .span12{float:none;width:924px;margin-left:0;}
 .icon{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
 .icon.white{background-image:url(docs/assets/img/glyphicons-halflings-sprite-white.png);}
-.glass{background-position:0 0;}
-.music{background-position:-24px 0;}
-.search{background-position:-48px 0;}
-.envelope{background-position:-72px 0;}
-.heart{background-position:-96px 0;}
-.star{background-position:-120px 0;}
-.star-empty{background-position:-144px 0;}
-.user{background-position:-168px 0;}
-.film{background-position:-192px 0;}
-.th-large{background-position:-216px 0;}
-.th{background-position:-240px 0;}
-.th-list{background-position:-264px 0;}
-.ok{background-position:-288px 0;}
-.remove{background-position:-312px 0;}
-.zoom-in{background-position:-336px 0;}
-.zoom-out{background-position:-360px 0;}
-.off{background-position:-384px 0;}
-.signal{background-position:-408px 0;}
-.cog{background-position:-432px 0;}
-.trash{background-position:-456px 0;}
-.home{background-position:0 -24px;}
-.file{background-position:-24px -24px;}
-.time{background-position:-48px -24px;}
-.road{background-position:-72px -24px;}
-.download-alt{background-position:-96px -24px;}
-.download{background-position:-120px -24px;}
-.upload{background-position:-144px -24px;}
-.inbox{background-position:-168px -24px;}
-.play-circle{background-position:-192px -24px;}
-.repeat{background-position:-216px -24px;}
-.refresh{background-position:-240px -24px;}
-.calendar{background-position:-264px -24px;}
-.lock{background-position:-288px -24px;}
-.flag{background-position:-312px -24px;}
-.headphones{background-position:-336px -24px;}
-.volume-off{background-position:-360px -24px;}
-.volume-down{background-position:-384px -24px;}
-.volume-up{background-position:-408px -24px;}
-.qrcode{background-position:-432px -24px;}
-.barcode{background-position:-456px -24px;}
-.tag{background-position:0 -48px;}
-.tags{background-position:-24px -48px;}
-.book{background-position:-48px -48px;}
-.bookmark{background-position:-72px -48px;}
-.print{background-position:-96px -48px;}
-.camera{background-position:-120px -48px;}
-.font{background-position:-144px -48px;}
-.bold{background-position:-168px -48px;}
-.italic{background-position:-192px -48px;}
-.text-height{background-position:-216px -48px;}
-.text-width{background-position:-240px -48px;}
-.align-left{background-position:-264px -48px;}
-.align-center{background-position:-288px -48px;}
-.align-right{background-position:-312px -48px;}
-.align-justify{background-position:-336px -48px;}
-.list{background-position:-360px -48px;}
-.indent-left{background-position:-384px -48px;}
-.indent-right{background-position:-408px -48px;}
-.facetime-video{background-position:-432px -48px;}
-.picture{background-position:-456px -48px;}
-.pencil{background-position:0 -72px;}
-.map-marker{background-position:-24px -72px;}
-.adjust{background-position:-48px -72px;}
-.tint{background-position:-72px -72px;}
-.edit{background-position:-96px -72px;}
-.share{background-position:-120px -72px;}
-.check{background-position:-144px -72px;}
-.move{background-position:-168px -72px;}
-.step-backward{background-position:-192px -72px;}
-.fast-backward{background-position:-216px -72px;}
-.backward{background-position:-240px -72px;}
-.play{background-position:-264px -72px;}
-.pause{background-position:-288px -72px;}
-.stop{background-position:-312px -72px;}
-.forward{background-position:-336px -72px;}
-.fast-forward{background-position:-360px -72px;}
-.step-forward{background-position:-384px -72px;}
-.eject{background-position:-408px -72px;}
-.chevron-left{background-position:-432px -72px;}
-.chevron-right{background-position:-456px -72px;}
-.arrow-left{background-position:-240px -96px;}
-.arrow-right{background-position:-264px -96px;}
-.arrow-up{background-position:-288px -96px;}
-.arrow-down{background-position:-312px -96px;}
-.share-alt{background-position:-336px -96px;}
-.resize-full{background-position:-360px -96px;}
-.resize-small{background-position:-384px -96px;}
-.plus{background-position:-408px -96px;}
-.minus{background-position:-432px -96px;}
-.asterisk{background-position:-456px -96px;}
+.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.calendar{background-position:-264px -24px;}
+.icon.lock{background-position:-288px -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:-24px -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:-168px -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.arrow-left{background-position:-240px -96px;}
+.icon.arrow-right{background-position:-264px -96px;}
+.icon.arrow-up{background-position:-288px -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:-432px -96px;}
+.icon.asterisk{background-position:-456px -96px;}
 .dropdown{position:relative;}
 .caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"\2193";}
 .dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
diff --git a/lib/sprites.less b/lib/sprites.less
index c85d63e8fa..ef92952884 100644
--- a/lib/sprites.less
+++ b/lib/sprites.less
@@ -24,98 +24,98 @@
   background-image: url(docs/assets/img/glyphicons-halflings-sprite-white.png);
 }
 
-.glass              { background-position: 0      0; }
-.music              { background-position: -24px  0; }
-.search             { background-position: -48px  0; }
-.envelope           { background-position: -72px  0; }
-.heart              { background-position: -96px  0; }
-.star               { background-position: -120px 0; }
-.star-empty         { background-position: -144px 0; }
-.user               { background-position: -168px 0; }
-.film               { background-position: -192px 0; }
-.th-large           { background-position: -216px 0; }
-.th                 { background-position: -240px 0; }
-.th-list            { background-position: -264px 0; }
-.ok                 { background-position: -288px 0; }
-.remove             { background-position: -312px 0; }
-.zoom-in            { background-position: -336px 0; }
-.zoom-out           { background-position: -360px 0; }
-.off                { background-position: -384px 0; }
-.signal             { background-position: -408px 0; }
-.cog                { background-position: -432px 0; }
-.trash              { background-position: -456px 0; }
+.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; }
 
-.home               { background-position: 0      -24px; }
-.file               { background-position: -24px  -24px; }
-.time               { background-position: -48px  -24px; }
-.road               { background-position: -72px  -24px; }
-.download-alt       { background-position: -96px  -24px; }
-.download           { background-position: -120px -24px; }
-.upload             { background-position: -144px -24px; }
-.inbox              { background-position: -168px -24px; }
-.play-circle        { background-position: -192px -24px; }
-.repeat             { background-position: -216px -24px; }
-.refresh            { background-position: -240px -24px; }
-.calendar           { background-position: -264px -24px; }
-.lock               { background-position: -288px -24px; }
-.flag               { background-position: -312px -24px; }
-.headphones         { background-position: -336px -24px; }
-.volume-off         { background-position: -360px -24px; }
-.volume-down        { background-position: -384px -24px; }
-.volume-up          { background-position: -408px -24px; }
-.qrcode             { background-position: -432px -24px; }
-.barcode            { background-position: -456px -24px; }
+.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.calendar           { background-position: -264px -24px; }
+.icon.lock               { background-position: -288px -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; }
 
-.tag                { background-position: 0      -48px; }
-.tags               { background-position: -24px  -48px; }
-.book               { background-position: -48px  -48px; }
-.bookmark           { background-position: -72px  -48px; }
-.print              { background-position: -96px  -48px; }
-.camera             { background-position: -120px -48px; }
-.font               { background-position: -144px -48px; }
-.bold               { background-position: -168px -48px; }
-.italic             { background-position: -192px -48px; }
-.text-height        { background-position: -216px -48px; }
-.text-width         { background-position: -240px -48px; }
-.align-left         { background-position: -264px -48px; }
-.align-center       { background-position: -288px -48px; }
-.align-right        { background-position: -312px -48px; }
-.align-justify      { background-position: -336px -48px; }
-.list               { background-position: -360px -48px; }
-.indent-left        { background-position: -384px -48px; }
-.indent-right       { background-position: -408px -48px; }
-.facetime-video     { background-position: -432px -48px; }
-.picture            { background-position: -456px -48px; }
+.icon.tag                { background-position: 0      -48px; }
+.icon.tags               { background-position: -24px  -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: -168px -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; }
 
-.pencil             { background-position: 0      -72px; }
-.map-marker         { background-position: -24px  -72px; }
-.adjust             { background-position: -48px  -72px; }
-.tint               { background-position: -72px  -72px; }
-.edit               { background-position: -96px  -72px; }
-.share              { background-position: -120px -72px; }
-.check              { background-position: -144px -72px; }
-.move               { background-position: -168px -72px; }
-.step-backward      { background-position: -192px -72px; }
-.fast-backward      { background-position: -216px -72px; }
-.backward           { background-position: -240px -72px; }
-.play               { background-position: -264px -72px; }
-.pause              { background-position: -288px -72px; }
-.stop               { background-position: -312px -72px; }
-.forward            { background-position: -336px -72px; }
-.fast-forward       { background-position: -360px -72px; }
-.step-forward       { background-position: -384px -72px; }
-.eject              { background-position: -408px -72px; }
-.chevron-left       { background-position: -432px -72px; }
-.chevron-right      { background-position: -456px -72px; }
+.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; }
 
-.arrow-left         { background-position: -240px -96px; }
-.arrow-right        { background-position: -264px -96px; }
-.arrow-up           { background-position: -288px -96px; }
-.arrow-down         { background-position: -312px -96px; }
-.share-alt          { background-position: -336px -96px; }
-.resize-full        { background-position: -360px -96px; }
-.resize-small       { background-position: -384px -96px; }
-.plus               { background-position: -408px -96px; }
-.minus              { background-position: -432px -96px; }
-.asterisk           { background-position: -456px -96px; }
+.icon.arrow-left         { background-position: -240px -96px; }
+.icon.arrow-right        { background-position: -264px -96px; }
+.icon.arrow-up           { background-position: -288px -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: -432px -96px; }
+.icon.asterisk           { background-position: -456px -96px; }
 
-- 
GitLab


From 1e9c2fb9d4a033304b5aa71d269af9f68eb72670 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 20:23:15 -0800
Subject: [PATCH 501/576] getting closer....

---
 docs/assets/js/application.js | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index de2382b2ee..2315cdaa87 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -151,12 +151,13 @@ $(function () {
           .attr('target', name)
 
         $.each(opts.params, function(k, v) {
+
           $('<input>')
             .attr('type', 'hidden')
             .attr('name', k)
-            .attr('value', v)
+            .attr('value', typeof v == 'string' ? v : JSON.stringify(v))
             .appendTo(form)
-        });
+        })
 
         form.appendTo('body').submit()
       }
@@ -195,13 +196,13 @@ $(function () {
 
     $("#variables.download input")
       .each(function () {
-        return $(this).val() 
+        return vars[ $(this).prev().text() ] = $(this).val()
       })
 
+// , url: "http://bootstrap.herokuapp.com"
     $.ajax({
       type: 'POST'
-    , url: 'localhost:3000'
-   // , url: "http://bootstrap.herokuapp.com"
+    , url: 'http://localhost:3000'
     , dataType: 'jsonpi'
     , params: {
         branch: '2.0-wip'
-- 
GitLab


From dc2deb9a1b1995bbabee91bfd579d9b466fe78f2 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 21:48:46 -0800
Subject: [PATCH 502/576] moving structure around + more work on builder...

---
 Makefile                                      |   6 +-
 bootstrap-responsive.min.css                  |   2 +-
 bootstrap.css                                 |   8 +-
 bootstrap.min.css                             |   6 +-
 docs/assets/js/application.js                 |  16 +++-
 docs/download.html                            |  74 +++++++++---------
 docs/scaffolding.html                         |   1 +
 docs/templates/pages/download.mustache        |  74 +++++++++---------
 .../glyphicons-halflings-sprite-white.png     | Bin
 .../glyphicons-halflings-sprite.png           | Bin
 {lib => less}/accordion.less                  |   0
 {lib => less}/alerts.less                     |   0
 {lib => less}/bootstrap.less                  |   0
 {lib => less}/breadcrumbs.less                |   0
 {lib => less}/button-groups.less              |   0
 {lib => less}/buttons.less                    |   0
 {lib => less}/carousel.less                   |   0
 {lib => less}/close.less                      |   0
 {lib => less}/code.less                       |   0
 {lib => less}/component-animations.less       |   0
 {lib => less}/dropdowns.less                  |   0
 {lib => less}/forms.less                      |   0
 {lib => less}/grid.less                       |   0
 {lib => less}/hero-unit.less                  |   0
 {lib => less}/labels.less                     |   0
 {lib => less}/layouts.less                    |   0
 {lib => less}/mixins.less                     |   0
 {lib => less}/modals.less                     |   0
 {lib => less}/navbar.less                     |   0
 {lib => less}/navs.less                       |   0
 {lib => less}/pager.less                      |   0
 {lib => less}/pagination.less                 |   0
 {lib => less}/patterns.less                   |   0
 {lib => less}/popovers.less                   |   0
 {lib => less}/print.less                      |   0
 {lib => less}/progress-bars.less              |   0
 {lib => less}/reset.less                      |   0
 {lib => less}/responsive.less                 |   0
 {lib => less}/scaffolding.less                |   0
 {lib => less}/sprites.less                    |   4 +-
 {lib => less}/tables.less                     |   0
 {lib => less}/thumbnails.less                 |   0
 {lib => less}/tooltip.less                    |   0
 {lib => less}/type.less                       |   0
 {lib => less}/utilities.less                  |   0
 {lib => less}/variables.less                  |   0
 {lib => less}/wells.less                      |   0
 47 files changed, 100 insertions(+), 91 deletions(-)
 rename {docs/assets/img => img}/glyphicons-halflings-sprite-white.png (100%)
 rename {docs/assets/img => img}/glyphicons-halflings-sprite.png (100%)
 rename {lib => less}/accordion.less (100%)
 rename {lib => less}/alerts.less (100%)
 rename {lib => less}/bootstrap.less (100%)
 rename {lib => less}/breadcrumbs.less (100%)
 rename {lib => less}/button-groups.less (100%)
 rename {lib => less}/buttons.less (100%)
 rename {lib => less}/carousel.less (100%)
 rename {lib => less}/close.less (100%)
 rename {lib => less}/code.less (100%)
 rename {lib => less}/component-animations.less (100%)
 rename {lib => less}/dropdowns.less (100%)
 rename {lib => less}/forms.less (100%)
 rename {lib => less}/grid.less (100%)
 rename {lib => less}/hero-unit.less (100%)
 rename {lib => less}/labels.less (100%)
 rename {lib => less}/layouts.less (100%)
 rename {lib => less}/mixins.less (100%)
 rename {lib => less}/modals.less (100%)
 rename {lib => less}/navbar.less (100%)
 rename {lib => less}/navs.less (100%)
 rename {lib => less}/pager.less (100%)
 rename {lib => less}/pagination.less (100%)
 rename {lib => less}/patterns.less (100%)
 rename {lib => less}/popovers.less (100%)
 rename {lib => less}/print.less (100%)
 rename {lib => less}/progress-bars.less (100%)
 rename {lib => less}/reset.less (100%)
 rename {lib => less}/responsive.less (100%)
 rename {lib => less}/scaffolding.less (100%)
 rename {lib => less}/sprites.less (97%)
 rename {lib => less}/tables.less (100%)
 rename {lib => less}/thumbnails.less (100%)
 rename {lib => less}/tooltip.less (100%)
 rename {lib => less}/type.less (100%)
 rename {lib => less}/utilities.less (100%)
 rename {lib => less}/variables.less (100%)
 rename {lib => less}/wells.less (100%)

diff --git a/Makefile b/Makefile
index 612f77fdf5..337baf03fa 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,10 @@
 VERSION=2.0.0
 BOOTSTRAP = ./bootstrap.css
 BOOTSTRAP_MIN = ./bootstrap.min.css
-BOOTSTRAP_LESS = ./lib/bootstrap.less
+BOOTSTRAP_LESS = ./less/bootstrap.less
 BOOTSTRAP_RESPONSIVE = ./bootstrap-responsive.css
 BOOTSTRAP_RESPONSIVE_MIN = ./bootstrap-responsive.min.css
-BOOTSTRAP_RESPONSIVE_LESS = ./lib/responsive.less
+BOOTSTRAP_RESPONSIVE_LESS = ./less/responsive.less
 LESS_COMPRESSOR ?= `which lessc`
 UGLIFY_JS ?= `which uglifyjs`
 WATCHR ?= `which watchr`
@@ -36,7 +36,7 @@ build:
 watch:
 	@@if test ! -z ${WATCHR}; then \
 	  echo "Watching less files..."; \
-	  watchr -e "watch('lib/.*\.less') { system 'make' }"; \
+	  watchr -e "watch('less/.*\.less') { system 'make' }"; \
 	else \
 		echo "You must have the watchr installed in order to watch Bootstrap Less files."; \
 		echo "You can install it by running: gem install watchr"; \
diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
index 8ed8745bb6..dcf17dce92 100644
--- a/bootstrap-responsive.min.css
+++ b/bootstrap-responsive.min.css
@@ -1,3 +1,3 @@
 
 .hidden{display:none;visibility:hidden;}
-@media (max-width: 480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width: 768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width: 768px) and (max-width: 940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
+@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.css b/bootstrap.css
index c7d457d6e0..9d26b41c8d 100644
--- a/bootstrap.css
+++ b/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 19:09:35 PST 2012
+ * Date: Thu Jan 26 21:48:03 PST 2012
  */
 article,
 aside,
@@ -1066,7 +1066,7 @@ table .span12 {
   margin-left: 0;
 }
 .icon {
-  background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
+  background-image: url(img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
   background-repeat: no-repeat;
   display: inline-block;
@@ -1075,7 +1075,7 @@ table .span12 {
   height: 14px;
 }
 .icon.white {
-  background-image: url(docs/assets/img/glyphicons-halflings-sprite-white.png);
+  background-image: url(img/glyphicons-halflings-sprite-white.png);
 }
 .icon.glass {
   background-position: 0      0;
@@ -1831,7 +1831,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/bootstrap.min.css b/bootstrap.min.css
index 846a935b86..e7e5d16be9 100644
--- a/bootstrap.min.css
+++ b/bootstrap.min.css
@@ -207,8 +207,8 @@ 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;}
-.icon{background-image:url(docs/assets/img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
-.icon.white{background-image:url(docs/assets/img/glyphicons-halflings-sprite-white.png);}
+.icon{background-image:url(img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
+.icon.white{background-image:url(img/glyphicons-halflings-sprite-white.png);}
 .icon.glass{background-position:0 0;}
 .icon.music{background-position:-24px 0;}
 .icon.search{background-position:-48px 0;}
@@ -378,7 +378,7 @@ table .span12{float:none;width:924px;margin-left:0;}
 .navbar .btn-group .btn{margin-top:0;}
 .navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query ::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
 .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
 .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
 .navbar-static{margin-bottom:18px;}
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 2315cdaa87..8c86ff0282 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -171,6 +171,7 @@ $(function () {
 
   var inputsComponent = $("#components.download input")
     , inputsPlugin = $("#plugins.download input")
+    , inputsVariables = $("#variables.download input")
 
   // toggle all plugin checkboxes
   $('#components.download .toggle-all').on('click', function (e) {
@@ -183,6 +184,11 @@ $(function () {
     inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
   })
 
+  $('#variables.download .toggle-all').on('click', function (e) {
+    e.preventDefault()
+    inputsVariables.val('')
+  })
+
   // request built javascript
   $('.download-btn').on('click', function () {
 
@@ -193,11 +199,12 @@ $(function () {
           .map(function () { return this.value })
           .toArray()
       , vars = {}
+      , img = ['glyphicons-halflings-sprite.png', 'glyphicons-halflings-sprite-white.png']
 
-    $("#variables.download input")
-      .each(function () {
-        return vars[ $(this).prev().text() ] = $(this).val()
-      })
+  $("#variables.download input")
+    .each(function () {
+      $(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
+    })
 
 // , url: "http://bootstrap.herokuapp.com"
     $.ajax({
@@ -209,6 +216,7 @@ $(function () {
       , js: js
       , css: css
       , vars: vars
+      , img: img
     }
     })
   })
diff --git a/docs/download.html b/docs/download.html
index 5b2b716d7e..99564576fc 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -108,24 +108,24 @@
     <div class="span3">
       <h3>Components</h3>
       <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="button-combo.less"> Combo buttons</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Combo buttons</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="page.less"> Pager</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="pager.less"> Pager</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="progres-bars.less"> Progress bars</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> Progress bars</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>JS Components</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltips.less"> Tooltips</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="popover.less"> Popovers</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> Tooltips</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="tabs.less"> Tabs</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="collapse.less"> Collapse</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Tabs</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Collapse</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
     </div><!-- /span -->
     <div class="span3">
@@ -135,9 +135,9 @@
       <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
       <h3>Responsive</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-480.less"> Max-width 480px</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-768.less"> Max-width 768px</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-1210.less"> Max-width 1210px</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 480px</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 768px</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 1210px</label>
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
@@ -154,68 +154,68 @@
     <div class="span4">
       <h3>Links</h3>
       <label>@linkColor</label>
-      <input type="text" class="span3" value="#08c">
+      <input type="text" class="span3" placeholder="#08c">
       <label>@linkColorHover</label>
-      <input type="text" class="span3" value="darken(@linkColor, 15%)">
+      <input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
       <h3>Grid system</h3>
       <label>@gridColumns</label>
-      <input type="text" class="span3" value="12">
+      <input type="text" class="span3" placeholder="12">
       <label>@gridColumnWidth</label>
-      <input type="text" class="span3" value="40px">
+      <input type="text" class="span3" placeholder="40px">
       <label>@gridGutterWidth</label>
-      <input type="text" class="span3" value="20px">
+      <input type="text" class="span3" placeholder="20px">
       <label>@siteWidth</label>
-      <input type="text" class="span3" value="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
+      <input type="text" class="span3" placeholder="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
       <label>@fluidSidebarWidth</label>
-      <input type="text" class="span3" value="220px">
+      <input type="text" class="span3" placeholder="220px">
     </div><!-- /span -->
     <div class="span4">
       <h3>Typography</h3>
       <label>@baseFontSize</label>
-      <input type="text" class="span3" value="13px">
+      <input type="text" class="span3" placeholder="13px">
       <label>@baseFontFamily</label>
-      <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
+      <input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
       <label>@baseLineHeight</label>
-      <input type="text" class="span3" value="18px">
+      <input type="text" class="span3" placeholder="18px">
       <h3>Forms</h3>
       <label>@primaryButtonColor</label>
-      <input type="text" class="span3" value="@blue">
+      <input type="text" class="span3" placeholder="@blue">
       <label>@placeholderText</label>
-      <input type="text" class="span3" value="@grayLight">
+      <input type="text" class="span3" placeholder="@grayLight">
       <h3>Navbar</h3>
       <label>@navbarHeight</label>
-      <input type="text" class="span3" value="40px">
+      <input type="text" class="span3" placeholder="40px">
       <label>@navbarBackground</label>
-      <input type="text" class="span3" value="@grayDarker">
+      <input type="text" class="span3" placeholder="@grayDarker">
       <label>@navbarBackgroundHighlight</label>
-      <input type="text" class="span3" value="@grayDark">
+      <input type="text" class="span3" placeholder="@grayDark">
     </div><!-- /span -->
     <div class="span4">
       <h3>Form states &amp; alerts</h3>
       <label>@warningText</label>
-      <input type="text" class="span3" value="#c09853">
+      <input type="text" class="span3" placeholder="#c09853">
       <label>@warningBackground</label>
-      <input type="text" class="span3" value="#fcf8e3">
+      <input type="text" class="span3" placeholder="#fcf8e3">
       <label>@warningBorder</label>
-      <input type="text" class="span3" value="#f3edd2">
+      <input type="text" class="span3" placeholder="#f3edd2">
       <label>@errorText</label>
-      <input type="text" class="span3" value="#b94a48">
+      <input type="text" class="span3" placeholder="#b94a48">
       <label>@errorBackground</label>
-      <input type="text" class="span3" value="#f2dede">
+      <input type="text" class="span3" placeholder="#f2dede">
       <label>@errorBorder</label>
-      <input type="text" class="span3" value="#e9c7c7">
+      <input type="text" class="span3" placeholder="#e9c7c7">
       <label>@successText</label>
-      <input type="text" class="span3" value="#468847">
+      <input type="text" class="span3" placeholder="#468847">
       <label>@successBackground</label>
-      <input type="text" class="span3" value="#dff0d8">
+      <input type="text" class="span3" placeholder="#dff0d8">
       <label>@successBorder</label>
-      <input type="text" class="span3" value="#cfe8c4">
+      <input type="text" class="span3" placeholder="#cfe8c4">
       <label>@infoText</label>
-      <input type="text" class="span3" value="#3a87ad">
+      <input type="text" class="span3" placeholder="#3a87ad">
       <label>@infoBackground</label>
-      <input type="text" class="span3" value="#d9edf7">
+      <input type="text" class="span3" placeholder="#d9edf7">
       <label>@infoBorder</label>
-      <input type="text" class="span3" value="#bfe1f2">
+      <input type="text" class="span3" placeholder="#bfe1f2">
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index df6ea9f008..02b9721d31 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -381,6 +381,7 @@
   </div>
 </section>
 
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 4707e60a94..0f997d3686 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -43,24 +43,24 @@
     <div class="span3">
       <h3>Components</h3>
       <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="button-combo.less"> Combo buttons</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Combo buttons</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="page.less"> Pager</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="pager.less"> Pager</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="progres-bars.less"> Progress bars</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> Progress bars</label>
     </div><!-- /span -->
     <div class="span3">
       <h3>JS Components</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltips.less"> Tooltips</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="popover.less"> Popovers</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> Tooltips</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="tabs.less"> Tabs</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="collapse.less"> Collapse</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Tabs</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Collapse</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
     </div><!-- /span -->
     <div class="span3">
@@ -70,9 +70,9 @@
       <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
       <h3>Responsive</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-480.less"> Max-width 480px</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-768.less"> Max-width 768px</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="resopnsive-1210.less"> Max-width 1210px</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 480px</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 768px</label>
+      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 1210px</label>
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
@@ -89,68 +89,68 @@
     <div class="span4">
       <h3>Links</h3>
       <label>@linkColor</label>
-      <input type="text" class="span3" value="#08c">
+      <input type="text" class="span3" placeholder="#08c">
       <label>@linkColorHover</label>
-      <input type="text" class="span3" value="darken(@linkColor, 15%)">
+      <input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
       <h3>Grid system</h3>
       <label>@gridColumns</label>
-      <input type="text" class="span3" value="12">
+      <input type="text" class="span3" placeholder="12">
       <label>@gridColumnWidth</label>
-      <input type="text" class="span3" value="40px">
+      <input type="text" class="span3" placeholder="40px">
       <label>@gridGutterWidth</label>
-      <input type="text" class="span3" value="20px">
+      <input type="text" class="span3" placeholder="20px">
       <label>@siteWidth</label>
-      <input type="text" class="span3" value="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
+      <input type="text" class="span3" placeholder="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
       <label>@fluidSidebarWidth</label>
-      <input type="text" class="span3" value="220px">
+      <input type="text" class="span3" placeholder="220px">
     </div><!-- /span -->
     <div class="span4">
       <h3>Typography</h3>
       <label>@baseFontSize</label>
-      <input type="text" class="span3" value="13px">
+      <input type="text" class="span3" placeholder="13px">
       <label>@baseFontFamily</label>
-      <input type="text" class="span3" value="'Helvetica Neue', Helvetica, Arial, sans-serif">
+      <input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
       <label>@baseLineHeight</label>
-      <input type="text" class="span3" value="18px">
+      <input type="text" class="span3" placeholder="18px">
       <h3>Forms</h3>
       <label>@primaryButtonColor</label>
-      <input type="text" class="span3" value="@blue">
+      <input type="text" class="span3" placeholder="@blue">
       <label>@placeholderText</label>
-      <input type="text" class="span3" value="@grayLight">
+      <input type="text" class="span3" placeholder="@grayLight">
       <h3>Navbar</h3>
       <label>@navbarHeight</label>
-      <input type="text" class="span3" value="40px">
+      <input type="text" class="span3" placeholder="40px">
       <label>@navbarBackground</label>
-      <input type="text" class="span3" value="@grayDarker">
+      <input type="text" class="span3" placeholder="@grayDarker">
       <label>@navbarBackgroundHighlight</label>
-      <input type="text" class="span3" value="@grayDark">
+      <input type="text" class="span3" placeholder="@grayDark">
     </div><!-- /span -->
     <div class="span4">
       <h3>Form states &amp; alerts</h3>
       <label>@warningText</label>
-      <input type="text" class="span3" value="#c09853">
+      <input type="text" class="span3" placeholder="#c09853">
       <label>@warningBackground</label>
-      <input type="text" class="span3" value="#fcf8e3">
+      <input type="text" class="span3" placeholder="#fcf8e3">
       <label>@warningBorder</label>
-      <input type="text" class="span3" value="#f3edd2">
+      <input type="text" class="span3" placeholder="#f3edd2">
       <label>@errorText</label>
-      <input type="text" class="span3" value="#b94a48">
+      <input type="text" class="span3" placeholder="#b94a48">
       <label>@errorBackground</label>
-      <input type="text" class="span3" value="#f2dede">
+      <input type="text" class="span3" placeholder="#f2dede">
       <label>@errorBorder</label>
-      <input type="text" class="span3" value="#e9c7c7">
+      <input type="text" class="span3" placeholder="#e9c7c7">
       <label>@successText</label>
-      <input type="text" class="span3" value="#468847">
+      <input type="text" class="span3" placeholder="#468847">
       <label>@successBackground</label>
-      <input type="text" class="span3" value="#dff0d8">
+      <input type="text" class="span3" placeholder="#dff0d8">
       <label>@successBorder</label>
-      <input type="text" class="span3" value="#cfe8c4">
+      <input type="text" class="span3" placeholder="#cfe8c4">
       <label>@infoText</label>
-      <input type="text" class="span3" value="#3a87ad">
+      <input type="text" class="span3" placeholder="#3a87ad">
       <label>@infoBackground</label>
-      <input type="text" class="span3" value="#d9edf7">
+      <input type="text" class="span3" placeholder="#d9edf7">
       <label>@infoBorder</label>
-      <input type="text" class="span3" value="#bfe1f2">
+      <input type="text" class="span3" placeholder="#bfe1f2">
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
diff --git a/docs/assets/img/glyphicons-halflings-sprite-white.png b/img/glyphicons-halflings-sprite-white.png
similarity index 100%
rename from docs/assets/img/glyphicons-halflings-sprite-white.png
rename to img/glyphicons-halflings-sprite-white.png
diff --git a/docs/assets/img/glyphicons-halflings-sprite.png b/img/glyphicons-halflings-sprite.png
similarity index 100%
rename from docs/assets/img/glyphicons-halflings-sprite.png
rename to img/glyphicons-halflings-sprite.png
diff --git a/lib/accordion.less b/less/accordion.less
similarity index 100%
rename from lib/accordion.less
rename to less/accordion.less
diff --git a/lib/alerts.less b/less/alerts.less
similarity index 100%
rename from lib/alerts.less
rename to less/alerts.less
diff --git a/lib/bootstrap.less b/less/bootstrap.less
similarity index 100%
rename from lib/bootstrap.less
rename to less/bootstrap.less
diff --git a/lib/breadcrumbs.less b/less/breadcrumbs.less
similarity index 100%
rename from lib/breadcrumbs.less
rename to less/breadcrumbs.less
diff --git a/lib/button-groups.less b/less/button-groups.less
similarity index 100%
rename from lib/button-groups.less
rename to less/button-groups.less
diff --git a/lib/buttons.less b/less/buttons.less
similarity index 100%
rename from lib/buttons.less
rename to less/buttons.less
diff --git a/lib/carousel.less b/less/carousel.less
similarity index 100%
rename from lib/carousel.less
rename to less/carousel.less
diff --git a/lib/close.less b/less/close.less
similarity index 100%
rename from lib/close.less
rename to less/close.less
diff --git a/lib/code.less b/less/code.less
similarity index 100%
rename from lib/code.less
rename to less/code.less
diff --git a/lib/component-animations.less b/less/component-animations.less
similarity index 100%
rename from lib/component-animations.less
rename to less/component-animations.less
diff --git a/lib/dropdowns.less b/less/dropdowns.less
similarity index 100%
rename from lib/dropdowns.less
rename to less/dropdowns.less
diff --git a/lib/forms.less b/less/forms.less
similarity index 100%
rename from lib/forms.less
rename to less/forms.less
diff --git a/lib/grid.less b/less/grid.less
similarity index 100%
rename from lib/grid.less
rename to less/grid.less
diff --git a/lib/hero-unit.less b/less/hero-unit.less
similarity index 100%
rename from lib/hero-unit.less
rename to less/hero-unit.less
diff --git a/lib/labels.less b/less/labels.less
similarity index 100%
rename from lib/labels.less
rename to less/labels.less
diff --git a/lib/layouts.less b/less/layouts.less
similarity index 100%
rename from lib/layouts.less
rename to less/layouts.less
diff --git a/lib/mixins.less b/less/mixins.less
similarity index 100%
rename from lib/mixins.less
rename to less/mixins.less
diff --git a/lib/modals.less b/less/modals.less
similarity index 100%
rename from lib/modals.less
rename to less/modals.less
diff --git a/lib/navbar.less b/less/navbar.less
similarity index 100%
rename from lib/navbar.less
rename to less/navbar.less
diff --git a/lib/navs.less b/less/navs.less
similarity index 100%
rename from lib/navs.less
rename to less/navs.less
diff --git a/lib/pager.less b/less/pager.less
similarity index 100%
rename from lib/pager.less
rename to less/pager.less
diff --git a/lib/pagination.less b/less/pagination.less
similarity index 100%
rename from lib/pagination.less
rename to less/pagination.less
diff --git a/lib/patterns.less b/less/patterns.less
similarity index 100%
rename from lib/patterns.less
rename to less/patterns.less
diff --git a/lib/popovers.less b/less/popovers.less
similarity index 100%
rename from lib/popovers.less
rename to less/popovers.less
diff --git a/lib/print.less b/less/print.less
similarity index 100%
rename from lib/print.less
rename to less/print.less
diff --git a/lib/progress-bars.less b/less/progress-bars.less
similarity index 100%
rename from lib/progress-bars.less
rename to less/progress-bars.less
diff --git a/lib/reset.less b/less/reset.less
similarity index 100%
rename from lib/reset.less
rename to less/reset.less
diff --git a/lib/responsive.less b/less/responsive.less
similarity index 100%
rename from lib/responsive.less
rename to less/responsive.less
diff --git a/lib/scaffolding.less b/less/scaffolding.less
similarity index 100%
rename from lib/scaffolding.less
rename to less/scaffolding.less
diff --git a/lib/sprites.less b/less/sprites.less
similarity index 97%
rename from lib/sprites.less
rename to less/sprites.less
index ef92952884..c3b4206656 100644
--- a/lib/sprites.less
+++ b/less/sprites.less
@@ -12,7 +12,7 @@
 // will look like <i class="inbox"></i>.
 
 .icon {
-  background-image: url(docs/assets/img/glyphicons-halflings-sprite.png);
+  background-image: url(img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
   background-repeat: no-repeat;
   display: inline-block;
@@ -21,7 +21,7 @@
   height: 14px;
 }
 .icon.white {
-  background-image: url(docs/assets/img/glyphicons-halflings-sprite-white.png);
+  background-image: url(img/glyphicons-halflings-sprite-white.png);
 }
 
 .icon.glass              { background-position: 0      0; }
diff --git a/lib/tables.less b/less/tables.less
similarity index 100%
rename from lib/tables.less
rename to less/tables.less
diff --git a/lib/thumbnails.less b/less/thumbnails.less
similarity index 100%
rename from lib/thumbnails.less
rename to less/thumbnails.less
diff --git a/lib/tooltip.less b/less/tooltip.less
similarity index 100%
rename from lib/tooltip.less
rename to less/tooltip.less
diff --git a/lib/type.less b/less/type.less
similarity index 100%
rename from lib/type.less
rename to less/type.less
diff --git a/lib/utilities.less b/less/utilities.less
similarity index 100%
rename from lib/utilities.less
rename to less/utilities.less
diff --git a/lib/variables.less b/less/variables.less
similarity index 100%
rename from lib/variables.less
rename to less/variables.less
diff --git a/lib/wells.less b/less/wells.less
similarity index 100%
rename from lib/wells.less
rename to less/wells.less
-- 
GitLab


From ed64276e5be1bbf808f2ab1451aa02522cc3aff0 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 22:05:45 -0800
Subject: [PATCH 503/576] move doc building into base make method + build
 bootstrap to doc assets

---
 Makefile                                      |  20 +-
 bootstrap-responsive.min.css                  |   3 -
 bootstrap.min.css                             | 556 ------------------
 .../assets/css/bootstrap-responsive.css       |   0
 .../assets/css/bootstrap.css                  |   2 +-
 docs/base-css.html                            |   4 +-
 docs/components.html                          |   4 +-
 docs/download.html                            |   4 +-
 docs/examples.html                            |   4 +-
 docs/index.html                               |   4 +-
 docs/javascript.html                          |   4 +-
 docs/less.html                                |   4 +-
 docs/scaffolding.html                         |   4 +-
 docs/templates/layout.mustache                |   4 +-
 docs/upgrading.html                           |   4 +-
 15 files changed, 26 insertions(+), 595 deletions(-)
 delete mode 100644 bootstrap-responsive.min.css
 delete mode 100644 bootstrap.min.css
 rename bootstrap-responsive.css => docs/assets/css/bootstrap-responsive.css (100%)
 rename bootstrap.css => docs/assets/css/bootstrap.css (99%)

diff --git a/Makefile b/Makefile
index 337baf03fa..127d6affe0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,28 +1,25 @@
 VERSION=2.0.0
-BOOTSTRAP = ./bootstrap.css
-BOOTSTRAP_MIN = ./bootstrap.min.css
+BOOTSTRAP = ./docs/assets/css/bootstrap.css
 BOOTSTRAP_LESS = ./less/bootstrap.less
-BOOTSTRAP_RESPONSIVE = ./bootstrap-responsive.css
-BOOTSTRAP_RESPONSIVE_MIN = ./bootstrap-responsive.min.css
+BOOTSTRAP_RESPONSIVE = ./docs/assets/css/bootstrap-responsive.css
 BOOTSTRAP_RESPONSIVE_LESS = ./less/responsive.less
 LESS_COMPRESSOR ?= `which lessc`
 UGLIFY_JS ?= `which uglifyjs`
 WATCHR ?= `which watchr`
 
 #
-# Build less files
+# Build less files + docs
 #
 
 build:
 	@@if test ! -z ${LESS_COMPRESSOR}; then \
 		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_LESS} >${BOOTSTRAP_LESS}.tmp; \
 		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP}; \
-		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP_MIN} --compress; \
 		rm -f ${BOOTSTRAP_LESS}.tmp; \
 		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_RESPONSIVE_LESS} >${BOOTSTRAP_RESPONSIVE_LESS}.tmp; \
 		lessc ${BOOTSTRAP_RESPONSIVE_LESS}.tmp > ${BOOTSTRAP_RESPONSIVE}; \
-		lessc ${BOOTSTRAP_RESPONSIVE_LESS}.tmp > ${BOOTSTRAP_RESPONSIVE_MIN} --compress; \
 		rm -f ${BOOTSTRAP_RESPONSIVE_LESS}.tmp; \
+		node docs/build; \
 		echo "Bootstrap successfully built! - `date`"; \
 	else \
 		echo "You must have the LESS compiler installed in order to build Bootstrap."; \
@@ -42,12 +39,5 @@ watch:
 		echo "You can install it by running: gem install watchr"; \
 	fi
 
-#
-# Build docs from templates
-#
-
-docs:
-	@ node docs/build
-
 
-.PHONY: build watch docs
\ No newline at end of file
+.PHONY: build watch
\ No newline at end of file
diff --git a/bootstrap-responsive.min.css b/bootstrap-responsive.min.css
deleted file mode 100644
index dcf17dce92..0000000000
--- a/bootstrap-responsive.min.css
+++ /dev/null
@@ -1,3 +0,0 @@
-
-.hidden{display:none;visibility:hidden;}
-@media (max-width:480px){.navbar .nav{position:absolute;top:0;left:0;width:180px;padding-top:40px;list-style:none;} .navbar .nav,.navbar .nav>li:last-child a{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} .navbar .nav>li{float:none;display:none;} .navbar .nav>li>a{float:none;background-color:#222;} .navbar .nav>.active{display:block;position:absolute;top:0;left:0;} .navbar .nav>.active>a{background-color:transparent;} .navbar .nav>.active>a:hover{background-color:#333;} .navbar .nav>.active>a:after{display:inline-block;width:0;height:0;margin-top:8px;margin-left:6px;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;opacity:1;filter:alpha(opacity=100);content:"&darr;";} .navbar .nav:hover>li{display:block;} .navbar .nav:hover>li>a:hover{background-color:#333;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:0;} .modal{position:absolute;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;}}@media (max-width:768px){.navbar-fixed{position:absolute;} .navbar-fixed .nav{float:none;} .container{width:auto;padding:0 20px;} .row{margin-left:0;} .row>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:940px){.container{width:748px;} .span1{width:44px;} .span2{width:108px;} .span3{width:172px;} .span4{width:236px;} .span5{width:300px;} .span6{width:364px;} .span7{width:428px;} .span8{width:492px;} .span9{width:556px;} .span10{width:620px;} .span11{width:684px;} .span12{width:748px;} .offset1{margin-left:84px;} .offset2{margin-left:148px;} .offset3{margin-left:212px;} .offset4{margin-left:276px;} .offset5{margin-left:340px;} .offset6{margin-left:404px;} .offset7{margin-left:468px;} .offset8{margin-left:532px;} .offset9{margin-left:596px;} .offset10{margin-left:660px;} .offset11{margin-left:724px;} .offset12{margin-left:788px;}}
diff --git a/bootstrap.min.css b/bootstrap.min.css
deleted file mode 100644
index e7e5d16be9..0000000000
--- a/bootstrap.min.css
+++ /dev/null
@@ -1,556 +0,0 @@
-article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
-audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
-audio:not([controls]){display:none;}
-html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
-a:focus{outline:thin dotted;}
-a:hover,a:active{outline:0;}
-sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
-sup{top:-0.5em;}
-sub{bottom:-0.25em;}
-img{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic;}
-button,input,select,textarea{margin:0;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"],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;}
-input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
-textarea{overflow:auto;vertical-align:top;}
-body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#555555;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;}
-.span1{width:60px;}
-.span2{width:140px;}
-.span3{width:220px;}
-.span4{width:300px;}
-.span5{width:380px;}
-.span6{width:460px;}
-.span7{width:540px;}
-.span8{width:620px;}
-.span9{width:700px;}
-.span10{width:780px;}
-.span11{width:860px;}
-.span12{width:940px;}
-.offset1{margin-left:100px;}
-.offset2{margin-left:180px;}
-.offset3{margin-left:260px;}
-.offset4{margin-left:340px;}
-.offset5{margin-left:420px;}
-.offset6{margin-left:500px;}
-.offset7{margin-left:580px;}
-.offset8{margin-left:660px;}
-.offset9{margin-left:740px;}
-.offset10{margin-left:820px;}
-.offset11{margin-left:900px;}
-.container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
-.container:after{clear:both;}
-.fluid-container{position:relative;min-width:940px;padding-left:20px;padding-right:20px;*zoom:1;}.fluid-container:before,.fluid-container:after{display:table;content:"";}
-.fluid-container:after{clear:both;}
-.fluid-sidebar{width:220px;margin:0 20px 18px;}
-.sidebar-left{padding-left:260px;}
-.sidebar-right{padding-right:260px;}
-.sidebar-left .fluid-sidebar{float:left;margin-left:-240px;}
-.sidebar-right .fluid-sidebar{float:right;margin-right:-240px;}
-.fluid-content{float:left;width:100%;}
-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,h4,h5,h6{margin:0;font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,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;}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;}
-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{margin-left:0;list-style:none;}
-dl{margin-bottom:18px;}
-dt,dd{line-height:18px;}
-dt{font-weight:bold;}
-dd{margin-left:9px;}
-hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #ffffff;}
-strong{font-weight:bold;}
-em{font-style:italic;}
-.muted{color:#999999;}
-abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
-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;border-right:5px solid #eeeeee;}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;}
-small{font-size:100%;}
-cite{font-style:normal;}
-code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
-pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;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;}pre.prettyprint{margin-bottom:18px;}
-pre code{padding:0;background-color:transparent;}
-form{margin:0 0 18px;}
-fieldset{padding:0;margin:0;border:0;}
-legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;}
-label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
-label{display:block;margin-bottom:5px;color:#333333;}
-input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-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]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
-input[type=file]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-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;*margin-top:4px;line-height:28px;}
-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;}
-textarea{height:auto;}
-input[type=hidden]{display:none;}
-.radio,.checkbox{padding-left:18px;}
-.radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-18px;}
-.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
-.radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;}
-.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);-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;}
-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;}
-input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
-.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{float:none;margin-left:0;}
-input.span1,textarea.span1,.uneditable-input.span1{width:50px;}
-input.span2,textarea.span2,.uneditable-input.span2{width:130px;}
-input.span3,textarea.span3,.uneditable-input.span3{width:210px;}
-input.span4,textarea.span4,.uneditable-input.span4{width:290px;}
-input.span5,textarea.span5,.uneditable-input.span5{width:370px;}
-input.span6,textarea.span6,.uneditable-input.span6{width:450px;}
-input.span7,textarea.span7,.uneditable-input.span7{width:530px;}
-input.span8,textarea.span8,.uneditable-input.span8{width:610px;}
-input.span9,textarea.span9,.uneditable-input.span9{width:690px;}
-input.span10,textarea.span10,.uneditable-input.span10{width:770px;}
-input.span11,textarea.span11,.uneditable-input.span11{width:850px;}
-input.span12,textarea.span12,.uneditable-input.span12{width:930px;}
-select.span1{width:70px;}
-select.span2{width:150px;}
-select.span3{width:230px;}
-select.span4{width:310px;}
-select.span5{width:390px;}
-select.span6{width:470px;}
-select.span7{width:550px;}
-select.span8{width:630px;}
-select.span9{width:710px;}
-select.span10{width:790px;}
-select.span11{width:870px;}
-select.span12{width:950px;}
-input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
-.control-group.warning>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;}
-.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>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;}
-.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>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;}
-.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;}
-.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
-.uneditable-input{display:block;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-placeholder{color:#999999;}
-::-webkit-input-placeholder{color:#999999;}
-.help-block{margin-top:5px;margin-bottom:0;color:#999999;}
-.help-inline{display:inline-block;margin-bottom:9px;vertical-align:middle;padding-left:5px;}
-.input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
-.input-prepend:after,.input-append:after{clear:both;}
-.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
-.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;}
-.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 4px 4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
-.input-prepend .add-on{*margin-top:1px;}
-.input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
-.input-append .uneditable-input{border-right-color:#ccc;}
-.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-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;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
-.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
-.form-search label,.form-inline label{display:inline-block;}
-.control-group{margin-bottom:9px;}
-.form-horizontal legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate;}
-.form-horizontal .control-group{margin-bottom:18px;}
-.form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
-.form-horizontal .controls{margin-left:160px;}
-.form-horizontal .form-actions{padding-left:160px;}
-table{max-width:100%;border-collapse:collapse;border-spacing:0;}
-.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
-.table th{font-weight:bold;vertical-align:bottom;}
-.table td{vertical-align:top;}
-.table thead:first-child tr th,.table thead:first-child tr td{border-top:0;}
-.table tbody+tbody{border-top:2px solid #ddd;}
-.table-condensed th,.table-condensed td{padding:4px 5px;}
-.table-bordered{border:1px solid #ddd;border-collapse:separate;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
-.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;}
-.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;}
-.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;}
-.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;}
-.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
-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;}
-.icon{background-image:url(img/glyphicons-halflings-sprite.png);background-position:0 0;background-repeat:no-repeat;display:inline-block;vertical-align:text-top;width:14px;height:14px;}
-.icon.white{background-image:url(img/glyphicons-halflings-sprite-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.calendar{background-position:-264px -24px;}
-.icon.lock{background-position:-288px -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:-24px -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:-168px -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.arrow-left{background-position:-240px -96px;}
-.icon.arrow-right{background-position:-264px -96px;}
-.icon.arrow-up{background-position:-288px -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:-432px -96px;}
-.icon.asterisk{background-position:-456px -96px;}
-.dropdown{position:relative;}
-.caret{display:inline-block;width:0;height:0;text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"\2193";}
-.dropdown .caret{margin-top:8px;margin-left:2px;*margin-top:7px;}
-.dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100);}
-.dropdown-menu{position:absolute;top:100%;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin: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;zoom:1;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
-.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
-.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
-.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
-.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
-.dropdown.open .dropdown-menu{display:block;}
-.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-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);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
-.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;}.fade.in{opacity:1;}
-.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;}.collapse.in{height:auto;}
-.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;opacity:0.4;filter:alpha(opacity=40);cursor:pointer;}
-.nav{margin-left:0;margin-bottom:18px;list-style:none;}
-.nav>li>a{display:block;}
-.nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
-.nav.list{padding-left:14px;padding-right:14px;margin-bottom:0;}
-.nav.list>li>a,.nav.list .nav-header{display:block;padding:3px 15px;margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
-.nav.list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-transform:uppercase;}
-.nav.list>li+.nav-header{margin-top:9px;}
-.nav.list .active>a{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
-.tabs,.pills{*zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";}
-.tabs:after,.pills:after{clear:both;}
-.tabs>li,.pills>li{float:left;}
-.tabs>li>a,.pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
-.tabs{border-bottom:1px solid #ddd;}
-.tabs>li{margin-bottom:-1px;}
-.tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
-.tabs>.active>a,.tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
-.pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
-.pills .active>a,.pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
-.nav.stacked>li{float:none;}
-.nav.stacked>li>a{margin-right:0;}
-.tabs.stacked{border-bottom:0;}
-.tabs.stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
-.tabs.stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
-.tabs.stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
-.tabs.stacked>li>a:hover{border-color:#ddd;z-index:2;}
-.pills.stacked>li>a{margin-bottom:3px;}
-.pills.stacked>li:last-child>a{margin-bottom:1px;}
-.pills .dropdown-menu,.tabs .dropdown-menu{margin-top:1px;border-width:1px;}
-.pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.tabs .dropdown-toggle .caret,.pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
-.tabs .dropdown-toggle:hover .caret,.pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
-.tabs .active .dropdown-toggle .caret,.pills .active .dropdown-toggle .caret{border-top-color:#333333;}
-.nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;}
-.tabs .open .dropdown-toggle,.pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
-.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
-.tabs.stacked .open>a:hover{border-color:#999999;}
-.tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";}
-.tabbable:after{clear:both;}
-.tabs-below .tabs,.tabs-right .tabs,.tabs-left .tabs{border-bottom:0;}
-.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
-.tab-content>.active,.pill-content>.active{display:block;}
-.tabs-below .tabs{border-top:1px solid #ddd;}
-.tabs-below .tabs>li{margin-top:-1px;margin-bottom:0;}
-.tabs-below .tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
-.tabs-below .tabs .active>a,.tabs-below .tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;}
-.tabs-left .tabs>li,.tabs-right .tabs>li{float:none;}
-.tabs-left .tabs>li>a,.tabs-right .tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
-.tabs-left .tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
-.tabs-left .tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
-.tabs-left .tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
-.tabs-left .tabs .active>a,.tabs-left .tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;}
-.tabs-right .tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
-.tabs-right .tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
-.tabs-right .tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
-.tabs-right .tabs .active>a,.tabs-right .tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;}
-.navbar{overflow:visible;}
-.navbar-inner{background-color:#222222;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;-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);}
-.navbar .brand:hover{color:#ffffff;text-decoration:none;}
-.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
-.navbar p{margin:0;line-height:40px;}.navbar p a:hover{color:#ffffff;background-color:transparent;}
-.navbar .btn,.navbar .btn-group{margin-top:5px;}
-.navbar .btn-group .btn{margin-top:0;}
-.navbar-form{margin-bottom:0;}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom: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;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#444;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-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-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
-.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
-.navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
-.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;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;}
-.navbar-static{margin-bottom:18px;}
-.navbar-static .navbar-inner{padding-left:20px;padding-right:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1030;}
-.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
-.navbar .nav.pull-right{float:right;}
-.navbar .nav>li{display:block;float:left;}
-.navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
-.navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
-.navbar .nav .active>a{color:#ffffff;text-decoration:none;background-color:#222222;background-color:rgba(0, 0, 0, 0.5);}
-.navbar .vertical-divider{height:40px;width:1px;margin:0 5px;overflow:hidden;background-color:#222222;border-right:1px solid #444;}
-.navbar .nav.pull-right{margin-left:10px;margin-right:0;}
-.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
-.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;}
-.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;}
-.navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);}
-.navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
-.navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;}
-.navbar .nav.pull-right .dropdown-menu{right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
-.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
-.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#fbfbfb;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);background-repeat:repeat-x;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-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;text-shadow:0 1px 0 #ffffff;}
-.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;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-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);}
-.pagination li{display:inline;}
-.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;}
-.pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
-.pagination .active a{color:#999999;}
-.pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
-.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;}
-.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;}
-.pagination-centered{text-align:center;}
-.pagination-right{text-align:right;}
-.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";}
-.pager:after{clear:both;}
-.pager li{display:inline;}
-.pager a{display:inline-block;padding:6px 15px;background-color:#f5f5f5;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
-.pager .next a{float:right;}
-.pager .previous a{float:left;}
-.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;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;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-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);-webkit-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%;}
-.modal.fade.in{top:50%;}
-.modal-header{padding:5px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
-.modal-body{padding:15px;}
-.modal-footer{padding:14px 15px 15px;margin-bottom:0;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;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
-.modal-footer:after{clear:both;}
-.modal-footer .btn{float:right;margin-left:5px;margin-bottom:0;}
-.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.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;}
-.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;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;}
-.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;}
-.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.tooltip-arrow{position:absolute;width:0;height:0;}
-.popover{position:absolute;top:0;left:0;z-index:1010;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;}
-.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;}
-.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;}
-.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
-.popover .arrow{position:absolute;width:0;height:0;}
-.popover .inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-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);}
-.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;}
-.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;-webkit-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;}
-.btn.primary,.btn.primary:hover,.btn.danger,.btn.danger:hover,.btn.success,.btn.success:hover,.btn.info,.btn.info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
-.btn.primary{background-color:#0074cc;background-image:-moz-linear-gradient(top, #0088cc, #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:linear-gradient(top, #0088cc, #0055cc);background-repeat:repeat-x;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);}.btn.primary:hover,.btn.primary:active,.btn.primary.active,.btn.primary.disabled{background-color:#0055cc;}
-.btn.primary[disabled]{background-color:#0055cc;}
-.btn.primary:active,.btn.primary.active{background-color:#004099 \9;}
-.btn.danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.danger:hover,.btn.danger:active,.btn.danger.active,.btn.danger.disabled{background-color:#c43c35;}
-.btn.danger[disabled]{background-color:#c43c35;}
-.btn.danger:active,.btn.danger.active{background-color:#9c302a \9;}
-.btn.success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.success:hover,.btn.success:active,.btn.success.active,.btn.success.disabled{background-color:#57a957;}
-.btn.success[disabled]{background-color:#57a957;}
-.btn.success:active,.btn.success.active{background-color:#458845 \9;}
-.btn.info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}.btn.info:hover,.btn.info:active,.btn.info.active,.btn.info.disabled{background-color:#339bb9;}
-.btn.info[disabled]{background-color:#339bb9;}
-.btn.info:active,.btn.info.active{background-color:#287a91 \9;}
-.btn{display:inline-block;padding:4px 10px 4px;font-size:13px;line-height:18px;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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;}.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;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;}
-.btn:focus{outline:1px dotted #666;}
-.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;}
-.btn.disabled{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
-.btn.large{padding:9px 14px 9px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
-.btn.large .icon{margin-top:1px;}
-.btn.small{padding:5px 9px 5px;font-size:11px;line-height:16px;}
-.btn.small .icon{margin-top:-2px;}
-button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
-.btn-group{position:relative;*zoom:1;}.btn-group:before,.btn-group:after{display:table;content:"";}
-.btn-group:after{clear:both;}
-.btn-group+.btn-group{margin-left:5px;}
-.btn-toolbar .btn-group{display:inline-block;}
-.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
-.btn-group .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;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
-.btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
-.btn-group .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;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
-.btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
-.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2;}
-.btn-group .dropdown-toggle{padding-left:8px;padding-right: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);}
-.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);}
-.btn .caret{margin-top:6px;margin-left:0;}
-.primary .caret,.danger .caret,.info .caret,.success .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);}
-.btn.small .caret{margin-top:4px;}
-.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #f3edd2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.alert,.alert-heading{color:#c09853;}
-.alert .close{position:relative;right:-21px;line-height:18px;}
-.alert-success{background-color:#dff0d8;border-color:#cfe8c4;}
-.alert-success,.alert-success .alert-heading{color:#468847;}
-.alert-danger,.alert-error{background-color:#f2dede;border-color:#e9c7c7;}
-.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#b94a48;}
-.alert-info{background-color:#d9edf7;border-color:#bfe1f2;}
-.alert-info,.alert-info .alert-heading{color:#3a87ad;}
-.alert-block{padding-top:14px;padding-bottom:14px;}
-.alert-block>p,.alert-block>ul{margin-bottom:0;}
-.alert-block p+p{margin-top:5px;}
-.thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";}
-.thumbnails:after{clear:both;}
-.thumbnails>li{float:left;margin:0 0 18px 20px;}
-.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-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);}
-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);}
-.thumbnail>img{display:block;max-width:100%;}
-.thumbnail .caption{padding:9px;}
-.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#b94a48;}
-.label.warning{background-color:#f89406;}
-.label.success{background-color:#468847;}
-.label.info{background-color:#3a87ad;}
-@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress,.progress .bar{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.progress{height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(top, #f5f5f5, #f9f9f9);background-repeat:repeat-x;-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%;height:18px;color:#ffffff;font-size:12px;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-repeat:repeat-x;-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);-webkit-box-sizing:border-box;-moz-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;}
-.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));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: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;}
-.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;}
-.progress.danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;}
-.progress.danger.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));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: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);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;}
-.progress.success.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));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: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);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;}
-.progress.info.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));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: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{background-color:#f5f5f5;-webkit-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-body{margin-bottom:2px;}
-.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
-.carousel{position:relative;line-height:1;}
-.carousel-inner{overflow:hidden;width:100%;position:relative;}
-.carousel .item{display:none;position:relative;-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;}
-.carousel .item>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%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}.carousel-control.right{left:auto;right:15px;}
-.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;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:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
-.hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
-.pull-right{float:right;}
-.pull-left{float:left;}
-.hide{display:none;}
-.show{display:block;}
-.invisible{visibility:hidden;}
diff --git a/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
similarity index 100%
rename from bootstrap-responsive.css
rename to docs/assets/css/bootstrap-responsive.css
diff --git a/bootstrap.css b/docs/assets/css/bootstrap.css
similarity index 99%
rename from bootstrap.css
rename to docs/assets/css/bootstrap.css
index 9d26b41c8d..cd7268bb77 100644
--- a/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 21:48:03 PST 2012
+ * Date: Thu Jan 26 22:05:04 PST 2012
  */
 article,
 aside,
diff --git a/docs/base-css.html b/docs/base-css.html
index a30e0c1f37..9cad9de017 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/components.html b/docs/components.html
index 252e1a0c3b..eba49449f9 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/download.html b/docs/download.html
index 99564576fc..3af30dca7f 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/examples.html b/docs/examples.html
index 6fcbc58556..dfa62fe98c 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/index.html b/docs/index.html
index e60e9d7116..317ec994ba 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/javascript.html b/docs/javascript.html
index 07c55e834a..dd65c1b8d0 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/less.html b/docs/less.html
index c827df4539..fb1b0d18c8 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index 02b9721d31..f49b8d6c4b 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index 014f248d68..dbb718056b 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
diff --git a/docs/upgrading.html b/docs/upgrading.html
index d0234a8ba9..142e750cc9 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -13,8 +13,8 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
-    <link href="../bootstrap-responsive.css" rel="stylesheet">
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="assets/css/docs.css" rel="stylesheet">
     <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
 
-- 
GitLab


From a25f0cce95bc538f3aa19e9edf17ac3a353e334e Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 22:11:32 -0800
Subject: [PATCH 504/576] simplify readme

---
 README.md | 25 ++-----------------------
 1 file changed, 2 insertions(+), 23 deletions(-)

diff --git a/README.md b/README.md
index b77eb95ae0..7dc9038a8c 100644
--- a/README.md
+++ b/README.md
@@ -6,27 +6,6 @@ Bootstrap is Twitter's toolkit for kickstarting CSS for websites, apps, and more
 To get started -- checkout http://twitter.github.com/bootstrap!
 
 
-Usage
------
-
-You can use Twitter Bootstrap in one of two ways: just drop the compiled CSS into any new project and start cranking, or run LESS on your site and compile on the fly like a boss.
-
-Here's what the LESS version looks like:
-
-``` html
-<link rel="stylesheet/less" type="text/css" href="lib/bootstrap.less">
-<script src="less.js" type="text/javascript"></script>
-```
-
-Or if you prefer, the standard CSS way:
-
-``` html
-<link rel="stylesheet" type="text/css" href="bootstrap.css">
-```
-
-For more info, refer to the docs!
-
-
 Versioning
 ----------
 
@@ -74,8 +53,8 @@ Developers
 
 We have included a makefile with convenience methods for working with the Bootstrap library.
 
-+ **build** - `make build`
-This will run the less compiler on the bootstrap lib and generate a bootstrap.css and bootstrap.min.css file.
++ **build** - `make`
+This will run the less compiler on the bootstrap lib and regenerate the docs dir.
 The lessc compiler is required for this command to run.
 
 + **watch** - `make watch`
-- 
GitLab


From 815a2ae9f26f49137382fd4b186d174c7b1b8c5b Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 22:39:17 -0800
Subject: [PATCH 505/576] rebuild + copy images to docs when making

---
 Makefile                                        |   1 +
 docs/assets/css/bootstrap.css                   |   6 +++---
 .../img/glyphicons-halflings-sprite-white.png   | Bin 0 -> 13566 bytes
 docs/assets/img/glyphicons-halflings-sprite.png | Bin 0 -> 14152 bytes
 less/sprites.less                               |   4 ++--
 5 files changed, 6 insertions(+), 5 deletions(-)
 create mode 100644 docs/assets/img/glyphicons-halflings-sprite-white.png
 create mode 100644 docs/assets/img/glyphicons-halflings-sprite.png

diff --git a/Makefile b/Makefile
index 127d6affe0..f2213103aa 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@ build:
 		lessc ${BOOTSTRAP_RESPONSIVE_LESS}.tmp > ${BOOTSTRAP_RESPONSIVE}; \
 		rm -f ${BOOTSTRAP_RESPONSIVE_LESS}.tmp; \
 		node docs/build; \
+		cp img/* docs/assets/img/; \
 		echo "Bootstrap successfully built! - `date`"; \
 	else \
 		echo "You must have the LESS compiler installed in order to build Bootstrap."; \
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index cd7268bb77..68e161051b 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 22:05:04 PST 2012
+ * Date: Thu Jan 26 22:39:03 PST 2012
  */
 article,
 aside,
@@ -1066,7 +1066,7 @@ table .span12 {
   margin-left: 0;
 }
 .icon {
-  background-image: url(img/glyphicons-halflings-sprite.png);
+  background-image: url(../img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
   background-repeat: no-repeat;
   display: inline-block;
@@ -1075,7 +1075,7 @@ table .span12 {
   height: 14px;
 }
 .icon.white {
-  background-image: url(img/glyphicons-halflings-sprite-white.png);
+  background-image: url(../img/glyphicons-halflings-sprite-white.png);
 }
 .icon.glass {
   background-position: 0      0;
diff --git a/docs/assets/img/glyphicons-halflings-sprite-white.png b/docs/assets/img/glyphicons-halflings-sprite-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..a92b1913a2ba91686e5d96e915367d7c31a26146
GIT binary patch
literal 13566
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
XG79cOO}DTABS}R;UA|P-Eb#vTi{*=0

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons-halflings-sprite.png b/docs/assets/img/glyphicons-halflings-sprite.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4e0acfbc11203068a008545ed95e2e03ecbb921
GIT binary patch
literal 14152
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

literal 0
HcmV?d00001

diff --git a/less/sprites.less b/less/sprites.less
index c3b4206656..599434b2bc 100644
--- a/less/sprites.less
+++ b/less/sprites.less
@@ -12,7 +12,7 @@
 // will look like <i class="inbox"></i>.
 
 .icon {
-  background-image: url(img/glyphicons-halflings-sprite.png);
+  background-image: url(../img/glyphicons-halflings-sprite.png);
   background-position: 0 0;
   background-repeat: no-repeat;
   display: inline-block;
@@ -21,7 +21,7 @@
   height: 14px;
 }
 .icon.white {
-  background-image: url(img/glyphicons-halflings-sprite-white.png);
+  background-image: url(../img/glyphicons-halflings-sprite-white.png);
 }
 
 .icon.glass              { background-position: 0      0; }
-- 
GitLab


From c63175dc1d41e2d26e50194a7e24cc0ea618446b Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 22:52:44 -0800
Subject: [PATCH 506/576] change endpoint to point to actual server...

---
 docs/assets/js/application.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 8c86ff0282..02cc730bd3 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -206,10 +206,9 @@ $(function () {
       $(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
     })
 
-// , url: "http://bootstrap.herokuapp.com"
     $.ajax({
       type: 'POST'
-    , url: 'http://localhost:3000'
+    , url: 'http://bootstrap.herokuapp.com'
     , dataType: 'jsonpi'
     , params: {
         branch: '2.0-wip'
-- 
GitLab


From aa594501bd24d51181dc3504602aa4aaefb1cb60 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Thu, 26 Jan 2012 23:16:02 -0800
Subject: [PATCH 507/576] change typeahead to data-source instead of data-data
 and add to docs

---
 docs/assets/css/bootstrap.css            | 2 +-
 docs/javascript.html                     | 8 +++++++-
 docs/templates/pages/javascript.mustache | 8 +++++++-
 js/bootstrap-typeahead.js                | 7 ++++---
 4 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 68e161051b..28f49391b5 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 22:39:03 PST 2012
+ * Date: Thu Jan 26 23:15:40 PST 2012
  */
 article,
 aside,
diff --git a/docs/javascript.html b/docs/javascript.html
index dd65c1b8d0..894671b7e9 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1323,7 +1323,7 @@ $('.myCarousel').carousel({
           <h2>Example</h2>
           <p>Start typing in the field below to show the typeahead results.</p>
           <div class="well">
-            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
           </div>
           <hr>
           <h2>Using bootstrap-typeahead.js</h2>
@@ -1340,6 +1340,12 @@ $('.myCarousel').carousel({
              </tr>
             </thead>
             <tbody>
+              <tr>
+               <td>source</td>
+               <td>array</td>
+               <td>[ ]</td>
+               <td>The data source to query against.</td>
+             </tr>
              <tr>
                <td>items</td>
                <td>number</td>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 59b8a03d6b..6e3ba25da4 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -1258,7 +1258,7 @@ $('.myCarousel').carousel({
           <h2>{{_i}}Example{{/i}}</h2>
           <p>{{_i}}Start typing in the field below to show the typeahead results.{{/i}}</p>
           <div class="well">
-            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-data='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
+            <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
           </div>
           <hr>
           <h2>{{_i}}Using bootstrap-typeahead.js{{/i}}</h2>
@@ -1275,6 +1275,12 @@ $('.myCarousel').carousel({
              </tr>
             </thead>
             <tbody>
+              <tr>
+               <td>{{_i}}source{{/i}}</td>
+               <td>{{_i}}array{{/i}}</td>
+               <td>[ ]</td>
+               <td>{{_i}}The data source to query against.{{/i}}</td>
+             </tr>
              <tr>
                <td>{{_i}}items{{/i}}</td>
                <td>{{_i}}number{{/i}}</td>
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index 1205a99caf..82c3188319 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -25,7 +25,7 @@
     this.$element = $(element)
     this.options = $.extend({}, $.fn.typeahead.defaults, options)
     this.$menu = $(this.options.menu).appendTo('body')
-    this.data = this.options.data
+    this.source = this.options.source
     this.shown = false
     this.listen()
   }
@@ -79,7 +79,7 @@
 
       q = this.query.toLowerCase()
 
-      items = jQuery.grep(this.data, function (item) {
+      items = jQuery.grep(this.source, function (item) {
         if (that.matcher(item, q)) return item
       })
 
@@ -229,7 +229,8 @@
   }
 
   $.fn.typeahead.defaults = {
-    items: 8
+    source: []
+  , items: 8
   , menu: '<ul class="typeahead dropdown-menu"></ul>'
   , item: '<li><a href="#"></a></li>'
   }
-- 
GitLab


From 942d1b459568acb9f66525f8f6316a252a199e02 Mon Sep 17 00:00:00 2001
From: Burak Tuyan <buraktuyan@gmail.com>
Date: Fri, 27 Jan 2012 16:33:18 +0200
Subject: [PATCH 508/576] Updating to latest version of Glyphicons Halflings
 set (v.1.5) along with some icon enhancements like:

- Updated the Gylphicons Halflings set to version 1.5 (30 new icons)
- Optimized the sprite PNG files for minimum filesize without any quality loss
- Made some fixes for horizontal alignment at the LESS/CSS level (tags, bold, arrow-up, minus, chevron-down)
- Made some fixes for vertical alignment at the LESS/CSS level (chevron-down, resize-vertical, resize-horizontal)
- Renamed the old "calendar" class as "list-alt" class (because now we've a real calendar icon)
- Changed the "background-position" of the icon class to "14px 14px", so that a wrong class name will not be showing the glass icon and instead will show a blank icon (which is useful for just positioning the text after the icons in some cases)
- Added new icons (classes) to the base-css Docs (to both HTML file and Mustache template)
- Changed one of the button examples to danger style and used a white icon
- Renamed the sprite image files to save a few bytes here and there (from glyphicons-halflings-sprite.png to lyphicons-halflings.png and from glyphicons-halflings-sprite-white.png to glyphicons-halflings-white.png)
---
 docs/assets/css/bootstrap.css                 | 108 ++++++++++++++++--
 .../img/glyphicons-halflings-sprite-white.png | Bin 13566 -> 0 bytes
 .../img/glyphicons-halflings-sprite.png       | Bin 14152 -> 0 bytes
 .../assets/img/glyphicons-halflings-white.png | Bin 0 -> 4352 bytes
 docs/assets/img/glyphicons-halflings.png      | Bin 0 -> 4364 bytes
 docs/base-css.html                            |  62 +++++++---
 docs/templates/pages/base-css.mustache        |  62 +++++++---
 img/glyphicons-halflings-sprite-white.png     | Bin 13566 -> 0 bytes
 img/glyphicons-halflings-sprite.png           | Bin 14152 -> 0 bytes
 img/glyphicons-halflings-white.png            | Bin 0 -> 4352 bytes
 img/glyphicons-halflings.png                  | Bin 0 -> 4364 bytes
 less/sprites.less                             |  54 +++++++--
 12 files changed, 234 insertions(+), 52 deletions(-)
 delete mode 100644 docs/assets/img/glyphicons-halflings-sprite-white.png
 delete mode 100644 docs/assets/img/glyphicons-halflings-sprite.png
 create mode 100644 docs/assets/img/glyphicons-halflings-white.png
 create mode 100644 docs/assets/img/glyphicons-halflings.png
 delete mode 100644 img/glyphicons-halflings-sprite-white.png
 delete mode 100644 img/glyphicons-halflings-sprite.png
 create mode 100644 img/glyphicons-halflings-white.png
 create mode 100644 img/glyphicons-halflings.png

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 68e161051b..c878d70ff4 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -1066,8 +1066,8 @@ table .span12 {
   margin-left: 0;
 }
 .icon {
-  background-image: url(../img/glyphicons-halflings-sprite.png);
-  background-position: 0 0;
+  background-image: url(../img/glyphicons-halflings.png);
+  background-position: 14px 14px;
   background-repeat: no-repeat;
   display: inline-block;
   vertical-align: text-top;
@@ -1075,10 +1075,10 @@ table .span12 {
   height: 14px;
 }
 .icon.white {
-  background-image: url(../img/glyphicons-halflings-sprite-white.png);
+  background-image: url(../img/glyphicons-halflings-white.png);
 }
 .icon.glass {
-  background-position: 0      0;
+  background-position: 0 0;
 }
 .icon.music {
   background-position: -24px 0;
@@ -1170,7 +1170,7 @@ table .span12 {
 .icon.refresh {
   background-position: -240px -24px;
 }
-.icon.calendar {
+.icon.list-alt {
   background-position: -264px -24px;
 }
 .icon.lock {
@@ -1201,7 +1201,7 @@ table .span12 {
   background-position: 0 -48px;
 }
 .icon.tags {
-  background-position: -24px -48px;
+  background-position: -25px -48px;
 }
 .icon.book {
   background-position: -48px -48px;
@@ -1219,7 +1219,7 @@ table .span12 {
   background-position: -144px -48px;
 }
 .icon.bold {
-  background-position: -168px -48px;
+  background-position: -167px -48px;
 }
 .icon.italic {
   background-position: -192px -48px;
@@ -1320,11 +1320,41 @@ table .span12 {
 .icon.arrow-left {
   background-position: -240px -96px;
 }
+.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-right {
   background-position: -264px -96px;
 }
 .icon.arrow-up {
-  background-position: -288px -96px;
+  background-position: -289px -96px;
 }
 .icon.arrow-down {
   background-position: -312px -96px;
@@ -1342,11 +1372,71 @@ table .span12 {
   background-position: -408px -96px;
 }
 .icon.minus {
-  background-position: -432px -96px;
+  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: -409px -120px;
+}
+.icon.resize-vertical {
+  background-position: -432px -119px;
+}
+.icon.resize-horizontal {
+  background-position: -456px -118px;
+}
 .dropdown {
   position: relative;
 }
diff --git a/docs/assets/img/glyphicons-halflings-sprite-white.png b/docs/assets/img/glyphicons-halflings-sprite-white.png
deleted file mode 100644
index a92b1913a2ba91686e5d96e915367d7c31a26146..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 13566
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
XG79cOO}DTABS}R;UA|P-Eb#vTi{*=0

diff --git a/docs/assets/img/glyphicons-halflings-sprite.png b/docs/assets/img/glyphicons-halflings-sprite.png
deleted file mode 100644
index b4e0acfbc11203068a008545ed95e2e03ecbb921..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14152
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

diff --git a/docs/assets/img/glyphicons-halflings-white.png b/docs/assets/img/glyphicons-halflings-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..a20760bfde58d1c92cee95116059fba03c68d689
GIT binary patch
literal 4352
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

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons-halflings.png b/docs/assets/img/glyphicons-halflings.png
new file mode 100644
index 0000000000000000000000000000000000000000..151407a29a4486d24ece6b94b84556ec16511903
GIT binary patch
literal 4364
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
R{`JtfXJldc{<h1L{{WuIQ~3Y@

literal 0
HcmV?d00001

diff --git a/docs/base-css.html b/docs/base-css.html
index 9cad9de017..da52680690 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1338,10 +1338,6 @@
         <i class="icon home"></i>
         <i class="icon file"></i>
         <i class="icon time"></i>
-      </div>
-    </div>
-    <div class="span3">
-      <div class="the-icons">
         <i class="icon road"></i>
         <i class="icon download-alt"></i>
         <i class="icon download"></i>
@@ -1349,8 +1345,12 @@
         <i class="icon inbox"></i>
         <i class="icon play-circle"></i>
         <i class="icon repeat"></i>
+      </div>
+    </div>
+    <div class="span3">
+      <div class="the-icons">
         <i class="icon refresh"></i>
-        <i class="icon calendar"></i>
+        <i class="icon list-alt"></i>
         <i class="icon lock"></i>
         <i class="icon flag"></i>
         <i class="icon headphones"></i>
@@ -1366,10 +1366,6 @@
         <i class="icon bookmark"></i>
         <i class="icon print"></i>
         <i class="icon camera"></i>
-      </div>
-    </div>
-    <div class="span3">
-      <div class="the-icons">
         <i class="icon font"></i>
         <i class="icon bold"></i>
         <i class="icon italic"></i>
@@ -1384,7 +1380,10 @@
         <i class="icon indent-right"></i>
         <i class="icon facetime-video"></i>
         <i class="icon picture"></i>
-
+      </div>
+    </div>
+    <div class="span3">
+      <div class="the-icons">
         <i class="icon pencil"></i>
         <i class="icon map-marker"></i>
         <i class="icon adjust"></i>
@@ -1394,10 +1393,6 @@
         <i class="icon check"></i>
         <i class="icon move"></i>
         <i class="icon step-backward"></i>
-      </div>
-    </div>
-    <div class="span3">
-      <div class="the-icons">
         <i class="icon fast-backward"></i>
         <i class="icon backward"></i>
         <i class="icon play"></i>
@@ -1410,6 +1405,20 @@
         <i class="icon chevron-left"></i>
         <i class="icon chevron-right"></i>
 
+        <i class="icon plus-sign"></i>
+        <i class="icon minus-sign"></i>
+        <i class="icon remove-sign"></i>
+        <i class="icon ok-sign"></i>
+        <i class="icon question-sign"></i>
+        <i class="icon info-sign"></i>
+        <i class="icon screenshot"></i>
+        <i class="icon remove-circle"></i>
+        <i class="icon ok-circle"></i>
+        <i class="icon ban-circle"></i>
+      </div>
+    </div>
+    <div class="span3">
+      <div class="the-icons">
         <i class="icon arrow-left"></i>
         <i class="icon arrow-right"></i>
         <i class="icon arrow-up"></i>
@@ -1420,6 +1429,27 @@
         <i class="icon plus"></i>
         <i class="icon minus"></i>
         <i class="icon asterisk"></i>
+
+        <i class="icon exclamation-sign"></i>
+        <i class="icon gift"></i>
+        <i class="icon leaf"></i>
+        <i class="icon fire"></i>
+        <i class="icon eye-open"></i>
+        <i class="icon eye-close"></i>
+        <i class="icon warning-sign"></i>
+        <i class="icon plane"></i>
+        <i class="icon calendar"></i>
+        <i class="icon random"></i>
+        <i class="icon comment"></i>
+        <i class="icon magnet"></i>
+        <i class="icon chevron-up"></i>
+        <i class="icon chevron-down"></i>
+        <i class="icon retweet"></i>
+        <i class="icon shopping-cart"></i>
+        <i class="icon folder-close"></i>
+        <i class="icon folder-open"></i>
+        <i class="icon resize-vertical"></i>
+        <i class="icon resize-horizontal"></i>
       </div>
     </div>
   </div>
@@ -1441,7 +1471,7 @@
 <pre class="prettyprint linenums">
 &lt;i class="icon search"&gt;&lt;/i&gt;
 </pre>
-      <p>There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.</p>
+      <p>There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.</p>
     </div>
     <div class="span4">
       <h3>Use cases</h3>
@@ -1462,7 +1492,7 @@
       <p>Use them in buttons, or in button groups for a toolbar style presentation.</p>
       <p>
         <a class="btn" href="#"><i class="icon refresh"></i> Refresh</a>
-        <a class="btn" href="#"><i class="icon cog"></i> Settings</a>
+        <a class="btn danger" href="#"><i class="icon white trash"></i> Delete</a>
       </p>
       <div class="btn-toolbar">
         <div class="btn-group">
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index c3d10eb081..6476669e61 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1273,10 +1273,6 @@
         <i class="icon home"></i>
         <i class="icon file"></i>
         <i class="icon time"></i>
-      </div>
-    </div>
-    <div class="span3">
-      <div class="the-icons">
         <i class="icon road"></i>
         <i class="icon download-alt"></i>
         <i class="icon download"></i>
@@ -1284,8 +1280,12 @@
         <i class="icon inbox"></i>
         <i class="icon play-circle"></i>
         <i class="icon repeat"></i>
+      </div>
+    </div>
+    <div class="span3">
+      <div class="the-icons">
         <i class="icon refresh"></i>
-        <i class="icon calendar"></i>
+        <i class="icon list-alt"></i>
         <i class="icon lock"></i>
         <i class="icon flag"></i>
         <i class="icon headphones"></i>
@@ -1301,10 +1301,6 @@
         <i class="icon bookmark"></i>
         <i class="icon print"></i>
         <i class="icon camera"></i>
-      </div>
-    </div>
-    <div class="span3">
-      <div class="the-icons">
         <i class="icon font"></i>
         <i class="icon bold"></i>
         <i class="icon italic"></i>
@@ -1319,7 +1315,10 @@
         <i class="icon indent-right"></i>
         <i class="icon facetime-video"></i>
         <i class="icon picture"></i>
-
+      </div>
+    </div>
+    <div class="span3">
+      <div class="the-icons">
         <i class="icon pencil"></i>
         <i class="icon map-marker"></i>
         <i class="icon adjust"></i>
@@ -1329,10 +1328,6 @@
         <i class="icon check"></i>
         <i class="icon move"></i>
         <i class="icon step-backward"></i>
-      </div>
-    </div>
-    <div class="span3">
-      <div class="the-icons">
         <i class="icon fast-backward"></i>
         <i class="icon backward"></i>
         <i class="icon play"></i>
@@ -1345,6 +1340,20 @@
         <i class="icon chevron-left"></i>
         <i class="icon chevron-right"></i>
 
+        <i class="icon plus-sign"></i>
+        <i class="icon minus-sign"></i>
+        <i class="icon remove-sign"></i>
+        <i class="icon ok-sign"></i>
+        <i class="icon question-sign"></i>
+        <i class="icon info-sign"></i>
+        <i class="icon screenshot"></i>
+        <i class="icon remove-circle"></i>
+        <i class="icon ok-circle"></i>
+        <i class="icon ban-circle"></i>
+      </div>
+    </div>
+    <div class="span3">
+      <div class="the-icons">
         <i class="icon arrow-left"></i>
         <i class="icon arrow-right"></i>
         <i class="icon arrow-up"></i>
@@ -1355,6 +1364,27 @@
         <i class="icon plus"></i>
         <i class="icon minus"></i>
         <i class="icon asterisk"></i>
+
+        <i class="icon exclamation-sign"></i>
+        <i class="icon gift"></i>
+        <i class="icon leaf"></i>
+        <i class="icon fire"></i>
+        <i class="icon eye-open"></i>
+        <i class="icon eye-close"></i>
+        <i class="icon warning-sign"></i>
+        <i class="icon plane"></i>
+        <i class="icon calendar"></i>
+        <i class="icon random"></i>
+        <i class="icon comment"></i>
+        <i class="icon magnet"></i>
+        <i class="icon chevron-up"></i>
+        <i class="icon chevron-down"></i>
+        <i class="icon retweet"></i>
+        <i class="icon shopping-cart"></i>
+        <i class="icon folder-close"></i>
+        <i class="icon folder-open"></i>
+        <i class="icon resize-vertical"></i>
+        <i class="icon resize-horizontal"></i>
       </div>
     </div>
   </div>
@@ -1376,7 +1406,7 @@
 <pre class="prettyprint linenums">
 &lt;i class="icon search"&gt;&lt;/i&gt;
 </pre>
-      <p>{{_i}}There are over 100 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.{{/i}}</p>
+      <p>{{_i}}There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.{{/i}}</p>
     </div>
     <div class="span4">
       <h3>{{_i}}Use cases{{/i}}</h3>
@@ -1397,7 +1427,7 @@
       <p>{{_i}}Use them in buttons, or in button groups for a toolbar style presentation.{{/i}}</p>
       <p>
         <a class="btn" href="#"><i class="icon refresh"></i> {{_i}}Refresh{{/i}}</a>
-        <a class="btn" href="#"><i class="icon cog"></i> {{_i}}Settings{{/i}}</a>
+        <a class="btn danger" href="#"><i class="icon white trash"></i> {{_i}}Delete{{/i}}</a>
       </p>
       <div class="btn-toolbar">
         <div class="btn-group">
diff --git a/img/glyphicons-halflings-sprite-white.png b/img/glyphicons-halflings-sprite-white.png
deleted file mode 100644
index a92b1913a2ba91686e5d96e915367d7c31a26146..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 13566
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
XG79cOO}DTABS}R;UA|P-Eb#vTi{*=0

diff --git a/img/glyphicons-halflings-sprite.png b/img/glyphicons-halflings-sprite.png
deleted file mode 100644
index b4e0acfbc11203068a008545ed95e2e03ecbb921..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14152
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

diff --git a/img/glyphicons-halflings-white.png b/img/glyphicons-halflings-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..a20760bfde58d1c92cee95116059fba03c68d689
GIT binary patch
literal 4352
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

literal 0
HcmV?d00001

diff --git a/img/glyphicons-halflings.png b/img/glyphicons-halflings.png
new file mode 100644
index 0000000000000000000000000000000000000000..151407a29a4486d24ece6b94b84556ec16511903
GIT binary patch
literal 4364
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
R{`JtfXJldc{<h1L{{WuIQ~3Y@

literal 0
HcmV?d00001

diff --git a/less/sprites.less b/less/sprites.less
index 599434b2bc..c7cdc17108 100644
--- a/less/sprites.less
+++ b/less/sprites.less
@@ -7,13 +7,15 @@
 // -----
 
 // As of v2.0.0, the <i> tag is reserved for icons from the Glyphicons set.
-// All icons receive the styles of the <i> tag and are then given a unique
-// class to add width, height, and background-position. Your resulting HTML
-// will look like <i class="inbox"></i>.
+// All icons receive the styles of the <i> tag with a base class of .icon
+// and are then given a unique class to add width, height, and
+// background-position. Your resulting HTML will look like this:
+// <i class="icon inbox"></i>. And for the white version of the icons, just
+// add the .white class like this: <i class="icon white inbox"></i>
 
 .icon {
-  background-image: url(../img/glyphicons-halflings-sprite.png);
-  background-position: 0 0;
+  background-image: url(../img/glyphicons-halflings.png);
+  background-position: 14px 14px;
   background-repeat: no-repeat;
   display: inline-block;
   vertical-align: text-top;
@@ -21,7 +23,7 @@
   height: 14px;
 }
 .icon.white {
-  background-image: url(../img/glyphicons-halflings-sprite-white.png);
+  background-image: url(../img/glyphicons-halflings-white.png);
 }
 
 .icon.glass              { background-position: 0      0; }
@@ -56,7 +58,7 @@
 .icon.play-circle        { background-position: -192px -24px; }
 .icon.repeat             { background-position: -216px -24px; }
 .icon.refresh            { background-position: -240px -24px; }
-.icon.calendar           { background-position: -264px -24px; }
+.icon.list-alt           { background-position: -264px -24px; }
 .icon.lock               { background-position: -288px -24px; }
 .icon.flag               { background-position: -312px -24px; }
 .icon.headphones         { background-position: -336px -24px; }
@@ -67,13 +69,13 @@
 .icon.barcode            { background-position: -456px -24px; }
 
 .icon.tag                { background-position: 0      -48px; }
-.icon.tags               { background-position: -24px  -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: -168px -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; }
@@ -108,14 +110,44 @@
 .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: -288px -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: -432px -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; }
-- 
GitLab


From acaa3b59775d6e4c3f4776027bb325b418dca6b5 Mon Sep 17 00:00:00 2001
From: Burak Tuyan <buraktuyan@gmail.com>
Date: Fri, 27 Jan 2012 18:02:57 +0200
Subject: [PATCH 509/576] Changing the color of the default icons from black
 (#000) to grayDark (#333)

---
 docs/assets/img/glyphicons-halflings.png | Bin 4364 -> 4352 bytes
 img/glyphicons-halflings.png             | Bin 4364 -> 4352 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/docs/assets/img/glyphicons-halflings.png b/docs/assets/img/glyphicons-halflings.png
index 151407a29a4486d24ece6b94b84556ec16511903..92d4445dfd0af414835467132cf50c7c38a303af 100644
GIT binary patch
literal 4352
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

literal 4364
zcmc&&=Tj37lMY0rNK>gQRisN1Q97s;g&$Q?2we<akQ#asDFz`@LJ=WK5lJzCfFRvS
zmm&~D4+t0u(g|HS-@BW;dG8;%{jkroA9iMU=9y<__L-H12^Yr&4gdhab?>gB4FJGI
z{>u~DfPb@AQD)L#NVfXN*68Hq<S+ey4^%1U!`~qkgKaGC0|t54Fs;hYR57A{tU1au
z&L6<OGlnyJSA6%PXwOy%DQlm+BJ-k6KBB8xXOvb30PwQiGrVOR=Co4Co>iieYlHzy
zy?*nGdTqHydH3X`g&jDKT+kC1s;>Uz6Rb617ho<|m44+6JyB7ghie&7e??`F|MJs9
znFPlh+dYhgD2_kqsng=neJ;`;lI94zc;P5O7MbA9FZqOA(4I7o7#sPOHLdB=p1ZKv
zczO46)^qM?0m%n%@kOivw(XZ^vOSP+vkx!*Q<4~s#~YnU=zQ6*zD$shcwF1q2>20O
zlnRFtZdhJm$^-{=khxZ0h?;05NduswmoPo2EbVk5jhCJ{3yAxIpu;)HA_@WaVOfGl
z$cJkdb(p;MB>t?+e!u|Mo;q#ebZ%Nw*?Wg{xz_}z`^jkaSSl(U5hkZ&751XM2K#f$
z%BdEK!0p-M6hmlh!g-7F2duA;D|YNzKOoh94cKu(*~sm%8hINQ(m5BI+X9@Stp2bx
z#*5D>pJiE=F3kjpEM{yLxG}U8$xx&$`V<p@j)95tLITb<V}t$4%+fT#So3@T$yj^d
zcv()vD!MmVkdSJ7_syNTl2YHw2S1c7Q5~x}f&$dl325_4!-Yuu(oC?a$hdZQp>KU~
zC!II0sh(@27R0oGC&!4ipM8c$s&^t;JzIv#pL;!%nQO|*-|XjuKjDi1HT5#SB%#L$
z>yG~K9Re42%g9hX_Xz?Qu;&?)bTKFX#wtEyV+OX?k>J$Wav{}B?+h&{PtF6^<)%(`
zzRCzbxDFKC=2_GM5?g=@WRF>wtNm@c_z3!49wAa6uG~BfRqhzUz}n`=oeI-MWb-Ts
zM(j-tg7l)Du96RF8f!D~)4{A@uiD^g`l}qPeW_*67se*AsyPJ(E=kvH)~SXmi?O`l
zxiRlIm$uO6&9Ui03B0+_$hO(viN5dcL!h7KwyQ#Q7p|F+Yq2(N$Uze|Oz(X!{pb~j
zJVuY2sIe+GV7B!*-2+(Hi;$p$6^I=}j4NJOK<a@u&Q$M-&ik4i8ffarUIaRC`41^v
z(1EU<F#?9CeAd8gG~9`itIb$htD#;<GcNh&dHsLDB1Y?iXb~x*$5Jr!j7W!okVzZX
zoII&nFgTXC+=WB*H-|=1?Y6L+nWjWzO>;`}5MndDQb5m=%@7dp+rT=j0G1;j_hkg*
z$g6GgAA^)Im2<?}`PZ~IO<c}r{%)0YYeOAMF%Sbm6*XkLs_hPAm7_cU)uTWZaw)o{
zYQGpt*A%=d>FC|XMB6M*!y5}<$8j5QBu$8YxGRcIPw^>TY{;QatF-^LTpz}EAt3~t
z8Hp5witg^QZV+yYJ10~YBi*~zsGa~N@Xk#Ec?Yg8GRMCIJxaCe$7<DdA<l@HPh1wa
zoGV@sGOU^E*V}+5UV0AVc>z9fC_4bn9gtb$TmkDEaP+c^nI3?o7u$rvbR|rvT0csD
zeH4b*YMQsOGk3ZX^@ClnWch_=ZUx0`qDxQG#_9Jju&&iNBo`ru-}H|+Gw<cNFKTLl
z%P?)(mFy{L@o~qQ*1jll*_G#qp_%9TP4<_oke}sn@F6ZM#Snw?@r$ogUalpp{^Iei
zbte{;lTYvbIo}s4ODB6yr89l~kvLg?+!cx7iVHlljS66F3%7PGf^bW2zHm|umdtFL
zKVXjQV&Kllz=v_)>I+jAB|O!(^jHOmK)}$3mu%No_|E5{4N4c5E2yXf=D$KFB&-d#
z-G6jiuTEZ)6^w$&up3Oo*hVBy3Y&N*L##XK^^Q8j8+CQC9}a-MOsX*Ml$~xXED%k$
zv4NOvPx{*tobP?Lp9=uQ*;Q$A)`!3om{)5q$0_U+20`d5sEGbzZ>JaJMsN{=K!^Nk
zfwDCD&3|`f<9l2#5?^xE356rcYY4#~@Ga8gZ{E!@WVG<P$6eqCkpUE8bE6A!t~pp&
zZ17;O_h%QBT*H=hOTlv{i9TrYZ*u)l@veV?1QA!FJ_YPJ19d>0msBO`GEeXEX_Y<c
zOuh7oXY;;2!$^UKC)d}XE+=To>*`3#?VNVW<1)4mvuY+iU3y9W<YkNL&E3iF$@Vt@
zbev&avp#8NI|udYxu<Z$!afc9OI}9u>+e~^=t2QwK55Q{+g~_+Xq<1qWY1K|=i+-k
zpoE*%3ceh4DTlzdHM?k+H|0!C?WZIChd_8OYqm<?kobpI2lMfwVlajnA>w%lJvGqf
zd&IQ-keh_88d|mOCjH0rJp*DzO3T8-r6LfYx2EULAG~n=L8P-CW9(+8p>N7&aqlFg
z#_8kB@8VTtC7MMz8YLy%9ns1Y(J)Ja!lQRRW|z9@rS=Q}3gk1ZxPbk>3|=PAJQTlJ
z_wq<Z=s6O36jyaSczsj5FkVo1lQ|6FfzKKCX_`<RJrTzN1v0S@Bq#Z1F5$`{X8Qx2
zU)|6lZnf%#ui{toJotb`WjRN^oW6V}vaepnH`_J(4%r5?-4^<qiw`wGP_a=1oQfg1
zT(Frc6Vn+Zu_oT*3GW{K#ZgL9Vhc<X7rL?`T15Cc@J5h1B^S@!W?6Y!?}BboX--oF
zd`oqv#l7o79erKOhd<xdbys@}TraxBe9u`)7toirX)BDrzfU3*dh17W;XmGo#Q37u
z#L-P#H0jbu!fyTJjl5d(V0)gnZ(aqwP^|TuNyG(olQx3_LlZw7ghThE+uYDz|Lbr6
z<#spv9!2b%f2-^?f|pDRHhQW6-7DNY8d7%y<CFT6dUvB3%eIBb=+e{ANSaJ>XMI$x
zM5UIy8f8naRG=fa7xD6P`k=lMaZFrQ-yPjS+Z_YB*a9idb=Yr&1zvSr2rI<q#uMDT
zYKwa(ayjlE^~ogEr@5+eO4o3Gc3yj}I7}#qBaDnye^+{BdzJOT;g9t8h`OpuXygl1
zi(}a`0<#>EUsI@2`|E-ukm;6T#3^`}Ho-5_YS+?I=;OyU(B=TJxy(T%HwLuGkNXZl
zXJfF7fT=L5{BuV!!@(Z0@+N`|?Gs2Sa-CAOC&UCtm=gT7ufF*(+IaMSGSH0Wr;nad
zj&~#;{B6V^I^djb8;#AGe<ti_pIFtAl$q6<S*^44*~ZSt5v%dEqu6@K8H5FBZ<}dl
zlFjAqMO>L@SClZb5nBEU&Z^fr00yJknCdH#tKpFp`G2b3EG!U9718~bw%=j7^18g8
zmHrZsz!l6__N)W0wl&(`X&97zUou|;oGpvA%eT?6FYMr2${BXVT|D+>K^9$Ta_e@;
z<Y15UsBp+lbts4@nTX7%u+)7Tb-!qJEM;aA9&A}*`?yArU0Ht@3V)9R74*xa^F58D
zYhi)XjYx9UypgDtueGR*RuR}t|BxonLD7eZNf$_>Pa=3V5%3XG^0g;kTso4|-Albc
zwF&WJt%d3;92831TZduZZxVKz;ern?RwxZKXq{1)%c~caTb#I-`rbqGmnk^mpRQ%b
z|8#tti)k9yZiB4yOZ49il(%n*_V0-qj5OQnXuh&(A{X#yCbNI@u*4Ph<KK_#-)i<?
zMl4sY&7+7G9f+)@lW=<z&d98(q-D3~f7-*_nfZoq`a5;|yO}B=2%SjsFO_K@symYu
z5yqL@b!n0NF(f^ioi-`B%v5iOrT&b(vQ{6R;fp;8B*=cjRQ0Y@>VVKFZl#%O@3d5d
z;6B;$x>qGgH21|<7nhsW4>s6M^->Lc_jmomC`>$*0C@k1(@Md6hK`n>vpZ`A;AW6U
zka8u+&%`Z*rpbDj4#JHSO8Vhv**m<I6V+KYsPZv{k@TB&z(r$G>#sdK9mVGjMAKWQ
z^*$fc+y==3-|Yt|7QctKy0bXo9<fTB-Q@&sRIP|RY(W+9V_I16lTGT6xati5H%0zg
z8MG<RcGKW&pjRb;Cix^fU53;~wfjAz;NUPpL;23iQH?v527h{5s%0@y96`hMU#8k$
z_>ArllXc%cE303q7z?s_M_U7H4)*bpG*wcQb5dO}{#rfW^5AKuSb$2-ra4`&D+5%D
zYzeB4t}WCkbl|6cgt@ys?d25S7S2n*2`<*ArXNRkJP>eMX9#Qj-YiRTkX;j~IMfkE
zk>9~|HC1^=xru>@eJ-31uv`|?1iO|{GVffgENNqRH3R}S`))sX$+99ll|j^pG=to@
zJ!;QYo4iblpO^zF5s~^nwc8-bjkZOFg4JU*msYRfCy3ANYSga9#7nl48Eyj`2594t
zLcvKnLZUc>L)vM{3FzmEuK|h|+4ECd&%B}R#smxiB&i>w75IObt)|I|)sb)xPW;r$
zgWCUVXlY5&-TwJto}(SX*dttPc;w+^>k*|j=6s?nr+9^XcItNJ=ciVL*#+K3>#jcG
zmgqxpOq7Y_I?JIHgdRveKC+D6-9^Rj&FddG%HZnM01?$%uDpqFc;1L@A7M_6^0@Pi
zB!C+4gk3@p?LGxI9i9bOd>zoz;_n^&Z551F+Fh|c*-6$1o@^waT#v-5G8wG(U`dMc
zb=|+KhV0cb)nq5shvLT%(LSmrlg-!p9)HI&>hxTi%10Gew42WRMX&ip-&Do^V>cZ-
zN>^^3Wk+b)P}(;-lbs?+_iyEMYG7pCyt<R)mfGY=b&gJDpT%JCur0W#$|R4e?j&27
zN7G3(HcqAG=tX6E&_`llv;vs=Yq380xq+2*cLlXD!~k^)AbP8BrN&=|Srcf@cBZYU
zD8583At9AH_U%Vg5q>km+VC<{-n0sxFw8hVlW#eG=iHAnP%C`Bn*OvF@M6F&L?!(0
z_S*szrg!;gJ0*7k)$QH;7(>ox9%C29_Z5+rFm#hCzcK~yG!~_~lE~A+^%}Cf7zA$Q
zW+{ge)@lj>vm38l4|e*9Q8gD_A6QuohQ;4IJo1v+V;U6G#+^Hgb<I{+4!$c;$u5$n
z`>4b)`=sVJQG#08yO|zB!5jNZX~Na--F9tyh^B|22;A?3qUzaR@VX!9?Z<sPEj|{Y
z4?OhHOF7B2Prh~FbXubkF$(;JfLRZfUJztyZuSIWJW(|6y57FB<5y%q1E&39&aaG5
zU22aF;0e*M1?h^7=9N57R}+23=an!+slkPJTkU^p-aG@yFVt28Q(T+T4+_phZZNIi
z**0*t=PQI6GZ6)`emWkY2)-jS`JD53CAl!I)GvG*C?tt_vXb#uZUddhx=szJ3;}W}
z9|l(EU$1>I1Xu^g?)P?%gf{(?oVGg4oTMB+mPvH9HRhz@-T71;8mi|$O}XJZA7%(8
zcC$N<7w?QZrku22UJFcM?hg-kv~UB#DL^Bv7As2w3lgmSQaW;gZo9@>q>)bdMG+<h
zL7mJaJ>k-Z5ekC!N?JzGmJXV)SVjVIV?9iM)tk+22Pc|1?!?s}BBT?RtAfRSmOryR
R{`JtfXJldc{<h1L{{WuIQ~3Y@

diff --git a/img/glyphicons-halflings.png b/img/glyphicons-halflings.png
index 151407a29a4486d24ece6b94b84556ec16511903..92d4445dfd0af414835467132cf50c7c38a303af 100644
GIT binary patch
literal 4352
zcmc(jSvb@I*TDbCl4#mw&6;FnOR{7wTf|sqB70@Y*4Sf=t&%DGGDxy7<4<NH`!>in
zwn`&QQOr<`27|~lU*GNfe)r$+;%v`3=Q$VW;ymZMrG+ssw-7e~0K7L%46Ffwh5XNs
z<6`?KHS^P-{ZmgZZ@~?jOs2~JH%~nY@PG5j1zTI#0Amn(L8qe2oETm=+B^jogFL!D
zS!ISRHW3ybWQ6o&?2=byQi)JhfBSH9PzL~<0B#!S!^50cUq25lRnLyYPq06zWw>~J
z`$KJG?wJet%MCZ1y81U)c?UzG;{mBi?no2aAHvt8L__Xy66K$DAupSD_4^VSeG;vA
zGhrY7dmCA}Zg<=d*dvUYvYMo40k!iu>o|-n)q^ld6Q(6yBtUWr1GY<4vK2?uoeS|r
zT(a}}&NC3;#Lv8{0Y$f=#j|95fZYUrx?foCUQ)KvUf$-LSb+6D%%)z#|1KO+ZTgw~
zNbE_n|4p~xYoc$edOQF-XOS;%<r!#dmHF{5#RTzN2!T(FFMc;x+SmC=Km>evzdNi3
zk@(r9h#R5FpacG)j3VDRRz>g49u-o5A=@X`M=nQQ@W&MqFu3+}8)vIJ<N(sT_Zk8X
zMLcU+@C0(GanqcI+g=S0kMDE|mIlGu&c=CozOm!OJr0PRi4D`Obo#+t^;Xncwa7ai
zdh<9v@cF*U;YbI{iHB@gJAiGAx>yezf?(vDF#3iq72Yg1rU0$uCw``L1fzH6tU=MT
zJ)FP#7~BMLoosB<>)Y`BnyxN?%PW`qwa_nrmk;P<^+|3lA$<ii8%uY~81lp=vs^qj
zbHc@jPjA%v+=Qq|+H=tEesx$(-?7Mn9R7&2+ZkE|b0%rF{pOe&2PywxrLyZ}ob?{?
zS!X14D0!!&R7j4z&a_ZX7E96o-d9#)-rDWl);JNdUKsSn^M1g(Sofin)_^D2A6fsk
zK%N&KDHIEtjz^2e+RnzNElc?mvW&i)!L?OOITL^U!tz7HAYtpl+few+Se~$Nk0>cC
z!KnRdI-*8rENgl-h*t3^hviocbR?_BCX&(%?-)#H*`RRAUES@w^(0ey@bvFIq^EE0
zYIYPpa4Xz>{9(cUIq~=IuByDHtJskc@OXkoyhOvqjT$BRxhihe#hq<$(TaV?g(bYx
zzk*$b_y4xdrKd-u!#@W)7x%!%FE62JOZu)fTpnAUKW94KXQKo9lR9BoI`nN#BV<pu
zN$Y&tINUw4JJ60wNhX=$oO%xnS0~8-36@e}lO69__j)7adZ<L2U#u5vwGeo2shUYF
zH*Rf1efjD`jdvTV8a6X+&!xQkbfP<z!gz1jlz##Puuh>NL^WLc-2PBnDb`!FkQ6Yw
zt8#VMCqN`vOx>8A-pqa3!sg7$vF4w|C29%3h5O_{d+D-|gED!U;S&A}5QU_Uz%?vp
zmMBIPvj7qQQG74PJJYIU8KAgcJcJvNO0O6=%8w|@chXvpUX6O34cERMj)m?X)jwit
zWYksusgx8zcrOv1Kd4Cm%yUoW#?wfM-ee=?*pXt7dU<wL(ECgNtn7KAcQSgjF$wec
z&wNDxS$nw$r4-^(dj0lt)f7DU5?+TTQ7UFh7R=*xI5;Wr=aA7JB?^0SzgQ^V;4r`?
zBrN-yp=!hwMFq0PE?Y!UWLSr9S4c>vyZrhI*Zx3!VQzm2&D<yRh#LVfjXeOPcj~wR
z5UG;7Ix04MSLbA=`nZloXfY{`*@7=#K0}`VWppv~RO%H}$!V*DNHvZFBHUqfI?CD0
zbx!B4^9`#pqXl&iB{Pv^*lNn33}KeCeaE4o?M=ZBEL9o|=KG==a{vbsI4@1LO3@|!
z=#F_^eo|k6WLCD`I?D^lB}ZeRa3j2$+MNG{fZN~d@a`$my6AxPBfp8Irx1gDj_8y_
zB{|_Ko-%@Zv$H~Px&z9e&#zqq`(8HmN?{uv#cDixDOJ%G_;k$j?o_(Za8|9R0~pd~
zhP6EvoFeWkI{=X$R-d0BaUhyb8w0in4s%stxoODXOl;El?W^#yR`?d86Ax#>k2i(z
zv;J?=_W|Z`2Nb*9*m`XJ^1ixr>GY^eNXXM8UzHKbJ%`E&g=n<QM>C-&t%U{b2>k}4
zM^eC8z9@VJ)NO6~zgW94x7psn_*GsP&AXPV>|c7+3V*`GDl?NuNHOr8_5jSBY+FrJ
zxxFy&omakmacj-wPLUexLeI~s2^i^7j<QS1^o69wqChX$OY6u{tW}exT*h=kf_UuP
z+XaMs<6dAuy-kT^H%eXIYHYk4Q!FTjJ*&L%*Q})SYV#u;NgCV`gwN=QJ~!7t_q2+B
zpbd_ZMR9D%dyk)}nec)ZXV~q^?S+kxZJj&X5@|w?zO<x_02M#Q3a*5JM8Y&n;d~#^
zX?>diy$lDh;U-ze^bf8Wq&_j48xx9sRj~I0?AI|l`&NRKa0xj_M7{QQP8x>W$llZ#
z^2}mA)Bep^+iA@Qw-LK1wT3nbnW#j??18HOX9M~EwO_4MW54*U(nB|yBja(g7FnMC
zblZNR)Y{`EcNWNZ9&#=!$@W#;-?`_@7{fb;%BTG<Be%)pb!CB`M;1FsO>aNt!jg%h
zP{`+<{G!`T5|=OLq>Z*{Z2O&8zMn16ACVB$Qm``DYk?tjJdb2uC7aci<-`J?E%OU+
zGrN5UtA#%|w#4Z;NP?k$>n!<|SrjF%qnK<QD=|fvQ-`MgFRin=cJ~1?W$Nv-%7>36
z-X#tb9{hRfZswTsPVZBN8H~75sHKLYIz~6u+pKzy#crwlQTpM#$E~+Abk)TD#sz#v
zXX8Go`ZaF>B8Zu%M9U<U?k5{O<y&QE7KlDa9?QUr-S}#I$LYUm81UoWaH<><;>RXE
zbfFb@39Y9#&~E%DMKl*GIPjFwcNZ7nuMbVEpA0WbvBjM9QA!sp{YiDoe131&NawG0
z)w7{^`zTTBX*b%&r|n~U@dMgnxo!))g;D+Qg=`Xw5@VHk^{hiH?Dbc#u;gsXHzn0i
z2)8o6*&Kl>6tpGG-xYv<M}QNBKQ@Z8AUtKe=QqbSl$Amw(w@PJ2Fl*B4kD#B1X|@h
zND6v-C(>B-r`9coW<<#c<0|E=wQpY(XerrkkfVOt!t*N?wvbI|9F@&~JQ7q2jXe2H
zCW^MvkWX8I-=%fo@BdI{A^py@pAB`s<yjfB3(la;jxJW|8b9;qtmahyAaiMpzZU^P
zxD>hd&A{*amKE*X!a7A2Yu?Z%f;af$36@t#hgGI$UAqZQr>(vfUM3&C0L=d07kpTV
z65hXXqa6SYLUvQ%beIm#w8HN~d3!4?$?iB2Owr|ut8l>>rMSqaZB}JGncrpN>H)eX
z?`{XC$$(nou>9J>y&RJ_GCHrPS%%Jr+GeZ-p;^lV`1YLmyxKN-u#7+}dnx}N%zgXH
z$CV1rQyi4eN)t(4&9Ix9{_jMeW*4;LYis@>9EQ2Es^gfy-VKyn0lc8i{7q3yuQV}F
zD6Fom;2?qz@ukzYpge~g8?BAWbC}{;E82F=WrGc<q3x&8B^qmty_aky%YQ{CKTGq<
zYP!kE(69SylMU^oAELgld(|`QSIDWIzU`!z4rh5Kn4EmCqu{yU{SIwx=mqDK8w<~1
zUPFy^`6*;La<HSR(O`c-+NrbAEnz=wxz=;F=D$%Gr5~UQ*wG%^^eW0ENv91u_qR-a
z$S)u&@oi_Fi#yBZUxTms_h&AvlAOS|`l_14f97W-V>0;?er)DQ&9VG84bSn{>9B(k
zwM%!e%*jQ~?@0DuS;yYC#^~O_E+}d7VN;GP%ockmCFlj4DNZ%yl_X-Hn$v_=+Er1z
z)xF^ugN@xFweaki3bVXB3?uwjsn55R<b|OgeId~Hv@}>D1&YMi6B+jBAEU6|0Y1ne
zLxbyOnkM9BHX2f}bHa<7WG>P_pz=aP(B)D(uo1i&yvId9DaA3GTsK?WdG%g5Q5z-%
zUfT;wH`Xu@LDvM>F<4<`LiFUdk7UO)oS&1>Rnv!81;V#S1gZ^;byAIw5fmjY3m)nw
z?+@SmlmBCWV>bFM8|-jGB{WLeI3o9DaWo<)11@8`kh*v=cN0DNB+st4sz6R#2I0qi
z4c&8ZcAexDoiEyzoZJ((D9)8bG%^Z+MCs@_Q)++#Uvn&7#CI<7^ioFM{2qLTEAfMX
z#1kD>oACS6EsTK8F}{R&pahvhyt|}$lX5-EzVP=!*jL*U(=7^7%UUF#`g>m(9)4uh
zN+-O*&B&PgYQ520)x+!;$#)PXM`Kgq-o1CQLPsDGuSVi?k7|gIEtmv^WewHMkLAio
zl1Us*ZM8T5*j_cED4OCIiNDZ{(dj&{3{g&T+~4Y*L((GimlI~v8Q&*2;zNurHxdEX
zDgWY5T-u#~Rw6AH53<&eUOA_3sJa+<`S@61`0Z+&gPPC(dA9xY-3vCHs+QQ8y<*H|
zq`~2~B6ACGIIhlq0<JP>$V=$vE_&HDcwxCpLD6$_1>ZT*h{SQByL1NMw0+fOj?Wz&
zFvJdbQkbJBeJ=wX#hUle7%rUXR$4yPWhM|#t(`DrC+d#^K8*!sRn%{Eee5S%bqSan
z?Gaxb6y6;Dw^4Ura3@7~UnV3ahsAZxfc!%uwqZbo@PGj7@>ji1sVn}8fiB(aiz~Jo
zTDXK*@oVh~gVo^Iu~o8PQNMj6)RalL?o3^H@pnjZNLWoX&@@;gDJHvX&C-&SZCkAF
z?Pux@B3eZQ037cWb&FZMuP+XLz1yG`s8)?SoCs!ygWlxG$PB`Eka2i37Fv)TK{|58
zJti;S=?xo)8?eTei(HD#<H{`dIBo}QZ*qye7Ch&8W=G`>f`Jq8j>vX~5NRzRU9sf_
z>oxtdr~$>ax+OJ;^X)vsSztp0JYJsoQlX{)JP`NN^%4mv6u3oW-hBTdM2W@5-Fze>
z9n9nd!<vn@x)+DSqur{lShQR5c_q20z&z9X_VI@tF-sZITiJ8(=%yDq%20jBZq4o?
zgCC2nZ#R@cyO{hJ?i_$meOX?m;pkq%(#414r`r1hpFn%A^?fTAk~P~=C0`Omj7x)=
z_=sB}!Gp5B>;qg7R6d&M#&&}CPAvA|mF^4XPltG`XZl9!t)5o^flxcEGJRDAZjOjF
zQ0Iea%DG$E3bP&!(93|2RCY3l5t3s3J*JOik0=hGeaJ@3@H8tD7<k9<<dKwp&eQ6Z
z9|U0$hb)b5lItCim6MC_Nf&^qL{S0zjAEPdi{G~l$mUBpQVcZOtKq$za5*WnwuQO{
zxF$NXUlSh-TEr%CuFbjgKX@wV^CqEZM<ObXOWagY0q?8j*FR)BnR)!IQXA#2X-7RS
zQDDqU9@ib_?%osL+z(HZl~m@gbUVL(W{K>CVRqHg&`+R3j0a8@kqB}PI}{$m!yRab
zvul5lL(>3*TF>n~)*#hsmwUTtKRAA2Fnk0PENdI!9GrZLu@zyKzs+&m-IKFviqv>&
kg1Lm#gqI~e;$iYPkmG5c&N-g{UI@TVLkokN>#mRg2V?7pi2wiq

literal 4364
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
R{`JtfXJldc{<h1L{{WuIQ~3Y@

-- 
GitLab


From 9d0328ff00a1fa28f58b3cefa826bed9e21ab580 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 08:21:39 -0800
Subject: [PATCH 510/576] adding outline callout as a fallback for IE--needs
 testing though, thought I already added this

---
 docs/assets/css/bootstrap.css | 7 +++++--
 less/forms.less               | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 68e161051b..3a981f94da 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Thu Jan 26 22:39:03 PST 2012
+ * Date: Fri Jan 27 08:21:21 PST 2012
  */
 article,
 aside,
@@ -604,6 +604,9 @@ input:focus, textarea:focus {
   -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: 1px dotted #666 \9;
+  /* IE6-8 */
+
 }
 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
   -webkit-box-shadow: none;
@@ -1831,7 +1834,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/less/forms.less b/less/forms.less
index 9e2e1dc1bf..d2e049de5a 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -192,6 +192,7 @@ textarea:focus {
   @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
   .box-shadow(@shadow);
   outline: 0;
+  outline: 1px dotted #666 \9; /* IE6-8 */
 }
 input[type=file]:focus,
 input[type=checkbox]:focus,
-- 
GitLab


From 6075b5dee6c892b991e8a00de70942f28f9a1c14 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 17:32:11 -0500
Subject: [PATCH 511/576] Collapses borders for IE7, which doesn't respect
 border-spacing

---
 less/tables.less | 1 +
 1 file changed, 1 insertion(+)

diff --git a/less/tables.less b/less/tables.less
index 809c2f60e7..c069ed5886 100644
--- a/less/tables.less
+++ b/less/tables.less
@@ -64,6 +64,7 @@ table {
 .table-bordered {
   border: 1px solid #ddd;
   border-collapse: separate; // Done so we can round those corners!
+  *border-collapse: collapsed; // IE7 can't round corners anyway
   .border-radius(4px);
   th + th,
   td + td,
-- 
GitLab


From 841e386daf01e06f2eba00725545f3e3315334b3 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 17:32:44 -0500
Subject: [PATCH 512/576] Fixes up internal and external spacing for IE7
 buttons

---
 less/buttons.less | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/less/buttons.less b/less/buttons.less
index d7f5337832..f18cf9d955 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -67,6 +67,13 @@
   // Button Base
   display: inline-block;
   padding: 4px 10px 4px;
+  *padding: 2px 10px;
+  // IE7 likes to collapse the whitespace before the button, so bring it back...
+  *margin-left: 4px;
+  &:first-child {
+    // ...but not before the first button
+    *margin-left: 0;
+  }
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
   color: @grayDark;
-- 
GitLab


From 526d38839332907062cde27727900deb06e0c50b Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 18:03:53 -0500
Subject: [PATCH 513/576] Compensates for IE7
 first-child-input-inheriting-hasLayout-parents-margins bug for appended text
 form element

---
 less/forms.less | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/less/forms.less b/less/forms.less
index d2e049de5a..55a6463687 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -440,6 +440,15 @@ select:focus:required:invalid {
     margin-left: -1px;
     .border-radius(0 3px 3px 0);
   }
+  input:first-child {
+    // In IE7, having a hasLayout container (from clearfix's zoom:1) can make the first input
+    // inherit the sum of its ancestors' margins.
+    *margin-left: -160px;
+
+    &+.add-on {
+      *margin-left: -21px;
+    }
+  }
 }
 
 
-- 
GitLab


From f51e703ba6a87ad504682c16b6dd747ebcfd2afb Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 12:16:36 -0500
Subject: [PATCH 514/576] Rebuild bootstrap.css

---
 docs/assets/css/bootstrap.css | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 3a981f94da..4fe86c977a 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 08:21:21 PST 2012
+ * Date: Fri Jan 27 12:16:22 EST 2012
  */
 article,
 aside,
@@ -887,6 +887,12 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
+.input-append input:first-child {
+  *margin-left: -160px;
+}
+.input-append input:first-child + .add-on {
+  *margin-left: -21px;
+}
 .search-query {
   padding-left: 14px;
   padding-right: 14px;
@@ -972,6 +978,7 @@ table {
 .table-bordered {
   border: 1px solid #ddd;
   border-collapse: separate;
+  *border-collapse: collapsed;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
@@ -1834,7 +1841,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2448,6 +2455,8 @@ table .span12 {
 .btn {
   display: inline-block;
   padding: 4px 10px 4px;
+  *padding: 2px 10px;
+  *margin-left: 4px;
   font-size: 13px;
   line-height: 18px;
   color: #333333;
@@ -2470,6 +2479,9 @@ table .span12 {
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
   cursor: pointer;
 }
+.btn:first-child {
+  *margin-left: 0;
+}
 .btn:hover {
   color: #333333;
   text-decoration: none;
-- 
GitLab


From e44a7dd4ff2d505e6bc41ba0a5fdf66650cdf605 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 09:36:49 -0800
Subject: [PATCH 515/576] buttons for toggle links in js docs, code example for
 offsetting in grid

---
 docs/templates/pages/download.mustache    | 6 +++---
 docs/templates/pages/scaffolding.mustache | 8 ++++++++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 0f997d3686..5b9f765ab9 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -19,7 +19,7 @@
 
 <section class="download" id="components">
   <div class="page-header">
-    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
     <h1>
       1. Select components
       <small>Get just the CSS you need</small>
@@ -79,7 +79,7 @@
 
 <section class="download" id="variables">
   <div class="page-header">
-    <a class="pull-right toggle-all" href="#">Reset to defaults</a>
+    <a class="btn small pull-right toggle-all" href="#">Reset to defaults</a>
     <h1>
       2. Modify variables
       <small>Customize Bootstrap without using a LESS compiler</small>
@@ -157,7 +157,7 @@
 
 <section class="download" id="plugins">
   <div class="page-header">
-    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
     <h1>
       3. Select jQuery plugins
       <small>Quickly add only the necessary javascript</small>
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache
index 7781e86f65..cf672cc6e0 100644
--- a/docs/templates/pages/scaffolding.mustache
+++ b/docs/templates/pages/scaffolding.mustache
@@ -71,6 +71,8 @@
     </div>
   </div><!-- /row -->
 
+  <br>
+
   <h2>Offsetting columns</h2>
   <div class="row show-grid">
     <div class="span4">4</div>
@@ -83,6 +85,12 @@
   <div class="row show-grid">
     <div class="span8 offset4">8 offset 4</div>
   </div><!-- /row -->
+<pre class="prettyprint linenums">
+&lt;div class="row"&gt;
+  &lt;div class="span4"&gt;...&lt;/div&gt;
+  &lt;div class="span4 offset4"&gt;...&lt;/div&gt;
+&lt;/div&gt;
+</pre>
 
   <br>
 
-- 
GitLab


From 70d95b1bd72a039d47695495aac6b71da17df7dc Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 13:27:55 -0500
Subject: [PATCH 516/576] Moves IE7-specific button padding to only apply to
 form controls

---
 less/buttons.less | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/less/buttons.less b/less/buttons.less
index f18cf9d955..5f6f0c24b2 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -67,7 +67,6 @@
   // Button Base
   display: inline-block;
   padding: 4px 10px 4px;
-  *padding: 2px 10px;
   // IE7 likes to collapse the whitespace before the button, so bring it back...
   *margin-left: 4px;
   &:first-child {
@@ -151,6 +150,8 @@
 // Help Firefox not be a jerk about adding extra padding to buttons
 button.btn,
 input[type=submit].btn {
+  // IE7 has some default padding on button controls
+  *padding: 2px 10px;
   &::-moz-focus-inner {
   	padding: 0;
   	border: 0;
-- 
GitLab


From 7b31f4a33467d8e69c0723525b8d9d8e024eaeb6 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 13:56:41 -0500
Subject: [PATCH 517/576] Brings back uneditable input

---
 docs/templates/pages/base-css.mustache | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index c3d10eb081..2e7af5cc75 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -969,6 +969,12 @@
               <input class="input-xlarge focused" id="focusedInput" type="text" value="{{_i}}This is focused…{{/i}}">
             </div>
           </div>
+          <div class="control-group">
+            <label class="control-label">Uneditable input</label>
+            <div class="controls">
+              <span class="input-xlarge uneditable-input">Some value here</span>
+            </div>
+          </div>
           <div class="control-group">
             <label class="control-label" for="disabledInput">{{_i}}Disabled input{{/i}}</label>
             <div class="controls">
@@ -1424,4 +1430,4 @@
       </div> <!-- /well -->
     </div>
   </div>
-</section>
\ No newline at end of file
+</section>
-- 
GitLab


From 43f1a42f7f254ad5d776564122bdae6547a4fbcd Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 13:57:51 -0500
Subject: [PATCH 518/576] Adds necessary ie7-inline-block macros

---
 less/button-groups.less | 1 +
 less/forms.less         | 1 +
 2 files changed, 2 insertions(+)

diff --git a/less/button-groups.less b/less/button-groups.less
index 5fb0a8e975..fd802cc359 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -17,6 +17,7 @@
 .btn-toolbar {
   .btn-group {
     display: inline-block;
+    .ie7-inline-block;
   }
 }
 
diff --git a/less/forms.less b/less/forms.less
index 55a6463687..52f5063f05 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -377,6 +377,7 @@ select:focus:required:invalid {
 
 .help-inline {
   display: inline-block;
+  .ie7-inline-block;
   margin-bottom: 9px;
   vertical-align: middle;
   padding-left: 5px;
-- 
GitLab


From 347a15b69aff9cf3f9bc5c47c9bcadb459eb895b Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 14:17:06 -0500
Subject: [PATCH 519/576] Cleans up IE7 inline margins for buttons and adds
 them for sprites, also fixes button padding for large/small sizes

---
 less/buttons.less | 26 ++++++++++++++++----------
 less/mixins.less  | 22 ++++++++++++++++++++++
 less/sprites.less |  2 ++
 3 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/less/buttons.less b/less/buttons.less
index 5f6f0c24b2..06a7d91bdf 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -67,12 +67,6 @@
   // Button Base
   display: inline-block;
   padding: 4px 10px 4px;
-  // IE7 likes to collapse the whitespace before the button, so bring it back...
-  *margin-left: 4px;
-  &:first-child {
-    // ...but not before the first button
-    *margin-left: 0;
-  }
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
   color: @grayDark;
@@ -85,6 +79,8 @@
   .box-shadow(@shadow);
   cursor: pointer;
 
+  .ie7-restore-left-whitespace;
+
   &:hover {
     color: @grayDark;
     text-decoration: none;
@@ -129,7 +125,7 @@
 
   // Button Sizes
   &.large {
-    padding: 9px 14px 9px;
+    padding: 9px 14px;
     font-size: @baseFontSize + 2px;
     line-height: normal;
     .border-radius(5px);
@@ -138,7 +134,7 @@
     margin-top: 1px;
   }
   &.small {
-    padding: 5px 9px 5px;
+    padding: 5px 9px;
     font-size: @baseFontSize - 2px;
     line-height: @baseLineHeight - 2px;
   }
@@ -150,10 +146,20 @@
 // Help Firefox not be a jerk about adding extra padding to buttons
 button.btn,
 input[type=submit].btn {
-  // IE7 has some default padding on button controls
-  *padding: 2px 10px;
   &::-moz-focus-inner {
   	padding: 0;
   	border: 0;
   }
+
+  // IE7 has some default padding on button controls
+  *padding-top: 2px;
+  *padding-bottom: 2px;
+  &.large {
+    *padding-top: 7px;
+    *padding-bottom: 7px;
+  }
+  &.small {
+    *padding-top: 3px;
+    *padding-bottom: 3px;
+  }
 }
diff --git a/less/mixins.less b/less/mixins.less
index dd331ebf28..745fe33d95 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -36,6 +36,28 @@
   *zoom: 1;
 }
 
+// IE7 likes to collapse whitespace on either side of the inline-block elements.
+// Ems because we're attempting to match the width of a space character. Left
+// version is for form buttons, which typically come after other elements, and
+// right version is for icons, which come before. Applying both is ok, but it will
+// mean that space between those elements will be .6em (~2 space characters) in IE7,
+// instead of the 1 space in other browsers.
+.ie7-restore-left-whitespace() {
+  *margin-left: .3em;
+
+  &:first-child {
+    *margin-left: 0;
+  }
+}
+
+.ie7-restore-right-whitespace() {
+  *margin-right: .3em;
+
+  &:last-child {
+    *margin-left: 0;
+  }
+}
+
 // Sizing shortcuts
 // -------------------------
 .size(@height: 5px, @width: 5px) {
diff --git a/less/sprites.less b/less/sprites.less
index 599434b2bc..fac416df33 100644
--- a/less/sprites.less
+++ b/less/sprites.less
@@ -19,6 +19,8 @@
   vertical-align: text-top;
   width: 14px;
   height: 14px;
+
+  .ie7-restore-right-whitespace;
 }
 .icon.white {
   background-image: url(../img/glyphicons-halflings-sprite-white.png);
-- 
GitLab


From 8328987b15e0bb9e1c2ee1bd90e8dee9843f0ea7 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 16:06:58 -0500
Subject: [PATCH 520/576] IE7 fixes for split buttons and dropdowns

---
 less/button-groups.less | 30 ++++++++++++++++++++----------
 less/dropdowns.less     | 21 +++++++++++++++++++--
 2 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/less/button-groups.less b/less/button-groups.less
index fd802cc359..a058f03448 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -6,6 +6,7 @@
 .btn-group {
   position: relative;
   .clearfix(); // clears the floated buttons
+  .ie7-restore-left-whitespace;
 }
 
 // Space out series of button groups
@@ -84,18 +85,27 @@
   padding-right: 8px;
   @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(@shadow);
+  *padding-top: 5px;
+  *padding-bottom: 5px;
 }
 
-// Reposition menu on open and round all corners
-.btn-group.open .dropdown-menu {
-  display: block;
-  margin-top: 1px;
-  .border-radius(5px);
-}
-.btn-group.open .dropdown-toggle {
-  background-image: none;
-  @shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
-  .box-shadow(@shadow);
+.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: @zindexDropdown;
+
+  // Reposition menu on open and round all corners
+  .dropdown-menu {
+    display: block;
+    margin-top: 1px;
+    .border-radius(5px);
+  }
+
+  .dropdown-toggle {
+    background-image: none;
+    @shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+    .box-shadow(@shadow);
+  }
 }
 
 // Reposition the caret
diff --git a/less/dropdowns.less b/less/dropdowns.less
index 06114b254d..e73b056e96 100644
--- a/less/dropdowns.less
+++ b/less/dropdowns.less
@@ -5,12 +5,19 @@
 .dropdown {
   position: relative;
 }
+.dropdown .dropdown-toggle {
+  // The caret makes the toggle a bit too tall in IE7
+  *margin-bottom: -3px;
+}
 // Dropdown arrow/caret
 .caret {
   display: inline-block;
   width: 0;
   height: 0;
   text-indent: -99999px;
+  // IE7 won't do the border trick if there's a text indent, but it doesn't
+  // do the content that text-indent is hiding, either, so we're ok.
+  *text-indent: 0;
   vertical-align: top;
   border-left:  4px solid transparent;
   border-right: 4px solid transparent;
@@ -21,7 +28,6 @@
 .dropdown .caret {
   margin-top: 8px;
   margin-left: 2px;
-  *margin-top: 7px;
 }
 .dropdown:hover .caret,
 .open.dropdown .caret {
@@ -31,6 +37,7 @@
 .dropdown-menu {
   position: absolute;
   top: 100%;
+  left: 0;
   z-index: @zindexDropdown;
   float: left;
   display: none; // none by default, but block on "open" of the menu
@@ -50,7 +57,6 @@
   -webkit-background-clip: padding-box;
      -moz-background-clip: padding;
           background-clip: padding-box;
-  zoom: 1; // do we need this?
   *border-right-width: 2px;
   *border-bottom-width: 2px;
 
@@ -68,6 +74,13 @@
     overflow: hidden;
     background-color: #e5e5e5;
     border-bottom: 1px solid @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%;
+    *margin: -5px 0 5px;
   }
 
   // Links within the dropdown menu
@@ -93,6 +106,10 @@
 
 // Open state for the dropdown
 .dropdown.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: @zindexDropdown;
+
   .dropdown-toggle {
     color: @white;
     background: #ccc;
-- 
GitLab


From e8647c1b118d2c726a8987e9a41aad82da972b57 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 13:20:02 -0800
Subject: [PATCH 521/576] 
 huuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuge update to doces
 and stuff

---
 docs/assets/css/bootstrap-responsive.css |   2 +
 docs/assets/css/bootstrap.css            |  23 +--
 docs/assets/css/docs.css                 |  32 ++--
 docs/base-css.html                       |   2 +-
 docs/components.html                     |  12 +-
 docs/download.html                       | 198 ++++++++++++-----------
 docs/examples.html                       |   2 +-
 docs/index.html                          |  27 ++--
 docs/javascript.html                     |   2 +-
 docs/less.html                           |  14 +-
 docs/scaffolding.html                    |  10 +-
 docs/templates/layout.mustache           |   2 +-
 docs/templates/pages/components.mustache |  10 +-
 docs/templates/pages/download.mustache   | 192 ++++++++++++----------
 docs/templates/pages/index.mustache      |  25 +--
 docs/templates/pages/less.mustache       |  12 ++
 docs/upgrading.html                      |   2 +-
 less/accordion.less                      |   4 +-
 less/navbar.less                         |  27 ++--
 less/responsive.less                     |   2 +
 less/scaffolding.less                    |   8 +-
 less/variables.less                      |  12 +-
 22 files changed, 351 insertions(+), 269 deletions(-)

diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
index 02b5c099ef..6886105cb9 100644
--- a/docs/assets/css/bootstrap-responsive.css
+++ b/docs/assets/css/bootstrap-responsive.css
@@ -111,6 +111,8 @@
 @media (min-width: 768px) and (max-width: 940px) {
   .container {
     width: 748px;
+    padding-left: 10px;
+    padding-right: 10px;
   }
   .span1 {
     width: 44px;
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 4fe86c977a..b772e8bbb5 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 12:16:22 EST 2012
+ * Date: Fri Jan 27 13:19:35 PST 2012
  */
 article,
 aside,
@@ -1791,11 +1791,12 @@ table .span12 {
   line-height: 1;
   color: #ffffff;
 }
-.navbar p {
-  margin: 0;
+.navbar .navbar-text {
+  margin-bottom: 0;
   line-height: 40px;
+  color: #999999;
 }
-.navbar p a:hover {
+.navbar .navbar-text a:hover {
   color: #ffffff;
   background-color: transparent;
 }
@@ -1841,7 +1842,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -1870,7 +1871,7 @@ table .span12 {
   -moz-border-radius: 4px;
   border-radius: 4px;
 }
-.navbar-fixed {
+.navbar-fixed-top {
   position: fixed;
   top: 0;
   right: 0;
@@ -1916,7 +1917,7 @@ table .span12 {
   margin: 0 5px;
   overflow: hidden;
   background-color: #222222;
-  border-right: 1px solid #444;
+  border-right: 1px solid #333333;
 }
 .navbar .nav.pull-right {
   margin-left: 10px;
@@ -2649,7 +2650,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   margin-bottom: 18px;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   background-color: #fcf8e3;
-  border: 1px solid #f3edd2;
+  border: 1px solid #fbeed5;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
@@ -2664,14 +2665,14 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .alert-success {
   background-color: #dff0d8;
-  border-color: #cfe8c4;
+  border-color: #d6e9c6;
 }
 .alert-success, .alert-success .alert-heading {
   color: #468847;
 }
 .alert-danger, .alert-error {
   background-color: #f2dede;
-  border-color: #e9c7c7;
+  border-color: #eed3d7;
 }
 .alert-danger,
 .alert-error,
@@ -2681,7 +2682,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 }
 .alert-info {
   background-color: #d9edf7;
-  border-color: #bfe1f2;
+  border-color: #bce8f1;
 }
 .alert-info, .alert-info .alert-heading {
   color: #3a87ad;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 6fa20cf4da..19356df1a6 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -20,7 +20,7 @@ body {
 
 /* Tweak navbar brand link to be super sleek
 -------------------------------------------------- */
-.navbar-fixed .brand {
+.navbar-fixed-top .brand {
   padding-right: 0;
   padding-left: 0;
   margin-left: 20px;
@@ -32,7 +32,7 @@ body {
      -moz-transition: all .2s linear;
           transition: all .2s linear;
 }
-.navbar-fixed .brand:hover {
+.navbar-fixed-top .brand:hover {
   text-decoration: none;
 }
 
@@ -302,14 +302,9 @@ hr.soften {
 
 /* Quickstart section for getting le code
 -------------------------------------------------- */
-.getting-started h3,
-.getting-started p {
-  line-height: 18px;
-  text-align: center;
-  margin-bottom: 9px;
-}
 .getting-started p {
   color: #777;
+  margin-bottom: 9px;
 }
 .getting-started .current-version,
 .getting-started .current-version a {
@@ -322,14 +317,12 @@ hr.soften {
   display: block;
   width: 95%;
   height: auto;
-  margin-left: auto;
-  margin-right: auto;
   font-family: Menlo, Monaco, "Courier New", monospace;
   font-size: 12px;
   line-height: 20px;
   white-space: nowrap;
   overflow: hidden;
-  background-color: #f5f5f5;
+  color: #999;
   /* Makes inputs behave like true block-level elements */
   -webkit-box-sizing: border-box; /* Older Webkit */
      -moz-box-sizing: border-box; /* Older FF */
@@ -339,6 +332,9 @@ hr.soften {
   *width: 80%;
   *height: 24px;
 }
+.getting-started textarea:focus {
+  color: #333;
+}
 
 
 /* Footer
@@ -476,7 +472,7 @@ hr.soften {
   margin-top: 36px;
 }
 .page-header .toggle-all {
-  margin-top: 13px;
+  margin-top: 5px;
 }
 
 /* Space out h3s when following a section */
@@ -518,6 +514,11 @@ hr.soften {
   color: #777;
 }
 
+/* Variables section */
+#variables label {
+  margin-bottom: 0;
+}
+
 /* Giant download button */
 .download-btn {
   margin: 36px 0 108px.i;
@@ -525,13 +526,16 @@ hr.soften {
 .download p,
 .download h4 {
   max-width: 50%;
-  margin: 0 auto 18px;
+  margin: 0 auto;
   color: #999;
   text-align: center;
 }
-.download-btn h4 {
+.download h4 {
   margin-bottom: 0;
 }
+.download p {
+  margin-bottom: 18px;
+}
 .btn.xlarge {
   display: block;
   width: auto;
diff --git a/docs/base-css.html b/docs/base-css.html
index 9cad9de017..2cab601dfb 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
diff --git a/docs/components.html b/docs/components.html
index eba49449f9..7efa889b81 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
@@ -71,7 +71,7 @@
   <div class="subnav">
     <ul class="nav pills">
       <li><a href="#buttonGroups">Button groups</a></li>
-      <li><a href="#comboButtons">Combo buttons</a></li>
+      <li><a href="#buttonDropdowns">Button dropdowns</a></li>
       <li><a href="#navs">Nav, tabs, pills</a></li>
       <li><a href="#navbar">Navbar</a></li>
       <li><a href="#breadcrumbs">Breadcrumbs</a></li>
@@ -157,9 +157,9 @@
 
 <!-- Split button dropdowns
 ================================================== -->
-<section id="comboButtons">
+<section id="buttonDropdowns">
   <div class="page-header">
-    <h1>Combo buttons <small>Built on button groups to provide contextual dropdown menus</small></h1>
+    <h1>Buttons dropdowns <small>Built on button groups to provide contextual dropdown menus</small></h1>
   </div>
   <div class="row">
     <div class="span4">
@@ -699,9 +699,9 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      <p>To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
+      <p>To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed-top</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.</p>
 <pre class="prettyprint linenums">
-&lt;div class="navbar navbar-fixed"&gt;
+&lt;div class="navbar navbar-fixed-top"&gt;
   ...
 &lt;/div&gt;
 </pre>
diff --git a/docs/download.html b/docs/download.html
index 3af30dca7f..458b5caa05 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
@@ -74,19 +74,19 @@
   <p class="lead"><a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="#components">1. Select components</a></li>
-      <li><a href="#variables">2. Modify variables</a></li>
-      <li><a href="#plugins">3. Select jQuery plugins</a></li>
-      <li><a href="#download">4. Customize and download</a></li>
+      <li><a href="#components">1. Choose components</a></li>
+      <li><a href="#plugins">2. Select jQuery plugins</a></li>
+      <li><a href="#variables">3. Customize variables</a></li>
+      <li><a href="#download">4. Download</a></li>
     </ul>
   </div>
 </header>
 
 <section class="download" id="components">
   <div class="page-header">
-    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
     <h1>
-      1. Select components
+      1. Chose components
       <small>Get just the CSS you need</small>
     </h1>
   </div>
@@ -107,8 +107,7 @@
     </div><!-- /span -->
     <div class="span3">
       <h3>Components</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Combo buttons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups and dropdowns</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
@@ -124,8 +123,7 @@
       <label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Tabs</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Collapse</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="accordion.less"> Collapse</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
     </div><!-- /span -->
     <div class="span3">
@@ -134,97 +132,21 @@
       <label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
+      <!--
       <h3>Responsive</h3>
       <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 480px</label>
       <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 768px</label>
       <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 1210px</label>
-    </div><!-- /span -->
-  </div><!-- /row -->
-</section>
-
-<section class="download" id="variables">
-  <div class="page-header">
-    <a class="pull-right toggle-all" href="#">Reset to defaults</a>
-    <h1>
-      2. Modify variables
-      <small>Customize Bootstrap without using a LESS compiler</small>
-    </h1>
-  </div>
-  <div class="row download-builder">
-    <div class="span4">
-      <h3>Links</h3>
-      <label>@linkColor</label>
-      <input type="text" class="span3" placeholder="#08c">
-      <label>@linkColorHover</label>
-      <input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
-      <h3>Grid system</h3>
-      <label>@gridColumns</label>
-      <input type="text" class="span3" placeholder="12">
-      <label>@gridColumnWidth</label>
-      <input type="text" class="span3" placeholder="40px">
-      <label>@gridGutterWidth</label>
-      <input type="text" class="span3" placeholder="20px">
-      <label>@siteWidth</label>
-      <input type="text" class="span3" placeholder="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
-      <label>@fluidSidebarWidth</label>
-      <input type="text" class="span3" placeholder="220px">
-    </div><!-- /span -->
-    <div class="span4">
-      <h3>Typography</h3>
-      <label>@baseFontSize</label>
-      <input type="text" class="span3" placeholder="13px">
-      <label>@baseFontFamily</label>
-      <input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
-      <label>@baseLineHeight</label>
-      <input type="text" class="span3" placeholder="18px">
-      <h3>Forms</h3>
-      <label>@primaryButtonColor</label>
-      <input type="text" class="span3" placeholder="@blue">
-      <label>@placeholderText</label>
-      <input type="text" class="span3" placeholder="@grayLight">
-      <h3>Navbar</h3>
-      <label>@navbarHeight</label>
-      <input type="text" class="span3" placeholder="40px">
-      <label>@navbarBackground</label>
-      <input type="text" class="span3" placeholder="@grayDarker">
-      <label>@navbarBackgroundHighlight</label>
-      <input type="text" class="span3" placeholder="@grayDark">
-    </div><!-- /span -->
-    <div class="span4">
-      <h3>Form states &amp; alerts</h3>
-      <label>@warningText</label>
-      <input type="text" class="span3" placeholder="#c09853">
-      <label>@warningBackground</label>
-      <input type="text" class="span3" placeholder="#fcf8e3">
-      <label>@warningBorder</label>
-      <input type="text" class="span3" placeholder="#f3edd2">
-      <label>@errorText</label>
-      <input type="text" class="span3" placeholder="#b94a48">
-      <label>@errorBackground</label>
-      <input type="text" class="span3" placeholder="#f2dede">
-      <label>@errorBorder</label>
-      <input type="text" class="span3" placeholder="#e9c7c7">
-      <label>@successText</label>
-      <input type="text" class="span3" placeholder="#468847">
-      <label>@successBackground</label>
-      <input type="text" class="span3" placeholder="#dff0d8">
-      <label>@successBorder</label>
-      <input type="text" class="span3" placeholder="#cfe8c4">
-      <label>@infoText</label>
-      <input type="text" class="span3" placeholder="#3a87ad">
-      <label>@infoBackground</label>
-      <input type="text" class="span3" placeholder="#d9edf7">
-      <label>@infoBorder</label>
-      <input type="text" class="span3" placeholder="#bfe1f2">
+      -->
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
 
 <section class="download" id="plugins">
   <div class="page-header">
-    <a class="pull-right toggle-all" href="#">Toggle all</a>
+    <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
     <h1>
-      3. Select jQuery plugins
+      2. Select jQuery plugins
       <small>Quickly add only the necessary javascript</small>
     </h1>
   </div>
@@ -288,6 +210,100 @@
   </div><!-- /row -->
 </section>
 
+
+<section class="download" id="variables">
+  <div class="page-header">
+    <a class="btn small pull-right toggle-all" href="#">Reset to defaults</a>
+    <h1>
+      3. Customize variables
+      <small>Optionally modify Bootstrap without a compiler</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span3">
+      <h3>Links</h3>
+      <label>@linkColor</label>
+      <input type="text" class="span3" placeholder="#08c">
+      <label>@linkColorHover</label>
+      <input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
+      <h3>Colors</h3>
+      <label>@blue</label>
+      <input type="text" class="span3" placeholder="#049cdb">
+      <label>@green</label>
+      <input type="text" class="span3" placeholder="#46a546">
+      <label>@red</label>
+      <input type="text" class="span3" placeholder="#9d261d">
+      <label>@yellow</label>
+      <input type="text" class="span3" placeholder="#ffc40d">
+      <label>@orange</label>
+      <input type="text" class="span3" placeholder="#f89406">
+      <label>@pink</label>
+      <input type="text" class="span3" placeholder="#c3325f">
+      <label>@purple</label>
+      <input type="text" class="span3" placeholder="#7a43b6">
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Grid system</h3>
+      <label>@gridColumns</label>
+      <input type="text" class="span3" placeholder="12">
+      <label>@gridColumnWidth</label>
+      <input type="text" class="span3" placeholder="40px">
+      <label>@gridGutterWidth</label>
+      <input type="text" class="span3" placeholder="20px">
+      <label>@siteWidth</label>
+      <input type="text" class="span3" placeholder="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
+      <label>@fluidSidebarWidth</label>
+      <input type="text" class="span3" placeholder="220px">
+      <h3>Typography</h3>
+      <label>@baseFontSize</label>
+      <input type="text" class="span3" placeholder="13px">
+      <label>@baseFontFamily</label>
+      <input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
+      <label>@baseLineHeight</label>
+      <input type="text" class="span3" placeholder="18px">
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Forms</h3>
+      <label>@primaryButtonColor</label>
+      <input type="text" class="span3" placeholder="@blue">
+      <label>@placeholderText</label>
+      <input type="text" class="span3" placeholder="@grayLight">
+      <h3>Navbar</h3>
+      <label>@navbarHeight</label>
+      <input type="text" class="span3" placeholder="40px">
+      <label>@navbarBackground</label>
+      <input type="text" class="span3" placeholder="@grayDarker">
+      <label>@navbarBackgroundHighlight</label>
+      <input type="text" class="span3" placeholder="@grayDark">
+      <label>@navbarText</label>
+      <input type="text" class="span3" placeholder="@grayLight">
+      <label>@navbarLinkColor</label>
+      <input type="text" class="span3" placeholder="@grayLight">
+      <label>@navbarLinkColorHover</label>
+      <input type="text" class="span3" placeholder="@white">
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Form states &amp; alerts</h3>
+      <label>@warningText</label>
+      <input type="text" class="span3" placeholder="#c09853">
+      <label>@warningBackground</label>
+      <input type="text" class="span3" placeholder="#fcf8e3">
+      <label>@errorText</label>
+      <input type="text" class="span3" placeholder="#b94a48">
+      <label>@errorBackground</label>
+      <input type="text" class="span3" placeholder="#f2dede">
+      <label>@successText</label>
+      <input type="text" class="span3" placeholder="#468847">
+      <label>@successBackground</label>
+      <input type="text" class="span3" placeholder="#dff0d8">
+      <label>@infoText</label>
+      <input type="text" class="span3" placeholder="#3a87ad">
+      <label>@infoBackground</label>
+      <input type="text" class="span3" placeholder="#d9edf7">
+    </div><!-- /span -->
+  </div><!-- /row -->
+</section>
+
 <section class="download" id="download">
   <div class="page-header">
     <h1>
diff --git a/docs/examples.html b/docs/examples.html
index dfa62fe98c..3416ea6f20 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
diff --git a/docs/index.html b/docs/index.html
index 317ec994ba..4dd21b3fa9 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
@@ -73,7 +73,7 @@
             <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">View project on GitHub</a>
-              <a href="./download.html" class="btn btn-large">Customize and download</a>
+              <a href="./download.html" class="btn btn-large">Customize and Download</a>
             </p>
             <div class="benefits">
               <h4>Feature highlights</h4>
@@ -90,7 +90,7 @@
           </div>
 
           <ul class="quick-links">
-            <li><a href="https://github.com/twitter/bootstrap/">GitHub repo</a></li>
+            <li><a href="./upgrading.html">Upgrading from 1.4</a></li>
             <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
             <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
             <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
@@ -220,27 +220,28 @@
           <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
           <div class="getting-started">
             <div class="row">
+              <div class="span4">
+                <h3>Prostyle with Node</h3>
+                <p>If you use Node, download the repo, customize Bootstrap, and run make.</p>
+                <pre class="prettyprint">
+$ git clone git@github.com:twitter/bootstrap.git
+$ make</pre>
+              </div>
               <div class="span4">
                 <h3>Hotlink the CSS</h3>
-                <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+                <p>For the quickest and easiest start, just copy this snippet into your code to get the CSS.</p>
                 <form>
                   <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
                 </form>
               </div> 
               <div class="span4">
-                <h3>Use it with LESS</h3>
-                <p>A fan of using LESS? No problem, just download the repo and add these lines to your page:</p>
+                <h3>Use LESS.js</h3>
+                <p>A fan of using LESS? No problem, just link to the appropriate .less and .js files:</p>
                 <form>
                   <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
     &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
                 </form>
-              </div> 
-              <div class="span4">
-                <h3>Fork on GitHub</h3>
-                <p>Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.</p>
-                <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
-                <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
-              </div> 
+              </div>
             </div><!-- /row -->
           </div><!-- /getting-started -->
 
diff --git a/docs/javascript.html b/docs/javascript.html
index dd65c1b8d0..3a869e930e 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
diff --git a/docs/less.html b/docs/less.html
index fb1b0d18c8..33ebc82762 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
@@ -331,6 +331,18 @@
             <td><code>@navbarBackgroundHighlight</code></td>
             <td><code>@grayDark</code></td>
           </tr>
+          <tr>
+            <td><code>@navbarText</code></td>
+            <td><code>@grayLight</code></td>
+          </tr>
+          <tr>
+            <td><code>@navbarLinkColor</code></td>
+            <td><code>@grayLight</code></td>
+          </tr>
+          <tr>
+            <td><code>@navbarLinkColorHover</code></td>
+            <td><code>@white</code></td>
+          </tr>
         </tbody>
       </table>
     </div>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index f49b8d6c4b..eed2d71120 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
@@ -136,6 +136,8 @@
     </div>
   </div><!-- /row -->
 
+  <br>
+
   <h2>Offsetting columns</h2>
   <div class="row show-grid">
     <div class="span4">4</div>
@@ -148,6 +150,12 @@
   <div class="row show-grid">
     <div class="span8 offset4">8 offset 4</div>
   </div><!-- /row -->
+<pre class="prettyprint linenums">
+&lt;div class="row"&gt;
+  &lt;div class="span4"&gt;...&lt;/div&gt;
+  &lt;div class="span4 offset4"&gt;...&lt;/div&gt;
+&lt;/div&gt;
+</pre>
 
   <br>
 
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index dbb718056b..4a016e4d11 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index aaee36410e..f73052e63a 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -6,7 +6,7 @@
   <div class="subnav">
     <ul class="nav pills">
       <li><a href="#buttonGroups">{{_i}}Button groups{{/i}}</a></li>
-      <li><a href="#comboButtons">{{_i}}Combo buttons{{/i}}</a></li>
+      <li><a href="#buttonDropdowns">{{_i}}Button dropdowns{{/i}}</a></li>
       <li><a href="#navs">{{_i}}Nav, tabs, pills{{/i}}</a></li>
       <li><a href="#navbar">{{_i}}Navbar{{/i}}</a></li>
       <li><a href="#breadcrumbs">{{_i}}Breadcrumbs{{/i}}</a></li>
@@ -92,9 +92,9 @@
 
 <!-- Split button dropdowns
 ================================================== -->
-<section id="comboButtons">
+<section id="buttonDropdowns">
   <div class="page-header">
-    <h1>{{_i}}Combo buttons{{/i}} <small>{{_i}}Built on button groups to provide contextual dropdown menus{{/i}}</small></h1>
+    <h1>{{_i}}Buttons dropdowns{{/i}} <small>{{_i}}Built on button groups to provide contextual dropdown menus{{/i}}</small></h1>
   </div>
   <div class="row">
     <div class="span4">
@@ -634,9 +634,9 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-      <p>{{_i}}To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.{{/i}}</p>
+      <p>{{_i}}To make the navbar fixed, swap the <code>.navbar-static</code> class for <code>.navbar-fixed-top</code>. In your CSS, you will also need to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>&lt;body&gt;</code>.{{/i}}</p>
 <pre class="prettyprint linenums">
-&lt;div class="navbar navbar-fixed"&gt;
+&lt;div class="navbar navbar-fixed-top"&gt;
   ...
 &lt;/div&gt;
 </pre>
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 5b9f765ab9..2a8e46a8a5 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -9,10 +9,10 @@
   <p class="lead">{{_i}}<a href="https://github.com/twitter/bootstrap/zipball/master">Download the full repository</a> or customize your entire Bootstrap build by selecting only the components, javascript plugins, and assets you need.{{/i}}</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="#components">{{_i}}1. Select components{{/i}}</a></li>
-      <li><a href="#variables">{{_i}}2. Modify variables{{/i}}</a></li>
-      <li><a href="#plugins">{{_i}}3. Select jQuery plugins{{/i}}</a></li>
-      <li><a href="#download">{{_i}}4. Customize and download{{/i}}</a></li>
+      <li><a href="#components">{{_i}}1. Choose components{{/i}}</a></li>
+      <li><a href="#plugins">{{_i}}2. Select jQuery plugins{{/i}}</a></li>
+      <li><a href="#variables">{{_i}}3. Customize variables{{/i}}</a></li>
+      <li><a href="#download">{{_i}}4. Download{{/i}}</a></li>
     </ul>
   </div>
 </header>
@@ -21,7 +21,7 @@
   <div class="page-header">
     <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
     <h1>
-      1. Select components
+      1. Chose components
       <small>Get just the CSS you need</small>
     </h1>
   </div>
@@ -42,8 +42,7 @@
     </div><!-- /span -->
     <div class="span3">
       <h3>Components</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Combo buttons</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups and dropdowns</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
@@ -59,8 +58,7 @@
       <label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Tabs</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Collapse</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="accordion.less"> Collapse</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
     </div><!-- /span -->
     <div class="span3">
@@ -69,88 +67,12 @@
       <label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
       <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
+      <!--
       <h3>Responsive</h3>
       <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 480px</label>
       <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 768px</label>
       <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 1210px</label>
-    </div><!-- /span -->
-  </div><!-- /row -->
-</section>
-
-<section class="download" id="variables">
-  <div class="page-header">
-    <a class="btn small pull-right toggle-all" href="#">Reset to defaults</a>
-    <h1>
-      2. Modify variables
-      <small>Customize Bootstrap without using a LESS compiler</small>
-    </h1>
-  </div>
-  <div class="row download-builder">
-    <div class="span4">
-      <h3>Links</h3>
-      <label>@linkColor</label>
-      <input type="text" class="span3" placeholder="#08c">
-      <label>@linkColorHover</label>
-      <input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
-      <h3>Grid system</h3>
-      <label>@gridColumns</label>
-      <input type="text" class="span3" placeholder="12">
-      <label>@gridColumnWidth</label>
-      <input type="text" class="span3" placeholder="40px">
-      <label>@gridGutterWidth</label>
-      <input type="text" class="span3" placeholder="20px">
-      <label>@siteWidth</label>
-      <input type="text" class="span3" placeholder="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
-      <label>@fluidSidebarWidth</label>
-      <input type="text" class="span3" placeholder="220px">
-    </div><!-- /span -->
-    <div class="span4">
-      <h3>Typography</h3>
-      <label>@baseFontSize</label>
-      <input type="text" class="span3" placeholder="13px">
-      <label>@baseFontFamily</label>
-      <input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
-      <label>@baseLineHeight</label>
-      <input type="text" class="span3" placeholder="18px">
-      <h3>Forms</h3>
-      <label>@primaryButtonColor</label>
-      <input type="text" class="span3" placeholder="@blue">
-      <label>@placeholderText</label>
-      <input type="text" class="span3" placeholder="@grayLight">
-      <h3>Navbar</h3>
-      <label>@navbarHeight</label>
-      <input type="text" class="span3" placeholder="40px">
-      <label>@navbarBackground</label>
-      <input type="text" class="span3" placeholder="@grayDarker">
-      <label>@navbarBackgroundHighlight</label>
-      <input type="text" class="span3" placeholder="@grayDark">
-    </div><!-- /span -->
-    <div class="span4">
-      <h3>Form states &amp; alerts</h3>
-      <label>@warningText</label>
-      <input type="text" class="span3" placeholder="#c09853">
-      <label>@warningBackground</label>
-      <input type="text" class="span3" placeholder="#fcf8e3">
-      <label>@warningBorder</label>
-      <input type="text" class="span3" placeholder="#f3edd2">
-      <label>@errorText</label>
-      <input type="text" class="span3" placeholder="#b94a48">
-      <label>@errorBackground</label>
-      <input type="text" class="span3" placeholder="#f2dede">
-      <label>@errorBorder</label>
-      <input type="text" class="span3" placeholder="#e9c7c7">
-      <label>@successText</label>
-      <input type="text" class="span3" placeholder="#468847">
-      <label>@successBackground</label>
-      <input type="text" class="span3" placeholder="#dff0d8">
-      <label>@successBorder</label>
-      <input type="text" class="span3" placeholder="#cfe8c4">
-      <label>@infoText</label>
-      <input type="text" class="span3" placeholder="#3a87ad">
-      <label>@infoBackground</label>
-      <input type="text" class="span3" placeholder="#d9edf7">
-      <label>@infoBorder</label>
-      <input type="text" class="span3" placeholder="#bfe1f2">
+      -->
     </div><!-- /span -->
   </div><!-- /row -->
 </section>
@@ -159,7 +81,7 @@
   <div class="page-header">
     <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
     <h1>
-      3. Select jQuery plugins
+      2. Select jQuery plugins
       <small>Quickly add only the necessary javascript</small>
     </h1>
   </div>
@@ -223,6 +145,100 @@
   </div><!-- /row -->
 </section>
 
+
+<section class="download" id="variables">
+  <div class="page-header">
+    <a class="btn small pull-right toggle-all" href="#">Reset to defaults</a>
+    <h1>
+      3. Customize variables
+      <small>Optionally modify Bootstrap without a compiler</small>
+    </h1>
+  </div>
+  <div class="row download-builder">
+    <div class="span3">
+      <h3>Links</h3>
+      <label>@linkColor</label>
+      <input type="text" class="span3" placeholder="#08c">
+      <label>@linkColorHover</label>
+      <input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
+      <h3>Colors</h3>
+      <label>@blue</label>
+      <input type="text" class="span3" placeholder="#049cdb">
+      <label>@green</label>
+      <input type="text" class="span3" placeholder="#46a546">
+      <label>@red</label>
+      <input type="text" class="span3" placeholder="#9d261d">
+      <label>@yellow</label>
+      <input type="text" class="span3" placeholder="#ffc40d">
+      <label>@orange</label>
+      <input type="text" class="span3" placeholder="#f89406">
+      <label>@pink</label>
+      <input type="text" class="span3" placeholder="#c3325f">
+      <label>@purple</label>
+      <input type="text" class="span3" placeholder="#7a43b6">
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Grid system</h3>
+      <label>@gridColumns</label>
+      <input type="text" class="span3" placeholder="12">
+      <label>@gridColumnWidth</label>
+      <input type="text" class="span3" placeholder="40px">
+      <label>@gridGutterWidth</label>
+      <input type="text" class="span3" placeholder="20px">
+      <label>@siteWidth</label>
+      <input type="text" class="span3" placeholder="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
+      <label>@fluidSidebarWidth</label>
+      <input type="text" class="span3" placeholder="220px">
+      <h3>Typography</h3>
+      <label>@baseFontSize</label>
+      <input type="text" class="span3" placeholder="13px">
+      <label>@baseFontFamily</label>
+      <input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
+      <label>@baseLineHeight</label>
+      <input type="text" class="span3" placeholder="18px">
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Forms</h3>
+      <label>@primaryButtonColor</label>
+      <input type="text" class="span3" placeholder="@blue">
+      <label>@placeholderText</label>
+      <input type="text" class="span3" placeholder="@grayLight">
+      <h3>Navbar</h3>
+      <label>@navbarHeight</label>
+      <input type="text" class="span3" placeholder="40px">
+      <label>@navbarBackground</label>
+      <input type="text" class="span3" placeholder="@grayDarker">
+      <label>@navbarBackgroundHighlight</label>
+      <input type="text" class="span3" placeholder="@grayDark">
+      <label>@navbarText</label>
+      <input type="text" class="span3" placeholder="@grayLight">
+      <label>@navbarLinkColor</label>
+      <input type="text" class="span3" placeholder="@grayLight">
+      <label>@navbarLinkColorHover</label>
+      <input type="text" class="span3" placeholder="@white">
+    </div><!-- /span -->
+    <div class="span3">
+      <h3>Form states &amp; alerts</h3>
+      <label>@warningText</label>
+      <input type="text" class="span3" placeholder="#c09853">
+      <label>@warningBackground</label>
+      <input type="text" class="span3" placeholder="#fcf8e3">
+      <label>@errorText</label>
+      <input type="text" class="span3" placeholder="#b94a48">
+      <label>@errorBackground</label>
+      <input type="text" class="span3" placeholder="#f2dede">
+      <label>@successText</label>
+      <input type="text" class="span3" placeholder="#468847">
+      <label>@successBackground</label>
+      <input type="text" class="span3" placeholder="#dff0d8">
+      <label>@infoText</label>
+      <input type="text" class="span3" placeholder="#3a87ad">
+      <label>@infoBackground</label>
+      <input type="text" class="span3" placeholder="#d9edf7">
+    </div><!-- /span -->
+  </div><!-- /row -->
+</section>
+
 <section class="download" id="download">
   <div class="page-header">
     <h1>
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 9a5421bd3a..96477f0cac 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -8,7 +8,7 @@
             <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}View project on GitHub{{/i}}</a>
-              <a href="./download.html" class="btn btn-large">{{_i}}Customize and download{{/i}}</a>
+              <a href="./download.html" class="btn btn-large">{{_i}}Customize and Download{{/i}}</a>
             </p>
             <div class="benefits">
               <h4>{{_i}}Feature highlights{{/i}}</h4>
@@ -25,7 +25,7 @@
           </div>
 
           <ul class="quick-links">
-            <li><a href="https://github.com/twitter/bootstrap/">GitHub repo</a></li>
+            <li><a href="./upgrading.html">Upgrading from 1.4</a></li>
             <li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
             <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">{{_i}}Roadmap{{/i}}</a></li>
             <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">{{_i}}Changelog{{/i}}</a></li>
@@ -155,27 +155,28 @@
           <p class="marketing-byline">{{_i}}Quickly start using Bootstrap within your workflow and development process.{{/i}}</p>
           <div class="getting-started">
             <div class="row">
+              <div class="span4">
+                <h3>{{_i}}Prostyle with Node{{/i}}</h3>
+                <p>{{_i}}If you use Node, download the repo, customize Bootstrap, and run make.{{/i}}</p>
+                <pre class="prettyprint">
+$ git clone git@github.com:twitter/bootstrap.git
+$ make</pre>
+              </div>
               <div class="span4">
                 <h3>{{_i}}Hotlink the CSS{{/i}}</h3>
-                <p>{{_i}}For the quickest and easiest start, just copy this snippet into your webpage.{{/i}}</p>
+                <p>{{_i}}For the quickest and easiest start, just copy this snippet into your code to get the CSS.{{/i}}</p>
                 <form>
                   <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
                 </form>
               </div> 
               <div class="span4">
-                <h3>{{_i}}Use it with LESS{{/i}}</h3>
-                <p>{{_i}}A fan of using LESS? No problem, just download the repo and add these lines to your page:{{/i}}</p>
+                <h3>{{_i}}Use LESS.js{{/i}}</h3>
+                <p>{{_i}}A fan of using LESS? No problem, just link to the appropriate .less and .js files:{{/i}}</p>
                 <form>
                   <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
     &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
                 </form>
-              </div> 
-              <div class="span4">
-                <h3>{{_i}}Fork on GitHub{{/i}}</h3>
-                <p>{{_i}}Download, fork, pull, file issues, and more with the Bootstrap GitHub repo.{{/i}}</p>
-                <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">{{_i}}Bootstrap on GitHub &raquo;{{/i}}</a></p>
-                <p class="current-version">{{_i}}Currently{{/i}} <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v2.0.0</a></p>
-              </div> 
+              </div>
             </div><!-- /row -->
           </div><!-- /getting-started -->
 
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 1aec06c2c2..649f8f456e 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -266,6 +266,18 @@
             <td><code>@navbarBackgroundHighlight</code></td>
             <td><code>@grayDark</code></td>
           </tr>
+          <tr>
+            <td><code>@navbarText</code></td>
+            <td><code>@grayLight</code></td>
+          </tr>
+          <tr>
+            <td><code>@navbarLinkColor</code></td>
+            <td><code>@grayLight</code></td>
+          </tr>
+          <tr>
+            <td><code>@navbarLinkColorHover</code></td>
+            <td><code>@white</code></td>
+          </tr>
         </tbody>
       </table>
     </div>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 142e750cc9..779bf7165f 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -30,7 +30,7 @@
   
   <!-- Navbar
     ================================================== -->
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="./index.html">Bootstrap</a>
diff --git a/less/accordion.less b/less/accordion.less
index 1ebd5b1a1a..d5c00238c6 100644
--- a/less/accordion.less
+++ b/less/accordion.less
@@ -1,5 +1,5 @@
-// ACCORDION
-// ---------
+// COLLAPSE
+// --------
 
 
 // Parent container
diff --git a/less/navbar.less b/less/navbar.less
index dba95e5cd9..7a4b631d15 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -16,7 +16,7 @@
   .box-shadow(@shadow);
 }
 
-// Text and links
+// Brand, links, text, and buttons
 .navbar {
   // Hover and active states
   .brand:hover {
@@ -35,9 +35,10 @@
     color: @white;
   }
   // Plain text in topbar
-  p {
-    margin: 0;
+  .navbar-text {
+    margin-bottom: 0;
     line-height: 40px;
+    color: @navbarText;
     a:hover {
       color: @white;
       background-color: transparent;
@@ -105,6 +106,9 @@
 }
 
 
+// STATIC OR FIXED?
+// ----------------
+
 // Static navbar
 .navbar-static {
   margin-bottom: @baseLineHeight;
@@ -116,7 +120,7 @@
 }
 
 // Fixed navbar
-.navbar-fixed {
+.navbar-fixed-top {
   position: fixed;
   top: 0;
   right: 0;
@@ -125,7 +129,6 @@
 }
 
 
-
 // NAVIGATION
 // ----------
 
@@ -149,33 +152,33 @@
   float: none;
   padding: 10px 10px 11px;
   line-height: 19px;
-  color: @grayLight;
+  color: @navbarLinkColor;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
 }
 // Hover
 .navbar .nav > li > a:hover {
   background-color: transparent;
-  color: @white;
+  color: @navbarLinkColorHover;
   text-decoration: none;
 }
 
 // Active nav items
 .navbar .nav .active > a {
-  color: @white;
+  color: @navbarLinkColorHover;
   text-decoration: none;
-  background-color: @grayDarker;
+  background-color: @navbarBackground;
   background-color: rgba(0,0,0,.5);
 }
 
 // Dividers (basically a vertical hr)
 .navbar .vertical-divider {
-  height: 40px;
+  height: @navbarHeight;
   width: 1px;
   margin: 0 5px;
   overflow: hidden;
-  background-color: @grayDarker;
-  border-right: 1px solid #444;
+  background-color: @navbarBackground;
+  border-right: 1px solid @navbarBackgroundHighlight;
 }
 
 // Secondary (floated right) nav in topbar
diff --git a/less/responsive.less b/less/responsive.less
index 2999eef4d8..917fdc3e2f 100644
--- a/less/responsive.less
+++ b/less/responsive.less
@@ -175,6 +175,8 @@
   // 16cols at 30px wide with 16px gutters
   .container {
     width: @siteWidth;
+    padding-left: 10px;
+    padding-right: 10px;
   }
 
   // Default columns
diff --git a/less/scaffolding.less b/less/scaffolding.less
index 3c1826830e..d8b3f56abc 100644
--- a/less/scaffolding.less
+++ b/less/scaffolding.less
@@ -22,8 +22,8 @@ body {
 a {
   color: @linkColor;
   text-decoration: none;
-  &:hover {
-    color: @linkColorHover;
-    text-decoration: underline;
-  }
+}
+a:hover {
+  color: @linkColorHover;
+  text-decoration: underline;
 }
diff --git a/less/variables.less b/less/variables.less
index 5ed896cc0c..4265d7ed31 100644
--- a/less/variables.less
+++ b/less/variables.less
@@ -70,21 +70,25 @@
 @navbarBackground:                @grayDarker;
 @navbarBackgroundHighlight:       @grayDark;
 
+@navbarText:                      @grayLight;
+@navbarLinkColor:                 @grayLight;
+@navbarLinkColorHover:            @white;
+
 // Form states and alerts
 @warningText:             #c09853;
 @warningBackground:       #fcf8e3;
-@warningBorder:           #f3edd2;
+@warningBorder:           darken(spin(@warningBackground, -10), 3%);
 
 @errorText:               #b94a48;
 @errorBackground:         #f2dede;
-@errorBorder:             #e9c7c7;
+@errorBorder:             darken(spin(@errorBackground, -10), 3%);
 
 @successText:             #468847;
 @successBackground:       #dff0d8;
-@successBorder:           #cfe8c4;
+@successBorder:           darken(spin(@successBackground, -10), 5%);
 
 @infoText:                #3a87ad;
 @infoBackground:          #d9edf7;
-@infoBorder:              #bfe1f2;
+@infoBorder:              darken(spin(@infoBackground, -10), 7%);
 
 
-- 
GitLab


From faa719d59c45eb05a7e77db311d7bb277341f85d Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 16:35:21 -0500
Subject: [PATCH 522/576] Fixes left/right border overlap for IE7

---
 less/navs.less | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/less/navs.less b/less/navs.less
index cd356d9bb8..f1d5b565c4 100644
--- a/less/navs.less
+++ b/less/navs.less
@@ -317,6 +317,7 @@
 .tabs-left .tabs .active > a,
 .tabs-left .tabs .active > a:hover {
   border-color: #ddd transparent #ddd #ddd;
+  *border-right-color: @white;
 }
 
 // Tabs on the right
@@ -335,4 +336,5 @@
 .tabs-right .tabs .active > a,
 .tabs-right .tabs .active > a:hover {
   border-color: #ddd #ddd #ddd transparent;
+  *border-left-color: @white;
 }
-- 
GitLab


From a0b40b361a59987c98688fafae05d2eb68b659db Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 13:35:25 -0800
Subject: [PATCH 523/576] i18n download page

---
 docs/assets/css/bootstrap.css          |   2 +-
 docs/download.html                     |  11 +-
 docs/templates/pages/download.mustache | 147 ++++++++++++-------------
 3 files changed, 75 insertions(+), 85 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 4f1e18ce99..6c630c35e6 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 13:20:51 PST 2012
+ * Date: Fri Jan 27 13:35:16 PST 2012
  */
 article,
 aside,
diff --git a/docs/download.html b/docs/download.html
index 458b5caa05..0a433be548 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -63,10 +63,6 @@
 
     <div class="container">
 
-<div class="alert">
-  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
-</div>
-
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
@@ -134,9 +130,9 @@
       <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
       <!--
       <h3>Responsive</h3>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 480px</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 768px</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 1210px</label>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 480px</label>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 768px</label>
+      <label class="checkbox"><input type="checkbox" value=""> Max-width 1210px</label>
       -->
     </div><!-- /span -->
   </div><!-- /row -->
@@ -308,7 +304,6 @@
   <div class="page-header">
     <h1>
       4. Download
-      <small></small>
     </h1>
   </div>
   <div class="download-btn">
diff --git a/docs/templates/pages/download.mustache b/docs/templates/pages/download.mustache
index 2a8e46a8a5..dccc5fbb66 100644
--- a/docs/templates/pages/download.mustache
+++ b/docs/templates/pages/download.mustache
@@ -1,7 +1,3 @@
-<div class="alert">
-  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
-</div>
-
 <!-- Masthead
 ================================================== -->
 <header class="jumbotron subhead" id="overview">
@@ -19,59 +15,59 @@
 
 <section class="download" id="components">
   <div class="page-header">
-    <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
+    <a class="btn small pull-right toggle-all" href="#">{{_i}}Toggle all{{/i}}</a>
     <h1>
-      1. Chose components
-      <small>Get just the CSS you need</small>
+      {{_i}}1. Chose components{{/i}}
+      <small>{{_i}}Get just the CSS you need{{/i}}</small>
     </h1>
   </div>
   <div class="row download-builder">
     <div class="span3">
-      <h3>Scaffolding</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> CSS reset</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> Grid system</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> Layouts</label>
-      <h3>Base CSS</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> Labels</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="sprites.less"> Icons</label>
+      <h3>{{_i}}Scaffolding{{/i}}</h3>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> {{_i}}CSS reset{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> {{_i}}Grid system{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> {{_i}}Layouts{{/i}}</label>
+      <h3>{{_i}}Base CSS{{/i}}</h3>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> {{_i}}Headings, body, etc{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> {{_i}}Code and pre{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> {{_i}}Labels{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> {{_i}}Tables{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> {{_i}}Forms{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> {{_i}}Buttons{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="sprites.less"> {{_i}}Icons{{/i}}</label>
     </div><!-- /span -->
     <div class="span3">
-      <h3>Components</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups and dropdowns</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="pager.less"> Pager</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> Progress bars</label>
+      <h3>{{_i}}Components{{/i}}</h3>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> {{_i}}Button groups and dropdowns{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> {{_i}}Navs, tabs, and pills{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> {{_i}}Navbar{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> {{_i}}Breadcrumbs{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> {{_i}}Pagination{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="pager.less"> {{_i}}Pager{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> {{_i}}Thumbnails{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> {{_i}}Alerts{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> {{_i}}Progress bars{{/i}}</label>
     </div><!-- /span -->
     <div class="span3">
-      <h3>JS Components</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> Tooltips</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="accordion.less"> Collapse</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
+      <h3>{{_i}}JS Components{{/i}}</h3>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> {{_i}}Tooltips{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> {{_i}}Popovers{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> {{_i}}Modals{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> {{_i}}Dropdowns{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="accordion.less"> {{_i}}Collapse{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> {{_i}}Carousel{{/i}}</label>
     </div><!-- /span -->
     <div class="span3">
-      <h3>Miscellaneous</h3>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> Wells</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
-      <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
+      <h3>{{_i}}Miscellaneous{{/i}}</h3>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> {{_i}}Wells{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> {{_i}}Close icon{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> {{_i}}Utilities{{/i}}</label>
+      <label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> {{_i}}Component animations{{/i}}</label>
       <!--
-      <h3>Responsive</h3>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 480px</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 768px</label>
-      <label class="checkbox"><input type="checkbox" value=""> MARK PLS FIX Max-width 1210px</label>
+      <h3>{{_i}}Responsive{{/i}}</h3>
+      <label class="checkbox"><input type="checkbox" value=""> {{_i}}Max-width 480px{{/i}}</label>
+      <label class="checkbox"><input type="checkbox" value=""> {{_i}}Max-width 768px{{/i}}</label>
+      <label class="checkbox"><input type="checkbox" value=""> {{_i}}Max-width 1210px{{/i}}</label>
       -->
     </div><!-- /span -->
   </div><!-- /row -->
@@ -79,67 +75,67 @@
 
 <section class="download" id="plugins">
   <div class="page-header">
-    <a class="btn small pull-right toggle-all" href="#">Toggle all</a>
+    <a class="btn small pull-right toggle-all" href="#">{{_i}}Toggle all{{/i}}</a>
     <h1>
-      2. Select jQuery plugins
-      <small>Quickly add only the necessary javascript</small>
+      {{_i}}2. Select jQuery plugins{{/i}}
+      <small>{{_i}}Quickly add only the necessary javascript{{/i}}</small>
     </h1>
   </div>
   <div class="row download-builder">
     <div class="span4">
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-transition.js">
-        Transitions <small>(required for any animation)</small>
+        {{_i}}Transitions <small>(required for any animation)</small>{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-modal.js">
-        Modals
+        {{_i}}Modals{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-dropdown.js">
-        Dropdowns
+        {{_i}}Dropdowns{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-scrollspy.js">
-        Scrollspy
+        {{_i}}Scrollspy{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-tab.js">
-        Togglable tabs
+        {{_i}}Togglable tabs{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-tooltip.js">
-        Tooltips
+        {{_i}}Tooltips{{/i}}
       </label>
     </div><!-- /span -->
     <div class="span4">
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-popover.js">
-        Popovers <small>(requires Tooltips)</small>
+        {{_i}}Popovers <small>(requires Tooltips)</small>{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-alert.js">
-        Alert messages
+        {{_i}}Alert messages{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-button.js">
-        Buttons
+        {{_i}}Buttons{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-collapse.js">
-        Collapse
+        {{_i}}Collapse{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-carousel.js">
-        Carousel
+        {{_i}}Carousel{{/i}}
       </label>
       <label class="checkbox">
         <input type="checkbox" checked="true" value="bootstrap-typeahead.js">
-        Typeahead
+        {{_i}}Typeahead{{/i}}
       </label>
     </div><!-- /span -->
     <div class="span4">
-      <h4 class="muted">Heads up!</h4>
+      <h4 class="muted">{{_i}}Heads up!{{/i}}</h4>
       <p class="muted">{{_i}}All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p>
     </div><!-- /span -->
   </div><!-- /row -->
@@ -148,20 +144,20 @@
 
 <section class="download" id="variables">
   <div class="page-header">
-    <a class="btn small pull-right toggle-all" href="#">Reset to defaults</a>
+    <a class="btn small pull-right toggle-all" href="#">{{_i}}Reset to defaults{{/i}}</a>
     <h1>
-      3. Customize variables
-      <small>Optionally modify Bootstrap without a compiler</small>
+      {{_i}}3. Customize variables{{/i}}
+      <small>{{_i}}Optionally modify Bootstrap without a compiler{{/i}}</small>
     </h1>
   </div>
   <div class="row download-builder">
     <div class="span3">
-      <h3>Links</h3>
+      <h3>{{_i}}Links{{/i}}</h3>
       <label>@linkColor</label>
       <input type="text" class="span3" placeholder="#08c">
       <label>@linkColorHover</label>
       <input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
-      <h3>Colors</h3>
+      <h3>{{_i}}Colors{{/i}}</h3>
       <label>@blue</label>
       <input type="text" class="span3" placeholder="#049cdb">
       <label>@green</label>
@@ -178,7 +174,7 @@
       <input type="text" class="span3" placeholder="#7a43b6">
     </div><!-- /span -->
     <div class="span3">
-      <h3>Grid system</h3>
+      <h3>{{_i}}Grid system{{/i}}</h3>
       <label>@gridColumns</label>
       <input type="text" class="span3" placeholder="12">
       <label>@gridColumnWidth</label>
@@ -189,7 +185,7 @@
       <input type="text" class="span3" placeholder="(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));">
       <label>@fluidSidebarWidth</label>
       <input type="text" class="span3" placeholder="220px">
-      <h3>Typography</h3>
+      <h3>{{_i}}Typography{{/i}}</h3>
       <label>@baseFontSize</label>
       <input type="text" class="span3" placeholder="13px">
       <label>@baseFontFamily</label>
@@ -198,12 +194,12 @@
       <input type="text" class="span3" placeholder="18px">
     </div><!-- /span -->
     <div class="span3">
-      <h3>Forms</h3>
+      <h3>{{_i}}Forms{{/i}}</h3>
       <label>@primaryButtonColor</label>
       <input type="text" class="span3" placeholder="@blue">
       <label>@placeholderText</label>
       <input type="text" class="span3" placeholder="@grayLight">
-      <h3>Navbar</h3>
+      <h3>{{_i}}Navbar{{/i}}</h3>
       <label>@navbarHeight</label>
       <input type="text" class="span3" placeholder="40px">
       <label>@navbarBackground</label>
@@ -218,7 +214,7 @@
       <input type="text" class="span3" placeholder="@white">
     </div><!-- /span -->
     <div class="span3">
-      <h3>Form states &amp; alerts</h3>
+      <h3>{{_i}}Form states &amp; alerts{{/i}}</h3>
       <label>@warningText</label>
       <input type="text" class="span3" placeholder="#c09853">
       <label>@warningBackground</label>
@@ -242,13 +238,12 @@
 <section class="download" id="download">
   <div class="page-header">
     <h1>
-      4. Download
-      <small></small>
+      {{_i}}4. Download{{/i}}
     </h1>
   </div>
   <div class="download-btn">
-    <a class="btn xlarge primary" href="#">Customize and Download</a>
-    <h4>What's included?</h4>
-    <p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
+    <a class="btn xlarge primary" href="#">{{_i}}Customize and Download{{/i}}</a>
+    <h4>{{_i}}What's included?{{/i}}</h4>
+    <p>{{_i}}Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.{{/i}}</p>
   </div>
 </section><!-- /download -->
-- 
GitLab


From a1fc352cc2b8e94557c1414178a59c73a6c3b849 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Thu, 26 Jan 2012 17:03:15 -0500
Subject: [PATCH 524/576] Changes non-transparent navbar search box color to
 match transparent one better

---
 less/navbar.less | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/less/navbar.less b/less/navbar.less
index dba95e5cd9..bdd71a1b1a 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -74,7 +74,7 @@
     #font > .sans-serif(13px, normal, 1);
     color: @white;
     color: rgba(255,255,255,.75);
-    background: #444;
+    background: #6a6a6a;
     background: rgba(255,255,255,.3);
     border: 1px solid #111;
     @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
-- 
GitLab


From d7b8a9c9303f1f1bd69ae02f74bb17aaa87a2ceb Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 13:36:08 -0800
Subject: [PATCH 525/576] align text in buttons so folks can easily make them
 different widths

---
 docs/assets/css/bootstrap.css | 3 ++-
 less/buttons.less             | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 6c630c35e6..9c8aaee5a5 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 13:35:16 PST 2012
+ * Date: Fri Jan 27 13:35:54 PST 2012
  */
 article,
 aside,
@@ -2461,6 +2461,7 @@ table .span12 {
   font-size: 13px;
   line-height: 18px;
   color: #333333;
+  text-align: center;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
   background-color: #fafafa;
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
diff --git a/less/buttons.less b/less/buttons.less
index f18cf9d955..08620a3c3d 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -77,6 +77,7 @@
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
   color: @grayDark;
+  text-align: center;
   text-shadow: 0 1px 1px rgba(255,255,255,.75);
   #gradient > .vertical-three-colors(@white, @white, 25%, darken(@white, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
   border: 1px solid #ccc;
-- 
GitLab


From 6fd1e9f4c0903ae4ff4f57bd3cb193ee0ed2b9ad Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 27 Jan 2012 13:36:31 -0800
Subject: [PATCH 526/576] rebuil update layout

---
 docs/assets/css/bootstrap.css       |  4 ++--
 docs/base-css.html                  |  2 +-
 docs/components.html                |  2 +-
 docs/download.html                  |  2 +-
 docs/examples.html                  |  2 +-
 docs/index.html                     |  4 ++--
 docs/javascript.html                |  2 +-
 docs/less.html                      |  2 +-
 docs/scaffolding.html               |  2 +-
 docs/templates/layout.mustache      | 22 +++++++++++-----------
 docs/templates/pages/index.mustache |  2 +-
 docs/upgrading.html                 |  2 +-
 12 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 4f1e18ce99..b365ad0f43 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 13:20:51 PST 2012
+ * Date: Fri Jan 27 13:34:19 PST 2012
  */
 article,
 aside,
@@ -1842,7 +1842,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/docs/base-css.html b/docs/base-css.html
index 2cab601dfb..cd06c6118e 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
diff --git a/docs/components.html b/docs/components.html
index 7efa889b81..cf5fcb9289 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
diff --git a/docs/download.html b/docs/download.html
index 458b5caa05..e1eb9a3a8e 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="active">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
diff --git a/docs/examples.html b/docs/examples.html
index 3416ea6f20..78d9c588e1 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
diff --git a/docs/index.html b/docs/index.html
index 4dd21b3fa9..1459da26c2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
@@ -73,7 +73,7 @@
             <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">View project on GitHub</a>
-              <a href="./download.html" class="btn btn-large">Customize and Download</a>
+              <a href="http://bootstrap.herokuapp.com/bootstrap.zip" class="btn btn-large">Download Bootstrap</a>
             </p>
             <div class="benefits">
               <h4>Feature highlights</h4>
diff --git a/docs/javascript.html b/docs/javascript.html
index cf9a1742d7..24de47157f 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
diff --git a/docs/less.html b/docs/less.html
index 33ebc82762..8e3e8e6555 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
diff --git a/docs/scaffolding.html b/docs/scaffolding.html
index eed2d71120..91ef9556fe 100644
--- a/docs/scaffolding.html
+++ b/docs/scaffolding.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache
index 4a016e4d11..46e3d03d61 100644
--- a/docs/templates/layout.mustache
+++ b/docs/templates/layout.mustache
@@ -36,25 +36,25 @@
           <a class="brand" href="./index.html">Bootstrap</a>
           <ul class="nav">
             <li class="{{index}}">
-              <a href="./index.html">Overview</a>
+              <a href="./index.html">{{_i}}Overview{{/i}}</a>
             </li>
             <li class="{{scaffolding}}">
-              <a href="./scaffolding.html">Scaffolding</a>
+              <a href="./scaffolding.html">{{_i}}Scaffolding{{/i}}</a>
             </li>
             <li class="{{base-css}}">
-              <a href="./base-css.html">Base CSS</a>
+              <a href="./base-css.html">{{_i}}Base CSS{{/i}}</a>
             </li>
             <li class="{{components}}">
-              <a href="./components.html">Components</a>
+              <a href="./components.html">{{_i}}Components{{/i}}</a>
             </li>
             <li class="{{javascript}}">
-              <a href="./javascript.html">Javascript plugins</a>
+              <a href="./javascript.html">{{_i}}Javascript plugins{{/i}}</a>
             </li>
             <li class="{{less}}">
-              <a href="./less.html">Using LESS</a>
+              <a href="./less.html">{{_i}}Using LESS{{/i}}</a>
             </li>
             <li class="{{download}}">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">{{_i}}Customize{{/i}}</a>
             </li>
           </ul>
         </div>
@@ -69,10 +69,10 @@
      <!-- Footer
       ================================================== -->
       <footer class="footer">
-        <p class="pull-right"><a href="#">Back to top</a></p>
-        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
-        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
-        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
+        <p class="pull-right"><a href="#">{{_i}}Back to top{{/i}}</a></p>
+        <p>{{_i}}Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.{{/i}}</p>
+        <p>{{_i}}Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.{{/i}}</p>
+        <p>{{_i}}Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.{{/i}}</p>
       </footer>
 
     </div><!-- /container -->
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 96477f0cac..5eb2774ab7 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -8,7 +8,7 @@
             <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
             <p class="download-info">
               <a href="https://github.com/twitter/bootstrap/" class="btn primary btn-large">{{_i}}View project on GitHub{{/i}}</a>
-              <a href="./download.html" class="btn btn-large">{{_i}}Customize and Download{{/i}}</a>
+              <a href="http://bootstrap.herokuapp.com/bootstrap.zip" class="btn btn-large">{{_i}}Download Bootstrap{{/i}}</a>
             </p>
             <div class="benefits">
               <h4>{{_i}}Feature highlights{{/i}}</h4>
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 779bf7165f..041aaccc57 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -54,7 +54,7 @@
               <a href="./less.html">Using LESS</a>
             </li>
             <li class="">
-              <a href="./download.html">Download</a>
+              <a href="./download.html">Customize</a>
             </li>
           </ul>
         </div>
-- 
GitLab


From b1f38bbea85c313f1a9512c821de1255e2a0d537 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 13:39:19 -0800
Subject: [PATCH 527/576] update icon examples to show icons in differently
 sized buttons

---
 docs/assets/css/bootstrap.css          | 2 +-
 docs/base-css.html                     | 4 ++++
 docs/templates/pages/base-css.mustache | 4 ++++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 9c8aaee5a5..0783aa7ee4 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 13:35:54 PST 2012
+ * Date: Fri Jan 27 13:38:50 PST 2012
  */
 article,
 aside,
diff --git a/docs/base-css.html b/docs/base-css.html
index 2cab601dfb..7968c70b32 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1477,6 +1477,10 @@
           <a class="btn" href="#"><i class="icon align-justify"></i></a>
         </div>
       </div>
+      <p>
+        <a class="btn large" href="#"><i class="icon refresh"></i> Refresh</a>
+        <a class="btn small" href="#"><i class="icon cog"></i> Settings</a>
+      </p>
     </div>
     <div class="span3">
       <p>Or, use them in navigation.</p>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index c3d10eb081..cf3e88c982 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1412,6 +1412,10 @@
           <a class="btn" href="#"><i class="icon align-justify"></i></a>
         </div>
       </div>
+      <p>
+        <a class="btn large" href="#"><i class="icon refresh"></i> {{_i}}Refresh{{/i}}</a>
+        <a class="btn small" href="#"><i class="icon cog"></i> {{_i}}Settings{{/i}}</a>
+      </p>
     </div>
     <div class="span3">
       <p>{{_i}}Or, use them in navigation.{{/i}}</p>
-- 
GitLab


From 1c9db106fadd544d8af93a60c128842f95724f03 Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 16:39:27 -0500
Subject: [PATCH 528/576] Moves buttonBackground to mixins (issue 1292)

---
 less/buttons.less | 25 -------------------------
 less/mixins.less  | 23 +++++++++++++++++++++++
 2 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/less/buttons.less b/less/buttons.less
index 06a7d91bdf..843af6c622 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -35,31 +35,6 @@
   }
 }
 
-
-// Mixin for generating button backgrounds
-// ---------------------------------------
-.buttonBackground(@startColor, @endColor) {
-  // gradientBar will set the background to a pleasing blend of these, to support IE<=9
-  .gradientBar(@startColor, @endColor);
-
-  // in these cases the gradient won't cover the background, so we override
-  &:hover, &:active, &.active, &.disabled {
-    background-color: @endColor;
-  }
-
-  // called out separately because IE8 would ignore otherwise
-  &[disabled] {
-    background-color: @endColor;
-  }
-
-  // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
-  &:active,
-  &.active {
-    background-color: darken(@endColor, 10%) e("\9");
-  }
-}
-
-
 // Base styles
 // -----------
 
diff --git a/less/mixins.less b/less/mixins.less
index 745fe33d95..bbbba1e025 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -339,6 +339,29 @@
 }
 
 
+// Mixin for generating button backgrounds
+// ---------------------------------------
+.buttonBackground(@startColor, @endColor) {
+  // gradientBar will set the background to a pleasing blend of these, to support IE<=9
+  .gradientBar(@startColor, @endColor);
+
+  // in these cases the gradient won't cover the background, so we override
+  &:hover, &:active, &.active, &.disabled {
+    background-color: @endColor;
+  }
+
+  // called out separately because IE8 would ignore otherwise
+  &[disabled] {
+    background-color: @endColor;
+  }
+
+  // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
+  &:active,
+  &.active {
+    background-color: darken(@endColor, 10%) e("\9");
+  }
+}
+
 
 // COMPONENT MIXINS
 // --------------------------------------------------
-- 
GitLab


From 84b9a1bfb6ff5d1406f5c0393d6556caff6de40c Mon Sep 17 00:00:00 2001
From: Pete Hopkins <phopkins@twitter.com>
Date: Fri, 27 Jan 2012 16:39:38 -0500
Subject: [PATCH 529/576] Rebuild css and html

---
 docs/assets/css/bootstrap.css | 58 ++++++++++++++++++++++++++++++-----
 docs/base-css.html            |  7 +++++
 2 files changed, 57 insertions(+), 8 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index b2284bc164..e36ec0b3cb 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 11:07:13 PST 2012
+ * Date: Fri Jan 27 16:39:29 EST 2012
  */
 article,
 aside,
@@ -814,6 +814,10 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 }
 .help-inline {
   display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
   margin-bottom: 9px;
   vertical-align: middle;
   padding-left: 5px;
@@ -1083,6 +1087,10 @@ table .span12 {
   vertical-align: text-top;
   width: 14px;
   height: 14px;
+  *margin-right: .3em;
+}
+.icon:last-child {
+  *margin-left: 0;
 }
 .icon.white {
   background-image: url(../img/glyphicons-halflings-sprite-white.png);
@@ -1360,11 +1368,15 @@ table .span12 {
 .dropdown {
   position: relative;
 }
+.dropdown .dropdown-toggle {
+  *margin-bottom: -3px;
+}
 .caret {
   display: inline-block;
   width: 0;
   height: 0;
   text-indent: -99999px;
+  *text-indent: 0;
   vertical-align: top;
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
@@ -1376,7 +1388,6 @@ table .span12 {
 .dropdown .caret {
   margin-top: 8px;
   margin-left: 2px;
-  *margin-top: 7px;
 }
 .dropdown:hover .caret, .open.dropdown .caret {
   opacity: 1;
@@ -1385,6 +1396,7 @@ table .span12 {
 .dropdown-menu {
   position: absolute;
   top: 100%;
+  left: 0;
   z-index: 1000;
   float: left;
   display: none;
@@ -1408,7 +1420,6 @@ table .span12 {
   -webkit-background-clip: padding-box;
   -moz-background-clip: padding;
   background-clip: padding-box;
-  zoom: 1;
   *border-right-width: 2px;
   *border-bottom-width: 2px;
 }
@@ -1423,6 +1434,8 @@ table .span12 {
   overflow: hidden;
   background-color: #e5e5e5;
   border-bottom: 1px solid #ffffff;
+  *width: 100%;
+  *margin: -5px 0 5px;
 }
 .dropdown-menu a {
   display: block;
@@ -1438,6 +1451,9 @@ table .span12 {
   text-decoration: none;
   background-color: #0088cc;
 }
+.dropdown.open {
+  *z-index: 1000;
+}
 .dropdown.open .dropdown-toggle {
   color: #ffffff;
   background: #ccc;
@@ -1742,6 +1758,7 @@ table .span12 {
 }
 .tabs-left .tabs .active > a, .tabs-left .tabs .active > a:hover {
   border-color: #ddd transparent #ddd #ddd;
+  *border-right-color: #ffffff;
 }
 .tabs-right .tabs {
   float: right;
@@ -1759,6 +1776,7 @@ table .span12 {
 }
 .tabs-right .tabs .active > a, .tabs-right .tabs .active > a:hover {
   border-color: #ddd #ddd #ddd transparent;
+  *border-left-color: #ffffff;
 }
 .navbar {
   overflow: visible;
@@ -1826,7 +1844,7 @@ table .span12 {
   line-height: 1;
   color: #ffffff;
   color: rgba(255, 255, 255, 0.75);
-  background: #444;
+  background: #6a6a6a;
   background: rgba(255, 255, 255, 0.3);
   border: 1px solid #111;
   -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
@@ -2455,8 +2473,6 @@ table .span12 {
 .btn {
   display: inline-block;
   padding: 4px 10px 4px;
-  *padding: 2px 10px;
-  *margin-left: 4px;
   font-size: 13px;
   line-height: 18px;
   color: #333333;
@@ -2478,6 +2494,7 @@ table .span12 {
   -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;
 }
 .btn:first-child {
   *margin-left: 0;
@@ -2525,7 +2542,7 @@ table .span12 {
   box-shadow: none;
 }
 .btn.large {
-  padding: 9px 14px 9px;
+  padding: 9px 14px;
   font-size: 15px;
   line-height: normal;
   -webkit-border-radius: 5px;
@@ -2536,20 +2553,33 @@ table .span12 {
   margin-top: 1px;
 }
 .btn.small {
-  padding: 5px 9px 5px;
+  padding: 5px 9px;
   font-size: 11px;
   line-height: 16px;
 }
 .btn.small .icon {
   margin-top: -2px;
 }
+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.large, input[type=submit].btn.large {
+  *padding-top: 7px;
+  *padding-bottom: 7px;
+}
+button.btn.small, input[type=submit].btn.small {
+  *padding-top: 3px;
+  *padding-bottom: 3px;
+}
 .btn-group {
   position: relative;
   *zoom: 1;
+  *margin-left: .3em;
 }
 .btn-group:before, .btn-group:after {
   display: table;
@@ -2558,11 +2588,18 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
 .btn-group:after {
   clear: both;
 }
+.btn-group:first-child {
+  *margin-left: 0;
+}
 .btn-group + .btn-group {
   margin-left: 5px;
 }
 .btn-toolbar .btn-group {
   display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
 }
 .btn-group .btn {
   position: relative;
@@ -2615,6 +2652,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
   -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: 5px;
+  *padding-bottom: 5px;
+}
+.btn-group.open {
+  *z-index: 1000;
 }
 .btn-group.open .dropdown-menu {
   display: block;
diff --git a/docs/base-css.html b/docs/base-css.html
index 9cad9de017..d1399aaffe 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1034,6 +1034,12 @@
               <input class="input-xlarge focused" id="focusedInput" type="text" value="This is focused…">
             </div>
           </div>
+          <div class="control-group">
+            <label class="control-label">Uneditable input</label>
+            <div class="controls">
+              <span class="input-xlarge uneditable-input">Some value here</span>
+            </div>
+          </div>
           <div class="control-group">
             <label class="control-label" for="disabledInput">Disabled input</label>
             <div class="controls">
@@ -1491,6 +1497,7 @@
   </div>
 </section>
 
+
      <!-- Footer
       ================================================== -->
       <footer class="footer">
-- 
GitLab


From 3807a88ee9ba33f27bc8762efd789f7ff710ed1a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 13:56:50 -0800
Subject: [PATCH 530/576] update the docs for icons

---
 docs/assets/css/bootstrap.css          | 28 +++++++++++++-------------
 docs/base-css.html                     |  9 +++++++--
 docs/templates/pages/base-css.mustache |  9 +++++++--
 3 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index cf2f1b59f2..10faa36c08 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 13:43:19 PST 2012
+ * Date: Fri Jan 27 13:54:49 PST 2012
  */
 article,
 aside,
@@ -1088,7 +1088,7 @@ table .span12 {
   background-image: url(../img/glyphicons-halflings-white.png);
 }
 .icon.glass {
-  background-position: 0 0;
+  background-position: 0      0;
 }
 .icon.music {
   background-position: -24px 0;
@@ -1327,23 +1327,20 @@ table .span12 {
 .icon.chevron-right {
   background-position: -456px -72px;
 }
-.icon.arrow-left {
-  background-position: -240px -96px;
-}
 .icon.plus-sign {
   background-position: 0 -96px;
 }
 .icon.minus-sign {
-  background-position: -24px  -96px;
+  background-position: -24px -96px;
 }
 .icon.remove-sign {
-  background-position: -48px  -96px;
+  background-position: -48px -96px;
 }
 .icon.ok-sign {
-  background-position: -72px  -96px;
+  background-position: -72px -96px;
 }
 .icon.question-sign {
-  background-position: -96px  -96px;
+  background-position: -96px -96px;
 }
 .icon.info-sign {
   background-position: -120px -96px;
@@ -1360,6 +1357,9 @@ table .span12 {
 .icon.ban-circle {
   background-position: -216px -96px;
 }
+.icon.arrow-left {
+  background-position: -240px -96px;
+}
 .icon.arrow-right {
   background-position: -264px -96px;
 }
@@ -1391,16 +1391,16 @@ table .span12 {
   background-position: 0 -120px;
 }
 .icon.gift {
-  background-position: -24px  -120px;
+  background-position: -24px -120px;
 }
 .icon.leaf {
-  background-position: -48px  -120px;
+  background-position: -48px -120px;
 }
 .icon.fire {
-  background-position: -72px  -120px;
+  background-position: -72px -120px;
 }
 .icon.eye-open {
-  background-position: -96px  -120px;
+  background-position: -96px -120px;
 }
 .icon.eye-close {
   background-position: -120px -120px;
@@ -1439,7 +1439,7 @@ table .span12 {
   background-position: -384px -120px;
 }
 .icon.folder-open {
-  background-position: -409px -120px;
+  background-position: -408px -120px;
 }
 .icon.resize-vertical {
   background-position: -432px -119px;
diff --git a/docs/base-css.html b/docs/base-css.html
index fa22216ef5..698b68ea19 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1454,7 +1454,7 @@
     </div>
   </div>
   <div class="alert alert-info">
-    <strong>Heads up!</strong> On hover we show a light red background color to highlight the size of the icon. This won't appear in normal usage of icons.
+    <strong>Heads up!</strong> Icon classes are echoed via CSS <code>:after</code> and on hover in the docs we show a light red background color show the icon's size.
   </div>
 
   <br>
@@ -1470,6 +1470,10 @@
       <p>With v2.0.0, we have opted to use an <code>&lt;i&gt;</code> tag for all our icons with a base class of <code>.icon</code>. To use, place the following code just about anywhere:</p>
 <pre class="prettyprint linenums">
 &lt;i class="icon search"&gt;&lt;/i&gt;
+</pre>
+      <p>There are also styles available for inverted (white) icons, made ready with one extra class:</p>
+<pre class="prettyprint linenums">
+&lt;i class="icon white search"&gt;&lt;/i&gt;
 </pre>
       <p>There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.</p>
     </div>
@@ -1488,10 +1492,11 @@
 
   <h3>Examples</h3>
   <div class="row">
-    <div class="span4">
+    <div class="span6">
       <p>Use them in buttons, or in button groups for a toolbar style presentation.</p>
       <p>
         <a class="btn" href="#"><i class="icon refresh"></i> Refresh</a>
+        <a class="btn success" href="#"><i class="icon white shopping-cart"></i> Checkout</a>
         <a class="btn danger" href="#"><i class="icon white trash"></i> Delete</a>
       </p>
       <div class="btn-toolbar">
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 45d359784f..f6504a249a 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1389,7 +1389,7 @@
     </div>
   </div>
   <div class="alert alert-info">
-    {{_i}}<strong>Heads up!</strong> On hover we show a light red background color to highlight the size of the icon. This won't appear in normal usage of icons.{{/i}}
+    {{_i}}<strong>Heads up!</strong> Icon classes are echoed via CSS <code>:after</code> and on hover in the docs we show a light red background color show the icon's size.{{/i}}
   </div>
 
   <br>
@@ -1405,6 +1405,10 @@
       <p>{{_i}}With v2.0.0, we have opted to use an <code>&lt;i&gt;</code> tag for all our icons with a base class of <code>.icon</code>. To use, place the following code just about anywhere:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;i class="icon search"&gt;&lt;/i&gt;
+</pre>
+      <p>There are also styles available for inverted (white) icons, made ready with one extra class:</p>
+<pre class="prettyprint linenums">
+&lt;i class="icon white search"&gt;&lt;/i&gt;
 </pre>
       <p>{{_i}}There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.{{/i}}</p>
     </div>
@@ -1423,10 +1427,11 @@
 
   <h3>{{_i}}Examples{{/i}}</h3>
   <div class="row">
-    <div class="span4">
+    <div class="span6">
       <p>{{_i}}Use them in buttons, or in button groups for a toolbar style presentation.{{/i}}</p>
       <p>
         <a class="btn" href="#"><i class="icon refresh"></i> {{_i}}Refresh{{/i}}</a>
+        <a class="btn success" href="#"><i class="icon white shopping-cart"></i> {{_i}}Checkout{{/i}}</a>
         <a class="btn danger" href="#"><i class="icon white trash"></i> {{_i}}Delete{{/i}}</a>
       </p>
       <div class="btn-toolbar">
-- 
GitLab


From 6353e5070ae429297bdfb215f17093e4ccbc08f2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 14:03:36 -0800
Subject: [PATCH 531/576] remove unused images from docs assets

---
 docs/assets/img/glyphicons-halflings-white.png | Bin 4352 -> 0 bytes
 docs/assets/img/glyphicons-halflings.png       | Bin 4352 -> 0 bytes
 docs/assets/img/grid-18px.png                  | Bin 166 -> 0 bytes
 3 files changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 docs/assets/img/glyphicons-halflings-white.png
 delete mode 100644 docs/assets/img/glyphicons-halflings.png
 delete mode 100644 docs/assets/img/grid-18px.png

diff --git a/docs/assets/img/glyphicons-halflings-white.png b/docs/assets/img/glyphicons-halflings-white.png
deleted file mode 100644
index a20760bfde58d1c92cee95116059fba03c68d689..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4352
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

diff --git a/docs/assets/img/glyphicons-halflings.png b/docs/assets/img/glyphicons-halflings.png
deleted file mode 100644
index 92d4445dfd0af414835467132cf50c7c38a303af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4352
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

diff --git a/docs/assets/img/grid-18px.png b/docs/assets/img/grid-18px.png
deleted file mode 100644
index b2f88799b8cd0c5a6aeedd92ae6e000888cc51f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 166
zcmeAS@N?(olHy`uVBq!ia0vp^Q6S933?yBTt(*v?cmjMvT!Hj|7_c~Cy#mN*DGBlm
zX5eLza?|A53{vjt;uum9_x9pKK?VgLmV?5YJwgU09bTd)j=~yN46RCb&*D?d9`y<5
zZN9UYS>(Vy$4#fxyTc?K{{Ek-7ry@aE7frQpRAjcFE@)Zs0jcKWbkzLb6Mw<&;$Sr
CTsI#8

-- 
GitLab


From 003da1e089edf06c528667009fb59189b5f0e4cc Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 14:21:17 -0800
Subject: [PATCH 532/576] fix inputs in navbar

---
 docs/assets/css/bootstrap.css | 3 ++-
 examples/container-app.html   | 4 ++--
 less/navbar.less              | 1 +
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 10faa36c08..5ebfba675c 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 13:54:49 PST 2012
+ * Date: Fri Jan 27 14:21:03 PST 2012
  */
 article,
 aside,
@@ -1901,6 +1901,7 @@ table .span12 {
 }
 .navbar-form input, .navbar-form select {
   display: inline-block;
+  margin-top: 5px;
   margin-bottom: 0;
 }
 .navbar-search {
diff --git a/examples/container-app.html b/examples/container-app.html
index 9bf651753a..df0e8dba48 100644
--- a/examples/container-app.html
+++ b/examples/container-app.html
@@ -12,7 +12,7 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../docs/assets/css/bootstrap.css" rel="stylesheet">
     <style type="text/css">
       /* Override some defaults */
       html, body {
@@ -70,7 +70,7 @@
 
   <body>
 
-    <div class="navbar navbar-fixed">
+    <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">
           <a class="brand" href="#">Project name</a>
diff --git a/less/navbar.less b/less/navbar.less
index 7a4b631d15..602e26ae86 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -60,6 +60,7 @@
   input,
   select {
     display: inline-block;
+    margin-top: 5px;
     margin-bottom: 0;
   }
 }
-- 
GitLab


From 8a2124faff2cad26498203c047c5dc9a2b6d0e73 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 27 Jan 2012 14:43:41 -0800
Subject: [PATCH 533/576] only build mustache files

---
 docs/build/index.js | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/build/index.js b/docs/build/index.js
index 9c240ca360..3dfc3a7c7f 100644
--- a/docs/build/index.js
+++ b/docs/build/index.js
@@ -14,6 +14,8 @@ 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 = {}
 
-- 
GitLab


From 748696a5532100f7a45cbb0d6a138fae6afac5cb Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 27 Jan 2012 14:44:05 -0800
Subject: [PATCH 534/576] add missing paren

---
 docs/assets/css/bootstrap.css | 2 +-
 docs/build/index.js           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index db6df3a198..176238fc66 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 13:37:10 PST 2012
+ * Date: Fri Jan 27 14:44:00 PST 2012
  */
 article,
 aside,
diff --git a/docs/build/index.js b/docs/build/index.js
index 3dfc3a7c7f..4c759c6e0b 100644
--- a/docs/build/index.js
+++ b/docs/build/index.js
@@ -14,7 +14,7 @@ pages = fs.readdirSync(__dirname + '/../templates/pages')
 // iterate over pages
 pages.forEach(function (name) {
 
-  if (!name.match(/\.mustache$/) return
+  if (!name.match(/\.mustache$/)) return
 
   var page = fs.readFileSync(__dirname  + '/../templates/pages/' + name, 'utf-8')
     , context = {}
-- 
GitLab


From 22359f9dfdf5d513da163416005345649415b90f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 14:48:35 -0800
Subject: [PATCH 535/576] update examples and restore icons

---
 docs/assets/css/bootstrap.css                  |   2 +-
 docs/assets/img/glyphicons-halflings-white.png | Bin 0 -> 4352 bytes
 docs/assets/img/glyphicons-halflings.png       | Bin 0 -> 4352 bytes
 examples/fluid-reverse.html                    |   2 +-
 examples/fluid.html                            |   2 +-
 examples/hero.html                             |   2 +-
 6 files changed, 4 insertions(+), 4 deletions(-)
 create mode 100644 docs/assets/img/glyphicons-halflings-white.png
 create mode 100644 docs/assets/img/glyphicons-halflings.png

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 5ebfba675c..7765d7961e 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 14:21:03 PST 2012
+ * Date: Fri Jan 27 14:48:21 PST 2012
  */
 article,
 aside,
diff --git a/docs/assets/img/glyphicons-halflings-white.png b/docs/assets/img/glyphicons-halflings-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..a20760bfde58d1c92cee95116059fba03c68d689
GIT binary patch
literal 4352
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

literal 0
HcmV?d00001

diff --git a/docs/assets/img/glyphicons-halflings.png b/docs/assets/img/glyphicons-halflings.png
new file mode 100644
index 0000000000000000000000000000000000000000..92d4445dfd0af414835467132cf50c7c38a303af
GIT binary patch
literal 4352
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

literal 0
HcmV?d00001

diff --git a/examples/fluid-reverse.html b/examples/fluid-reverse.html
index c03cae723f..7de1630844 100644
--- a/examples/fluid-reverse.html
+++ b/examples/fluid-reverse.html
@@ -12,7 +12,7 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../docs/assets/css/bootstrap.css" rel="stylesheet">
     <style type="text/css">
       body {
         padding-top: 60px;
diff --git a/examples/fluid.html b/examples/fluid.html
index cb00fb85af..1f75515621 100644
--- a/examples/fluid.html
+++ b/examples/fluid.html
@@ -12,7 +12,7 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../docs/assets/css/bootstrap.css" rel="stylesheet">
     <style type="text/css">
       body {
         padding-top: 60px;
diff --git a/examples/hero.html b/examples/hero.html
index 9b82ba62a3..4803380c3d 100644
--- a/examples/hero.html
+++ b/examples/hero.html
@@ -12,7 +12,7 @@
     <![endif]-->
 
     <!-- Le styles -->
-    <link href="../bootstrap.css" rel="stylesheet">
+    <link href="../docs/assets/css/bootstrap.css" rel="stylesheet">
     <style type="text/css">
       body {
         padding-top: 60px;
-- 
GitLab


From 800d0b24e08dec4835e7f4126701428c5c5bae2c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 15:28:09 -0800
Subject: [PATCH 536/576] remove page-header from docs and add to type.less

---
 docs/assets/css/bootstrap.css | 10 +++++++++-
 docs/assets/css/docs.css      |  8 --------
 less/type.less                | 11 +++++++++++
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 39ac62f7ac..2ae5325b23 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 14:48:53 PST 2012
+ * Date: Fri Jan 27 15:27:51 PST 2012
  */
 article,
 aside,
@@ -316,6 +316,14 @@ h6 {
   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;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 19356df1a6..bc3c971064 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -42,14 +42,6 @@ body {
 section {
   padding-top: 60px;
 }
-.page-header {
-  margin: 18px 0;
-  border-bottom: 1px solid #eee;
-}
-.page-header h1 {
-  margin-bottom: 17px;
-  line-height: 1;
-}
 
 /* Faded out hr */
 hr.soften {
diff --git a/less/type.less b/less/type.less
index 087224fd0c..7841bb0906 100644
--- a/less/type.less
+++ b/less/type.less
@@ -75,6 +75,17 @@ h6 {
   text-transform: uppercase;
 }
 
+// Page header
+.page-header {
+  padding-bottom: @baseLineHeight - 1;
+  margin: @baseLineHeight 0;
+  border-bottom: 1px solid @grayLighter;
+}
+.page-header h1 {
+  line-height: 1;
+}
+
+
 
 // LISTS
 // -----
-- 
GitLab


From a2a10ae4211f0cdba5fe54417d267e3ba3b63705 Mon Sep 17 00:00:00 2001
From: Burak Tuyan <buraktuyan@gmail.com>
Date: Sat, 28 Jan 2012 02:13:53 +0200
Subject: [PATCH 537/576] Adding new examples to the icons' docs.

- Button with dropdown menu.
- Small info button.
- Text alignment for navigation with no icon.
- Text input form with prepended icon
- Select input form with prepended icon
---
 docs/base-css.html                     | 73 ++++++++++++++++++++------
 docs/templates/pages/base-css.mustache | 73 ++++++++++++++++++++------
 2 files changed, 112 insertions(+), 34 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 698b68ea19..7c7ab48ef8 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1482,51 +1482,90 @@
       <p>Icons are great, but where would one use them? Here are a few ideas:</p>
       <ul>
         <li>As visuals for your sidebar navigation</li>
-        <li>For a purely icon-driven nav</li>
+        <li>For a purely icon-driven navigation</li>
         <li>For buttons to help convey the meaning of an action</li>
         <li>With links to share context on a user's destination</li>
       </ul>
-      <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.</p>
+      <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon. And if you need to position the text with no icon before it (where other items have an icon; see the navigation example below) simply use <code>.icon</code> class with no other classes:</p>
+<pre class="prettyprint linenums">
+&lt;i class="icon"&gt;&lt;/i&gt;
+</pre>
     </div>
   </div>
 
   <h3>Examples</h3>
   <div class="row">
-    <div class="span6">
-      <p>Use them in buttons, or in button groups for a toolbar style presentation.</p>
-      <p>
-        <a class="btn" href="#"><i class="icon refresh"></i> Refresh</a>
-        <a class="btn success" href="#"><i class="icon white shopping-cart"></i> Checkout</a>
-        <a class="btn danger" href="#"><i class="icon white trash"></i> Delete</a>
-      </p>
+    <div class="span4">
+      <p>Use them in buttons - of all types and sizes.</p>
       <div class="btn-toolbar">
-        <div class="btn-group">
-          <a class="btn" href="#"><i class="icon font"></i></a>
-          <a class="btn" href="#"><i class="icon bold"></i></a>
-          <a class="btn" href="#"><i class="icon italic"></i></a>
-        </div>
         <div class="btn-group">
           <a class="btn" href="#"><i class="icon align-left"></i></a>
           <a class="btn" href="#"><i class="icon align-center"></i></a>
           <a class="btn" href="#"><i class="icon align-right"></i></a>
           <a class="btn" href="#"><i class="icon align-justify"></i></a>
         </div>
+        <div class="btn-group">
+          <a class="btn primary" href="#"><i class="icon white user"></i> User</a>
+          <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#"><i class="icon pencil"></i> Edit</a></li>
+            <li><a href="#"><i class="icon trash"></i> Delete</a></li>
+            <li><a href="#"><i class="icon ban-circle"></i> Ban</a></li>
+            <li class="divider"></li>
+            <li><a href="#"><i class="icon"></i> Make Admin</a></li>
+          </ul>
+        </div>
       </div>
       <p>
-        <a class="btn large" href="#"><i class="icon refresh"></i> Refresh</a>
+        <a class="btn" href="#"><i class="icon refresh"></i> Refresh</a>
+        <a class="btn success" href="#"><i class="icon white shopping-cart"></i> Checkout</a>
+        <a class="btn danger" href="#"><i class="icon white trash"></i> Delete</a>
+      </p>
+      <p>
+        <a class="btn large" href="#"><i class="icon comment"></i> Comment</a>
         <a class="btn small" href="#"><i class="icon cog"></i> Settings</a>
+        <a class="btn small info" href="#"><i class="icon white info-sign"></i> More Info</a>
       </p>
     </div>
-    <div class="span3">
-      <p>Or, use them in navigation.</p>
+    <div class="span4">
+      <p>Use them in navigation.</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
           <li class="active"><a href="#"><i class="icon white home"></i> Home</a></li>
           <li><a href="#"><i class="icon book"></i> Library</a></li>
           <li><a href="#"><i class="icon pencil"></i> Applications</a></li>
+          <li><a href="#"><i class="icon"></i> Misc</a></li>
         </ul>
       </div> <!-- /well -->
     </div>
+    <div class="span4">
+      <form>
+        <p>Use them with prepended forms.</p>
+        <div class="control-group">
+          <label class="control-label" for="prependedInput">Your Email Address:</label>
+          <div class="controls">
+            <div class="input-prepend">
+              <span class="add-on"><i class="icon envelope"></i></span>
+              <input class="span32" id="iconInput" size="16" type="text">
+            </div>
+          </div>
+        </div>
+        <div class="control-group">
+          <label class="control-label" for="prependedInput">Your Location:</label>
+          <div class="controls">
+            <div class="input-prepend">
+              <span class="add-on"><i class="icon map-marker"></i></span>
+              <select id="select01">
+                <option>Istanbul</option>
+                <option>London</option>
+                <option>New York</option>
+                <option>Tokyo</option>
+              </select>
+            </div>
+          </div>
+        </div>
+      </form>
+    </div>
   </div>
 </section>
 
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index f6504a249a..92c925b37b 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1417,50 +1417,89 @@
       <p>{{_i}}Icons are great, but where would one use them? Here are a few ideas:{{/i}}</p>
       <ul>
         <li>{{_i}}As visuals for your sidebar navigation{{/i}}</li>
-        <li>{{_i}}For a purely icon-driven nav{{/i}}</li>
+        <li>{{_i}}For a purely icon-driven navigation{{/i}}</li>
         <li>{{_i}}For buttons to help convey the meaning of an action{{/i}}</li>
         <li>{{_i}}With links to share context on a user's destination{{/i}}</li>
       </ul>
-      <p>{{_i}}Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.{{/i}}</p>
+      <p>{{_i}}Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon. And if you need to position the text with no icon before it (where other items have an icon; see the navigation example below) simply use <code>.icon</code> class with no other classes:{{/i}}</p>
+<pre class="prettyprint linenums">
+&lt;i class="icon"&gt;&lt;/i&gt;
+</pre>
     </div>
   </div>
 
   <h3>{{_i}}Examples{{/i}}</h3>
   <div class="row">
-    <div class="span6">
-      <p>{{_i}}Use them in buttons, or in button groups for a toolbar style presentation.{{/i}}</p>
-      <p>
-        <a class="btn" href="#"><i class="icon refresh"></i> {{_i}}Refresh{{/i}}</a>
-        <a class="btn success" href="#"><i class="icon white shopping-cart"></i> {{_i}}Checkout{{/i}}</a>
-        <a class="btn danger" href="#"><i class="icon white trash"></i> {{_i}}Delete{{/i}}</a>
-      </p>
+    <div class="span4">
+      <p>{{_i}}Use them in buttons - of all types and sizes.{{/i}}</p>
       <div class="btn-toolbar">
-        <div class="btn-group">
-          <a class="btn" href="#"><i class="icon font"></i></a>
-          <a class="btn" href="#"><i class="icon bold"></i></a>
-          <a class="btn" href="#"><i class="icon italic"></i></a>
-        </div>
         <div class="btn-group">
           <a class="btn" href="#"><i class="icon align-left"></i></a>
           <a class="btn" href="#"><i class="icon align-center"></i></a>
           <a class="btn" href="#"><i class="icon align-right"></i></a>
           <a class="btn" href="#"><i class="icon align-justify"></i></a>
         </div>
+        <div class="btn-group">
+          <a class="btn primary" href="#"><i class="icon white user"></i> {{_i}}User{{/i}}</a>
+          <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#"><i class="icon pencil"></i> {{_i}}Edit{{/i}}</a></li>
+            <li><a href="#"><i class="icon trash"></i> {{_i}}Delete{{/i}}</a></li>
+            <li><a href="#"><i class="icon ban-circle"></i> {{_i}}Ban{{/i}}</a></li>
+            <li class="divider"></li>
+            <li><a href="#"><i class="icon"></i> {{_i}}Make Admin{{/i}}</a></li>
+          </ul>
+        </div>
       </div>
       <p>
-        <a class="btn large" href="#"><i class="icon refresh"></i> {{_i}}Refresh{{/i}}</a>
+        <a class="btn" href="#"><i class="icon refresh"></i> {{_i}}Refresh{{/i}}</a>
+        <a class="btn success" href="#"><i class="icon white shopping-cart"></i> {{_i}}Checkout{{/i}}</a>
+        <a class="btn danger" href="#"><i class="icon white trash"></i> {{_i}}Delete{{/i}}</a>
+      </p>
+      <p>
+        <a class="btn large" href="#"><i class="icon comment"></i> {{_i}}Comment{{/i}}</a>
         <a class="btn small" href="#"><i class="icon cog"></i> {{_i}}Settings{{/i}}</a>
+        <a class="btn small info" href="#"><i class="icon white info-sign"></i> {{_i}}More Info{{/i}}</a>
       </p>
     </div>
-    <div class="span3">
-      <p>{{_i}}Or, use them in navigation.{{/i}}</p>
+    <div class="span4">
+      <p>{{_i}}Use them in navigation.{{/i}}</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
           <li class="active"><a href="#"><i class="icon white home"></i> {{_i}}Home{{/i}}</a></li>
           <li><a href="#"><i class="icon book"></i> {{_i}}Library{{/i}}</a></li>
           <li><a href="#"><i class="icon pencil"></i> {{_i}}Applications{{/i}}</a></li>
+          <li><a href="#"><i class="icon"></i> {{_i}}Misc{{/i}}</a></li>
         </ul>
       </div> <!-- /well -->
     </div>
+    <div class="span4">
+      <form>
+        <p>{{_i}}Use them with prepended forms.{{_i}}</p>
+        <div class="control-group">
+          <label class="control-label" for="prependedInput">{{_i}}Your Email Address:{{/i}}</label>
+          <div class="controls">
+            <div class="input-prepend">
+              <span class="add-on"><i class="icon envelope"></i></span>
+              <input class="span32" id="iconInput" size="16" type="text">
+            </div>
+          </div>
+        </div>
+        <div class="control-group">
+          <label class="control-label" for="iconSelect">{{_i}}Your Location:{{/i}}</label>
+          <div class="controls">
+            <div class="input-prepend">
+              <span class="add-on"><i class="icon map-marker"></i></span>
+              <select id="iconSelect">
+                <option>Istanbul</option>
+                <option>London</option>
+                <option>New York</option>
+                <option>Tokyo</option>
+              </select>
+            </div>
+          </div>
+        </div>
+      </form>
+    </div>
   </div>
 </section>
\ No newline at end of file
-- 
GitLab


From f6dc566963c63d5113e72f0098ad9da2c414f33f Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 16:26:55 -0800
Subject: [PATCH 538/576] overhaul navbar behavior in responsive css

---
 docs/assets/css/bootstrap-responsive.css | 150 ++++++++++++--------
 docs/assets/css/bootstrap.css            |   4 +-
 docs/assets/css/docs.css                 |  37 +++--
 less/navbar.less                         |   3 +-
 less/responsive.less                     | 173 ++++++++++++++---------
 5 files changed, 228 insertions(+), 139 deletions(-)

diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
index 6886105cb9..8b1d98b5c6 100644
--- a/docs/assets/css/bootstrap-responsive.css
+++ b/docs/assets/css/bootstrap-responsive.css
@@ -3,60 +3,6 @@
   visibility: hidden;
 }
 @media (max-width: 480px) {
-  .navbar .nav {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 180px;
-    padding-top: 40px;
-    list-style: none;
-  }
-  .navbar .nav, .navbar .nav > li:last-child a {
-    -webkit-border-radius: 0 0 4px 0;
-    -moz-border-radius: 0 0 4px 0;
-    border-radius: 0 0 4px 0;
-  }
-  .navbar .nav > li {
-    float: none;
-    display: none;
-  }
-  .navbar .nav > li > a {
-    float: none;
-    background-color: #222;
-  }
-  .navbar .nav > .active {
-    display: block;
-    position: absolute;
-    top: 0;
-    left: 0;
-  }
-  .navbar .nav > .active > a {
-    background-color: transparent;
-  }
-  .navbar .nav > .active > a:hover {
-    background-color: #333;
-  }
-  .navbar .nav > .active > a:after {
-    display: inline-block;
-    width: 0;
-    height: 0;
-    margin-top: 8px;
-    margin-left: 6px;
-    text-indent: -99999px;
-    vertical-align: top;
-    border-left: 4px solid transparent;
-    border-right: 4px solid transparent;
-    border-top: 4px solid #ffffff;
-    opacity: 1;
-    filter: alpha(opacity=100);
-    content: "&darr;";
-  }
-  .navbar .nav:hover > li {
-    display: block;
-  }
-  .navbar .nav:hover > li > a:hover {
-    background-color: #333;
-  }
   .form-horizontal .control-group > label {
     float: none;
     width: auto;
@@ -88,12 +34,6 @@
   }
 }
 @media (max-width: 768px) {
-  .navbar-fixed {
-    position: absolute;
-  }
-  .navbar-fixed .nav {
-    float: none;
-  }
   .container {
     width: auto;
     padding: 0 20px;
@@ -187,6 +127,96 @@
     margin-left: 788px;
   }
 }
+@media (max-width: 940px) {
+  body {
+    padding-top: 0;
+  }
+  .navbar-fixed-top {
+    position: static;
+    margin-bottom: 36px;
+  }
+  .navbar-inner {
+    padding: 10px;
+    background-image: none;
+  }
+  .navbar .container {
+    padding: 0;
+  }
+  .navbar .brand {
+    float: none;
+    display: block;
+    padding-left: 15px;
+    padding-right: 15px;
+    margin: 0;
+  }
+  .navbar .nav {
+    float: none;
+    margin: 9px 0;
+  }
+  .navbar .nav > li {
+    float: none;
+  }
+  .navbar .nav > li > a {
+    margin-bottom: 2px;
+  }
+  .navbar .nav > .vertical-divider {
+    display: none;
+  }
+  .navbar .nav > li > 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 > li > a:hover, .navbar .dropdown-menu a:hover {
+    background-color: #222222;
+  }
+  .navbar .dropdown-menu {
+    position: static;
+    display: block;
+    float: none;
+    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;
+  }
+}
 /*
 @media (min-width: 1210px) {
 
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 2ae5325b23..fb95729d90 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 15:27:51 PST 2012
+ * Date: Fri Jan 27 16:25:59 PST 2012
  */
 article,
 aside,
@@ -2004,7 +2004,7 @@ table .span12 {
   color: #ffffff;
   text-decoration: none;
 }
-.navbar .nav .active > a {
+.navbar .nav .active > a, .navbar .nav .active > a:hover {
   color: #ffffff;
   text-decoration: none;
   background-color: #222222;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index bc3c971064..cf4b1962f1 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -723,6 +723,11 @@ form.well {
 
 @media (max-width: 768px) {
 
+  /* Remove any padding from the body */
+  body {
+    padding-top: 0;
+  }
+
   /* Subnav */
   .subnav {
     position: static;
@@ -745,13 +750,6 @@ form.well {
     border-top: 1px solid #e5e5e5;
   }
 
-  /* Adjust the jumbotron */
-  .jumbotron .benefits {
-    position: relative;
-    width: auto;
-    margin: 36px 0;
-  }
-
   /* Popovers */
   .large-bird {
     display: none;
@@ -787,9 +785,14 @@ form.well {
   .jumbotron h1 {
     font-size: 54px;
   }
+  .masthead p {
+    font-size: 25px;
+    line-height: 36px;
+  }
   .jumbotron h1,
   .jumbotron p {
     margin-right: 0;
+    margin-left: 0;
   }
 
 }
@@ -797,15 +800,27 @@ form.well {
 
 @media (min-width: 768px) and (max-width: 940px) {
 
+  /* Remove any padding from the body */
+  body {
+    padding-top: 0;
+  }
+
   /* Scale down the jumbotron content */
   .jumbotron h1 {
     font-size: 72px;
   }
 
-  /* Provide enough space on right-hand side for benefits list */
-  .jumbotron h1,
-  .jumbotron p {
-    margin-right: 40%;
+}
+
+@media (max-width: 940px) {
+  
+  /* Unfloat brand */
+  .navbar-fixed-top .brand {
+    float: none;
+    margin-left: 0;
+    padding-left: 15px;
+    padding-right: 15px;
   }
+
 }
 
diff --git a/less/navbar.less b/less/navbar.less
index 602e26ae86..07e2bed8bd 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -165,7 +165,8 @@
 }
 
 // Active nav items
-.navbar .nav .active > a {
+.navbar .nav .active > a,
+.navbar .nav .active > a:hover {
   color: @navbarLinkColorHover;
   text-decoration: none;
   background-color: @navbarBackground;
diff --git a/less/responsive.less b/less/responsive.less
index 917fdc3e2f..8bfe705b4d 100644
--- a/less/responsive.less
+++ b/less/responsive.less
@@ -15,7 +15,7 @@
 // ------------------
 
 // Hide from screenreaders and browsers
-// Credit: HTML5BP
+// Credit: HTML5 Boilerplate
 .hidden {
   display: none;
   visibility: hidden;
@@ -27,62 +27,6 @@
 
 @media (max-width: 480px) {
 
-  // Make the nav work for small devices
-  .navbar {
-    .nav {
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 180px;
-      padding-top: 40px;
-      list-style: none;
-    }
-    .nav,
-    .nav > li:last-child a {
-      .border-radius(0 0 4px 0);
-    }
-    .nav > li {
-      float: none;
-      display: none;
-    }
-    .nav > li > a {
-      float: none;
-      background-color: #222;
-    }
-    .nav > .active {
-      display: block;
-      position: absolute;
-      top: 0;
-      left: 0;
-    }
-    .nav > .active > a {
-      background-color: transparent;
-    }
-    .nav > .active > a:hover {
-      background-color: #333;
-    }
-    .nav > .active > a:after {
-      display: inline-block;
-      width: 0;
-      height: 0;
-      margin-top: 8px;
-      margin-left: 6px;
-      text-indent: -99999px;
-      vertical-align: top;
-      border-left: 4px solid transparent;
-      border-right: 4px solid transparent;
-      border-top: 4px solid @white;
-      .opacity(100);
-      content: "&darr;";
-    }
-    .nav:hover > li {
-      display: block;
-    }
-    .nav:hover > li > a:hover {
-      background-color: #333;
-    }
-  }
-
   // Remove the horizontal form styles
   .form-horizontal .control-group > label {
     float: none;
@@ -124,15 +68,9 @@
 // --------------------------------------------------
 
 @media (max-width: 768px) {
-  
-  // Unfix the navbar
-  .navbar-fixed {
-    position: absolute;
-  }
-  .navbar-fixed .nav {
-    float: none;
-  }
 
+  // GRID & CONTAINERS
+  // -----------------
   // Remove width from containers
   .container {
     width: auto;
@@ -209,6 +147,111 @@
 
 }
 
+
+// TABLETS AND BELOW
+// -----------------
+@media (max-width: 940px) {
+
+  // UNFIX THE TOPBAR
+  // ----------------
+  // Remove any padding from the body
+  body {
+    padding-top: 0;
+  }
+  // Unfix the navbar
+  .navbar-fixed-top {
+    position: static;
+    margin-bottom: @baseLineHeight * 2;
+  }
+  .navbar-inner {
+    padding: 10px;
+    background-image: none;
+  }
+  .navbar .container {
+    padding: 0;
+  }
+  // Account for brand name
+  .navbar .brand {
+    float: none;
+    display: block;
+    padding-left: 15px;
+    padding-right: 15px;
+    margin: 0;
+  }
+  // Block-level the nav
+  .navbar .nav {
+    float: none;
+    margin: (@baseLineHeight / 2) 0;
+  }
+  .navbar .nav > li {
+    float: none;
+  }
+  .navbar .nav > li > a {
+    margin-bottom: 2px;
+  }
+  .navbar .nav > .vertical-divider {
+    display: none;
+  }
+  // Nav and dropdown links in navbar
+  .navbar .nav > li > a,
+  .navbar .dropdown-menu a {
+    padding: 6px 15px;
+    font-weight: bold;
+    color: @navbarLinkColor;
+    .border-radius(3px);
+  }
+  .navbar .dropdown-menu li + li a {
+    margin-bottom: 2px;
+  }
+  .navbar .nav > li > a:hover,
+  .navbar .dropdown-menu a:hover {
+    background-color: @navbarBackground;
+  }
+  // Dropdowns in the navbar
+  .navbar .dropdown-menu {
+    position: static;
+    display: block;
+    float: none;
+    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: (@baseLineHeight / 2) 15px;
+    margin: (@baseLineHeight / 2) 0;
+    border-top: 1px solid @navbarBackground;
+    border-bottom: 1px solid @navbarBackground;
+    @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+    .box-shadow(@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;
+  }
+
+}
+
+
 // LARGE DESKTOP & UP
 // ------------------
 /*
-- 
GitLab


From 997fc33af9a4cbdc078e85ee491f777d0dd2d51a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 16:40:14 -0800
Subject: [PATCH 539/576] clean up use of mixins to highlight them
 appropriately in your fav editor

---
 docs/assets/css/bootstrap.css | 4 ++--
 less/button-groups.less       | 4 ++--
 less/buttons.less             | 2 +-
 less/forms.less               | 2 +-
 less/navbar.less              | 2 +-
 less/sprites.less             | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index b87a1c8048..de895021a6 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 16:35:26 PST 2012
+ * Date: Fri Jan 27 16:39:57 PST 2012
  */
 article,
 aside,
@@ -1944,7 +1944,7 @@ table .span12 {
   line-height: 1;
   color: #ffffff;
   color: rgba(255, 255, 255, 0.75);
-  background: #6a6a6a;
+  background: #666;
   background: rgba(255, 255, 255, 0.3);
   border: 1px solid #111;
   -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
diff --git a/less/button-groups.less b/less/button-groups.less
index a058f03448..fafc955848 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -6,7 +6,7 @@
 .btn-group {
   position: relative;
   .clearfix(); // clears the floated buttons
-  .ie7-restore-left-whitespace;
+  .ie7-restore-left-whitespace();
 }
 
 // Space out series of button groups
@@ -18,7 +18,7 @@
 .btn-toolbar {
   .btn-group {
     display: inline-block;
-    .ie7-inline-block;
+    .ie7-inline-block();
   }
 }
 
diff --git a/less/buttons.less b/less/buttons.less
index 75fe48f8a7..95690401bf 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -55,7 +55,7 @@
   .box-shadow(@shadow);
   cursor: pointer;
 
-  .ie7-restore-left-whitespace;
+  .ie7-restore-left-whitespace();
 
   &:hover {
     color: @grayDark;
diff --git a/less/forms.less b/less/forms.less
index 52f5063f05..c84d9a11dd 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -377,7 +377,7 @@ select:focus:required:invalid {
 
 .help-inline {
   display: inline-block;
-  .ie7-inline-block;
+  .ie7-inline-block();
   margin-bottom: 9px;
   vertical-align: middle;
   padding-left: 5px;
diff --git a/less/navbar.less b/less/navbar.less
index 7291eccebd..6f2b737c88 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -76,7 +76,7 @@
     #font > .sans-serif(13px, normal, 1);
     color: @white;
     color: rgba(255,255,255,.75);
-    background: #6a6a6a;
+    background: #666;
     background: rgba(255,255,255,.3);
     border: 1px solid #111;
     @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
diff --git a/less/sprites.less b/less/sprites.less
index ed456de1a5..ef4c0c74cf 100644
--- a/less/sprites.less
+++ b/less/sprites.less
@@ -22,7 +22,7 @@
   width: 14px;
   height: 14px;
 
-  .ie7-restore-right-whitespace;
+  .ie7-restore-right-whitespace();
 }
 .icon.white {
   background-image: url(../img/glyphicons-halflings-white.png);
-- 
GitLab


From 7e72eb5063470a3728d612acd2cc0368aabc8664 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 18:33:25 -0800
Subject: [PATCH 540/576] new tab focus style and mixin

---
 docs/assets/css/bootstrap.css      | 24 +++++++++++++++++++-----
 docs/less.html                     |  5 +++++
 docs/templates/pages/less.mustache |  5 +++++
 less/buttons.less                  |  2 +-
 less/forms.less                    |  5 ++---
 less/mixins.less                   | 20 +++++++++++++++++---
 less/reset.less                    |  2 +-
 7 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index de895021a6..a6dd95e84e 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 16:39:57 PST 2012
+ * Date: Fri Jan 27 18:33:07 PST 2012
  */
 article,
 aside,
@@ -35,6 +35,11 @@ html {
 }
 a:focus {
   outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+  -moz-outline: 5px auto -moz-mac-focusring;
+  -moz-outline-radius: 6px;
+  -moz-outline-offset: 0;
 }
 a:hover, a:active {
   outline: 0;
@@ -611,8 +616,7 @@ input:focus, textarea:focus {
   -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: 1px dotted #666 \9;
+  outline: thin dotted \9;
   /* IE6-8 */
 
 }
@@ -620,7 +624,12 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus {
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
   box-shadow: none;
-  outline: 1px dotted #666;
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+  -moz-outline: 5px auto -moz-mac-focusring;
+  -moz-outline-radius: 6px;
+  -moz-outline-offset: 0;
 }
 .input-mini {
   width: 60px;
@@ -2612,7 +2621,12 @@ table .span12 {
   transition: background-position 0.1s linear;
 }
 .btn:focus {
-  outline: 1px dotted #666;
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+  -moz-outline: 5px auto -moz-mac-focusring;
+  -moz-outline-radius: 6px;
+  -moz-outline-offset: 0;
 }
 .btn.active, .btn:active {
   background-image: none;
diff --git a/docs/less.html b/docs/less.html
index 8e3e8e6555..72ce452ba0 100644
--- a/docs/less.html
+++ b/docs/less.html
@@ -455,6 +455,11 @@
         <td><em class="muted">none</em></td>
         <td>Add to any parent to clear floats within</td>
       </tr>
+      <tr>
+        <td><code>.tab-focus()</code></td>
+        <td><em class="muted">none</em></td>
+        <td>Apply the Webkit focus style and round Firefox outline</td>
+      </tr>
       <tr>
         <td><code>.center-block()</code></td>
         <td><em class="muted">none</em></td>
diff --git a/docs/templates/pages/less.mustache b/docs/templates/pages/less.mustache
index 649f8f456e..ad6688e1ec 100644
--- a/docs/templates/pages/less.mustache
+++ b/docs/templates/pages/less.mustache
@@ -390,6 +390,11 @@
         <td><em class="muted">none</em></td>
         <td>{{_i}}Add to any parent to clear floats within{{/i}}</td>
       </tr>
+      <tr>
+        <td><code>.tab-focus()</code></td>
+        <td><em class="muted">none</em></td>
+        <td>{{_i}}Apply the Webkit focus style and round Firefox outline{{/i}}</td>
+      </tr>
       <tr>
         <td><code>.center-block()</code></td>
         <td><em class="muted">none</em></td>
diff --git a/less/buttons.less b/less/buttons.less
index 95690401bf..f372b84483 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -70,7 +70,7 @@
 
   // Focus state for keyboard and accessibility
   &:focus {
-    outline: 1px dotted #666;
+    .tab-focus();
   }
 
   // Active and Disabled states
diff --git a/less/forms.less b/less/forms.less
index c84d9a11dd..86e9757252 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -191,14 +191,13 @@ textarea:focus {
   border-color: rgba(82,168,236,.8);
   @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
   .box-shadow(@shadow);
-  outline: 0;
-  outline: 1px dotted #666 \9; /* IE6-8 */
+  outline: thin dotted \9; /* IE6-8 */
 }
 input[type=file]:focus,
 input[type=checkbox]:focus,
 select:focus {
   .box-shadow(none); // override for file inputs
-  outline: 1px dotted #666; // Selet elements don't get box-shadow styles, so instead we do outline
+  .tab-focus();
 }
 
 
diff --git a/less/mixins.less b/less/mixins.less
index bbbba1e025..65b7dbefc8 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -7,7 +7,7 @@
 // --------------------------------------------------
 
 // Clearfix
-// -------------------------
+// --------
 // For clearing floats like a boss h5bp.com/q
 .clearfix() {
   *zoom: 1;
@@ -21,8 +21,22 @@
   }
 }
 
+// Webkit-style focus
+// ------------------
+.tab-focus() {
+  // Default
+  outline: thin dotted;
+  // Webkit
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+  // Firefox
+  -moz-outline: 5px auto -moz-mac-focusring;
+  -moz-outline-radius: 6px;
+  -moz-outline-offset: 0;
+}
+
 // Center-align a block level element
-// -------------------------
+// ----------------------------------
 .center-block() {
   display: block;
   margin-left: auto;
@@ -30,7 +44,7 @@
 }
 
 // IE7 inline-block
-// -------------------------
+// ----------------
 .ie7-inline-block() {
   *display: inline; /* IE7 inline-block hack */
   *zoom: 1;
diff --git a/less/reset.less b/less/reset.less
index ef4dc8af6c..28d8eb60ca 100644
--- a/less/reset.less
+++ b/less/reset.less
@@ -46,7 +46,7 @@ html {
 }
 // Focus states
 a:focus {
-  outline: thin dotted;
+  .tab-focus();
 }
 // Hover & Active
 a:hover,
-- 
GitLab


From aaa530c27e387ff266345aee026b50f779be88bc Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 18:44:17 -0800
Subject: [PATCH 541/576] combined .disabled and [disabled] and confirmed in
 ie7/8

---
 docs/assets/css/bootstrap.css | 30 ++++++------------------------
 less/buttons.less             | 10 +---------
 less/mixins.less              |  7 +------
 3 files changed, 8 insertions(+), 39 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index a6dd95e84e..80f078be7a 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 18:33:07 PST 2012
+ * Date: Fri Jan 27 18:43:22 PST 2012
  */
 article,
 aside,
@@ -2498,9 +2498,7 @@ table .span12 {
 .btn.primary:hover,
 .btn.primary:active,
 .btn.primary.active,
-.btn.primary.disabled {
-  background-color: #0055cc;
-}
+.btn.primary.disabled,
 .btn.primary[disabled] {
   background-color: #0055cc;
 }
@@ -2522,9 +2520,7 @@ table .span12 {
 .btn.danger:hover,
 .btn.danger:active,
 .btn.danger.active,
-.btn.danger.disabled {
-  background-color: #c43c35;
-}
+.btn.danger.disabled,
 .btn.danger[disabled] {
   background-color: #c43c35;
 }
@@ -2546,9 +2542,7 @@ table .span12 {
 .btn.success:hover,
 .btn.success:active,
 .btn.success.active,
-.btn.success.disabled {
-  background-color: #57a957;
-}
+.btn.success.disabled,
 .btn.success[disabled] {
   background-color: #57a957;
 }
@@ -2570,9 +2564,7 @@ table .span12 {
 .btn.info:hover,
 .btn.info:active,
 .btn.info.active,
-.btn.info.disabled {
-  background-color: #339bb9;
-}
+.btn.info.disabled,
 .btn.info[disabled] {
   background-color: #339bb9;
 }
@@ -2636,17 +2628,7 @@ table .span12 {
   background-color: #e6e6e6;
   background-color: #d9d9d9 \9;
 }
-.btn.disabled {
-  cursor: default;
-  background-image: none;
-  background-color: #e6e6e6;
-  opacity: 0.65;
-  filter: alpha(opacity=65);
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
-}
-.btn[disabled] {
+.btn.disabled, .btn[disabled] {
   cursor: default;
   background-image: none;
   background-color: #e6e6e6;
diff --git a/less/buttons.less b/less/buttons.less
index f372b84483..ec23781ccc 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -82,16 +82,8 @@
     background-color: darken(@white, 10%);
     background-color: darken(@white, 15%) e("\9");
   }
-  &.disabled {
-    cursor: default;
-    background-image: none;
-    background-color: darken(@white, 10%);
-    .opacity(65);
-    .box-shadow(none);
-  }
+  &.disabled,
   &[disabled] {
-    // disabled pseudo can't be included with .disabled
-    // def because IE8 and below will drop it ;_;
     cursor: default;
     background-image: none;
     background-color: darken(@white, 10%);
diff --git a/less/mixins.less b/less/mixins.less
index 65b7dbefc8..2ed28ac3f3 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -360,12 +360,7 @@
   .gradientBar(@startColor, @endColor);
 
   // in these cases the gradient won't cover the background, so we override
-  &:hover, &:active, &.active, &.disabled {
-    background-color: @endColor;
-  }
-
-  // called out separately because IE8 would ignore otherwise
-  &[disabled] {
+  &:hover, &:active, &.active, &.disabled, &[disabled] {
     background-color: @endColor;
   }
 
-- 
GitLab


From 7fc6e12b79a8ba445e41db00627530b06544bfde Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 18:49:00 -0800
Subject: [PATCH 542/576] comment icons that are 1px off

---
 docs/assets/css/bootstrap.css |  4 ++--
 less/sprites.less             | 10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 80f078be7a..790f98340e 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 18:43:22 PST 2012
+ * Date: Fri Jan 27 18:48:54 PST 2012
  */
 article,
 aside,
@@ -1209,7 +1209,7 @@ table .span12 {
   background-position: -264px -24px;
 }
 .icon.lock {
-  background-position: -288px -24px;
+  background-position: -287px -24px;
 }
 .icon.flag {
   background-position: -312px -24px;
diff --git a/less/sprites.less b/less/sprites.less
index ef4c0c74cf..a40d4dea47 100644
--- a/less/sprites.less
+++ b/less/sprites.less
@@ -61,7 +61,7 @@
 .icon.repeat             { background-position: -216px -24px; }
 .icon.refresh            { background-position: -240px -24px; }
 .icon.list-alt           { background-position: -264px -24px; }
-.icon.lock               { background-position: -288px -24px; }
+.icon.lock               { background-position: -287px -24px; } // 1px off
 .icon.flag               { background-position: -312px -24px; }
 .icon.headphones         { background-position: -336px -24px; }
 .icon.volume-off         { background-position: -360px -24px; }
@@ -71,13 +71,13 @@
 .icon.barcode            { background-position: -456px -24px; }
 
 .icon.tag                { background-position: 0      -48px; }
-.icon.tags               { background-position: -25px  -48px; }
+.icon.tags               { background-position: -25px  -48px; } // 1px off
 .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.bold               { background-position: -167px -48px; } // 1px off
 .icon.italic             { background-position: -192px -48px; }
 .icon.text-height        { background-position: -216px -48px; }
 .icon.text-width         { background-position: -240px -48px; }
@@ -124,7 +124,7 @@
 .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-up           { background-position: -289px -96px; } // 1px off
 .icon.arrow-down         { background-position: -312px -96px; }
 .icon.share-alt          { background-position: -336px -96px; }
 .icon.resize-full        { background-position: -360px -96px; }
@@ -146,7 +146,7 @@
 .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.chevron-down       { background-position: -313px -119px; } // 1px off
 .icon.retweet            { background-position: -336px -120px; }
 .icon.shopping-cart      { background-position: -360px -120px; }
 .icon.folder-close       { background-position: -384px -120px; }
-- 
GitLab


From d02c6957d44761c35121cb88af727802ce4d9e5e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 19:49:56 -0800
Subject: [PATCH 543/576] fixing up buttons and examples of implementing icons

---
 docs/assets/css/bootstrap.css            |  12 +-
 docs/base-css.html                       |  29 +----
 docs/components.html                     | 153 +++++++++++------------
 docs/templates/pages/base-css.mustache   |  31 +----
 docs/templates/pages/components.mustache | 153 +++++++++++------------
 less/button-groups.less                  |   9 +-
 6 files changed, 177 insertions(+), 210 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 790f98340e..6eff3a5896 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 18:48:54 PST 2012
+ * Date: Fri Jan 27 19:45:56 PST 2012
  */
 article,
 aside,
@@ -2691,6 +2691,10 @@ button.btn.small, input[type=submit].btn.small {
 .btn-group + .btn-group {
   margin-left: 5px;
 }
+.btn-toolbar {
+  margin-top: 9px;
+  margin-bottom: 9px;
+}
 .btn-toolbar .btn-group {
   display: inline-block;
   *display: inline;
@@ -2769,9 +2773,13 @@ button.btn.small, input[type=submit].btn.small {
   box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
 }
 .btn .caret {
-  margin-top: 6px;
+  margin-top: 7px;
   margin-left: 0;
 }
+.btn:hover .caret, .open.btn-group .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
 .primary .caret,
 .danger .caret,
 .info .caret,
diff --git a/docs/base-css.html b/docs/base-css.html
index 0c6579b1e7..7552fb9b91 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1492,18 +1492,15 @@
         <li>For buttons to help convey the meaning of an action</li>
         <li>With links to share context on a user's destination</li>
       </ul>
-      <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon. And if you need to position the text with no icon before it (where other items have an icon; see the navigation example below) simply use <code>.icon</code> class with no other classes:</p>
-<pre class="prettyprint linenums">
-&lt;i class="icon"&gt;&lt;/i&gt;
-</pre>
+      <p>Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.</p>
     </div>
   </div>
 
   <h3>Examples</h3>
+  <p>Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.</p>
   <div class="row">
     <div class="span4">
-      <p>Use them in buttons - of all types and sizes.</p>
-      <div class="btn-toolbar">
+      <div class="btn-toolbar" style="margin-bottom: 9px">
         <div class="btn-group">
           <a class="btn" href="#"><i class="icon align-left"></i></a>
           <a class="btn" href="#"><i class="icon align-center"></i></a>
@@ -1518,7 +1515,7 @@
             <li><a href="#"><i class="icon trash"></i> Delete</a></li>
             <li><a href="#"><i class="icon ban-circle"></i> Ban</a></li>
             <li class="divider"></li>
-            <li><a href="#"><i class="icon"></i> Make Admin</a></li>
+            <li><a href="#"><i class="icon"></i> Make admin</a></li>
           </ul>
         </div>
       </div>
@@ -1534,7 +1531,6 @@
       </p>
     </div>
     <div class="span4">
-      <p>Use them in navigation.</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
           <li class="active"><a href="#"><i class="icon white home"></i> Home</a></li>
@@ -1546,9 +1542,8 @@
     </div>
     <div class="span4">
       <form>
-        <p>Use them with prepended forms.</p>
         <div class="control-group">
-          <label class="control-label" for="prependedInput">Your Email Address:</label>
+          <label class="control-label" for="prependedInput">Email address</label>
           <div class="controls">
             <div class="input-prepend">
               <span class="add-on"><i class="icon envelope"></i></span>
@@ -1556,20 +1551,6 @@
             </div>
           </div>
         </div>
-        <div class="control-group">
-          <label class="control-label" for="prependedInput">Your Location:</label>
-          <div class="controls">
-            <div class="input-prepend">
-              <span class="add-on"><i class="icon map-marker"></i></span>
-              <select id="select01">
-                <option>Istanbul</option>
-                <option>London</option>
-                <option>New York</option>
-                <option>Tokyo</option>
-              </select>
-            </div>
-          </div>
-        </div>
       </form>
     </div>
   </div>
diff --git a/docs/components.html b/docs/components.html
index cf5fcb9289..6ebf6a4f06 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -96,32 +96,29 @@
       <h3>Button groups</h3>
       <p>Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.</p>
       <p>You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.</p>
-      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+      <div class="btn-toolbar" style="margin-top: 18px;">
         <div class="btn-group">
           <a class="btn" href="#">Left</a>
           <a class="btn" href="#">Middle</a>
           <a class="btn" href="#">Right</a>
         </div>
       </div>
-      <div class="well" style="padding: 10px;">
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn" href="#">1</a>
-            <a class="btn" href="#">2</a>
-            <a class="btn" href="#">3</a>
-            <a class="btn" href="#">4</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">5</a>
-            <a class="btn" href="#">6</a>
-            <a class="btn" href="#">7</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">8</a>
-          </div>
+      <div class="btn-toolbar">
+        <div class="btn-group">
+          <a class="btn" href="#">1</a>
+          <a class="btn" href="#">2</a>
+          <a class="btn" href="#">3</a>
+          <a class="btn" href="#">4</a>
+        </div>
+        <div class="btn-group">
+          <a class="btn" href="#">5</a>
+          <a class="btn" href="#">6</a>
+          <a class="btn" href="#">7</a>
+        </div>
+        <div class="btn-group">
+          <a class="btn" href="#">8</a>
         </div>
       </div>
-
     </div>
     <div class="span4">
       <h3>Example markup</h3>
@@ -165,67 +162,65 @@
     <div class="span4">
       <h3>Split button dropdowns</h3>
       <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
-      <div class="well" style="padding: 10px; margin-bottom: 9px;">
-        <div class="btn-toolbar" style="margin-bottom: 9px;">
-          <div class="btn-group">
-            <a class="btn" href="#">Action</a>
-            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-          <div class="btn-group">
-            <a class="btn primary" href="#">Action</a>
-            <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-          <div class="btn-group">
-            <a class="btn danger" href="#">Danger</a>
-            <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-        </div>
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn success" href="#">Success</a>
-            <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-          <div class="btn-group">
-            <a class="btn info" href="#">Info</a>
-            <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">Action</a></li>
-              <li><a href="#">Another action</a></li>
-              <li><a href="#">Something else here</a></li>
-              <li class="divider"></li>
-              <li><a href="#">Separated link</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-        </div>
-      </div> <!-- /well -->
+      <div class="btn-toolbar" style="margin-top: 18px;">
+        <div class="btn-group">
+          <a class="btn" href="#">Action</a>
+          <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+        <div class="btn-group">
+          <a class="btn primary" href="#">Action</a>
+          <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+        <div class="btn-group">
+          <a class="btn danger" href="#">Danger</a>
+          <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+      </div>
+      <div class="btn-toolbar">
+        <div class="btn-group">
+          <a class="btn success" href="#">Success</a>
+          <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+        <div class="btn-group">
+          <a class="btn info" href="#">Info</a>
+          <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+      </div>
     </div>
     <div class="span8">
       <h3>Example markup</h3>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 5b9cae472a..23a6a37a26 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1412,7 +1412,7 @@
 <pre class="prettyprint linenums">
 &lt;i class="icon search"&gt;&lt;/i&gt;
 </pre>
-      <p>There are also styles available for inverted (white) icons, made ready with one extra class:</p>
+      <p>{{_i}}There are also styles available for inverted (white) icons, made ready with one extra class:{{/i}}</p>
 <pre class="prettyprint linenums">
 &lt;i class="icon white search"&gt;&lt;/i&gt;
 </pre>
@@ -1427,18 +1427,15 @@
         <li>{{_i}}For buttons to help convey the meaning of an action{{/i}}</li>
         <li>{{_i}}With links to share context on a user's destination{{/i}}</li>
       </ul>
-      <p>{{_i}}Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon. And if you need to position the text with no icon before it (where other items have an icon; see the navigation example below) simply use <code>.icon</code> class with no other classes:{{/i}}</p>
-<pre class="prettyprint linenums">
-&lt;i class="icon"&gt;&lt;/i&gt;
-</pre>
+      <p>{{_i}}Essentially, anywhere you can put an <code>&lt;i&gt;</code> tag, you can put an icon.{{/i}}</p>
     </div>
   </div>
 
   <h3>{{_i}}Examples{{/i}}</h3>
+  <p>{{_i}}Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.{{/i}}</p>
   <div class="row">
     <div class="span4">
-      <p>{{_i}}Use them in buttons - of all types and sizes.{{/i}}</p>
-      <div class="btn-toolbar">
+      <div class="btn-toolbar" style="margin-bottom: 9px">
         <div class="btn-group">
           <a class="btn" href="#"><i class="icon align-left"></i></a>
           <a class="btn" href="#"><i class="icon align-center"></i></a>
@@ -1453,7 +1450,7 @@
             <li><a href="#"><i class="icon trash"></i> {{_i}}Delete{{/i}}</a></li>
             <li><a href="#"><i class="icon ban-circle"></i> {{_i}}Ban{{/i}}</a></li>
             <li class="divider"></li>
-            <li><a href="#"><i class="icon"></i> {{_i}}Make Admin{{/i}}</a></li>
+            <li><a href="#"><i class="icon"></i> {{_i}}Make admin{{/i}}</a></li>
           </ul>
         </div>
       </div>
@@ -1469,7 +1466,6 @@
       </p>
     </div>
     <div class="span4">
-      <p>{{_i}}Use them in navigation.{{/i}}</p>
       <div class="well" style="padding: 8px 0;">
         <ul class="nav list">
           <li class="active"><a href="#"><i class="icon white home"></i> {{_i}}Home{{/i}}</a></li>
@@ -1481,9 +1477,8 @@
     </div>
     <div class="span4">
       <form>
-        <p>{{_i}}Use them with prepended forms.{{_i}}</p>
         <div class="control-group">
-          <label class="control-label" for="prependedInput">{{_i}}Your Email Address:{{/i}}</label>
+          <label class="control-label" for="prependedInput">{{_i}}Email address{{/i}}</label>
           <div class="controls">
             <div class="input-prepend">
               <span class="add-on"><i class="icon envelope"></i></span>
@@ -1491,20 +1486,6 @@
             </div>
           </div>
         </div>
-        <div class="control-group">
-          <label class="control-label" for="iconSelect">{{_i}}Your Location:{{/i}}</label>
-          <div class="controls">
-            <div class="input-prepend">
-              <span class="add-on"><i class="icon map-marker"></i></span>
-              <select id="iconSelect">
-                <option>Istanbul</option>
-                <option>London</option>
-                <option>New York</option>
-                <option>Tokyo</option>
-              </select>
-            </div>
-          </div>
-        </div>
       </form>
     </div>
   </div>
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index f73052e63a..48de1f8bf2 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -31,32 +31,29 @@
       <h3>{{_i}}Button groups{{/i}}</h3>
       <p>{{_i}}Use button groups to join multiple buttons together as one composite component. Build them with a series of <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements.{{/i}}</p>
       <p>{{_i}}You can also combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex projects.{{/i}}</p>
-      <div class="well" style="padding: 10px; margin-bottom: 9px;">
+      <div class="btn-toolbar" style="margin-top: 18px;">
         <div class="btn-group">
           <a class="btn" href="#">{{_i}}Left{{/i}}</a>
           <a class="btn" href="#">{{_i}}Middle{{/i}}</a>
           <a class="btn" href="#">{{_i}}Right{{/i}}</a>
         </div>
       </div>
-      <div class="well" style="padding: 10px;">
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn" href="#">1</a>
-            <a class="btn" href="#">2</a>
-            <a class="btn" href="#">3</a>
-            <a class="btn" href="#">4</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">5</a>
-            <a class="btn" href="#">6</a>
-            <a class="btn" href="#">7</a>
-          </div>
-          <div class="btn-group">
-            <a class="btn" href="#">8</a>
-          </div>
+      <div class="btn-toolbar">
+        <div class="btn-group">
+          <a class="btn" href="#">1</a>
+          <a class="btn" href="#">2</a>
+          <a class="btn" href="#">3</a>
+          <a class="btn" href="#">4</a>
+        </div>
+        <div class="btn-group">
+          <a class="btn" href="#">5</a>
+          <a class="btn" href="#">6</a>
+          <a class="btn" href="#">7</a>
+        </div>
+        <div class="btn-group">
+          <a class="btn" href="#">8</a>
         </div>
       </div>
-
     </div>
     <div class="span4">
       <h3>{{_i}}Example markup{{/i}}</h3>
@@ -100,67 +97,65 @@
     <div class="span4">
       <h3>{{_i}}Split button dropdowns{{/i}}</h3>
       <p>{{_i}}Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.{{/i}}</p>
-      <div class="well" style="padding: 10px; margin-bottom: 9px;">
-        <div class="btn-toolbar" style="margin-bottom: 9px;">
-          <div class="btn-group">
-            <a class="btn" href="#">{{_i}}Action{{/i}}</a>
-            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">{{_i}}Action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-              <li class="divider"></li>
-              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-          <div class="btn-group">
-            <a class="btn primary" href="#">{{_i}}Action{{/i}}</a>
-            <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">{{_i}}Action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-              <li class="divider"></li>
-              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-          <div class="btn-group">
-            <a class="btn danger" href="#">{{_i}}Danger{{/i}}</a>
-            <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">{{_i}}Action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-              <li class="divider"></li>
-              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-        </div>
-        <div class="btn-toolbar">
-          <div class="btn-group">
-            <a class="btn success" href="#">{{_i}}Success{{/i}}</a>
-            <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">{{_i}}Action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-              <li class="divider"></li>
-              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-          <div class="btn-group">
-            <a class="btn info" href="#">{{_i}}Info{{/i}}</a>
-            <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
-            <ul class="dropdown-menu">
-              <li><a href="#">{{_i}}Action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Another action{{/i}}</a></li>
-              <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
-              <li class="divider"></li>
-              <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
-            </ul>
-          </div><!-- /btn-group -->
-        </div>
-      </div> <!-- /well -->
+      <div class="btn-toolbar" style="margin-top: 18px;">
+        <div class="btn-group">
+          <a class="btn" href="#">{{_i}}Action{{/i}}</a>
+          <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">{{_i}}Action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+            <li class="divider"></li>
+            <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+        <div class="btn-group">
+          <a class="btn primary" href="#">{{_i}}Action{{/i}}</a>
+          <a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">{{_i}}Action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+            <li class="divider"></li>
+            <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+        <div class="btn-group">
+          <a class="btn danger" href="#">{{_i}}Danger{{/i}}</a>
+          <a class="btn danger dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">{{_i}}Action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+            <li class="divider"></li>
+            <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+      </div>
+      <div class="btn-toolbar">
+        <div class="btn-group">
+          <a class="btn success" href="#">{{_i}}Success{{/i}}</a>
+          <a class="btn success dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">{{_i}}Action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+            <li class="divider"></li>
+            <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+        <div class="btn-group">
+          <a class="btn info" href="#">{{_i}}Info{{/i}}</a>
+          <a class="btn info dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">{{_i}}Action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Another action{{/i}}</a></li>
+            <li><a href="#">{{_i}}Something else here{{/i}}</a></li>
+            <li class="divider"></li>
+            <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
+          </ul>
+        </div><!-- /btn-group -->
+      </div>
     </div>
     <div class="span8">
       <h3>{{_i}}Example markup{{/i}}</h3>
diff --git a/less/button-groups.less b/less/button-groups.less
index fafc955848..471d337481 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -16,6 +16,8 @@
 
 // Optional: Group multiple button groups together for a toolbar
 .btn-toolbar {
+  margin-top: @baseLineHeight / 2;
+  margin-bottom: @baseLineHeight / 2;
   .btn-group {
     display: inline-block;
     .ie7-inline-block();
@@ -110,9 +112,14 @@
 
 // Reposition the caret
 .btn .caret {
-  margin-top: 6px;
+  margin-top: 7px;
   margin-left: 0;
 }
+.btn:hover .caret,
+.open.btn-group .caret {
+  .opacity(100);
+}
+
 
 // Account for other colors
 .primary,
-- 
GitLab


From 0fa642291843fbeab66960c6fc635681c1241586 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 19:57:53 -0800
Subject: [PATCH 544/576] icon spacing in small buttons and nav lists

---
 docs/assets/css/bootstrap.css | 7 +++++--
 less/buttons.less             | 2 +-
 less/navs.less                | 3 +++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 6eff3a5896..c1562c203a 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 19:45:56 PST 2012
+ * Date: Fri Jan 27 19:56:12 PST 2012
  */
 article,
 aside,
@@ -1673,6 +1673,9 @@ table .span12 {
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
   background-color: #0088cc;
 }
+.nav.list .icon {
+  margin-right: 2px;
+}
 .tabs, .pills {
   *zoom: 1;
 }
@@ -2655,7 +2658,7 @@ table .span12 {
   line-height: 16px;
 }
 .btn.small .icon {
-  margin-top: -2px;
+  margin-top: -1px;
 }
 button.btn, input[type=submit].btn {
   *padding-top: 2px;
diff --git a/less/buttons.less b/less/buttons.less
index ec23781ccc..1333592c21 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -107,7 +107,7 @@
     line-height: @baseLineHeight - 2px;
   }
   &.small .icon {
-    margin-top: -2px;
+    margin-top: -1px;
   }
 }
 
diff --git a/less/navs.less b/less/navs.less
index f1d5b565c4..aa718cd746 100644
--- a/less/navs.less
+++ b/less/navs.less
@@ -54,6 +54,9 @@
   text-shadow: 0 -1px 0 rgba(0,0,0,.2);
   background-color: @linkColor;
 }
+.nav.list .icon {
+  margin-right: 2px;
+}
 
 
 
-- 
GitLab


From 9800196bf7067b560e062dabfcb51f9b9c7e8dd5 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 20:05:03 -0800
Subject: [PATCH 545/576] use quotes on attr selectors more consistently

---
 docs/assets/css/bootstrap.css | 26 +++++++++++++-------------
 less/buttons.less             |  2 +-
 less/forms.less               | 28 ++++++++++++++--------------
 less/modals.less              |  2 +-
 4 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index c1562c203a..ff7f8ea5e4 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 19:56:12 PST 2012
+ * Date: Fri Jan 27 20:04:50 PST 2012
  */
 article,
 aside,
@@ -528,7 +528,7 @@ select,
 label input, label textarea, label select {
   display: block;
 }
-input[type=image], input[type=checkbox], input[type=radio] {
+input[type="image"], input[type="checkbox"], input[type="radio"] {
   width: auto;
   height: auto;
   padding: 0;
@@ -543,7 +543,7 @@ input[type=image], input[type=checkbox], input[type=radio] {
   -moz-border-radius: 0;
   border-radius: 0;
 }
-input[type=file] {
+input[type="file"] {
   padding: initial;
   line-height: initial;
   border: initial;
@@ -553,11 +553,11 @@ input[type=file] {
   -moz-box-shadow: none;
   box-shadow: none;
 }
-input[type=button], input[type=reset], input[type=submit] {
+input[type="button"], input[type="reset"], input[type="submit"] {
   width: auto;
   height: auto;
 }
-select, input[type=file] {
+select, input[type="file"] {
   height: 28px;
   /* In IE7, the height of the select element cannot be changed by height, only font-size */
 
@@ -573,7 +573,7 @@ select {
 select[multiple], select[size] {
   height: auto;
 }
-input[type=image] {
+input[type="image"] {
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
   box-shadow: none;
@@ -581,13 +581,13 @@ input[type=image] {
 textarea {
   height: auto;
 }
-input[type=hidden] {
+input[type="hidden"] {
   display: none;
 }
 .radio, .checkbox {
   padding-left: 18px;
 }
-.radio input[type=radio], .checkbox input[type=checkbox] {
+.radio input[type="radio"], .checkbox input[type="checkbox"] {
   float: left;
   margin-left: -18px;
 }
@@ -620,7 +620,7 @@ input:focus, textarea:focus {
   /* IE6-8 */
 
 }
-input[type=file]:focus, input[type=checkbox]:focus, select:focus {
+input[type="file"]:focus, input[type="checkbox"]:focus, select:focus {
   -webkit-box-shadow: none;
   -moz-box-shadow: none;
   box-shadow: none;
@@ -2660,19 +2660,19 @@ table .span12 {
 .btn.small .icon {
   margin-top: -1px;
 }
-button.btn, input[type=submit].btn {
+button.btn, input[type="submit"].btn {
   *padding-top: 2px;
   *padding-bottom: 2px;
 }
-button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
+button.btn::-moz-focus-inner, input[type="submit"].btn::-moz-focus-inner {
   padding: 0;
   border: 0;
 }
-button.btn.large, input[type=submit].btn.large {
+button.btn.large, input[type="submit"].btn.large {
   *padding-top: 7px;
   *padding-bottom: 7px;
 }
-button.btn.small, input[type=submit].btn.small {
+button.btn.small, input[type="submit"].btn.small {
   *padding-top: 3px;
   *padding-bottom: 3px;
 }
diff --git a/less/buttons.less b/less/buttons.less
index 1333592c21..8d75248b3a 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -113,7 +113,7 @@
 
 // Help Firefox not be a jerk about adding extra padding to buttons
 button.btn,
-input[type=submit].btn {
+input[type="submit"].btn {
   &::-moz-focus-inner {
   	padding: 0;
   	border: 0;
diff --git a/less/forms.less b/less/forms.less
index 86e9757252..edd4165850 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -75,9 +75,9 @@ label select {
 }
 
 // Mini reset for unique input types
-input[type=image],
-input[type=checkbox],
-input[type=radio] {
+input[type="image"],
+input[type="checkbox"],
+input[type="radio"] {
   width: auto;
   height: auto;
   padding: 0;
@@ -90,7 +90,7 @@ input[type=radio] {
 }
 
 // Reset the file input to browser defaults
-input[type=file] {
+input[type="file"] {
   padding: initial;
   line-height: initial;
   border: initial;
@@ -100,16 +100,16 @@ input[type=file] {
 }
 
 // Help out input buttons
-input[type=button],
-input[type=reset],
-input[type=submit] {
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
   width: auto;
   height: auto;
 }
 
 // Set the height of select and file controls to match text inputs
 select,
-input[type=file] {
+input[type="file"] {
   height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
   *margin-top: 4px; /* For IE7, add top margin to align select with labels */
   line-height: 28px;
@@ -128,7 +128,7 @@ select[size] {
 }
 
 // Remove shadow from image inputs
-input[type=image] {
+input[type="image"] {
   .box-shadow(none);
 }
 
@@ -138,7 +138,7 @@ textarea {
 }
 
 // Hidden inputs
-input[type=hidden] {
+input[type="hidden"] {
   display: none;
 }
 
@@ -152,8 +152,8 @@ input[type=hidden] {
 .checkbox {
   padding-left: 18px;
 }
-.radio input[type=radio],
-.checkbox input[type=checkbox] {
+.radio input[type="radio"],
+.checkbox input[type="checkbox"] {
   float: left;
   margin-left: -18px;
 }
@@ -193,8 +193,8 @@ textarea:focus {
   .box-shadow(@shadow);
   outline: thin dotted \9; /* IE6-8 */
 }
-input[type=file]:focus,
-input[type=checkbox]:focus,
+input[type="file"]:focus,
+input[type="checkbox"]:focus,
 select:focus {
   .box-shadow(none); // override for file inputs
   .tab-focus();
diff --git a/less/modals.less b/less/modals.less
index 0368e01e10..7f07d11e49 100644
--- a/less/modals.less
+++ b/less/modals.less
@@ -60,6 +60,6 @@
   .btn {
     float: right;
     margin-left: 5px;
-    margin-bottom: 0; // account for input[type=submit] which gets the bottom margin like all other inputs
+    margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
   }
 }
-- 
GitLab


From 4e191c423d2d1e834a4cb57ae246d03a82272ee4 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 20:17:03 -0800
Subject: [PATCH 546/576] update progress bars to have a solid edge until 100%
 filled

---
 docs/assets/css/bootstrap.css | 11 +++++------
 less/progress-bars.less       |  8 ++------
 2 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index ff7f8ea5e4..861ef91414 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 20:04:50 PST 2012
+ * Date: Fri Jan 27 20:16:25 PST 2012
  */
 article,
 aside,
@@ -2926,12 +2926,8 @@ a.thumbnail:hover {
     background-position: 40px 0;
   }
 }
-.progress, .progress .bar {
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
 .progress {
+  overflow: hidden;
   height: 18px;
   margin-bottom: 18px;
   background-color: #f7f7f7;
@@ -2945,6 +2941,9 @@ a.thumbnail:hover {
   -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;
 }
 .progress .bar {
   width: 0%;
diff --git a/less/progress-bars.less b/less/progress-bars.less
index ff754b8173..228972f2c3 100644
--- a/less/progress-bars.less
+++ b/less/progress-bars.less
@@ -28,18 +28,14 @@
 // THE BARS
 // --------
 
-// Common styles
-.progress,
-.progress .bar {
-  .border-radius(4px);
-}
-
 // Outer container
 .progress {
+  overflow: hidden;
   height: 18px;
   margin-bottom: 18px;
   #gradient > .vertical(#f5f5f5, #f9f9f9);
   .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
+  .border-radius(4px);
 }
 
 // Bar of progress
-- 
GitLab


From 15d3a4797f3435d1531804369df87fa4e574b874 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 27 Jan 2012 21:06:09 -0800
Subject: [PATCH 547/576] simplify build process more - remove really annoying
 date.

---
 .gitignore                               |  2 ++
 Makefile                                 | 15 ++++-----------
 docs/assets/css/bootstrap-responsive.css |  2 +-
 docs/assets/css/bootstrap.css            |  3 +--
 less/bootstrap.less                      |  3 +--
 5 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/.gitignore b/.gitignore
index 2da5c5c5d2..01700de235 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,3 +34,5 @@ nbproject
 
 # Misc
 js/min
+
+dist
\ No newline at end of file
diff --git a/Makefile b/Makefile
index f2213103aa..879d594409 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,3 @@
-VERSION=2.0.0
 BOOTSTRAP = ./docs/assets/css/bootstrap.css
 BOOTSTRAP_LESS = ./less/bootstrap.less
 BOOTSTRAP_RESPONSIVE = ./docs/assets/css/bootstrap-responsive.css
@@ -12,16 +11,11 @@ WATCHR ?= `which watchr`
 #
 
 build:
-	@@if test ! -z ${LESS_COMPRESSOR}; then \
-		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_LESS} >${BOOTSTRAP_LESS}.tmp; \
-		lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP}; \
-		rm -f ${BOOTSTRAP_LESS}.tmp; \
-		sed -e 's/@VERSION/'"v${VERSION}"'/' -e 's/@DATE/'"`date`"'/' <${BOOTSTRAP_RESPONSIVE_LESS} >${BOOTSTRAP_RESPONSIVE_LESS}.tmp; \
-		lessc ${BOOTSTRAP_RESPONSIVE_LESS}.tmp > ${BOOTSTRAP_RESPONSIVE}; \
-		rm -f ${BOOTSTRAP_RESPONSIVE_LESS}.tmp; \
+	@if test ! -z ${LESS_COMPRESSOR}; then \
+		lessc ${BOOTSTRAP_LESS} > ${BOOTSTRAP}; \
+		lessc ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}; \
 		node docs/build; \
 		cp img/* docs/assets/img/; \
-		echo "Bootstrap successfully built! - `date`"; \
 	else \
 		echo "You must have the LESS compiler installed in order to build Bootstrap."; \
 		echo "You can install it by running: npm install less -g"; \
@@ -32,7 +26,7 @@ build:
 #
 
 watch:
-	@@if test ! -z ${WATCHR}; then \
+	@if test ! -z ${WATCHR}; then \
 	  echo "Watching less files..."; \
 	  watchr -e "watch('less/.*\.less') { system 'make' }"; \
 	else \
@@ -40,5 +34,4 @@ watch:
 		echo "You can install it by running: gem install watchr"; \
 	fi
 
-
 .PHONY: build watch
\ No newline at end of file
diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
index 8b1d98b5c6..acebb64d3b 100644
--- a/docs/assets/css/bootstrap-responsive.css
+++ b/docs/assets/css/bootstrap-responsive.css
@@ -273,4 +273,4 @@
   .offset12  { .offset(12); }
 
 }
-*/
+*/
\ No newline at end of file
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 861ef91414..fc0481807d 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,6 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 20:16:25 PST 2012
  */
 article,
 aside,
@@ -1971,7 +1970,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/less/bootstrap.less b/less/bootstrap.less
index bc9f84373c..3dad408c96 100644
--- a/less/bootstrap.less
+++ b/less/bootstrap.less
@@ -1,12 +1,11 @@
 /*!
- * Bootstrap @VERSION
+ * Bootstrap v2.0.0
  *
  * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: @DATE
  */
 
 // CSS Reset
-- 
GitLab


From 3934d1b6c4cb975967235547b77e90b4c8c91be2 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 21:08:04 -0800
Subject: [PATCH 548/576] rgba text color on active buttons for a bit more
 contrast from their non-active siblings

---
 docs/assets/css/bootstrap.css | 14 ++++++++++++--
 less/button-groups.less       |  3 ++-
 less/buttons.less             |  7 +++++++
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 861ef91414..002c937a08 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -6,7 +6,7 @@
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: Fri Jan 27 20:16:25 PST 2012
+ * Date: Fri Jan 27 21:07:37 PST 2012
  */
 article,
 aside,
@@ -2486,6 +2486,12 @@ table .span12 {
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   color: #ffffff;
 }
+.btn.primary.active,
+.btn.danger.active,
+.btn.success.active,
+.btn.info.active {
+  color: rgba(255, 255, 255, 0.75);
+}
 .btn.primary {
   background-color: #0074cc;
   background-image: -moz-linear-gradient(top, #0088cc, #0055cc);
@@ -2630,6 +2636,7 @@ table .span12 {
   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;
+  color: rgba(0, 0, 0, 0.5);
 }
 .btn.disabled, .btn[disabled] {
   cursor: default;
@@ -2747,7 +2754,10 @@ button.btn.small, input[type="submit"].btn.small {
   -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:hover,
+.btn-group .btn:focus,
+.btn-group .btn:active,
+.btn-group .btn.active {
   z-index: 2;
 }
 .btn-group .dropdown-toggle {
diff --git a/less/button-groups.less b/less/button-groups.less
index 471d337481..3e08e6b092 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -73,7 +73,8 @@
 // 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 .btn.active {
   z-index: 2;
 }
 
diff --git a/less/buttons.less b/less/buttons.less
index 8d75248b3a..f1060dc6bb 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -18,6 +18,12 @@
     text-shadow: 0 -1px 0 rgba(0,0,0,.25);
     color: @white
   }
+  &.primary.active,
+  &.danger.active,
+  &.success.active,
+  &.info.active {
+    color: rgba(255,255,255,.75);
+  }
   &.primary {
     .buttonBackground(@primaryButtonBackground, spin(@primaryButtonBackground, 15));
   }
@@ -81,6 +87,7 @@
     .box-shadow(@shadow);
     background-color: darken(@white, 10%);
     background-color: darken(@white, 15%) e("\9");
+    color: rgba(0,0,0,.5);
   }
   &.disabled,
   &[disabled] {
-- 
GitLab


From 78120edf728ede35f2338b42ae30fff1bd7f086e Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 21:20:58 -0800
Subject: [PATCH 549/576] add clearfix to control-group for longer labels and
 any other unforeseen circumstances

---
 docs/assets/css/bootstrap.css | 8 ++++++++
 less/forms.less               | 1 +
 2 files changed, 9 insertions(+)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 0ad0588148..c097c8f582 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -951,6 +951,14 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
 }
 .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-group > label {
   float: left;
diff --git a/less/forms.less b/less/forms.less
index edd4165850..b82fcca729 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -505,6 +505,7 @@ select:focus:required:invalid {
   // Increase spacing between groups
   .control-group {
     margin-bottom: @baseLineHeight;
+    .clearfix();
   }
   // Float the labels left
   .control-group > label {
-- 
GitLab


From ad78caa72639aa377caf584efc26fe7a5682b15c Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 21:25:35 -0800
Subject: [PATCH 550/576] fix right aligned dropdowns in navbar by adding left:
 auto; to nix default alignment

---
 docs/assets/css/bootstrap.css | 1 +
 less/navbar.less              | 1 +
 2 files changed, 2 insertions(+)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index c097c8f582..d9e8213dc2 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -2100,6 +2100,7 @@ table .span12 {
   color: #ffffff;
 }
 .navbar .nav.pull-right .dropdown-menu {
+  left: auto;
   right: 0;
 }
 .navbar .nav.pull-right .dropdown-menu:before {
diff --git a/less/navbar.less b/less/navbar.less
index 6f2b737c88..287459a27c 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -244,6 +244,7 @@
 
 // Right aligned menus need alt position
 .navbar .nav.pull-right .dropdown-menu {
+  left: auto;
   right: 0;
   &:before {
     left: auto;
-- 
GitLab


From 0255f47eb3f4967851d014a9ef6fdf49a37dc548 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 27 Jan 2012 21:36:58 -0800
Subject: [PATCH 551/576] add zindex option for tooltips/popovers and fix modal
 zindex doc example

---
 docs/assets/js/application.js            |  9 ++++++++-
 docs/javascript.html                     | 14 +++++++++++++-
 docs/templates/pages/javascript.mustache | 14 +++++++++++++-
 js/bootstrap-tooltip.js                  |  4 ++++
 4 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 02cc730bd3..a071a855b4 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -106,7 +106,14 @@ $(function () {
   $('.tooltip-demo.well').tooltip({
     selector: "a[rel=tooltip]"
   })
-  $('.tooltip-test').tooltip()
+
+  $('.tooltip-test').tooltip({
+    'z-index': 3000
+  })
+
+  $('.popover-test').popover({
+    'z-index': 3000
+  })
 
   // popover demo
   $("a[rel=popover]")
diff --git a/docs/javascript.html b/docs/javascript.html
index 24de47157f..6bec3d122a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -221,7 +221,7 @@
               <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
 
               <h4>Popover in a modal</h4>
-              <p>This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
+              <p>This <a href="#" class="btn popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p>
 
               <h4>Tooltips in a modal</h4>
               <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
@@ -740,6 +740,12 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                 <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
                </td>
              </tr>
+             <tr>
+               <td>z-index</td>
+               <td>number</td>
+               <td>1020</td>
+               <td>The tooltips z-index value</td>
+             </tr>
             </tbody>
           </table>
           <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</p>
@@ -840,6 +846,12 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                 <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
                </td>
              </tr>
+             <tr>
+               <td>z-index</td>
+               <td>number</td>
+               <td>1010</td>
+               <td>The popovers z-index value</td>
+             </tr>
             </tbody>
           </table>
           <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</p>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 6e3ba25da4..ec711a3125 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -156,7 +156,7 @@
               <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
 
               <h4>{{_i}}Popover in a modal{{/i}}</h4>
-              <p>{{_i}}This <a href="#" class="btn" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.{{/i}}</p>
+              <p>{{_i}}This <a href="#" class="btn popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.{{/i}}</p>
 
               <h4>{{_i}}Tooltips in a modal{{/i}}</h4>
               <p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p>
@@ -675,6 +675,12 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                 <p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
                </td>
              </tr>
+             <tr>
+               <td>{{_i}}z-index{{/i}}</td>
+               <td>{{_i}}number{{/i}}</td>
+               <td>1020</td>
+               <td>The tooltips z-index value</td>
+             </tr>
             </tbody>
           </table>
           <p>{{_i}}<span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.{{/i}}</p>
@@ -775,6 +781,12 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                 <p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
                </td>
              </tr>
+             <tr>
+               <td>{{_i}}z-index{{/i}}</td>
+               <td>{{_i}}number{{/i}}</td>
+               <td>1010</td>
+               <td>The popovers z-index value</td>
+             </tr>
             </tbody>
           </table>
           <p>{{_i}}<span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.{{/i}}</p>
diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index 21f2311fb2..65f8895aa5 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -145,6 +145,9 @@
             break
         }
 
+        debugger
+        if (this.options['z-index']) tp['z-index'] = this.options['z-index']
+
         $tip
           .css(tp)
           .addClass(placement)
@@ -265,6 +268,7 @@
   , trigger: 'hover'
   , title: ''
   , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
+  , 'z-index': false
   }
 
 }( window.jQuery )
-- 
GitLab


From e726b231ba0c0c0effb13c9458842d64bda0e58c Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 27 Jan 2012 21:59:06 -0800
Subject: [PATCH 552/576] add toggle to docs for popover/tooltip

---
 docs/assets/css/bootstrap.css            | 2 +-
 docs/javascript.html                     | 6 ++++++
 docs/templates/pages/javascript.mustache | 6 ++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index d9e8213dc2..ebe480eec6 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -1978,7 +1978,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/docs/javascript.html b/docs/javascript.html
index 6bec3d122a..d489241157 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -760,6 +760,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h4>.tooltip('hide')</h4>
           <p>Hides an elements tooltip.</p>
           <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
+          <h4>.tooltip('toggle')</h4>
+          <p>Toggles an elements tooltip.</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('toggle')</pre>
         </div>
       </div>
     </section>
@@ -868,6 +871,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h4>.popover('hide')</h4>
           <p>Hides an elements popover.</p>
           <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
+          <h4>.popover('toggle')</h4>
+          <p>Toggles an elements popover.</p>
+          <pre class="prettyprint linenums">$('#element').popover('toggle')</pre>
         </div>
       </div>
     </section>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index ec711a3125..9113c1776f 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -695,6 +695,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h4>.tooltip('hide')</h4>
           <p>{{_i}}Hides an elements tooltip.{{/i}}</p>
           <pre class="prettyprint linenums">$('#element').tooltip('hide')</pre>
+          <h4>.tooltip('toggle')</h4>
+          <p>{{_i}}Toggles an elements tooltip.{{/i}}</p>
+          <pre class="prettyprint linenums">$('#element').tooltip('toggle')</pre>
         </div>
       </div>
     </section>
@@ -803,6 +806,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
           <h4>.popover('hide')</h4>
           <p>{{_i}}Hides an elements popover.{{/i}}</p>
           <pre class="prettyprint linenums">$('#element').popover('hide')</pre>
+          <h4>.popover('toggle')</h4>
+          <p>{{_i}}Toggles an elements popover.{{/i}}</p>
+          <pre class="prettyprint linenums">$('#element').popover('toggle')</pre>
         </div>
       </div>
     </section>
-- 
GitLab


From 7cbb5868259ef95aacbd16812c25ac73ea76ca2d Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Fri, 27 Jan 2012 22:27:06 -0800
Subject: [PATCH 553/576] move the matcher and sorter into the options -
 encourage people to override them...

---
 docs/javascript.html                     | 17 ++++++++++++++++-
 docs/templates/pages/javascript.mustache | 17 ++++++++++++++++-
 js/bootstrap-typeahead.js                | 21 ++++++++++++---------
 3 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index d489241157..53130bd16f 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1353,7 +1353,7 @@ $('.myCarousel').carousel({
              <tr>
                <th style="width: 100px;">Name</th>
                <th style="width: 50px;">type</th>
-               <th style="width: 50px;">default</th>
+               <th style="width: 90px;">default</th>
                <th>description</th>
              </tr>
             </thead>
@@ -1370,6 +1370,18 @@ $('.myCarousel').carousel({
                <td>8</td>
                <td>The max number of items to display in the dropdown.</td>
              </tr>
+             <tr>
+               <td>matcher</td>
+               <td>function</td>
+               <td>case sensitive</td>
+               <td>The method used to determine if a query matches an item. Accepts a single argument, the <code>item</code> against which to test the query. Access the current query with <code>this.query</code>. Return a boolean <code>true</code> if query is a match.</td>
+             </tr>
+             <tr>
+               <td>sorter</td>
+               <td>function</td>
+               <td>no sort</td>
+               <td>Method used to sort autocomplete results. Accepts a single argument <code>items</code> and has the scope of the typeahead instance. Reference the current query with <code>this.query</code>.</td>
+             </tr>
             </tbody>
           </table>
 
@@ -1378,6 +1390,9 @@ $('.myCarousel').carousel({
 <pre class="prettyprint linenums">
 &lt;input type="text" data-provide="typeahead"&gt;
 </pre>
+          <h3>Methods</h3>
+          <h4>.typeahead(options)</h4>
+          <p>Initializes an input with a typahead.</p>
         </div>
       </div>
     </section>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 9113c1776f..3c7a3b101f 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -1288,7 +1288,7 @@ $('.myCarousel').carousel({
              <tr>
                <th style="width: 100px;">{{_i}}Name{{/i}}</th>
                <th style="width: 50px;">{{_i}}type{{/i}}</th>
-               <th style="width: 50px;">{{_i}}default{{/i}}</th>
+               <th style="width: 90px;">{{_i}}default{{/i}}</th>
                <th>{{_i}}description{{/i}}</th>
              </tr>
             </thead>
@@ -1305,6 +1305,18 @@ $('.myCarousel').carousel({
                <td>8</td>
                <td>{{_i}}The max number of items to display in the dropdown.{{/i}}</td>
              </tr>
+             <tr>
+               <td>{{_i}}matcher{{/i}}</td>
+               <td>{{_i}}function{{/i}}</td>
+               <td>case sensitive</td>
+               <td>{{_i}}The method used to determine if a query matches an item. Accepts a single argument, the <code>item</code> against which to test the query. Access the current query with <code>this.query</code>. Return a boolean <code>true</code> if query is a match.{{/i}}</td>
+             </tr>
+             <tr>
+               <td>{{_i}}sorter{{/i}}</td>
+               <td>{{_i}}function{{/i}}</td>
+               <td>no sort</td>
+               <td>{{_i}}Method used to sort autocomplete results. Accepts a single argument <code>items</code> and has the scope of the typeahead instance. Reference the current query with <code>this.query</code>.{{/i}}</td>
+             </tr>
             </tbody>
           </table>
 
@@ -1313,6 +1325,9 @@ $('.myCarousel').carousel({
 <pre class="prettyprint linenums">
 &lt;input type="text" data-provide="typeahead"&gt;
 </pre>
+          <h3>{{_i}}Methods{{/i}}</h3>
+          <h4>.typeahead({{_i}}options{{/i}})</h4>
+          <p>{{_i}}Initializes an input with a typahead.{{/i}}</p>
         </div>
       </div>
     </section>
\ No newline at end of file
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index b4d839c936..39331816e8 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -24,6 +24,8 @@
   var Typeahead = function ( element, options ) {
     this.$element = $(element)
     this.options = $.extend({}, $.fn.typeahead.defaults, options)
+    this.matcher = this.options.matcher
+    this.sorter = this.options.sorter
     this.$menu = $(this.options.menu).appendTo('body')
     this.source = this.options.source
     this.shown = false
@@ -34,11 +36,6 @@
 
     constructor: Typeahead
 
-  , matcher: function (item, query) {
-      // ;_; http://jsperf.com/asdfdfasdfa
-      return ~item.toLowerCase().indexOf(query)
-    }
-
   , select: function () {
       var val = this.$menu.find('.active').attr('data-value')
       this.$element.val(val)
@@ -77,12 +74,12 @@
         return this.shown ? this.hide() : this
       }
 
-      q = this.query.toLowerCase()
-
-      items = jQuery.grep(this.source, function (item) {
-        if (that.matcher(item, q)) return item
+      items = $.grep(this.source, function (item) {
+        if (that.matcher(item)) return item
       })
 
+      items = this.sorter(items)
+
       if (!items.length) {
         return this.shown ? this.hide() : this
       }
@@ -233,6 +230,12 @@
   , items: 8
   , menu: '<ul class="typeahead dropdown-menu"></ul>'
   , item: '<li><a href="#"></a></li>'
+  , matcher: function (item) {
+      return ~item.indexOf(this.query)
+    }
+  , sorter: function (items) {
+      return items
+    }
   }
 
   $.fn.typeahead.Constructor = Typeahead
-- 
GitLab


From cb8606f2c84adb57c82dd7bd401574a2376ff952 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 22:52:45 -0800
Subject: [PATCH 554/576] adding wells and close icon to the docs under misc in
 components, with a new subnav style

---
 docs/assets/css/docs.css                 |  25 +--
 docs/base-css.html                       |  53 ------
 docs/components.html                     | 229 +++++++++++++++++------
 docs/templates/pages/base-css.mustache   |  53 ------
 docs/templates/pages/components.mustache | 229 +++++++++++++++++------
 5 files changed, 355 insertions(+), 234 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index cf4b1962f1..5a6bd971fb 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -154,7 +154,6 @@ hr.soften {
 .subnav {
   width: 100%;
   height: 36px;
-  overflow: hidden;
   background-color: #eeeeee; /* Old browsers */
   background-repeat: repeat-x; /* Repeat the gradient */
   background-image: -moz-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* FF3.6+ */
@@ -172,37 +171,39 @@ hr.soften {
 .subnav .nav {
   margin-bottom: 0;
 }
-.subnav .nav a {
+.subnav .nav > li > a {
   margin: 0;
   padding-top: 11px;
   padding-bottom: 11px;
   font-size: 13px;
-  color: #777;
+  text-shadow: 0 1px 0 rgba(255,255,255,.5);
   border-left: 1px solid #f5f5f5;
   border-right: 1px solid #e5e5e5;
   -webkit-border-radius: 0;
      -moz-border-radius: 0;
           border-radius: 0;
 }
-.subnav .nav a:hover,
-.subnav .nav .active a {
-  background-color: transparent;
-  color: #333;
-}
-.subnav .nav .active a {
+.subnav .nav > .active > a,
+.subnav .nav > .active > a:hover {
+  padding-left: 13px;
+  color: #777;
   background-color: #e9e9e9;
   border-right-color: #ddd;
   border-left: 0;
-  padding-left: 13px;
   -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
      -moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
           box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
 }
-.subnav .nav li:first-child a {
+.subnav .nav > .active > a .caret,
+.subnav .nav > .active > a:hover .caret {
+  border-top-color: #777;
+}
+.subnav .nav > li:first-child > a,
+.subnav .nav > li:first-child > a:hover {
   border-left: 0;
   padding-left: 12px;
 }
-.subnav .nav li:last-child a {
+.subnav .nav > li:last-child > a {
   border-right: 0;
 }
 
diff --git a/docs/base-css.html b/docs/base-css.html
index 7552fb9b91..167cb5e694 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -388,59 +388,6 @@
     </tbody>
   </table>
 
-  <!-- Labels -->
-  <h2>Inline labels <small>for special attention</small></h2>
-  <table class="table table-bordered table-striped">
-    <thead>
-      <tr>
-        <th style="width: 190px;">Labels</th>
-        <th>Markup</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>
-          <span class="label">Default</span>
-        </td>
-        <td>
-          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label success">New</span>
-        </td>
-        <td>
-          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label warning">Warning</span>
-        </td>
-        <td>
-          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label important">Important</span>
-        </td>
-        <td>
-          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label info">Info</span>
-        </td>
-        <td>
-          <code>&lt;span class="label info"&gt;Info&lt;/span&gt;</code>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
 </section>
 
 
diff --git a/docs/components.html b/docs/components.html
index 6ebf6a4f06..a525582203 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -70,15 +70,27 @@
   <p class="lead">Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="#buttonGroups">Button groups</a></li>
-      <li><a href="#buttonDropdowns">Button dropdowns</a></li>
-      <li><a href="#navs">Nav, tabs, pills</a></li>
-      <li><a href="#navbar">Navbar</a></li>
-      <li><a href="#breadcrumbs">Breadcrumbs</a></li>
-      <li><a href="#pagination">Pagination</a></li>
+      <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Buttons <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+          <li><a href="#buttonGroups">Button groups</a></li>
+          <li><a href="#buttonDropdowns">Button dropdowns</a></li>
+        </ul>
+      </li>
+      <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Navigation <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+          <li><a href="#navs">Nav, tabs, pills</a></li>
+          <li><a href="#navbar">Navbar</a></li>
+          <li><a href="#breadcrumbs">Breadcrumbs</a></li>
+          <li><a href="#pagination">Pagination</a></li>
+        </ul>
+      </li>
+      <li><a href="#labels">Labels</a></li>
       <li><a href="#thumbnails">Thumbnails</a></li>
       <li><a href="#alerts">Alerts</a></li>
       <li><a href="#progress">Progress bars</a></li>
+      <li><a href="#misc">Miscellaneous</a></li>
     </ul>
   </div>
 </header>
@@ -927,6 +939,66 @@
 
 
 
+<!-- Labels
+================================================== -->
+<section id="labels">
+  <div class="page-header">
+    <h1>Inline labels <small>Label and annotate text</small></h1>
+  </div>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">Labels</th>
+        <th>Markup</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <span class="label">Default</span>
+        </td>
+        <td>
+          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label success">New</span>
+        </td>
+        <td>
+          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label warning">Warning</span>
+        </td>
+        <td>
+          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label important">Important</span>
+        </td>
+        <td>
+          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label info">Info</span>
+        </td>
+        <td>
+          <code>&lt;span class="label info"&gt;Info&lt;/span&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</section>
+
+
+
 <!-- Thumbnails
 ================================================== -->
 <section id="thumbnails">
@@ -1168,32 +1240,32 @@
 
 <!-- Progress bars
 ================================================== -->
-      <section id="progress">
-        <div class="page-header">
-          <h1>Progress bars <small>For loading, redirecting, or action status</small></h1>
-        </div>
+<section id="progress">
+  <div class="page-header">
+    <h1>Progress bars <small>For loading, redirecting, or action status</small></h1>
+  </div>
 
-        <h2>Examples and markup</h2>
-        <div class="row">
-          <div class="span4">
-            <h3>Basic</h3>
-            <p>Default progress bar with a vertical gradient.</p>
-            <div class="progress">
-              <div class="bar" style="width: 60%;"></div>
-            </div>
+  <h2>Examples and markup</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Basic</h3>
+      <p>Default progress bar with a vertical gradient.</p>
+      <div class="progress">
+        <div class="bar" style="width: 60%;"></div>
+      </div>
 <pre class="prettyprint linenums">
 &lt;div class="progress"&gt;
   &lt;div class="bar"
        style="width: 60%;"&gt;&lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          </div>
-          <div class="span4">
-            <h3>Striped</h3>
-            <p>Uses a gradient to create a striped effect.</p>
-            <div class="progress info striped">
-              <div class="bar" style="width: 20%;"></div>
-            </div>
+    </div>
+    <div class="span4">
+      <h3>Striped</h3>
+      <p>Uses a gradient to create a striped effect.</p>
+      <div class="progress info striped">
+        <div class="bar" style="width: 20%;"></div>
+      </div>
 <pre class="prettyprint linenums">
 &lt;div class="progress info
      striped"&gt;
@@ -1201,13 +1273,13 @@
        style="width: 20%;"&gt;&lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          </div>
-          <div class="span4">
-            <h3>Animated</h3>
-            <p>Takes the striped example and animates it.</p>
-            <div class="progress danger active striped">
-              <div class="bar" style="width: 45%"></div>
-            </div>
+    </div>
+    <div class="span4">
+      <h3>Animated</h3>
+      <p>Takes the striped example and animates it.</p>
+      <div class="progress danger active striped">
+        <div class="bar" style="width: 45%"></div>
+      </div>
 <pre class="prettyprint linenums">
 &lt;div class="progress danger
      striped active"&gt;
@@ -1215,34 +1287,75 @@
        style="width: 40%;"&gt;&lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          </div>
-        </div>
+    </div>
+  </div>
+
+  <h2>Options and browser support</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>Additional colors</h3>
+      <p>Progress bars utilize some of the same classes as buttons and alert messages for quick styling.</p>
+      <ul>
+        <li><code>.info</code></li>
+        <li><code>.success</code></li>
+        <li><code>.danger</code></li>
+      </ul>
+      <p>Alternatively, you can customize the LESS files and roll your own colors and sizes.</p>
+    </div>
+    <div class="span4">
+      <h3>Behavior</h3>
+      <p>Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.</p>
+      <p>If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.</p>
+    </div>
+    <div class="span4">
+      <h3>Browser support</h3>
+      <p>Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.</p>
+      <p>Opera does not support animations at this time.</p>
+    </div>
+  </div>
+
+</section>
+
+
+
+
+
+<!-- Miscellaneous
+================================================== -->
+<section id="misc">
+  <div class="page-header">
+    <h1>Miscellaneous <small>Wells, badges, and close icon</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h2>Wells</h2>
+      <p>Use the well as a simple effect on an element to give it an inset effect.</p>
+      <div class="well">
+        Look, I'm in a well!
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="well"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+    </div><!--/span-->
+    <div class="span4" style="display: none;">
+      <h2>Badges</h2>
+      <p>Use a badge on an element for an unread count or as a simple indicator.</p>
+<pre class="prettyprint linenums">&lt;span class="badge"&gt;3&lt;/div&gt;</pre>
+    </div><!--/span-->
+    <div class="span4">
+      <h2>Close icon</h2>
+      <p>Use the generic close icon for dismissing content like modals and alerts.</p>
+      <p><a class="close" style="float: none;">&times;</a></p>
+<pre class="prettyprint linenums">&lt;a class="close"&gt;&amp;times;&lt;/a&gt;</pre>
+    </div><!--/span-->
+  </div><!--/row-->
+</section>
+
+
 
-        <h2>Options and browser support</h2>
-        <div class="row">
-          <div class="span4">
-            <h3>Additional colors</h3>
-            <p>Progress bars utilize some of the same classes as buttons and alert messages for quick styling.</p>
-            <ul>
-              <li><code>.info</code></li>
-              <li><code>.success</code></li>
-              <li><code>.danger</code></li>
-            </ul>
-            <p>Alternatively, you can customize the LESS files and roll your own colors and sizes.</p>
-          </div>
-          <div class="span4">
-            <h3>Behavior</h3>
-            <p>Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.</p>
-            <p>If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.</p>
-          </div>
-          <div class="span4">
-            <h3>Browser support</h3>
-            <p>Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.</p>
-            <p>Opera does not support animations at this time.</p>
-          </div>
-        </div>
 
-      </section>
 
 
      <!-- Footer
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index 23a6a37a26..ad27d2be88 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -323,59 +323,6 @@
     </tbody>
   </table>
 
-  <!-- Labels -->
-  <h2>{{_i}}Inline labels <small>for special attention</small>{{/i}}</h2>
-  <table class="table table-bordered table-striped">
-    <thead>
-      <tr>
-        <th style="width: 190px;">{{_i}}Labels{{/i}}</th>
-        <th>{{_i}}Markup{{/i}}</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td>
-          <span class="label">{{_i}}Default{{/i}}</span>
-        </td>
-        <td>
-          <code>&lt;span class="label"&gt;{{_i}}Default{{/i}}&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label success">{{_i}}New{{/i}}</span>
-        </td>
-        <td>
-          <code>&lt;span class="label success"&gt;{{/_i}}New{{/i}}&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label warning">{{_i}}Warning{{/i}}</span>
-        </td>
-        <td>
-          <code>&lt;span class="label warning"&gt;{{_i}}Warning{{/i}}&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label important">{{_i}}Important{{/i}}</span>
-        </td>
-        <td>
-          <code>&lt;span class="label important"&gt;{{_i}}Important{{/i}}&lt;/span&gt;</code>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <span class="label info">{{_i}}Info{{/i}}</span>
-        </td>
-        <td>
-          <code>&lt;span class="label info"&gt;{{_i}}Info{{/i}}&lt;/span&gt;</code>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
 </section>
 
 
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 48de1f8bf2..98e7c3f3f7 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -5,15 +5,27 @@
   <p class="lead">{{_i}}Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.{{/i}}</p>
   <div class="subnav">
     <ul class="nav pills">
-      <li><a href="#buttonGroups">{{_i}}Button groups{{/i}}</a></li>
-      <li><a href="#buttonDropdowns">{{_i}}Button dropdowns{{/i}}</a></li>
-      <li><a href="#navs">{{_i}}Nav, tabs, pills{{/i}}</a></li>
-      <li><a href="#navbar">{{_i}}Navbar{{/i}}</a></li>
-      <li><a href="#breadcrumbs">{{_i}}Breadcrumbs{{/i}}</a></li>
-      <li><a href="#pagination">{{_i}}Pagination{{/i}}</a></li>
+      <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Buttons{{/i}} <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+          <li><a href="#buttonGroups">Button groups</a></li>
+          <li><a href="#buttonDropdowns">Button dropdowns</a></li>
+        </ul>
+      </li>
+      <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Navigation{{/i}} <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+          <li><a href="#navs">{{_i}}Nav, tabs, pills{{/i}}</a></li>
+          <li><a href="#navbar">{{_i}}Navbar{{/i}}</a></li>
+          <li><a href="#breadcrumbs">{{_i}}Breadcrumbs{{/i}}</a></li>
+          <li><a href="#pagination">{{_i}}Pagination{{/i}}</a></li>
+        </ul>
+      </li>
+      <li><a href="#labels">{{_i}}Labels{{/i}}</a></li>
       <li><a href="#thumbnails">{{_i}}Thumbnails{{/i}}</a></li>
       <li><a href="#alerts">{{_i}}Alerts{{/i}}</a></li>
       <li><a href="#progress">{{_i}}Progress bars{{/i}}</a></li>
+      <li><a href="#misc">{{_i}}Miscellaneous{{/i}}</a></li>
     </ul>
   </div>
 </header>
@@ -862,6 +874,66 @@
 
 
 
+<!-- Labels
+================================================== -->
+<section id="labels">
+  <div class="page-header">
+    <h1>{{_i}}Inline labels{{/i}} <small>{{_i}}Label and annotate text{{/i}}</small></h1>
+  </div>
+  <table class="table table-bordered table-striped">
+    <thead>
+      <tr>
+        <th style="width: 190px;">{{_i}}Labels{{/i}}</th>
+        <th>{{_i}}Markup{{/i}}</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <span class="label">{{_i}}Default{{/i}}</span>
+        </td>
+        <td>
+          <code>&lt;span class="label"&gt;{{_i}}Default{{/i}}&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label success">{{_i}}New{{/i}}</span>
+        </td>
+        <td>
+          <code>&lt;span class="label success"&gt;{{/_i}}New{{/i}}&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label warning">{{_i}}Warning{{/i}}</span>
+        </td>
+        <td>
+          <code>&lt;span class="label warning"&gt;{{_i}}Warning{{/i}}&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label important">{{_i}}Important{{/i}}</span>
+        </td>
+        <td>
+          <code>&lt;span class="label important"&gt;{{_i}}Important{{/i}}&lt;/span&gt;</code>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <span class="label info">{{_i}}Info{{/i}}</span>
+        </td>
+        <td>
+          <code>&lt;span class="label info"&gt;{{_i}}Info{{/i}}&lt;/span&gt;</code>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</section>
+
+
+
 <!-- Thumbnails
 ================================================== -->
 <section id="thumbnails">
@@ -1103,32 +1175,32 @@
 
 <!-- Progress bars
 ================================================== -->
-      <section id="progress">
-        <div class="page-header">
-          <h1>{{_i}}Progress bars{{/i}} <small>{{_i}}For loading, redirecting, or action status{{/i}}</small></h1>
-        </div>
+<section id="progress">
+  <div class="page-header">
+    <h1>{{_i}}Progress bars{{/i}} <small>{{_i}}For loading, redirecting, or action status{{/i}}</small></h1>
+  </div>
 
-        <h2>{{_i}}Examples and markup{{/i}}</h2>
-        <div class="row">
-          <div class="span4">
-            <h3>{{_i}}Basic{{/i}}</h3>
-            <p>{{_i}}Default progress bar with a vertical gradient.{{/i}}</p>
-            <div class="progress">
-              <div class="bar" style="width: 60%;"></div>
-            </div>
+  <h2>{{_i}}Examples and markup{{/i}}</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Basic{{/i}}</h3>
+      <p>{{_i}}Default progress bar with a vertical gradient.{{/i}}</p>
+      <div class="progress">
+        <div class="bar" style="width: 60%;"></div>
+      </div>
 <pre class="prettyprint linenums">
 &lt;div class="progress"&gt;
   &lt;div class="bar"
        style="width: 60%;"&gt;&lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}Striped{{/i}}</h3>
-            <p>{{_i}}Uses a gradient to create a striped effect.{{/i}}</p>
-            <div class="progress info striped">
-              <div class="bar" style="width: 20%;"></div>
-            </div>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Striped{{/i}}</h3>
+      <p>{{_i}}Uses a gradient to create a striped effect.{{/i}}</p>
+      <div class="progress info striped">
+        <div class="bar" style="width: 20%;"></div>
+      </div>
 <pre class="prettyprint linenums">
 &lt;div class="progress info
      striped"&gt;
@@ -1136,13 +1208,13 @@
        style="width: 20%;"&gt;&lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}Animated{{/i}}</h3>
-            <p>{{_i}}Takes the striped example and animates it.{{/i}}</p>
-            <div class="progress danger active striped">
-              <div class="bar" style="width: 45%"></div>
-            </div>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Animated{{/i}}</h3>
+      <p>{{_i}}Takes the striped example and animates it.{{/i}}</p>
+      <div class="progress danger active striped">
+        <div class="bar" style="width: 45%"></div>
+      </div>
 <pre class="prettyprint linenums">
 &lt;div class="progress danger
      striped active"&gt;
@@ -1150,31 +1222,72 @@
        style="width: 40%;"&gt;&lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          </div>
-        </div>
+    </div>
+  </div>
+
+  <h2>{{_i}}Options and browser support{{/i}}</h2>
+  <div class="row">
+    <div class="span4">
+      <h3>{{_i}}Additional colors{{/i}}</h3>
+      <p>{{_i}}Progress bars utilize some of the same classes as buttons and alert messages for quick styling.{{/i}}</p>
+      <ul>
+        <li><code>.info</code></li>
+        <li><code>.success</code></li>
+        <li><code>.danger</code></li>
+      </ul>
+      <p>{{_i}}Alternatively, you can customize the LESS files and roll your own colors and sizes.{{/i}}</p>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Behavior{{/i}}</h3>
+      <p>{{_i}}Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.{{/i}}</p>
+      <p>{{_i}}If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.{{/i}}</p>
+    </div>
+    <div class="span4">
+      <h3>{{_i}}Browser support{{/i}}</h3>
+      <p>{{_i}}Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.{{/i}}</p>
+      <p>{{_i}}Opera does not support animations at this time.{{/i}}</p>
+    </div>
+  </div>
+
+</section>
+
+
+
+
+
+<!-- Miscellaneous
+================================================== -->
+<section id="misc">
+  <div class="page-header">
+    <h1>{{_i}}Miscellaneous{{/i}} <small>{{_i}}Wells, badges, and close icon{{/i}}</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h2>{{_i}}Wells{{/i}}</h2>
+      <p>{{_i}}Use the well as a simple effect on an element to give it an inset effect.{{/i}}</p>
+      <div class="well">
+        {{_i}}Look, I'm in a well!{{/i}}
+      </div>
+<pre class="prettyprint linenums">
+&lt;div class="well"&gt;
+  ...
+&lt;/div&gt;
+</pre>
+    </div><!--/span-->
+    <div class="span4" style="display: none;">
+      <h2>{{_i}}Badges{{/i}}</h2>
+      <p>{{_i}}Use a badge on an element for an unread count or as a simple indicator.{{/i}}</p>
+<pre class="prettyprint linenums">&lt;span class="badge"&gt;3&lt;/div&gt;</pre>
+    </div><!--/span-->
+    <div class="span4">
+      <h2>{{_i}}Close icon{{/i}}</h2>
+      <p>{{_i}}Use the generic close icon for dismissing content like modals and alerts.{{/i}}</p>
+      <p><a class="close" style="float: none;">&times;</a></p>
+<pre class="prettyprint linenums">&lt;a class="close"&gt;&amp;times;&lt;/a&gt;</pre>
+    </div><!--/span-->
+  </div><!--/row-->
+</section>
+
+
 
-        <h2>{{_i}}Options and browser support{{/i}}</h2>
-        <div class="row">
-          <div class="span4">
-            <h3>{{_i}}Additional colors{{/i}}</h3>
-            <p>{{_i}}Progress bars utilize some of the same classes as buttons and alert messages for quick styling.{{/i}}</p>
-            <ul>
-              <li><code>.info</code></li>
-              <li><code>.success</code></li>
-              <li><code>.danger</code></li>
-            </ul>
-            <p>{{_i}}Alternatively, you can customize the LESS files and roll your own colors and sizes.{{/i}}</p>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}Behavior{{/i}}</h3>
-            <p>{{_i}}Progress bars use CSS3 transitions, so if you dynamically adjust the width via javascript, it will smoothly resize.{{/i}}</p>
-            <p>{{_i}}If you use the <code>.active</code> class, your <code>.striped</code> progress bars will animate the stripes left to right.{{/i}}</p>
-          </div>
-          <div class="span4">
-            <h3>{{_i}}Browser support{{/i}}</h3>
-            <p>{{_i}}Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-8 or older versions of Firefox.{{/i}}</p>
-            <p>{{_i}}Opera does not support animations at this time.{{/i}}</p>
-          </div>
-        </div>
 
-      </section>
-- 
GitLab


From 7a756168b52f5bd0af2aedd629379a80e8682c14 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 22:56:48 -0800
Subject: [PATCH 555/576] fix regression in textarea shadows

---
 docs/assets/css/bootstrap.css | 3 ++-
 less/forms.less               | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index ebe480eec6..7be53d91f8 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -615,6 +615,7 @@ input:focus, textarea:focus {
   -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-8 */
 
@@ -1978,7 +1979,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/less/forms.less b/less/forms.less
index b82fcca729..c7342626f5 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -191,6 +191,7 @@ textarea:focus {
   border-color: rgba(82,168,236,.8);
   @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
   .box-shadow(@shadow);
+  outline: 0;
   outline: thin dotted \9; /* IE6-8 */
 }
 input[type="file"]:focus,
-- 
GitLab


From 08fea7587c536b7daa2c976cdb50144379ae2a62 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 23:27:33 -0800
Subject: [PATCH 556/576] call attention to notices in js docs more

---
 docs/javascript.html                     | 53 +++++++++++++++++-------
 docs/templates/pages/javascript.mustache | 53 +++++++++++++++++-------
 2 files changed, 74 insertions(+), 32 deletions(-)

diff --git a/docs/javascript.html b/docs/javascript.html
index 53130bd16f..0bcbe597cb 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -146,7 +146,7 @@
           </label>
         </div>
       </div> <!-- /row -->
-      <div class="row">
+      <div class="row" style="margin-bottom: 9px;">
         <div class="span3">
           <label>
             <h3><a href="./javascript.html#collapse">Collapse</a></h3>
@@ -173,6 +173,7 @@
           </label>
         </div>
       </div> <!-- /row -->
+      <div class="alert alert-info"><strong>Heads up!</strong> All javascript plugins require the latest version of jQuery.</div>
     </section>
 
 
@@ -285,7 +286,9 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          <p><span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).</p>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action) and include bootstrap-transition.js.
+          </div>
           <h3>Methods</h3>
           <h4>.modal(options)</h4>
           <p>Activates your content as a modal. Accepts an optional options <code>object</code>.</p>
@@ -439,7 +442,9 @@ $('#myModal').on('hidden', function () {
           <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
           <h3>Markup</h3>
           <p>To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.</p>
-          <p><span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.</p>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong> You may optionally target a specific dropdown by using <code>data-target="#fat"</code> or <code>href="#fat"</code>.
+          </div>
 
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
@@ -533,7 +538,10 @@ $('#myModal').on('hidden', function () {
           <h3>Markup</h3>
           <p>To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).</p>
           <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-           <p><span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.</p>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong>
+            Navbar links must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.
+          </div>
           <h3>Options</h3>
           <table class="table table-bordered table-striped">
             <thead>
@@ -748,7 +756,10 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p><span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.</p>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong>
+            Options for individual tooltips can alternatively be specified through the use of data attributes.
+          </div>
           <h3>Markup</h3>
           <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
           <h3>Methods</h3>
@@ -857,7 +868,10 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p><span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.</p>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong>
+            Options for individual popovers can alternatively be specified through the use of data attributes.
+          </div>
           <h3>Markup</h3>
           <p>
           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.
@@ -1030,19 +1044,23 @@ $('#my-alert').bind('closed', function () {
           <h3>Methods</h3>
           <h4>$().button('toggle')</h4>
           <p>Toggles push state. Gives btn the look that it's been activated.</p>
-          <p><span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.</p>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong>
+            You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.
+          </div>
           <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;…&lt;/button&gt;</pre>
           <h4>$().button('loading')</h4>
           <p>Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.
           </p>
-           <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
-          <p>
-            <span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.
-          </p>
-           <h4>$().button('reset')</h4>
-           <p>Resets button state - swaps text to original text.</p>
-           <h4>$().button(string)</h4>
-           <p>Resets button state - swaps text to any data defined text state.</p>
+          <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong>
+            <a href="https://github.com/twitter/bootstrap/issues/793">Firefox persists the disabled state across page loads</a>. A workaround for this is to use <code>autocomplete="off"</code>.
+          </div>
+          <h4>$().button('reset')</h4>
+          <p>Resets button state - swaps text to original text.</p>
+          <h4>$().button(string)</h4>
+          <p>Resets button state - swaps text to any data defined text state.</p>
 <pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
 &lt;script&gt;
   $('.btn').button('complete')
@@ -1146,7 +1164,10 @@ $('#my-alert').bind('closed', function () {
 &lt;/button&gt;
 
 &lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
-         <p><span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.</p>
+          <div class="alert alert-info">
+            <strong>Heads up!</strong>
+            To add accordion-like group management to a collapsible control, add the data attribute <code>data-parent="#selector"</code>. Refer to the demo to see this in action.
+          </div>
           <h3>Methods</h3>
           <h4>.collapse(options)</h4>
           <p>Activates your content as a collapsible element. Accepts an optional options <code>object</code>.
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index 3c7a3b101f..ee70bf21b4 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -81,7 +81,7 @@
           </label>
         </div>
       </div> <!-- /row -->
-      <div class="row">
+      <div class="row" style="margin-bottom: 9px;">
         <div class="span3">
           <label>
             <h3><a href="./javascript.html#collapse">{{_i}}Collapse{{/i}}</a></h3>
@@ -108,6 +108,7 @@
           </label>
         </div>
       </div> <!-- /row -->
+      <div class="alert alert-info"><strong>{{_i}}Heads up!{{/i}}</strong> {{_i}}All javascript plugins require the latest version of jQuery.{{/i}}</div>
     </section>
 
 
@@ -220,7 +221,9 @@
   &lt;/div&gt;
 &lt;/div&gt;
 </pre>
-          <p>{{_i}}<span class="label notice">Notice</span> If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action).{{/i}}</p>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong> {{_i}}If you want your modal to animate in and out, just add a <code>.fade</code> class to the <code>.modal</code> element (refer to the demo to see this in action) and include bootstrap-transition.js.{{/i}}
+          </div>
           <h3{{_i}}>Methods{{/i}}</h3>
           <h4>.modal({{_i}}options{{/i}})</h4>
           <p>{{_i}}Activates your content as a modal. Accepts an optional options <code>object</code>.{{/i}}</p>
@@ -374,7 +377,9 @@ $('#myModal').on('hidden', function () {
           <pre class="prettyprint linenums">$('.dropdown-toggle').dropdown()</pre>
           <h3>{{_i}}Markup{{/i}}</h3>
           <p>{{_i}}To quickly add dropdown functionality to any element just add <code>data-toggle="dropdown"</code> and any valid bootstrap dropdown will automatically be activated.{{/i}}</p>
-          <p>{{_i}}<span class="label notice">Notice</span> For added control and flexibility, optionally specify a <code>data-target="#fat"</code> or <code>href="#fat"</code> - this allows you to target specific dropdowns.{{/i}}</p>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong>{{_i}} You may optionally target a specific dropdown by using <code>data-target="#fat"</code> or <code>href="#fat"</code>.{{/i}}
+          </div>
 
 <pre class="prettyprint linenums">
 &lt;ul class="nav pills"&gt;
@@ -468,7 +473,10 @@ $('#myModal').on('hidden', function () {
           <h3>{{_i}}Markup{{/i}}</h3>
           <p>{{_i}}To easily add scrollspy behavior to your topbar navigation, just add <code>data-spy="scroll"</code> to the element you want to spy on (most typically this would be the body).{{/i}}</p>
           <pre class="prettyprint linenums">&lt;body data-spy="scroll" &gt;...&lt;/body&gt;</pre>
-           <p>{{_i}}<span class="label notice">Notice</span> Navbar anchor tags must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.{{/i}}</p>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong>
+            {{_i}}Navbar links must have resolvable id targets. For example, a <code>&lt;a href="#home"&gt;home&lt;/a&gt;</code> must correspond to something in the dom like <code>&lt;div id="home"&gt;&lt;/div&gt;</code>.{{/i}}
+          </div>
           <h3>{{_i}}Options{{/i}}</h3>
           <table class="table table-bordered table-striped">
             <thead>
@@ -683,7 +691,10 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p>{{_i}}<span class="label notice">Notice</span> Individual tooltip instance options can alternatively be specified through the use of data attributes.{{/i}}</p>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong>
+            {{_i}}Options for individual tooltips can alternatively be specified through the use of data attributes.{{/i}}
+          </div>
           <h3>{{_i}}Markup{{/i}}</h3>
           <p>{{_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}}</p>
           <h3>{{_i}}Methods{{/i}}</h3>
@@ -792,7 +803,10 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
              </tr>
             </tbody>
           </table>
-          <p>{{_i}}<span class="label notice">Notice</span> Individual popover instance options can alternatively be specified through the use of data attributes.{{/i}}</p>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong>
+            {{_i}}Options for individual popovers can alternatively be specified through the use of data attributes.{{/i}}
+          </div>
           <h3>{{_i}}Markup{{/i}}</h3>
           <p>
           {{_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}}
@@ -965,19 +979,23 @@ $('#my-alert').bind('closed', function () {
           <h3>{{_i}}Methods{{/i}}</h3>
           <h4>$().button('toggle')</h4>
           <p>{{_i}}Toggles push state. Gives btn the look that it's been activated.{{/i}}</p>
-          <p>{{_i}}<span class="label notice">Notice</span> You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.{{/i}}</p>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong>
+            {{_i}}You can enable auto toggling of a button by using the <code>data-toggle</code> attribute.{{/i}}
+          </div>
           <pre class="prettyprint linenums">&lt;button class="btn" data-toggle="button" &gt;…&lt;/button&gt;</pre>
           <h4>$().button('loading')</h4>
           <p>{{_i}}Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute <code>data-loading-text</code>.{{/i}}
           </p>
-           <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
-          <p>
-            {{_i}}<span class="label notice">Notice</span> Firefox persists the disabled state across page loads. A workaround for this is to use: <code>autocomplete="off"</code>. More info can be found <a href="https://github.com/twitter/bootstrap/issues/793">here</a>.{{/i}}
-          </p>
-           <h4>$().button('reset')</h4>
-           <p>{{_i}}Resets button state - swaps text to original text.{{/i}}</p>
-           <h4>$().button(string)</h4>
-           <p>{{_i}}Resets button state - swaps text to any data defined text state.{{/i}}</p>
+          <pre class="prettyprint linenums">&lt;button class="btn" data-loading-text="loading stuff..." &gt;...&lt;/button&gt;</pre>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong>
+            {{_i}}<a href="https://github.com/twitter/bootstrap/issues/793">Firefox persists the disabled state across page loads</a>. A workaround for this is to use <code>autocomplete="off"</code>.{{/i}}
+          </div>
+          <h4>$().button('reset')</h4>
+          <p>{{_i}}Resets button state - swaps text to original text.{{/i}}</p>
+          <h4>$().button(string)</h4>
+          <p>{{_i}}Resets button state - swaps text to any data defined text state.{{/i}}</p>
 <pre class="prettyprint linenums">&lt;button class="btn" data-complete-text="finished!" &gt;...&lt;/button&gt;
 &lt;script&gt;
   $('.btn').button('complete')
@@ -1081,7 +1099,10 @@ $('#my-alert').bind('closed', function () {
 &lt;/button&gt;
 
 &lt;div id="demo" class="collapse in"&gt; … &lt;/div&gt;</pre>
-         <p>{{_i}}<span class="label notice">Notice</span> To add accordion like group management to a collapsible control just add the additional data attribute <code>data-parent="#selector"</code>. Refer to the demo below to see this in action.{{/i}}</p>
+          <div class="alert alert-info">
+            <strong>{{_i}}Heads up!{{/i}}</strong>
+            {{_i}}To add accordion-like group management to a collapsible control, add the data attribute <code>data-parent="#selector"</code>. Refer to the demo to see this in action.{{/i}}
+          </div>
           <h3>{{_i}}Methods{{/i}}</h3>
           <h4>.collapse({{_i}}options{{/i}})</h4>
           <p>{{_i}}Activates your content as a collapsible element. Accepts an optional options <code>object</code>.{{/i}}
-- 
GitLab


From ce69b70719581f87e2542710fa92fa4163acefc7 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Fri, 27 Jan 2012 23:53:56 -0800
Subject: [PATCH 557/576] give append/prepend inputs higher z-index on focus

---
 docs/assets/css/bootstrap.css | 7 +++++++
 less/forms.less               | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 7be53d91f8..7a55680417 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -861,6 +861,13 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   -moz-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
 }
+.input-prepend input:focus,
+.input-append input: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;
 }
diff --git a/less/forms.less b/less/forms.less
index c7342626f5..b8cb48b480 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -396,6 +396,10 @@ select:focus:required:invalid {
   input,
   .uneditable-input {
     .border-radius(0 3px 3px 0);
+    &:focus {
+      position: relative;
+      z-index: 2;
+    }
   }
   .uneditable-input {
     border-left-color: #ccc;
-- 
GitLab


From 3451dcbc2816e86fc649d30bd9d6813ef5466b58 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 28 Jan 2012 00:03:26 -0800
Subject: [PATCH 558/576] fix failing typeahead tests

---
 js/tests/unit/bootstrap-typeahead.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/js/tests/unit/bootstrap-typeahead.js b/js/tests/unit/bootstrap-typeahead.js
index 10b2a3f174..455ed415b7 100644
--- a/js/tests/unit/bootstrap-typeahead.js
+++ b/js/tests/unit/bootstrap-typeahead.js
@@ -38,7 +38,7 @@ $(function () {
 
       test("should show menu when query entered", function () {
         var $input = $('<input />').typeahead({
-              data: ['aa', 'ab', 'ac']
+              source: ['aa', 'ab', 'ac']
             })
           , typeahead = $input.data('typeahead')
 
@@ -55,7 +55,7 @@ $(function () {
       test("should hide menu when query entered", function () {
         stop()
         var $input = $('<input />').typeahead({
-              data: ['aa', 'ab', 'ac']
+              source: ['aa', 'ab', 'ac']
             })
           , typeahead = $input.data('typeahead')
 
@@ -78,7 +78,7 @@ $(function () {
 
       test("should set next item when down arrow is pressed", function () {
         var $input = $('<input />').typeahead({
-              data: ['aa', 'ab', 'ac']
+              source: ['aa', 'ab', 'ac']
             })
           , typeahead = $input.data('typeahead')
 
@@ -111,7 +111,7 @@ $(function () {
 
       test("should set input value to selected item", function () {
         var $input = $('<input />').typeahead({
-              data: ['aa', 'ab', 'ac']
+              source: ['aa', 'ab', 'ac']
             })
           , typeahead = $input.data('typeahead')
 
-- 
GitLab


From d448e6921e6fc39e4fe7f484da004b2196517478 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:23:30 -0800
Subject: [PATCH 559/576] rewrite the code section of the type docs

---
 docs/assets/css/docs.css               |  7 ++-
 docs/base-css.html                     | 80 ++++++++++++--------------
 docs/templates/pages/base-css.mustache | 80 ++++++++++++--------------
 3 files changed, 82 insertions(+), 85 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 5a6bd971fb..d13686ea7c 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -681,6 +681,7 @@ form.well {
   }
   .jumbotron p {
     margin-right: 0;
+    margin-left: 0;
     font-size: 18px;
     line-height: 24px;
   }
@@ -695,6 +696,10 @@ form.well {
   .quick-links {
     margin: 40px 0 0;
   }
+  .quick-links li {
+    margin-top: 5px;
+    margin-bottom: 5px;
+  }
   /* hide the bullets on mobile since our horizontal space is limited */
   .quick-links .divider {
     display: none;
@@ -744,7 +749,7 @@ form.well {
   .subnav .nav > li {
     float: none;
   }
-  .subnav .nav a {
+  .subnav .nav > li > a {
     border: 0;
   }
   .subnav .nav li + li a {
diff --git a/docs/base-css.html b/docs/base-css.html
index 167cb5e694..222b5c81da 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -71,6 +71,7 @@
   <div class="subnav">
     <ul class="nav pills">
       <li><a href="#typography">Typography</a></li>
+      <li><a href="#code">Code</a></li>
       <li><a href="#tables">Tables</a></li>
       <li><a href="#forms">Forms</a></li>
       <li><a href="#buttons">Buttons</a></li>
@@ -343,51 +344,46 @@
       </dl>
     </div>
   </div><!-- /row -->
+</section>
 
 
-  <!-- Code -->
-
-  <h2>Code <small>Inline and block</small></h2>
-  <table class="table table-bordered table-striped">
-    <thead>
-      <tr>
-        <th style="width: 190px;">Element</th>
-        <th>Result</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td><code>&lt;code&gt;</code></td>
-        <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
-      </tr>
-      <tr>
-        <td><code>&lt;pre&gt;</code></td>
-        <td>
-<pre>&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here…&lt;/p&gt;
-&lt;/div&gt;</pre>
-          <p><strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.</p>
-        </td>
-      </tr>
-      <tr>
-        <td><code>&lt;pre class="prettyprint"&gt;</code></td>
-        <td>
-          <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.</p>
-<pre class="prettyprint">&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here…&lt;/p&gt;
-&lt;/div&gt;</pre>
-<pre class="prettyprint linenums">&lt;div&gt;
-  &lt;h1&gt;Heading&lt;/h1&gt;
-  &lt;p&gt;Something right here…&lt;/p&gt;
-&lt;/div&gt;</pre>
-          <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
 
+<!-- Code
+================================================== -->
+<section id="code">
+  <div class="page-header">
+    <h1>Code <small>Inline and block code snippets</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h2>Inline</h2>
+      <p>Wrap inline snippets of code with <code>&lt;code&gt;</code>.</p>
+<pre class="prettyprint linenums">
+For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
+</pre>
+    </div><!--/span-->
+    <div class="span4">
+      <h2>Basic block</h2>
+      <p>Use <code>&lt;pre&gt;</code> for multiple lines of code. Be sure to turn any carets into their unicode characters for proper rendering.</p>
+<pre class="prettyprint linenums" style="margin-bottom: 9px;">
+&lt;pre&gt;
+  &amp;lt;p&amp;gt;Sample text here...&amp;lt;/p&amp;gt;
+&lt;/pre&gt;
+</pre>
+      <p><strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.</p>
+    </div><!--/span-->
+    <div class="span4">
+      <h2>Google Prettify</h2>
+      <p>Take the same <code>&lt;pre&gt;</code> element and add two optional classes for enhanced rendering.</p>
+<pre class="prettyprint linenums" style="margin-bottom: 9px;">
+&lt;pre class="prettyprint
+     linenums"&gt;
+  &amp;lt;p&amp;gt;Sample text here...&amp;lt;/p&amp;gt;
+&lt;/pre&gt;
+</pre>
+      <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
+    </div><!--/span-->
+  </div><!--/row-->
 </section>
 
 
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index ad27d2be88..f235d9b05e 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -6,6 +6,7 @@
   <div class="subnav">
     <ul class="nav pills">
       <li><a href="#typography">{{_i}}Typography{{/i}}</a></li>
+      <li><a href="#code">{{_i}}Code{{/i}}</a></li>
       <li><a href="#tables">{{_i}}Tables{{/i}}</a></li>
       <li><a href="#forms">{{_i}}Forms{{/i}}</a></li>
       <li><a href="#buttons">{{_i}}Buttons{{/i}}</a></li>
@@ -278,51 +279,46 @@
       </dl>
     </div>
   </div><!-- /row -->
+</section>
 
 
-  <!-- Code -->
-
-  <h2>{{_i}}Code <small>Inline and block</small>{{/i}}</h2>
-  <table class="table table-bordered table-striped">
-    <thead>
-      <tr>
-        <th style="width: 190px;">{{_i}}Element{{/i}}</th>
-        <th>{{_i}}Result{{/i}}</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td><code>&lt;code&gt;</code></td>
-        <td>{{_i}}In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.{{/i}}</td>
-      </tr>
-      <tr>
-        <td><code>&lt;pre&gt;</code></td>
-        <td>
-<pre>&lt;div&gt;
-  &lt;h1&gt;{{_i}}Heading{{/i}}&lt;/h1&gt;
-  &lt;p&gt;{{_i}}Something right here…{{/i}}&lt;/p&gt;
-&lt;/div&gt;</pre>
-          <p>{{_i}}<strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.{{/i}}</p>
-        </td>
-      </tr>
-      <tr>
-        <td><code>&lt;pre class="prettyprint"&gt;</code></td>
-        <td>
-          <p>{{_i}}Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.{{/i}}</p>
-<pre class="prettyprint">&lt;div&gt;
-  &lt;h1&gt;{{_i}}Heading{{/i}}&lt;/h1&gt;
-  &lt;p&gt;{{_i}}Something right here…{{/i}}&lt;/p&gt;
-&lt;/div&gt;</pre>
-<pre class="prettyprint linenums">&lt;div&gt;
-  &lt;h1&gt;{{_i}}Heading{{/i}}&lt;/h1&gt;
-  &lt;p&gt;{{_i}}Something right here…{{/i}}&lt;/p&gt;
-&lt;/div&gt;</pre>
-          <p>{{_i}}<a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.{{/i}}</p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
 
+<!-- Code
+================================================== -->
+<section id="code">
+  <div class="page-header">
+    <h1>{{_i}}Code{{/i}} <small>{{_i}}Inline and block code snippets{{/i}}</small></h1>
+  </div>
+  <div class="row">
+    <div class="span4">
+      <h2>Inline</h2>
+      <p>Wrap inline snippets of code with <code>&lt;code&gt;</code>.</p>
+<pre class="prettyprint linenums">
+{{_i}}For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.{{/i}}
+</pre>
+    </div><!--/span-->
+    <div class="span4">
+      <h2>Basic block</h2>
+      <p>{{_i}}Use <code>&lt;pre&gt;</code> for multiple lines of code. Be sure to turn any carets into their unicode characters for proper rendering.{{/i}}</p>
+<pre class="prettyprint linenums" style="margin-bottom: 9px;">
+&lt;pre&gt;
+  &amp;lt;p&amp;gt;{{_i}}Sample text here...{{/i}}&amp;lt;/p&amp;gt;
+&lt;/pre&gt;
+</pre>
+      <p>{{_i}}<strong>Note:</strong> Be sure to keep code within <code>&lt;pre&gt;</code> tags as close to the left as possible; it will render all tabs.{{/i}}</p>
+    </div><!--/span-->
+    <div class="span4">
+      <h2>Google Prettify</h2>
+      <p>Take the same <code>&lt;pre&gt;</code> element and add two optional classes for enhanced rendering.</p>
+<pre class="prettyprint linenums" style="margin-bottom: 9px;">
+&lt;pre class="prettyprint
+     linenums"&gt;
+  &amp;lt;p&amp;gt;{{_i}}Sample text here...{{/i}}&amp;lt;/p&amp;gt;
+&lt;/pre&gt;
+</pre>
+      <p>{{_i}}<a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.{{/i}}</p>
+    </div><!--/span-->
+  </div><!--/row-->
 </section>
 
 
-- 
GitLab


From 873be0e4f2a7e961998a8726e9953ae5111b3d85 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:25:54 -0800
Subject: [PATCH 560/576] drop span2-4 on form examples to 1-3

---
 docs/base-css.html                     | 2 +-
 docs/templates/pages/base-css.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/base-css.html b/docs/base-css.html
index 222b5c81da..740e0e1432 100644
--- a/docs/base-css.html
+++ b/docs/base-css.html
@@ -1066,9 +1066,9 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
           <div class="control-group">
             <label class="control-label">Form sizes</label>
             <div class="controls docs-input-sizes">
+              <input class="span1" type="text" placeholder=".span1">
               <input class="span2" type="text" placeholder=".span2">
               <input class="span3" type="text" placeholder=".span3">
-              <input class="span4" type="text" placeholder=".span4">
               <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p>
             </div>
           </div>
diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache
index f235d9b05e..23d72efd57 100644
--- a/docs/templates/pages/base-css.mustache
+++ b/docs/templates/pages/base-css.mustache
@@ -1001,9 +1001,9 @@
           <div class="control-group">
             <label class="control-label">{{_i}}Form sizes{{/i}}</label>
             <div class="controls docs-input-sizes">
+              <input class="span1" type="text" placeholder=".span1">
               <input class="span2" type="text" placeholder=".span2">
               <input class="span3" type="text" placeholder=".span3">
-              <input class="span4" type="text" placeholder=".span4">
               <p class="help-block">{{_i}}Use the same <code>.span*</code> classes from the grid system for input sizes.{{/i}}</p>
             </div>
           </div>
-- 
GitLab


From 963e5e0eda465f3718381fb8c02f69269b51afeb Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:27:49 -0800
Subject: [PATCH 561/576] scope subnav link styles to first child, and no
 dropdowns

---
 docs/assets/css/docs.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index d13686ea7c..061a231df3 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -752,7 +752,7 @@ form.well {
   .subnav .nav > li > a {
     border: 0;
   }
-  .subnav .nav li + li a {
+  .subnav .nav > li + li a {
     border-top: 1px solid #e5e5e5;
   }
 
-- 
GitLab


From 342a99f1d01edfa20d744781cbecffcd4239fa39 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:29:38 -0800
Subject: [PATCH 562/576] block level page-header h1 small for readability on
 480px and under

---
 docs/assets/css/bootstrap-responsive.css | 4 ++++
 less/responsive.less                     | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
index acebb64d3b..3936d8c203 100644
--- a/docs/assets/css/bootstrap-responsive.css
+++ b/docs/assets/css/bootstrap-responsive.css
@@ -3,6 +3,10 @@
   visibility: hidden;
 }
 @media (max-width: 480px) {
+  .page-header h1 small {
+    display: block;
+    line-height: 18px;
+  }
   .form-horizontal .control-group > label {
     float: none;
     width: auto;
diff --git a/less/responsive.less b/less/responsive.less
index 8bfe705b4d..6ba31b5c93 100644
--- a/less/responsive.less
+++ b/less/responsive.less
@@ -27,6 +27,12 @@
 
 @media (max-width: 480px) {
 
+  // Block level the page header small tag for readability
+  .page-header h1 small {
+    display: block;
+    line-height: @baseLineHeight;
+  }
+
   // Remove the horizontal form styles
   .form-horizontal .control-group > label {
     float: none;
-- 
GitLab


From cc01d3c367a26bfed36c9eabbf074dccc8570dfa Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:31:55 -0800
Subject: [PATCH 563/576] extend block level smalls to h2s in docs

---
 docs/assets/css/docs.css | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 061a231df3..41029ded1f 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -657,14 +657,13 @@ form.well {
   }
 
   /* Change up some type stuff */
-  h1 small {
-    display: block;
-    line-height: 20px;
-  }
-  /* More space between sections */
   h2 {
     margin-top: 27px;
   }
+  h2 small {
+    display: block;
+    line-height: 18px;
+  }
   h3 {
     margin-top: 18px;
   }
-- 
GitLab


From 18d95a163b23296b7c2242a98aa1f66b3bd22a7a Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:34:54 -0800
Subject: [PATCH 564/576] remove fixed width from labels table

---
 docs/components.html                     | 2 +-
 docs/templates/pages/components.mustache | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/components.html b/docs/components.html
index a525582203..499e6b87cf 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -948,7 +948,7 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th style="width: 190px;">Labels</th>
+        <th>Labels</th>
         <th>Markup</th>
       </tr>
     </thead>
diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache
index 98e7c3f3f7..d08ea98b59 100644
--- a/docs/templates/pages/components.mustache
+++ b/docs/templates/pages/components.mustache
@@ -883,7 +883,7 @@
   <table class="table table-bordered table-striped">
     <thead>
       <tr>
-        <th style="width: 190px;">{{_i}}Labels{{/i}}</th>
+        <th>{{_i}}Labels{{/i}}</th>
         <th>{{_i}}Markup{{/i}}</th>
       </tr>
     </thead>
-- 
GitLab


From 4737d693e00989a0f90f832a7c8f4f784df14077 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 28 Jan 2012 00:36:37 -0800
Subject: [PATCH 565/576] remove quick start section to simplify landing page +
 start rewriting application js to work ie7

---
 docs/assets/css/bootstrap.css       |   2 +-
 docs/assets/js/application.js       | 400 +++++++++++++---------------
 docs/index.html                     |  33 ---
 docs/templates/pages/index.mustache |  33 ---
 4 files changed, 191 insertions(+), 277 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 7a55680417..cd0d620bf4 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -1986,7 +1986,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index a071a855b4..b522f6bacc 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -1,231 +1,211 @@
-$(function(){
-
-  // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
-  // IT'S ALL JUST JUNK FOR OUR DOCS!
-  // ++++++++++++++++++++++++++++++++++++++++++
-
-
-  // Hide the Mobile Safari address bar once loaded
-  // ==============================================
-
-  // Set a timeout...
-  // setTimeout(function(){
-  //   // Hide the address bar!
-  //   window.scrollTo(0, 1);
-  // }, 0);
-
-
-  // table sort example
-  // ==================
-
-  // make code pretty
-  window.prettyPrint && prettyPrint()
-
-  // table sort example
-  if ($.fn.tablesorter) {
-    $("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
-    $(".tablesorter-example").tablesorter({ sortList: [[1,0]] })
-  }
-
-  // add on logic
-  $('.add-on :checkbox').on('click', function () {
-    var $this = $(this)
-      , method = $this.attr('checked') ? 'addClass' : 'removeClass'
-    $(this).parents('.add-on')[method]('active')
-  })
-
-  // Disable certain links in docs
-  // Please do not carry these styles over to your projects
-  // it's merely here to prevent button clicks form taking you
-  // away from your spot on page!!
-
-  $('section [href^=#]').click(function (e) {
-    e.preventDefault()
-  })
-
-  // Copy code blocks in docs
-  $(".copy-code").on('focus', function () {
-    var el = this
-    setTimeout(function () { $(el).select() }, 0)
-  })
-
-  if ($.fn.tooltip) {
-
-    // position static twipsies for components page
-    if ($(".twipsies a").length) {
-      $(window).on('load resize', function () {
-        $(".twipsies a").each(function () {
-          $(this)
-            .tooltip({
-              placement: $(this).attr('title')
-            , trigger: 'manual'
-            })
-            .tooltip('show')
-          })
-      })
-    }
-
-    // add tipsies to grid for scaffolding
-    if ($('#grid-system').length) {
+// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
+// IT'S ALL JUST JUNK FOR OUR DOCS!
+// ++++++++++++++++++++++++++++++++++++++++++
 
-      $('#grid-system').tooltip({
-          selector: '.show-grid > div'
-        , title: function () { return $(this).width() + 'px' }
-      })
+!function ($) {
 
-    }
-  }
-
- 
-  // fix sub nav playa
-  var $win = $(window)
-    , $nav = $('.subnav')
-    , navTop = $('.subnav').length && $('.subnav').offset().top - 40
-    , isFixed = 0
-
-  processScroll()
-
-  $win.on('scroll', processScroll)
-
-  function processScroll() {
-    var i, scrollTop = $win.scrollTop()
-    if (scrollTop >= navTop && !isFixed) {
-      isFixed = 1
-      $nav.addClass('subnav-fixed')
-    } else if (scrollTop <= navTop && isFixed) {
-      isFixed = 0
-      $nav.removeClass('subnav-fixed')
-    }
-  }
+  $(function(){
 
-})
 
-// JS for javascript demos
-$(function () {
-  // tooltip demo
-  $('.tooltip-demo.well').tooltip({
-    selector: "a[rel=tooltip]"
-  })
-
-  $('.tooltip-test').tooltip({
-    'z-index': 3000
-  })
-
-  $('.popover-test').popover({
-    'z-index': 3000
-  })
-
-  // popover demo
-  $("a[rel=popover]")
-    .popover()
-    .click(function(e) {
+    // Disable certain links in docs
+    $('section [href^=#]').click(function (e) {
       e.preventDefault()
     })
 
-  // button state demo
-  $('#fat-btn')
-    .click(function () {
-      var btn = $(this)
-      btn.button('loading')
-      setTimeout(function () {
-        btn.button('reset')
-      }, 3000)
-    })
-
-  // carousel demo
-  $('#myCarousel').carousel()
-})
-
-
-// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
-// by the talented Ben Vinegar
-!function($) {
-  $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
-    var url = opts.url;
+    // make code pretty
+    window.prettyPrint && prettyPrint()
 
-    return {
-      send: function(_, completeCallback) {
-        var name = 'jQuery_iframe_' + jQuery.now()
-          , iframe, form
+    // table sort example
+    if ($.fn.tablesorter) {
+      $("#sortTableExample").tablesorter({ sortList: [[1,0]] })
+      $(".tablesorter-example").tablesorter({ sortList: [[1,0]] })
+    }
 
-        iframe = $('<iframe>')
-          .attr('name', name)
-          .appendTo('head')
+    // add-ons
+    $('.add-on :checkbox').on('click', function () {
+      var $this = $(this)
+        , method = $this.attr('checked') ? 'addClass' : 'removeClass'
+      $(this).parents('.add-on')[method]('active')
+    })
 
-        form = $('<form>')
-          .attr('method', opts.type) // GET or POST
-          .attr('action', url)
-          .attr('target', name)
+    if ($.fn.tooltip) {
+
+      // position static twipsies for components page
+      if ($(".twipsies a").length) {
+        $(window).on('load resize', function () {
+          $(".twipsies a").each(function () {
+            $(this)
+              .tooltip({
+                placement: $(this).attr('title')
+              , trigger: 'manual'
+              })
+              .tooltip('show')
+            })
+        })
+      }
 
-        $.each(opts.params, function(k, v) {
+      // add tipsies to grid for scaffolding
+      if ($('#grid-system').length) {
 
-          $('<input>')
-            .attr('type', 'hidden')
-            .attr('name', k)
-            .attr('value', typeof v == 'string' ? v : JSON.stringify(v))
-            .appendTo(form)
+        $('#grid-system').tooltip({
+            selector: '.show-grid > div'
+          , title: function () { return $(this).width() + 'px' }
         })
 
-        form.appendTo('body').submit()
       }
     }
-  })
-}(jQuery);
-
- // javascript build logic
-
-$(function () {
-
-  var inputsComponent = $("#components.download input")
-    , inputsPlugin = $("#plugins.download input")
-    , inputsVariables = $("#variables.download input")
-
-  // toggle all plugin checkboxes
-  $('#components.download .toggle-all').on('click', function (e) {
-    e.preventDefault()
-    inputsComponent.attr('checked', !inputsComponent.is(':checked'))
-  })
-
-  $('#plugins.download .toggle-all').on('click', function (e) {
-    e.preventDefault()
-    inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
-  })
-
-  $('#variables.download .toggle-all').on('click', function (e) {
-    e.preventDefault()
-    inputsVariables.val('')
-  })
-
-  // request built javascript
-  $('.download-btn').on('click', function () {
-
-    var css = $("#components.download input:checked")
-          .map(function () { return this.value })
-          .toArray()
-      , js = $("#plugins.download input:checked")
-          .map(function () { return this.value })
-          .toArray()
-      , vars = {}
-      , img = ['glyphicons-halflings-sprite.png', 'glyphicons-halflings-sprite-white.png']
-
-  $("#variables.download input")
-    .each(function () {
-      $(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
-    })
 
-    $.ajax({
-      type: 'POST'
-    , url: 'http://bootstrap.herokuapp.com'
-    , dataType: 'jsonpi'
-    , params: {
-        branch: '2.0-wip'
-      , js: js
-      , css: css
-      , vars: vars
-      , img: img
+    // fix sub nav playa
+    var $win = $(window)
+      , $nav = $('.subnav')
+      , navTop = $('.subnav').length && $('.subnav').offset().top - 40
+      , isFixed = 0
+
+    processScroll()
+
+    $win.on('scroll', processScroll)
+
+    function processScroll() {
+      var i, scrollTop = $win.scrollTop()
+      if (scrollTop >= navTop && !isFixed) {
+        isFixed = 1
+        $nav.addClass('subnav-fixed')
+      } else if (scrollTop <= navTop && isFixed) {
+        isFixed = 0
+        $nav.removeClass('subnav-fixed')
+      }
     }
-    })
-  })
 
 })
 
+// JS for javascript demos
+// $(function () {
+//   // tooltip demo
+//   $('.tooltip-demo.well').tooltip({
+//     selector: "a[rel=tooltip]"
+//   })
+
+//   $('.tooltip-test').tooltip({
+//     'z-index': 3000
+//   })
+
+//   $('.popover-test').popover({
+//     'z-index': 3000
+//   })
+
+//   // popover demo
+//   $("a[rel=popover]")
+//     .popover()
+//     .click(function(e) {
+//       e.preventDefault()
+//     })
+
+//   // button state demo
+//   $('#fat-btn')
+//     .click(function () {
+//       var btn = $(this)
+//       btn.button('loading')
+//       setTimeout(function () {
+//         btn.button('reset')
+//       }, 3000)
+//     })
+
+//   // carousel demo
+//   $('#myCarousel').carousel()
+
+// })
+
+
+// // Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
+// // by the talented Ben Vinegar
+// !function($) {
+//   $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
+//     var url = opts.url;
+
+//     return {
+//       send: function(_, completeCallback) {
+//         var name = 'jQuery_iframe_' + jQuery.now()
+//           , iframe, form
+
+//         iframe = $('<iframe>')
+//           .attr('name', name)
+//           .appendTo('head')
+
+//         form = $('<form>')
+//           .attr('method', opts.type) // GET or POST
+//           .attr('action', url)
+//           .attr('target', name)
+
+//         $.each(opts.params, function(k, v) {
+
+//           $('<input>')
+//             .attr('type', 'hidden')
+//             .attr('name', k)
+//             .attr('value', typeof v == 'string' ? v : JSON.stringify(v))
+//             .appendTo(form)
+//         })
+
+//         form.appendTo('body').submit()
+//       }
+//     }
+//   })
+// }(jQuery);
+
+//  // javascript build logic
+
+// $(function () {
+
+//   var inputsComponent = $("#components.download input")
+//     , inputsPlugin = $("#plugins.download input")
+//     , inputsVariables = $("#variables.download input")
+
+//   // toggle all plugin checkboxes
+//   $('#components.download .toggle-all').on('click', function (e) {
+//     e.preventDefault()
+//     inputsComponent.attr('checked', !inputsComponent.is(':checked'))
+//   })
+
+//   $('#plugins.download .toggle-all').on('click', function (e) {
+//     e.preventDefault()
+//     inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
+//   })
+
+//   $('#variables.download .toggle-all').on('click', function (e) {
+//     e.preventDefault()
+//     inputsVariables.val('')
+//   })
+
+//   // request built javascript
+//   $('.download-btn').on('click', function () {
+
+//     var css = $("#components.download input:checked")
+//           .map(function () { return this.value })
+//           .toArray()
+//       , js = $("#plugins.download input:checked")
+//           .map(function () { return this.value })
+//           .toArray()
+//       , vars = {}
+//       , img = ['glyphicons-halflings-sprite.png', 'glyphicons-halflings-sprite-white.png']
+
+//   $("#variables.download input")
+//     .each(function () {
+//       $(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
+//     })
+
+//     $.ajax({
+//       type: 'POST'
+//     , url: 'http://bootstrap.herokuapp.com'
+//     , dataType: 'jsonpi'
+//     , params: {
+//         branch: '2.0-wip'
+//       , js: js
+//       , css: css
+//       , vars: vars
+//       , img: img
+//     }
+//     })
+//   })
+
+// }) 
+
+}(window.jQuery)
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 1459da26c2..25e4778028 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -212,39 +212,6 @@
             </li>
           </ul>
 
-          <hr class="soften">
-
-          <!-- Quickstart options
-          ================================================== -->
-          <h1>Get started in no time.</h1>
-          <p class="marketing-byline">Quickly start using Bootstrap within your workflow and development process.</p>
-          <div class="getting-started">
-            <div class="row">
-              <div class="span4">
-                <h3>Prostyle with Node</h3>
-                <p>If you use Node, download the repo, customize Bootstrap, and run make.</p>
-                <pre class="prettyprint">
-$ git clone git@github.com:twitter/bootstrap.git
-$ make</pre>
-              </div>
-              <div class="span4">
-                <h3>Hotlink the CSS</h3>
-                <p>For the quickest and easiest start, just copy this snippet into your code to get the CSS.</p>
-                <form>
-                  <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-                </form>
-              </div> 
-              <div class="span4">
-                <h3>Use LESS.js</h3>
-                <p>A fan of using LESS? No problem, just link to the appropriate .less and .js files:</p>
-                <form>
-                  <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-    &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-                </form>
-              </div>
-            </div><!-- /row -->
-          </div><!-- /getting-started -->
-
         </div><!-- /.marketing -->
       </div><!-- /#overview -->
 
diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache
index 5eb2774ab7..5fa70645a6 100644
--- a/docs/templates/pages/index.mustache
+++ b/docs/templates/pages/index.mustache
@@ -147,38 +147,5 @@
             </li>
           </ul>
 
-          <hr class="soften">
-
-          <!-- Quickstart options
-          ================================================== -->
-          <h1>{{_i}}Get started in no time.{{/i}}</h1>
-          <p class="marketing-byline">{{_i}}Quickly start using Bootstrap within your workflow and development process.{{/i}}</p>
-          <div class="getting-started">
-            <div class="row">
-              <div class="span4">
-                <h3>{{_i}}Prostyle with Node{{/i}}</h3>
-                <p>{{_i}}If you use Node, download the repo, customize Bootstrap, and run make.{{/i}}</p>
-                <pre class="prettyprint">
-$ git clone git@github.com:twitter/bootstrap.git
-$ make</pre>
-              </div>
-              <div class="span4">
-                <h3>{{_i}}Hotlink the CSS{{/i}}</h3>
-                <p>{{_i}}For the quickest and easiest start, just copy this snippet into your code to get the CSS.{{/i}}</p>
-                <form>
-                  <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
-                </form>
-              </div> 
-              <div class="span4">
-                <h3>{{_i}}Use LESS.js{{/i}}</h3>
-                <p>{{_i}}A fan of using LESS? No problem, just link to the appropriate .less and .js files:{{/i}}</p>
-                <form>
-                  <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
-    &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
-                </form>
-              </div>
-            </div><!-- /row -->
-          </div><!-- /getting-started -->
-
         </div><!-- /.marketing -->
       </div><!-- /#overview -->
\ No newline at end of file
-- 
GitLab


From 967030cb532c642f076d1e1fc4e5a1e2cee18561 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:39:22 -0800
Subject: [PATCH 566/576] modal refinements in docs and general responsiveness

---
 docs/assets/css/bootstrap-responsive.css | 7 ++++---
 docs/assets/css/docs.css                 | 9 +++++++++
 docs/javascript.html                     | 2 +-
 docs/templates/pages/javascript.mustache | 2 +-
 less/responsive.less                     | 7 ++++---
 5 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
index 3936d8c203..e48a234f9f 100644
--- a/docs/assets/css/bootstrap-responsive.css
+++ b/docs/assets/css/bootstrap-responsive.css
@@ -24,9 +24,9 @@
   }
   .modal {
     position: absolute;
-    top: 20px;
-    left: 20px;
-    right: 20px;
+    top: 10px;
+    left: 10px;
+    right: 10px;
     width: auto;
     margin: 0;
   }
@@ -35,6 +35,7 @@
   }
   .modal-header .close {
     padding: 10px;
+    margin: -10px;
   }
 }
 @media (max-width: 768px) {
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 41029ded1f..0b221e3b26 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -723,6 +723,15 @@ form.well {
     word-wrap: break-word;
     word-break: break-all;
   }
+
+  /* Modal example */
+  .modal-example .modal {
+    position: relative;
+    top: auto;
+    right: auto;
+    bottom: auto;
+    left: auto;
+  }
 }
 
 
diff --git a/docs/javascript.html b/docs/javascript.html
index 0bcbe597cb..4acd844c11 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -193,7 +193,7 @@
         <div class="span9 columns">
           <h2>Static example</h2>
           <p>Below is a statically rendered modal.</p>
-          <div class="well" style="background-color: #888; border: none;">
+          <div class="well modal-example" style="background-color: #888; border: none;">
             <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
               <div class="modal-header">
                 <a href="#" class="close" data-dismiss="modal">&times;</a>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index ee70bf21b4..edafbbf0f4 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -128,7 +128,7 @@
         <div class="span9 columns">
           <h2>{{_i}}Static example{{/i}}</h2>
           <p>{{_i}}Below is a statically rendered modal.{{/i}}</p>
-          <div class="well" style="background-color: #888; border: none;">
+          <div class="well modal-example" style="background-color: #888; border: none;">
             <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
               <div class="modal-header">
                 <a href="#" class="close" data-dismiss="modal">&times;</a>
diff --git a/less/responsive.less b/less/responsive.less
index 6ba31b5c93..fe5e0a7eb2 100644
--- a/less/responsive.less
+++ b/less/responsive.less
@@ -56,15 +56,16 @@
   // Modals
   .modal {
     position: absolute;
-    top: 20px;
-    left: 20px;
-    right: 20px;
+    top:   10px;
+    left:  10px;
+    right: 10px;
     width: auto;
     margin: 0;
     &.fade.in { top: auto; }
   }
   .modal-header .close {
     padding: 10px;
+    margin: -10px;
   }
 
 }
-- 
GitLab


From f1851ab1338938bf6315e223789e345f20cfb4b1 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 00:43:25 -0800
Subject: [PATCH 567/576] change text on js docs page to improve rendering on
 iphone, update responsive for carousel considerations

---
 docs/assets/css/bootstrap-responsive.css | 3 +++
 docs/assets/css/bootstrap.css            | 2 +-
 docs/javascript.html                     | 4 ++--
 docs/templates/pages/javascript.mustache | 4 ++--
 less/responsive.less                     | 5 +++++
 5 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
index e48a234f9f..e91f255391 100644
--- a/docs/assets/css/bootstrap-responsive.css
+++ b/docs/assets/css/bootstrap-responsive.css
@@ -37,6 +37,9 @@
     padding: 10px;
     margin: -10px;
   }
+  .carousel-caption {
+    position: static;
+  }
 }
 @media (max-width: 768px) {
   .container {
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index cd0d620bf4..7a55680417 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -1986,7 +1986,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/docs/javascript.html b/docs/javascript.html
index 4acd844c11..2d31f0aa4a 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -743,7 +743,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>number | object</td>
                <td>0</td>
                <td>
-                <p>delay showing/hiding the tooltip (ms)</p>
+                <p>delay showing and hiding the tooltip (ms)</p>
                 <p>If a number is supplied, delay is applied to both hide/show</p>
                 <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
                </td>
@@ -855,7 +855,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>number | object</td>
                <td>0</td>
                <td>
-                <p>delay showing/hiding the popover (ms)</p>
+                <p>delay showing and hiding the popover (ms)</p>
                 <p>If a number is supplied, delay is applied to both hide/show</p>
                 <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
                </td>
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache
index edafbbf0f4..01b14b6765 100644
--- a/docs/templates/pages/javascript.mustache
+++ b/docs/templates/pages/javascript.mustache
@@ -678,7 +678,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>{{_i}}number | object{{/i}}</td>
                <td>0</td>
                <td>
-                <p>{{_i}}delay showing/hiding the tooltip (ms){{/i}}</p>
+                <p>{{_i}}delay showing and hiding the tooltip (ms){{/i}}</p>
                 <p>{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}</p>
                 <p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
                </td>
@@ -790,7 +790,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
                <td>{{_i}}number | object{{/i}}</td>
                <td>0</td>
                <td>
-                <p>{{_i}}delay showing/hiding the popover (ms){{/i}}</p>
+                <p>{{_i}}delay showing and hiding the popover (ms){{/i}}</p>
                 <p>{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}</p>
                 <p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
                </td>
diff --git a/less/responsive.less b/less/responsive.less
index fe5e0a7eb2..24b58d2ab7 100644
--- a/less/responsive.less
+++ b/less/responsive.less
@@ -68,6 +68,11 @@
     margin: -10px;
   }
 
+  // Carousel
+  .carousel-caption {
+    position: static;
+  }
+
 }
 
 
-- 
GitLab


From 09df780b7512b1e501aeed3ec3463470e33952aa Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 28 Jan 2012 00:46:04 -0800
Subject: [PATCH 568/576] clean up application js a bit

---
 docs/assets/js/application.js | 291 ++++++++++++++++------------------
 1 file changed, 136 insertions(+), 155 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index b522f6bacc..f4edd68616 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -6,7 +6,6 @@
 
   $(function(){
 
-
     // Disable certain links in docs
     $('section [href^=#]').click(function (e) {
       e.preventDefault()
@@ -28,34 +27,29 @@
       $(this).parents('.add-on')[method]('active')
     })
 
-    if ($.fn.tooltip) {
-
-      // position static twipsies for components page
-      if ($(".twipsies a").length) {
-        $(window).on('load resize', function () {
-          $(".twipsies a").each(function () {
-            $(this)
-              .tooltip({
-                placement: $(this).attr('title')
-              , trigger: 'manual'
-              })
-              .tooltip('show')
+    // position static twipsies for components page
+    if ($(".twipsies a").length) {
+      $(window).on('load resize', function () {
+        $(".twipsies a").each(function () {
+          $(this)
+            .tooltip({
+              placement: $(this).attr('title')
+            , trigger: 'manual'
             })
-        })
-      }
-
-      // add tipsies to grid for scaffolding
-      if ($('#grid-system').length) {
-
-        $('#grid-system').tooltip({
-            selector: '.show-grid > div'
-          , title: function () { return $(this).width() + 'px' }
-        })
+            .tooltip('show')
+          })
+      })
+    }
 
-      }
+    // add tipsies to grid for scaffolding
+    if ($('#grid-system').length) {
+      $('#grid-system').tooltip({
+          selector: '.show-grid > div'
+        , title: function () { return $(this).width() + 'px' }
+      })
     }
 
-    // fix sub nav playa
+    // fix sub nav on scroll
     var $win = $(window)
       , $nav = $('.subnav')
       , navTop = $('.subnav').length && $('.subnav').offset().top - 40
@@ -76,136 +70,123 @@
       }
     }
 
-})
+    // tooltip demo
+    $('.tooltip-demo.well').tooltip({
+      selector: "a[rel=tooltip]"
+    })
 
-// JS for javascript demos
-// $(function () {
-//   // tooltip demo
-//   $('.tooltip-demo.well').tooltip({
-//     selector: "a[rel=tooltip]"
-//   })
-
-//   $('.tooltip-test').tooltip({
-//     'z-index': 3000
-//   })
-
-//   $('.popover-test').popover({
-//     'z-index': 3000
-//   })
-
-//   // popover demo
-//   $("a[rel=popover]")
-//     .popover()
-//     .click(function(e) {
-//       e.preventDefault()
-//     })
-
-//   // button state demo
-//   $('#fat-btn')
-//     .click(function () {
-//       var btn = $(this)
-//       btn.button('loading')
-//       setTimeout(function () {
-//         btn.button('reset')
-//       }, 3000)
-//     })
-
-//   // carousel demo
-//   $('#myCarousel').carousel()
-
-// })
-
-
-// // Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
-// // by the talented Ben Vinegar
-// !function($) {
-//   $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
-//     var url = opts.url;
-
-//     return {
-//       send: function(_, completeCallback) {
-//         var name = 'jQuery_iframe_' + jQuery.now()
-//           , iframe, form
-
-//         iframe = $('<iframe>')
-//           .attr('name', name)
-//           .appendTo('head')
-
-//         form = $('<form>')
-//           .attr('method', opts.type) // GET or POST
-//           .attr('action', url)
-//           .attr('target', name)
-
-//         $.each(opts.params, function(k, v) {
-
-//           $('<input>')
-//             .attr('type', 'hidden')
-//             .attr('name', k)
-//             .attr('value', typeof v == 'string' ? v : JSON.stringify(v))
-//             .appendTo(form)
-//         })
-
-//         form.appendTo('body').submit()
-//       }
-//     }
-//   })
-// }(jQuery);
-
-//  // javascript build logic
-
-// $(function () {
-
-//   var inputsComponent = $("#components.download input")
-//     , inputsPlugin = $("#plugins.download input")
-//     , inputsVariables = $("#variables.download input")
-
-//   // toggle all plugin checkboxes
-//   $('#components.download .toggle-all').on('click', function (e) {
-//     e.preventDefault()
-//     inputsComponent.attr('checked', !inputsComponent.is(':checked'))
-//   })
-
-//   $('#plugins.download .toggle-all').on('click', function (e) {
-//     e.preventDefault()
-//     inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
-//   })
-
-//   $('#variables.download .toggle-all').on('click', function (e) {
-//     e.preventDefault()
-//     inputsVariables.val('')
-//   })
-
-//   // request built javascript
-//   $('.download-btn').on('click', function () {
-
-//     var css = $("#components.download input:checked")
-//           .map(function () { return this.value })
-//           .toArray()
-//       , js = $("#plugins.download input:checked")
-//           .map(function () { return this.value })
-//           .toArray()
-//       , vars = {}
-//       , img = ['glyphicons-halflings-sprite.png', 'glyphicons-halflings-sprite-white.png']
-
-//   $("#variables.download input")
-//     .each(function () {
-//       $(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
-//     })
-
-//     $.ajax({
-//       type: 'POST'
-//     , url: 'http://bootstrap.herokuapp.com'
-//     , dataType: 'jsonpi'
-//     , params: {
-//         branch: '2.0-wip'
-//       , js: js
-//       , css: css
-//       , vars: vars
-//       , img: img
-//     }
-//     })
-//   })
-
-// }) 
+    $('.tooltip-test').tooltip({
+      'z-index': 3000
+    })
+
+    $('.popover-test').popover({
+      'z-index': 3000
+    })
+
+    // popover demo
+    $("a[rel=popover]")
+      .popover()
+      .click(function(e) {
+        e.preventDefault()
+      })
+
+    // button state demo
+    $('#fat-btn')
+      .click(function () {
+        var btn = $(this)
+        btn.button('loading')
+        setTimeout(function () {
+          btn.button('reset')
+        }, 3000)
+      })
+
+    // carousel demo
+    $('#myCarousel').carousel()
+
+    // javascript build logic
+    var inputsComponent = $("#components.download input")
+      , inputsPlugin = $("#plugins.download input")
+      , inputsVariables = $("#variables.download input")
+
+    // toggle all plugin checkboxes
+    $('#components.download .toggle-all').on('click', function (e) {
+      e.preventDefault()
+      inputsComponent.attr('checked', !inputsComponent.is(':checked'))
+    })
+
+    $('#plugins.download .toggle-all').on('click', function (e) {
+      e.preventDefault()
+      inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
+    })
+
+    $('#variables.download .toggle-all').on('click', function (e) {
+      e.preventDefault()
+      inputsVariables.val('')
+    })
+
+    // request built javascript
+    $('.download-btn').on('click', function () {
+
+      var css = $("#components.download input:checked")
+            .map(function () { return this.value })
+            .toArray()
+        , js = $("#plugins.download input:checked")
+            .map(function () { return this.value })
+            .toArray()
+        , vars = {}
+        , img = ['glyphicons-halflings-sprite.png', 'glyphicons-halflings-sprite-white.png']
+
+    $("#variables.download input")
+      .each(function () {
+        $(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
+      })
+
+      $.ajax({
+        type: 'POST'
+      , url: 'http://bootstrap.herokuapp.com'
+      , dataType: 'jsonpi'
+      , params: {
+          branch: '2.0-wip'
+        , js: js
+        , css: css
+        , vars: vars
+        , img: img
+      }
+      })
+    })
+
+  })
+
+// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
+$.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
+  var url = opts.url;
+
+  return {
+    send: function(_, completeCallback) {
+      var name = 'jQuery_iframe_' + jQuery.now()
+        , iframe, form
+
+      iframe = $('<iframe>')
+        .attr('name', name)
+        .appendTo('head')
+
+      form = $('<form>')
+        .attr('method', opts.type) // GET or POST
+        .attr('action', url)
+        .attr('target', name)
+
+      $.each(opts.params, function(k, v) {
+
+        $('<input>')
+          .attr('type', 'hidden')
+          .attr('name', k)
+          .attr('value', typeof v == 'string' ? v : JSON.stringify(v))
+          .appendTo(form)
+      })
+
+      form.appendTo('body').submit()
+    }
+  }
+})
 
 }(window.jQuery)
\ No newline at end of file
-- 
GitLab


From d65ce1b64c0049e4fe37a79a4962d8444415ee00 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 01:34:07 -0800
Subject: [PATCH 569/576] updated upgrading page

---
 docs/templates/pages/upgrading.mustache | 271 +++++++++++++++--------
 docs/upgrading.html                     | 272 ++++++++++++++++--------
 2 files changed, 371 insertions(+), 172 deletions(-)

diff --git a/docs/templates/pages/upgrading.mustache b/docs/templates/pages/upgrading.mustache
index cc731eae12..2339b2e1cf 100644
--- a/docs/templates/pages/upgrading.mustache
+++ b/docs/templates/pages/upgrading.mustache
@@ -1,86 +1,185 @@
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>{{_i}}Upgrading to Bootstrap 2{{/i}}</h1>
-        <p class="lead">{{_i}}Learn about significant changes and additions since v1.4 with this handy guide.{{/i}}</p>
-      </header>
-
-
-<h2>Rough outline</h2>
-<ul>
-  <li>{{_i}}Docs completely overhauled{{/i}}
-    <ul>
-      <li>{{_i}}Responsive thanks to new grid system{{/i}}</li>
-      <li>{{_i}}Now less marketing and more information{{/i}}</li>
-      <li>{{_i}}Extensive use of tables to share classes and elements of most components{{/i}}</li>
-      <li>{{_i}}Broken down into several pages for easier consumption{{/i}}</li>
-    </ul>
-  </li>
-  <li>{{_i}}Updated grid system, now only 12 columns{{/i}}
-    <ul>
-      <li>{{_i}}Same great classes, but now only 12 columns{{/i}}</li>
-      <li>{{_i}}Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more{{/i}}</li>
-    </ul>
-  </li>
-  <li>{{_i}}New thumbnails (previously media grids){{/i}}
-    <ul>
-      <li>{{_i}}<code>.media-grid</code> class has been changed to <code>.thumbnails</code>{{/i}}</li>
-      <li>{{_i}}Individual thumbnails now require <code>.thumbnail</code> class{{/i}}</li>
-    </ul>
-  </li>
-  <li>{{_i}}Updated forms{{/i}}
-    <ul>
-      <li>{{_i}}Default form style is now stacked to use less CSS and add flexibility{{/i}}</li>
-      <li>{{_i}}Exact same markup is required for vertical or horizontal forms&mdash;just swap the classes{{/i}}</li>
-      <li>{{_i}}New form defaults for search, inline, vertical, and horizontal{{/i}}</li>
-    </ul>
-  </li>
-  <li>Updated tables
-    <ul>
-      <li>{{_i}}Table classes made more consistent{{/i}}</li>
-      <li>{{_i}}Removed unused table color options (too much code for such little impact){{/i}}</li>
-    </ul>
-  </li>
-  <li>Typography
-    <ul>
-      <li>{{_i}}Right-aligned option for blockquotes if float: right;{{/i}}</li>
-      <li>{{_i}}<code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px{{/i}}</li>
-      <li>{{_i}}<code>h5</code> elements were dropped from 14px to 12px{{/i}}</li>
-      <li>{{_i}}<code>h6</code> elements were dropped from 13px to 11px{{/i}}</li>
-    </ul>
-  </li>
-  <li>{{_i}}Buttons{{/i}}
-    <ul>
-      <li>{{_i}}Added button bar options{{/i}}</li>
-    </ul>
-  </li>
-  <li>{{_i}}Examples{{/i}}
-    <ul>
-      <li>{{_i}}Fluid examples redone. <code>.fluid-container</code> now requires a <code>.sidebar-left</code> or <code>.sidebar-right</code> as well. Fluid sidebar element has a new class, <code>.fluid-sidebar</code>.{{/i}}</li>
-    </ul>
-  </li>
-  <li>{{_i}}Dropdown menus{{/i}}
-    <ul>
-      <li>{{_i}}Updated the <code>.dropdown-menu</code> to tighten up spacing{{/i}}</li>
-      <li>{{_i}}Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow{{/i}}</li>
-      <li>{{_i}}The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.{{/i}}</li>
-    </ul>
-  </li>
-  <li>{{_i}}Navigation{{/i}}
-    <ul>
-      <li>{{_i}}Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code>{{/i}}</li>
-      <li>{{_i}}New nav list component added that uses the same base class, <code>.nav</code>{{/i}}</li>
-      <li>{{_i}}Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code><{{/i}}/li>
-      <li>{{_i}}Pills were restyled to be less rounded by default{{/i}}</li>
-      <li>{{_i}}Pills now have dropdown menu support (they share the same markup and styles as tabs){{/i}}</li>
-    </ul>
-  </li>
-</ul>
-<!--
-  <li>
-    <ul>
-      <li></li>
-    </ul>
-  </li>
--->
-</ul>
\ No newline at end of file
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>{{_i}}Upgrading to Bootstrap 2{{/i}}</h1>
+  <p class="lead">{{_i}}Learn about significant changes and additions since v1.4 with this handy guide.{{/i}}</p>
+</header>
+
+
+
+<!-- Project
+================================================== -->
+<section id="docs">
+  <div class="page-header">
+    <h1>{{_i}}Project changes{{/i}}</h1>
+  </div>
+  <ul>
+    <li>{{_i}}Docs: major updates across the board to general structure, examples, and code snippets. Also made responsive with new media queries.{{/i}}</li>
+    <li>{{_i}}Docs: all docs pages are now powered by Mustache templates and strings are wrapped in i18n tags for translation by the Twitter Translation Center. All changes to documentation must be done here and then compiled (similar to our CSS and LESS).{{/i}}</li>
+    <li>{{_i}}Repo directory structure: removed the compiled CSS from the root in favor of a large direct download link on the docs homepage. Compiled CSS is in <code>/docs/assets/css/</code>.{{/i}}</li>
+    <li>{{_i}}Docs and repo: one makefile, just type <code>make</code> in the Terminal and get updated docs and CSS.{{/i}}</li>
+  </ul>
+</section>
+
+
+
+<!-- Scaffolding
+================================================== -->
+<section id="scaffolding">
+  <div class="page-header">
+    <h1>{{_i}}Scaffolding{{/i}}</h1>
+  </div>
+  <h3>{{_i}}Grid system{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Updated grid system, now only 12 columns instead of 16{{/i}}
+    <li>{{_i}}Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more{{/i}}</li>
+    <li>{{_i}}Removed unused (by default) grid columns support for 17-24 columns{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Responsive (media queries){{/i}}</h3>
+  <ul>
+    <li>{{_i}}Media queries added for <strong>basic support</strong> across mobile and tablet devices{{/i}}
+    <li>{{_i}}Responsive CSS is compiled separately, as bootstrap-responsive.css{{/i}}</li>
+  </ul>  
+</section>
+
+
+
+<!-- Base CSS
+================================================== -->
+<section id="baseCSS">
+  <div class="page-header">
+    <h1>{{_i}}Base CSS{{/i}}</h1>
+  </div>
+  <h3>{{_i}}Typography{{/i}}</h3>
+  <ul>
+    <li>{{_i}}<code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px{{/i}}</li>
+    <li>{{_i}}<code>h5</code> elements were dropped from 14px to 12px{{/i}}</li>
+    <li>{{_i}}<code>h6</code> elements were dropped from 13px to 11px{{/i}}</li>
+    <li>{{_i}}Right-aligned option for blockquotes if <code>float: right;</code>{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Code{{/i}}</h3>
+  <ul>
+    <li>{{_i}}New graphical style for <code>&lt;code&gt;</code>{{/i}}</li>
+    <li>{{_i}}Google Code Prettify styles updated (based on GitHub's gists){{/i}}</li>
+  </ul>
+  <h3>{{_i}}Tables{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Improved support for <code>colspan</code> and <code>rowspan</code>{{/i}}</li>
+    <li>{{_i}}Styles now restricted to new base class, <code>.table</code>{{/i}}</li>
+    <li>{{_i}}Table classes standardized with <code>.table-</code> required as a prefix{{/i}}</li>
+    <li>{{_i}}Removed unused table color options (too much code for such little impact){{/i}}</li>
+    <li>{{_i}}Dropped support for TableSorter{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Buttons{{/i}}</h3>
+  <ul>
+    <li>{{_i}}IE9: removed gradients and added rounded corners{{/i}}</li>
+    <li>{{_i}}Updated active state to make styling clearer in button groups (new) and look better with custom transition{{/i}}</li>
+    <li>{{_i}}New mixin, <code>.buttonBackground</code>, to set button gradients{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Forms{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Default form style is now vertical (stacked_ to use less CSS and add greater flexibility{{/i}}</li>
+    <li>{{_i}}Form classes standardized with <code>.form-</code> required as a prefix{{/i}}</li>
+    <li>{{_i}}New built-in form defaults for search, inline, and horizontal forms{{/i}}</li>
+    <li>{{_i}}More flexible horizontal form markup with classes for all styling, including new optional class for the <code>label</code>{{/i}}</li>
+    <li>{{_i}}Form states: colors updated and customizable via new LESS variables{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Icons, by Glyphicons{{/i}}</h3>
+  <ul>
+    <li>{{_i}}New Glyphicons Halflings icon set added in sprite form, in black and white{{/i}}</li>
+    <li>{{_i}}Simple markup required for an icon in tons of contexts: <code>&lt;i class="icon cog"&gt;&lt;/&gt;</code>{{/i}}</li>
+    <li>{{_i}}Add another class, <code>.white</code>, for white variation of the same icon{{/i}}</li>
+  </ul>
+</section>
+
+
+
+<!-- Components
+================================================== -->
+<section id="components">
+  <div class="page-header">
+    <h1>{{_i}}Components{{/i}}</h1>
+  </div>
+  <h3>{{_i}}Button groups and dropdowns{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Two brand new components in 2.0: button groups and button dropdowns{{/i}}</li>
+    <li>{{_i}}Dependency: button dropdowns are built on button groups, and therefore require all their styles{{/i}}</li>
+    <li>{{_i}}Button groups, <code>.btn-group</code>, can be grouped one level higher with a button toolbar, <code>.btn-toolbar</code>{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Navigation{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code>{{/i}}</li>
+    <li>{{_i}}New nav list variation added that uses the same base class, <code>.nav</code>{{/i}}</li>
+    <li>{{_i}}Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code>{{/i}}</li>
+    <li>{{_i}}Pills were restyled to be less rounded by default{{/i}}</li>
+    <li>{{_i}}Pills now have dropdown menu support (they share the same markup and styles as tabs){{/i}}</li>
+  </ul>
+  <h3>{{_i}}Dropdown menus{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Updated the <code>.dropdown-menu</code> to tighten up spacing{{/i}}</li>
+    <li>{{_i}}Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow{{/i}}</li>
+    <li>{{_i}}The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Labels{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Label colors updated to match form state colors{{/i}}</li>
+    <li>{{_i}}Not only do they match graphically, but they are powered by the same new variables{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Thumbnails{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Formerly <code>.media-grid</code>, now just <code>.thumbnails</code>, we've thoroughly extended this component for more uses while maintaining overall simplicity out of the box.{{/i}}</li>
+    <li>{{_i}}Individual thumbnails now require <code>.thumbnail</code> class{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Alerts{{/i}}</h3>
+  <ul>
+    <li>{{_i}}New base class: <code>.alert</code> instead of <code>.alert-message</code>{{/i}}</li>
+    <li>{{_i}}Class names standardized for other options, now all starting with <code>.alert-</code>{{/i}}</li>
+    <li>{{_i}}Redesigned base alert styles to combine the deafult alerts and block-level alerts into one{{/i}}</li>
+    <li>{{_i}}Block level alert class changed: <code>.alert-block</code> instead of <code>.block-message</code>{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Progress bars{{/i}}</h3>
+  <ul>
+    <li>{{_i}}New in 2.0{{/i}}</li>
+    <li>{{_i}}Features multiple styles via classes, including striped and animated variations via CSS3{{/i}}</li>
+  </ul>
+  <h3>{{_i}}Miscellaneous components{{/i}}</h3>
+  <ul>
+    <li>{{_i}}Added documentation for the well component and the close icon (used in modals and alerts){{/i}}</li>
+  </ul>
+</section>
+
+
+
+<!-- Javascript
+================================================== -->
+<section id="javascript">
+  <div class="page-header">
+    <h1>{{_i}}Javascript plugins{{/i}}</h1>
+  </div>
+</section>
+
+
+
+<!-- LESS
+================================================== -->
+<section id="less">
+  <div class="page-header">
+    <h1>{{_i}}Using LESS{{/i}}</h1>
+  </div>
+  <h3>{{_i}}Variables{{/i}}</h3>
+  <h3>{{_i}}Mixins{{/i}}</h3>
+</section>
+
+
+
+<!-- Customize
+================================================== -->
+<section id="less">
+  <div class="page-header">
+    <h1>{{_i}}Customize page{{/i}}</h1>
+  </div>
+  <ul>
+    <li>{{_i}}New in 2.0{{/i}}</li>
+  </ul>
+</section>
+
diff --git a/docs/upgrading.html b/docs/upgrading.html
index 041aaccc57..d3afce08a7 100644
--- a/docs/upgrading.html
+++ b/docs/upgrading.html
@@ -63,92 +63,192 @@
 
     <div class="container">
 
-      <!-- Masthead
-      ================================================== -->
-      <header class="jumbotron subhead" id="overview">
-        <h1>Upgrading to Bootstrap 2</h1>
-        <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
-      </header>
-
-
-<h2>Rough outline</h2>
-<ul>
-  <li>Docs completely overhauled
-    <ul>
-      <li>Responsive thanks to new grid system</li>
-      <li>Now less marketing and more information</li>
-      <li>Extensive use of tables to share classes and elements of most components</li>
-      <li>Broken down into several pages for easier consumption</li>
-    </ul>
-  </li>
-  <li>Updated grid system, now only 12 columns
-    <ul>
-      <li>Same great classes, but now only 12 columns</li>
-      <li>Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more</li>
-    </ul>
-  </li>
-  <li>New thumbnails (previously media grids)
-    <ul>
-      <li><code>.media-grid</code> class has been changed to <code>.thumbnails</code></li>
-      <li>Individual thumbnails now require <code>.thumbnail</code> class</li>
-    </ul>
-  </li>
-  <li>Updated forms
-    <ul>
-      <li>Default form style is now stacked to use less CSS and add flexibility</li>
-      <li>Exact same markup is required for vertical or horizontal forms&mdash;just swap the classes</li>
-      <li>New form defaults for search, inline, vertical, and horizontal</li>
-    </ul>
-  </li>
-  <li>Updated tables
-    <ul>
-      <li>Table classes made more consistent</li>
-      <li>Removed unused table color options (too much code for such little impact)</li>
-    </ul>
-  </li>
-  <li>Typography
-    <ul>
-      <li>Right-aligned option for blockquotes if float: right;</li>
-      <li><code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px</li>
-      <li><code>h5</code> elements were dropped from 14px to 12px</li>
-      <li><code>h6</code> elements were dropped from 13px to 11px</li>
-    </ul>
-  </li>
-  <li>Buttons
-    <ul>
-      <li>Added button bar options</li>
-    </ul>
-  </li>
-  <li>Examples
-    <ul>
-      <li>Fluid examples redone. <code>.fluid-container</code> now requires a <code>.sidebar-left</code> or <code>.sidebar-right</code> as well. Fluid sidebar element has a new class, <code>.fluid-sidebar</code>.</li>
-    </ul>
-  </li>
-  <li>Dropdown menus
-    <ul>
-      <li>Updated the <code>.dropdown-menu</code> to tighten up spacing</li>
-      <li>Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow</li>
-      <li>The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.</li>
-    </ul>
-  </li>
-  <li>Navigation
-    <ul>
-      <li>Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code></li>
-      <li>New nav list component added that uses the same base class, <code>.nav</code></li>
-      <li>Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code></li>
-      <li>Pills were restyled to be less rounded by default</li>
-      <li>Pills now have dropdown menu support (they share the same markup and styles as tabs)</li>
-    </ul>
-  </li>
-</ul>
-<!--
-  <li>
-    <ul>
-      <li></li>
-    </ul>
-  </li>
--->
-</ul>
+<!-- Masthead
+================================================== -->
+<header class="jumbotron subhead" id="overview">
+  <h1>Upgrading to Bootstrap 2</h1>
+  <p class="lead">Learn about significant changes and additions since v1.4 with this handy guide.</p>
+</header>
+
+
+
+<!-- Project
+================================================== -->
+<section id="docs">
+  <div class="page-header">
+    <h1>Project changes</h1>
+  </div>
+  <ul>
+    <li>Docs: major updates across the board to general structure, examples, and code snippets. Also made responsive with new media queries.</li>
+    <li>Docs: all docs pages are now powered by Mustache templates and strings are wrapped in i18n tags for translation by the Twitter Translation Center. All changes to documentation must be done here and then compiled (similar to our CSS and LESS).</li>
+    <li>Repo directory structure: removed the compiled CSS from the root in favor of a large direct download link on the docs homepage. Compiled CSS is in <code>/docs/assets/css/</code>.</li>
+    <li>Docs and repo: one makefile, just type <code>make</code> in the Terminal and get updated docs and CSS.</li>
+  </ul>
+</section>
+
+
+
+<!-- Scaffolding
+================================================== -->
+<section id="scaffolding">
+  <div class="page-header">
+    <h1>Scaffolding</h1>
+  </div>
+  <h3>Grid system</h3>
+  <ul>
+    <li>Updated grid system, now only 12 columns instead of 16
+    <li>Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more</li>
+    <li>Removed unused (by default) grid columns support for 17-24 columns</li>
+  </ul>
+  <h3>Responsive (media queries)</h3>
+  <ul>
+    <li>Media queries added for <strong>basic support</strong> across mobile and tablet devices
+    <li>Responsive CSS is compiled separately, as bootstrap-responsive.css</li>
+  </ul>  
+</section>
+
+
+
+<!-- Base CSS
+================================================== -->
+<section id="baseCSS">
+  <div class="page-header">
+    <h1>Base CSS</h1>
+  </div>
+  <h3>Typography</h3>
+  <ul>
+    <li><code>h4</code> elements were dropped from 16px to 14px with a default <code>line-height</code> of 18px</li>
+    <li><code>h5</code> elements were dropped from 14px to 12px</li>
+    <li><code>h6</code> elements were dropped from 13px to 11px</li>
+    <li>Right-aligned option for blockquotes if <code>float: right;</code></li>
+  </ul>
+  <h3>Code</h3>
+  <ul>
+    <li>New graphical style for <code>&lt;code&gt;</code></li>
+    <li>Google Code Prettify styles updated (based on GitHub's gists)</li>
+  </ul>
+  <h3>Tables</h3>
+  <ul>
+    <li>Improved support for <code>colspan</code> and <code>rowspan</code></li>
+    <li>Styles now restricted to new base class, <code>.table</code></li>
+    <li>Table classes standardized with <code>.table-</code> required as a prefix</li>
+    <li>Removed unused table color options (too much code for such little impact)</li>
+    <li>Dropped support for TableSorter</li>
+  </ul>
+  <h3>Buttons</h3>
+  <ul>
+    <li>IE9: removed gradients and added rounded corners</li>
+    <li>Updated active state to make styling clearer in button groups (new) and look better with custom transition</li>
+    <li>New mixin, <code>.buttonBackground</code>, to set button gradients</li>
+  </ul>
+  <h3>Forms</h3>
+  <ul>
+    <li>Default form style is now vertical (stacked_ to use less CSS and add greater flexibility</li>
+    <li>Form classes standardized with <code>.form-</code> required as a prefix</li>
+    <li>New built-in form defaults for search, inline, and horizontal forms</li>
+    <li>More flexible horizontal form markup with classes for all styling, including new optional class for the <code>label</code></li>
+    <li>Form states: colors updated and customizable via new LESS variables</li>
+  </ul>
+  <h3>Icons, by Glyphicons</h3>
+  <ul>
+    <li>New Glyphicons Halflings icon set added in sprite form, in black and white</li>
+    <li>Simple markup required for an icon in tons of contexts: <code>&lt;i class="icon cog"&gt;&lt;/&gt;</code></li>
+    <li>Add another class, <code>.white</code>, for white variation of the same icon</li>
+  </ul>
+</section>
+
+
+
+<!-- Components
+================================================== -->
+<section id="components">
+  <div class="page-header">
+    <h1>Components</h1>
+  </div>
+  <h3>Button groups and dropdowns</h3>
+  <ul>
+    <li>Two brand new components in 2.0: button groups and button dropdowns</li>
+    <li>Dependency: button dropdowns are built on button groups, and therefore require all their styles</li>
+    <li>Button groups, <code>.btn-group</code>, can be grouped one level higher with a button toolbar, <code>.btn-toolbar</code></li>
+  </ul>
+  <h3>Navigation</h3>
+  <ul>
+    <li>Tabs and pills now require the use of a new base class, <code>.nav</code>, on their <code>&lt;ul&gt;</code></li>
+    <li>New nav list variation added that uses the same base class, <code>.nav</code></li>
+    <li>Vertical tabs and pills have been added&mdash;just add <code>.stacked</code> to the <code>&lt;ul&gt;</code></li>
+    <li>Pills were restyled to be less rounded by default</li>
+    <li>Pills now have dropdown menu support (they share the same markup and styles as tabs)</li>
+  </ul>
+  <h3>Dropdown menus</h3>
+  <ul>
+    <li>Updated the <code>.dropdown-menu</code> to tighten up spacing</li>
+    <li>Now requires you to add a <code>&lt;span class="caret"&gt;&lt;/span&gt;</code> to show the dropdown arrow</li>
+    <li>The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.</li>
+  </ul>
+  <h3>Labels</h3>
+  <ul>
+    <li>Label colors updated to match form state colors</li>
+    <li>Not only do they match graphically, but they are powered by the same new variables</li>
+  </ul>
+  <h3>Thumbnails</h3>
+  <ul>
+    <li>Formerly <code>.media-grid</code>, now just <code>.thumbnails</code>, we've thoroughly extended this component for more uses while maintaining overall simplicity out of the box.</li>
+    <li>Individual thumbnails now require <code>.thumbnail</code> class</li>
+  </ul>
+  <h3>Alerts</h3>
+  <ul>
+    <li>New base class: <code>.alert</code> instead of <code>.alert-message</code></li>
+    <li>Class names standardized for other options, now all starting with <code>.alert-</code></li>
+    <li>Redesigned base alert styles to combine the deafult alerts and block-level alerts into one</li>
+    <li>Block level alert class changed: <code>.alert-block</code> instead of <code>.block-message</code></li>
+  </ul>
+  <h3>Progress bars</h3>
+  <ul>
+    <li>New in 2.0</li>
+    <li>Features multiple styles via classes, including striped and animated variations via CSS3</li>
+  </ul>
+  <h3>Miscellaneous components</h3>
+  <ul>
+    <li>Added documentation for the well component and the close icon (used in modals and alerts)</li>
+  </ul>
+</section>
+
+
+
+<!-- Javascript
+================================================== -->
+<section id="javascript">
+  <div class="page-header">
+    <h1>Javascript plugins</h1>
+  </div>
+</section>
+
+
+
+<!-- LESS
+================================================== -->
+<section id="less">
+  <div class="page-header">
+    <h1>Using LESS</h1>
+  </div>
+  <h3>Variables</h3>
+  <h3>Mixins</h3>
+</section>
+
+
+
+<!-- Customize
+================================================== -->
+<section id="less">
+  <div class="page-header">
+    <h1>Customize page</h1>
+  </div>
+  <ul>
+    <li>New in 2.0</li>
+  </ul>
+</section>
+
+
 
      <!-- Footer
       ================================================== -->
-- 
GitLab


From e61164e67a048c20c512e99335e3adfcc3b63604 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 28 Jan 2012 01:35:13 -0800
Subject: [PATCH 570/576] all unit tests passing in ie7

---
 js/bootstrap-alert.js                 | 10 ++++++++--
 js/bootstrap-carousel.js              |  4 ++--
 js/bootstrap-collapse.js              |  6 ++++--
 js/bootstrap-dropdown.js              | 13 ++++++++++---
 js/bootstrap-modal.js                 |  4 ++--
 js/bootstrap-scrollspy.js             |  3 ++-
 js/bootstrap-tab.js                   | 13 +++++++++----
 js/tests/unit/bootstrap-popover.js    |  2 +-
 js/tests/unit/bootstrap-tab.js        |  1 -
 js/tests/unit/bootstrap-transition.js |  2 +-
 10 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js
index 2df64c6e1d..4a65b135ab 100644
--- a/js/bootstrap-alert.js
+++ b/js/bootstrap-alert.js
@@ -36,9 +36,15 @@
 
   , close: function ( e ) {
       var $this = $(this)
-        , selector = $this.attr('data-target') || $this.attr('href')
-        , $parent = $(selector)
+        , selector = $this.attr('data-target')
+        , $parent
 
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      $parent = $(selector)
       $parent.trigger('close')
 
       e && e.preventDefault()
diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js
index 47d832c821..2f47edb8dc 100644
--- a/js/bootstrap-carousel.js
+++ b/js/bootstrap-carousel.js
@@ -143,8 +143,8 @@
 
   $(function () {
     $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
-      var $this = $(this)
-        , $target = $($this.attr('data-target') || $this.attr('href'))
+      var $this = $(this), href
+        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
         , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
       $target.carousel(options)
       e.preventDefault()
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index e33dadedff..ee36840d2a 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -124,8 +124,10 @@
 
   $(function () {
     $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
-      var $this = $(this)
-        , target = $this.attr('data-target') || e.preventDefault() || $this.attr('href')
+      var $this = $(this), href
+        , target = $this.attr('data-target')
+          || e.preventDefault()
+          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
         , option = $(target).data('collapse') ? 'toggle' : $this.data()
       $(target).collapse(option)
     })
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 1ae317b44c..38b6e054fc 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -36,11 +36,18 @@
 
   , toggle: function ( e ) {
       var $this = $(this)
-        , selector = $this.attr('data-target') || $this.attr('href')
-        , $parent = $(selector)
+        , selector = $this.attr('data-target')
+        , $parent
         , isActive
 
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      $parent = $(selector)
       $parent.length || ($parent = $this.parent())
+
       isActive = $parent.hasClass('open')
 
       clearMenus()
@@ -76,7 +83,7 @@
    * =================================== */
 
   $(function () {
-    $(window).on('click.dropdown.data-api', clearMenus)
+    $('html').on('click.dropdown.data-api', clearMenus)
     $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
   })
 
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index eea1938d0f..91daa8af67 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -193,8 +193,8 @@
 
   $(function () {
     $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
-      var $this = $(this)
-        , $target = $($this.attr('data-target') || $this.attr('href'))
+      var $this = $(this), href
+        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
         , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
 
       e.preventDefault()
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index dcb52456e0..e8bd0715c6 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -27,10 +27,11 @@
   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
-      || $(element).attr('href')
+      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
       || '') + ' .nav li > a'
     this.$body = $('body').on('click.scroll.data-api', this.selector, process)
     this.refresh()
diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js
index 95698d23e5..f19db5da1e 100644
--- a/js/bootstrap-tab.js
+++ b/js/bootstrap-tab.js
@@ -36,9 +36,14 @@
   , show: function () {
       var $this = this.element
         , $ul = $this.closest('ul:not(.dropdown-menu)')
-        , href = $this.attr('data-target') || $this.attr('href')
+        , selector = $this.attr('data-target')
         , previous
-        , $href
+        , $target
+
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
 
       if ( $this.parent('li').hasClass('active') ) return
 
@@ -49,10 +54,10 @@
       , relatedTarget: previous
       })
 
-      $href = $(href)
+      $target = $(selector)
 
       this.activate($this.parent('li'), $ul)
-      this.activate($href, $href.parent(), function () {
+      this.activate($target, $target.parent(), function () {
         $this.trigger({
           type: 'shown'
         , relatedTarget: previous
diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js
index 462db8b3e1..08cabae42c 100644
--- a/js/tests/unit/bootstrap-popover.js
+++ b/js/tests/unit/bootstrap-popover.js
@@ -82,7 +82,7 @@ $(function () {
           })
         
         popover.popover('show')
-        console.log(popover)
+
         ok($('.popover').length, 'popover was inserted')
         ok($('.popover').hasClass('foobar'), 'custom class is present')
 
diff --git a/js/tests/unit/bootstrap-tab.js b/js/tests/unit/bootstrap-tab.js
index f326490786..18f490fa5e 100644
--- a/js/tests/unit/bootstrap-tab.js
+++ b/js/tests/unit/bootstrap-tab.js
@@ -17,7 +17,6 @@ $(function () {
           + '<li><a href="#profile">Profile</a></li>'
           + '</ul>'
 
-
         $('<ul><li id="home"></li><li id="profile"></li></ul>').appendTo("#qunit-fixture")
 
         $(tabsHTML).find('li:last a').tab('show')
diff --git a/js/tests/unit/bootstrap-transition.js b/js/tests/unit/bootstrap-transition.js
index ff4a0f0c34..3f28d2676d 100644
--- a/js/tests/unit/bootstrap-transition.js
+++ b/js/tests/unit/bootstrap-transition.js
@@ -7,7 +7,7 @@ $(function () {
       })
 
       test("should provide an end object", function () {
-        ok($.support.transition.end, 'end string is defined')
+        ok($.support.transition ? $.support.transition.end : true, 'end string is defined')
       })
 
 })
\ No newline at end of file
-- 
GitLab


From ab8f4a394c3ffef58e11c872f27927a9ffe4db11 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 28 Jan 2012 01:48:45 -0800
Subject: [PATCH 571/576] remove js for table sorts

---
 docs/assets/js/application.js | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index f4edd68616..8fd672bb39 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -14,12 +14,6 @@
     // make code pretty
     window.prettyPrint && prettyPrint()
 
-    // table sort example
-    if ($.fn.tablesorter) {
-      $("#sortTableExample").tablesorter({ sortList: [[1,0]] })
-      $(".tablesorter-example").tablesorter({ sortList: [[1,0]] })
-    }
-
     // add-ons
     $('.add-on :checkbox').on('click', function () {
       var $this = $(this)
-- 
GitLab


From 8ade6989c3fb227fbd0a5acf08c1259e20af7dc2 Mon Sep 17 00:00:00 2001
From: Jon Stevens <latchkey@gmail.com>
Date: Sat, 28 Jan 2012 02:25:13 -0800
Subject: [PATCH 572/576] no debugger

---
 js/bootstrap-tooltip.js | 1 -
 1 file changed, 1 deletion(-)

diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index 65f8895aa5..67fca5e143 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -145,7 +145,6 @@
             break
         }
 
-        debugger
         if (this.options['z-index']) tp['z-index'] = this.options['z-index']
 
         $tip
-- 
GitLab


From d4659521386eab794eaf67f57e8762656aa28de7 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sat, 28 Jan 2012 11:03:39 -0800
Subject: [PATCH 573/576] clean up js api for dropdowns

---
 docs/assets/css/bootstrap.css | 2 +-
 js/bootstrap-dropdown.js      | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 7a55680417..cd0d620bf4 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -1986,7 +1986,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 38b6e054fc..48d3ce0f85 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -27,7 +27,10 @@
 
   var toggle = '[data-toggle="dropdown"]'
     , Dropdown = function ( element ) {
-        $(element).bind('click', this.toggle)
+        var $el = $(element).on('click.dropdown.data-api', this.toggle)
+        $('html').on('click.dropdown.data-api', function () {
+          $el.parent().removeClass('open')
+        })
       }
 
   Dropdown.prototype = {
@@ -51,7 +54,6 @@
       isActive = $parent.hasClass('open')
 
       clearMenus()
-
       !isActive && $parent.toggleClass('open')
 
       return false
-- 
GitLab


From 28ba9d69c82895bbd9a1d66cea855119f4aba349 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 11:21:39 -0800
Subject: [PATCH 574/576] nav, buttons, and docs updates to account for
 outline: 0; on :active

---
 docs/assets/css/bootstrap.css | 18 ++++++++----------
 docs/assets/css/docs.css      | 17 +++++++++++++++--
 less/button-groups.less       |  7 +++++++
 less/buttons.less             |  1 +
 less/dropdowns.less           |  6 +++++-
 less/mixins.less              |  4 ----
 6 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 7a55680417..bc4961b054 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -36,9 +36,6 @@ a:focus {
   outline: thin dotted;
   outline: 5px auto -webkit-focus-ring-color;
   outline-offset: -2px;
-  -moz-outline: 5px auto -moz-mac-focusring;
-  -moz-outline-radius: 6px;
-  -moz-outline-offset: 0;
 }
 a:hover, a:active {
   outline: 0;
@@ -627,9 +624,6 @@ input[type="file"]:focus, input[type="checkbox"]:focus, select:focus {
   outline: thin dotted;
   outline: 5px auto -webkit-focus-ring-color;
   outline-offset: -2px;
-  -moz-outline: 5px auto -moz-mac-focusring;
-  -moz-outline-radius: 6px;
-  -moz-outline-offset: 0;
 }
 .input-mini {
   width: 60px;
@@ -1490,9 +1484,12 @@ table .span12 {
 .dropdown {
   position: relative;
 }
-.dropdown .dropdown-toggle {
+.dropdown-toggle {
   *margin-bottom: -3px;
 }
+.dropdown-toggle:active, .open .dropdown-toggle {
+  outline: 0;
+}
 .caret {
   display: inline-block;
   width: 0;
@@ -2641,9 +2638,6 @@ table .span12 {
   outline: thin dotted;
   outline: 5px auto -webkit-focus-ring-color;
   outline-offset: -2px;
-  -moz-outline: 5px auto -moz-mac-focusring;
-  -moz-outline-radius: 6px;
-  -moz-outline-offset: 0;
 }
 .btn.active, .btn:active {
   background-image: none;
@@ -2653,6 +2647,7 @@ table .span12 {
   background-color: #e6e6e6;
   background-color: #d9d9d9 \9;
   color: rgba(0, 0, 0, 0.5);
+  outline: 0;
 }
 .btn.disabled, .btn[disabled] {
   cursor: default;
@@ -2776,6 +2771,9 @@ button.btn.small, input[type="submit"].btn.small {
 .btn-group .btn.active {
   z-index: 2;
 }
+.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
+  outline: 0;
+}
 .btn-group .dropdown-toggle {
   padding-left: 8px;
   padding-right: 8px;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index 0b221e3b26..8c92f087f1 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -173,10 +173,9 @@ hr.soften {
 }
 .subnav .nav > li > a {
   margin: 0;
-  padding-top: 11px;
+  padding-top:    11px;
   padding-bottom: 11px;
   font-size: 13px;
-  text-shadow: 0 1px 0 rgba(255,255,255,.5);
   border-left: 1px solid #f5f5f5;
   border-right: 1px solid #e5e5e5;
   -webkit-border-radius: 0;
@@ -202,10 +201,18 @@ hr.soften {
 .subnav .nav > li:first-child > a:hover {
   border-left: 0;
   padding-left: 12px;
+  -webkit-border-radius: 4px 0 0 4px;
+     -moz-border-radius: 4px 0 0 4px;
+          border-radius: 4px 0 0 4px;
 }
 .subnav .nav > li:last-child > a {
   border-right: 0;
 }
+.subnav .dropdown-menu {
+  -webkit-border-radius: 0 0 4px 4px;
+     -moz-border-radius: 0 0 4px 4px;
+          border-radius: 0 0 4px 4px;
+}
 
 /* Fixed subnav on scroll, but only for 940px and up (sorry IE!) */
 @media (min-width: 940px) {
@@ -229,6 +236,12 @@ hr.soften {
     margin: 0 auto;
     padding: 0 1px;
   }
+  .subnav .nav > li:first-child > a,
+  .subnav .nav > li:first-child > a:hover {
+    -webkit-border-radius: 0;
+       -moz-border-radius: 0;
+            border-radius: 0;
+  }
 }
 
 
diff --git a/less/button-groups.less b/less/button-groups.less
index 3e08e6b092..7367103caa 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -78,6 +78,13 @@
   z-index: 2;
 }
 
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+
+
 
 // Split button dropdowns
 // ----------------------
diff --git a/less/buttons.less b/less/buttons.less
index f1060dc6bb..54d00a13ac 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -88,6 +88,7 @@
     background-color: darken(@white, 10%);
     background-color: darken(@white, 15%) e("\9");
     color: rgba(0,0,0,.5);
+    outline: 0;
   }
   &.disabled,
   &[disabled] {
diff --git a/less/dropdowns.less b/less/dropdowns.less
index e73b056e96..83f535ae86 100644
--- a/less/dropdowns.less
+++ b/less/dropdowns.less
@@ -5,10 +5,14 @@
 .dropdown {
   position: relative;
 }
-.dropdown .dropdown-toggle {
+.dropdown-toggle {
   // The caret makes the toggle a bit too tall in IE7
   *margin-bottom: -3px;
 }
+.dropdown-toggle:active,
+.open .dropdown-toggle {
+  outline: 0;
+}
 // Dropdown arrow/caret
 .caret {
   display: inline-block;
diff --git a/less/mixins.less b/less/mixins.less
index 2ed28ac3f3..ddf1003599 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -29,10 +29,6 @@
   // Webkit
   outline: 5px auto -webkit-focus-ring-color;
   outline-offset: -2px;
-  // Firefox
-  -moz-outline: 5px auto -moz-mac-focusring;
-  -moz-outline-radius: 6px;
-  -moz-outline-offset: 0;
 }
 
 // Center-align a block level element
-- 
GitLab


From f1dc214977ed2613565a0c4a9846864c84fb2602 Mon Sep 17 00:00:00 2001
From: Mark Otto <markdotto@gmail.com>
Date: Sat, 28 Jan 2012 11:24:34 -0800
Subject: [PATCH 575/576] increase padding on modal-header after decreasing h3
 line-height

---
 docs/assets/css/bootstrap.css | 4 ++--
 less/modals.less              | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 5265b14df5..3e3379c3d5 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -1983,7 +1983,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query::-webkit-input-placeholder {
+.navbar-search .search-query ::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2288,7 +2288,7 @@ table .span12 {
   top: 50%;
 }
 .modal-header {
-  padding: 5px 15px;
+  padding: 9px 15px;
   border-bottom: 1px solid #eee;
 }
 .modal-header .close {
diff --git a/less/modals.less b/less/modals.less
index 7f07d11e49..386aabb49b 100644
--- a/less/modals.less
+++ b/less/modals.less
@@ -41,7 +41,7 @@
   &.fade.in { top: 50%; }
 }
 .modal-header {
-  padding: 5px 15px;
+  padding: 9px 15px;
   border-bottom: 1px solid #eee;
   // Close icon
   .close { margin-top: 2px; }
-- 
GitLab


From 2d2c881b4fe8aa4adae98cb0a213619815bfde41 Mon Sep 17 00:00:00 2001
From: Sergey Yuferev <s.yuferev@findgoods.ru>
Date: Sat, 28 Jan 2012 23:54:16 +0400
Subject: [PATCH 576/576] Relative font sizes in ems

---
 docs/assets/css/bootstrap-responsive.css |  10 +-
 docs/assets/css/bootstrap.css            | 180 +++++++++++------------
 less/buttons.less                        |   6 +-
 less/close.less                          |   2 +-
 less/code.less                           |   6 +-
 less/dropdowns.less                      |   2 +-
 less/hero-unit.less                      |   2 +-
 less/navbar.less                         |   4 +-
 less/navs.less                           |   2 +-
 less/pagination.less                     |   2 +-
 less/scaffolding.less                    |   4 +-
 less/tooltip.less                        |   2 +-
 less/type.less                           |  24 +--
 less/variables.less                      |   7 +-
 14 files changed, 128 insertions(+), 125 deletions(-)

diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css
index e91f255391..3925033e6c 100644
--- a/docs/assets/css/bootstrap-responsive.css
+++ b/docs/assets/css/bootstrap-responsive.css
@@ -5,7 +5,7 @@
 @media (max-width: 480px) {
   .page-header h1 small {
     display: block;
-    line-height: 18px;
+    line-height: 1.38em;
   }
   .form-horizontal .control-group > label {
     float: none;
@@ -141,7 +141,7 @@
   }
   .navbar-fixed-top {
     position: static;
-    margin-bottom: 36px;
+    margin-bottom: 2.76em;
   }
   .navbar-inner {
     padding: 10px;
@@ -159,7 +159,7 @@
   }
   .navbar .nav {
     float: none;
-    margin: 9px 0;
+    margin: 0.69em 0;
   }
   .navbar .nav > li {
     float: none;
@@ -208,8 +208,8 @@
   }
   .navbar-form, .navbar-search {
     float: none;
-    padding: 9px 15px;
-    margin: 9px 0;
+    padding: 0.69em 15px;
+    margin: 0.69em 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);
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 3e3379c3d5..5b27f3e9a9 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -97,8 +97,8 @@ textarea {
 body {
   margin: 0;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
-  line-height: 18px;
+  font-size: 0.813em;
+  line-height: 1.12194em;
   color: #555555;
   background-color: #ffffff;
 }
@@ -244,20 +244,20 @@ a:hover {
   width: 100%;
 }
 p {
-  margin: 0 0 9px;
+  margin: 0 0 0.69em;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
-  line-height: 18px;
+  font-size: 1em;
+  line-height: 1.38em;
 }
 p small {
-  font-size: 11px;
+  font-size: 85%;
   color: #999999;
 }
 .lead {
-  margin-bottom: 18px;
-  font-size: 20px;
+  margin-bottom: 1.38em;
+  font-size: 1.53em;
   font-weight: 200;
-  line-height: 27px;
+  line-height: 2.07em;
 }
 h1,
 h2,
@@ -280,46 +280,46 @@ h6 small {
   color: #999999;
 }
 h1 {
-  font-size: 30px;
-  line-height: 36px;
+  font-size: 2.31em;
+  line-height: 2.76em;
 }
 h1 small {
-  font-size: 18px;
+  font-size: 60%;
 }
 h2 {
-  font-size: 24px;
-  line-height: 36px;
+  font-size: 1.85em;
+  line-height: 2.76em;
 }
 h2 small {
-  font-size: 18px;
+  font-size: 75%;
 }
 h3 {
-  line-height: 27px;
-  font-size: 18px;
+  line-height: 2.07em;
+  font-size: 1.38em;
 }
 h3 small {
-  font-size: 14px;
+  font-size: 78%;
 }
 h4, h5, h6 {
-  line-height: 18px;
+  line-height: 1.38em;
 }
 h4 {
-  font-size: 14px;
+  font-size: 1.08em;
 }
 h4 small {
-  font-size: 12px;
+  font-size: 86%;
 }
 h5 {
-  font-size: 12px;
+  font-size: 0.92em;
 }
 h6 {
-  font-size: 11px;
+  font-size: 0.85em;
   color: #999999;
   text-transform: uppercase;
 }
 .page-header {
-  padding-bottom: 17px;
-  margin: 18px 0;
+  padding-bottom: 0.3799999999999999em;
+  margin: 1.38em 0;
   border-bottom: 1px solid #eeeeee;
 }
 .page-header h1 {
@@ -327,7 +327,7 @@ h6 {
 }
 ul, ol {
   padding: 0;
-  margin: 0 0 9px 25px;
+  margin: 0 0 0.69em 25px;
 }
 ul ul,
 ul ol,
@@ -342,26 +342,26 @@ ol {
   list-style: decimal;
 }
 li {
-  line-height: 18px;
+  line-height: 1.38em;
 }
 ul.unstyled {
   margin-left: 0;
   list-style: none;
 }
 dl {
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
 }
 dt, dd {
-  line-height: 18px;
+  line-height: 1.38em;
 }
 dt {
   font-weight: bold;
 }
 dd {
-  margin-left: 9px;
+  margin-left: 0.69em;
 }
 hr {
-  margin: 18px 0;
+  margin: 1.38em 0;
   border: 0;
   border-top: 1px solid #e5e5e5;
   border-bottom: 1px solid #ffffff;
@@ -383,18 +383,18 @@ abbr {
 }
 blockquote {
   padding: 0 0 0 15px;
-  margin: 0 0 18px;
+  margin: 0 0 1.38em;
   border-left: 5px solid #eeeeee;
 }
 blockquote p {
   margin-bottom: 0;
   font-size: 16px;
   font-weight: 300;
-  line-height: 22.5px;
+  line-height: 1.7249999999999999em;
 }
 blockquote small {
   display: block;
-  line-height: 18px;
+  line-height: 1.38em;
   color: #999999;
 }
 blockquote small:before {
@@ -418,8 +418,8 @@ blockquote:after {
 }
 address {
   display: block;
-  margin-bottom: 18px;
-  line-height: 18px;
+  margin-bottom: 1.38em;
+  line-height: 1.38em;
   font-style: normal;
 }
 small {
@@ -431,7 +431,7 @@ cite {
 code, pre {
   padding: 0 3px 2px;
   font-family: Menlo, Monaco, "Courier New", monospace;
-  font-size: 12px;
+  font-size: 0.92em;
   color: #333333;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
@@ -445,10 +445,10 @@ code {
 }
 pre {
   display: block;
-  padding: 8.5px;
-  margin: 0 0 9px;
-  font-size: 12px;
-  line-height: 18px;
+  padding: 0.7340425531914894em;
+  margin: 0 0 0.69em;
+  font-size: 0.92em;
+  line-height: 1.38em;
   background-color: #f5f5f5;
   border: 1px solid #ccc;
   border: 1px solid rgba(0, 0, 0, 0.15);
@@ -460,14 +460,14 @@ pre {
   word-break: break-all;
 }
 pre.prettyprint {
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
 }
 pre code {
   padding: 0;
   background-color: transparent;
 }
 form {
-  margin: 0 0 18px;
+  margin: 0 0 1.38em;
 }
 fieldset {
   padding: 0;
@@ -478,9 +478,9 @@ legend {
   display: block;
   width: 100%;
   padding: 0;
-  margin-bottom: 27px;
-  font-size: 19.5px;
-  line-height: 36px;
+  margin-bottom: 2.07em;
+  font-size: 1.5em;
+  line-height: 2.76em;
   color: #333333;
   border: 0;
   border-bottom: 1px solid #eee;
@@ -491,9 +491,9 @@ button,
 select,
 textarea {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
+  font-size: 1em;
   font-weight: normal;
-  line-height: 18px;
+  line-height: 1.38em;
 }
 label {
   display: block;
@@ -506,11 +506,11 @@ select,
 .uneditable-input {
   display: inline-block;
   width: 210px;
-  height: 18px;
+  height: 1.38em;
   padding: 4px;
   margin-bottom: 9px;
-  font-size: 13px;
-  line-height: 18px;
+  font-size: 1em;
+  line-height: 1.38em;
   color: #555555;
   border: 1px solid #ccc;
   -webkit-border-radius: 3px;
@@ -797,9 +797,9 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   box-shadow: 0 0 6px #f8b9b7;
 }
 .form-actions {
-  padding: 17px 20px 18px;
-  margin-top: 18px;
-  margin-bottom: 18px;
+  padding: 0.3799999999999999em 20px 1.38em;
+  margin-top: 1.38em;
+  margin-bottom: 1.38em;
   background-color: #f5f5f5;
   border-top: 1px solid #ddd;
 }
@@ -870,11 +870,11 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   display: block;
   width: auto;
   min-width: 16px;
-  height: 18px;
+  height: 1.38em;
   margin-right: -1px;
   padding: 4px 4px 4px 5px;
   font-weight: normal;
-  line-height: 18px;
+  line-height: 1.38em;
   color: #999999;
   text-align: center;
   text-shadow: 0 1px 0 #ffffff;
@@ -945,14 +945,14 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
   display: inline-block;
 }
 .control-group {
-  margin-bottom: 9px;
+  margin-bottom: 0.69em;
 }
 .form-horizontal legend + .control-group {
-  margin-top: 18px;
+  margin-top: 1.38em;
   -webkit-margin-top-collapse: separate;
 }
 .form-horizontal .control-group {
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
   *zoom: 1;
 }
 .form-horizontal .control-group:before, .form-horizontal .control-group:after {
@@ -981,11 +981,11 @@ table {
 }
 .table {
   width: 100%;
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
 }
 .table th, .table td {
   padding: 8px;
-  line-height: 18px;
+  line-height: 1.38em;
   text-align: left;
   border-top: 1px solid #ddd;
 }
@@ -1561,7 +1561,7 @@ table .span12 {
   padding: 3px 15px;
   clear: both;
   font-weight: normal;
-  line-height: 18px;
+  line-height: 1.38em;
   color: #555555;
   white-space: nowrap;
 }
@@ -1631,9 +1631,9 @@ table .span12 {
 }
 .close {
   float: right;
-  font-size: 20px;
+  font-size: 11px;
   font-weight: bold;
-  line-height: 18px;
+  line-height: 1.38em;
   color: #000000;
   text-shadow: 0 1px 0 #ffffff;
   opacity: 0.2;
@@ -1648,7 +1648,7 @@ table .span12 {
 }
 .nav {
   margin-left: 0;
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
   list-style: none;
 }
 .nav > li > a {
@@ -1671,9 +1671,9 @@ table .span12 {
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
 .nav.list .nav-header {
-  font-size: 11px;
+  font-size: 0.85em;
   font-weight: bold;
-  line-height: 18px;
+  line-height: 1.38em;
   color: #999999;
   text-transform: uppercase;
 }
@@ -1933,7 +1933,7 @@ table .span12 {
 }
 .navbar .navbar-text {
   margin-bottom: 0;
-  line-height: 40px;
+  line-height: 3.0636em;
   color: #999999;
 }
 .navbar .navbar-text a:hover {
@@ -1963,7 +1963,7 @@ table .span12 {
 .navbar-search .search-query {
   padding: 4px 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
+  font-size: 1em;
   font-weight: normal;
   line-height: 1;
   color: #ffffff;
@@ -1983,7 +1983,7 @@ table .span12 {
 .navbar-search .search-query :-moz-placeholder {
   color: #eeeeee;
 }
-.navbar-search .search-query ::-webkit-input-placeholder {
+.navbar-search .search-query::-webkit-input-placeholder {
   color: #eeeeee;
 }
 .navbar-search .search-query:hover {
@@ -2003,7 +2003,7 @@ table .span12 {
   outline: 0;
 }
 .navbar-static {
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
 }
 .navbar-static .navbar-inner {
   padding-left: 20px;
@@ -2118,7 +2118,7 @@ table .span12 {
 }
 .breadcrumb {
   padding: 7px 14px;
-  margin: 0 0 18px;
+  margin: 0 0 1.38em;
   background-color: #fbfbfb;
   background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
@@ -2147,8 +2147,8 @@ table .span12 {
   color: #333333;
 }
 .pagination {
-  height: 36px;
-  margin: 18px 0;
+  height: 2.76em;
+  margin: 1.38em 0;
 }
 .pagination ul {
   display: inline-block;
@@ -2171,7 +2171,7 @@ table .span12 {
 .pagination a {
   float: left;
   padding: 0 14px;
-  line-height: 34px;
+  line-height: 2.6081999999999996em;
   text-decoration: none;
   border: 1px solid #ddd;
   border-left-width: 0;
@@ -2206,7 +2206,7 @@ table .span12 {
 }
 .pager {
   margin-left: 0;
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
   list-style: none;
   text-align: center;
   *zoom: 1;
@@ -2328,7 +2328,7 @@ table .span12 {
   display: block;
   visibility: visible;
   padding: 5px;
-  font-size: 11px;
+  font-size: 0.85em;
   opacity: 0;
   filter: alpha(opacity=0);
 }
@@ -2596,8 +2596,8 @@ table .span12 {
 .btn {
   display: inline-block;
   padding: 4px 10px 4px;
-  font-size: 13px;
-  line-height: 18px;
+  font-size: 1em;
+  line-height: 1.38em;
   color: #333333;
   text-align: center;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
@@ -2661,7 +2661,7 @@ table .span12 {
 }
 .btn.large {
   padding: 9px 14px;
-  font-size: 15px;
+  font-size: 1.53em;
   line-height: normal;
   -webkit-border-radius: 5px;
   -moz-border-radius: 5px;
@@ -2672,8 +2672,8 @@ table .span12 {
 }
 .btn.small {
   padding: 5px 9px;
-  font-size: 11px;
-  line-height: 16px;
+  font-size: 0.85em;
+  line-height: 1.2282em;
 }
 .btn.small .icon {
   margin-top: -1px;
@@ -2713,8 +2713,8 @@ button.btn.small, input[type="submit"].btn.small {
   margin-left: 5px;
 }
 .btn-toolbar {
-  margin-top: 9px;
-  margin-bottom: 9px;
+  margin-top: 0.69em;
+  margin-bottom: 0.69em;
 }
 .btn-toolbar .btn-group {
   display: inline-block;
@@ -2820,7 +2820,7 @@ button.btn.small, input[type="submit"].btn.small {
 }
 .alert {
   padding: 8px 35px 8px 14px;
-  margin-bottom: 18px;
+  margin-bottom: 1.38em;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   background-color: #fcf8e3;
   border: 1px solid #fbeed5;
@@ -2884,7 +2884,7 @@ button.btn.small, input[type="submit"].btn.small {
 }
 .thumbnails > li {
   float: left;
-  margin: 0 0 18px 20px;
+  margin: 0 0 1.38em 20px;
 }
 .thumbnail {
   display: block;
@@ -2913,7 +2913,7 @@ a.thumbnail:hover {
 }
 .label {
   padding: 1px 3px 2px;
-  font-size: 9.75px;
+  font-size: 0.75em;
   font-weight: bold;
   color: #ffffff;
   text-transform: uppercase;
@@ -3072,7 +3072,7 @@ a.thumbnail:hover {
   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;
+  margin-bottom: 1.38em;
 }
 .accordion-group {
   background-color: #f5f5f5;
@@ -3204,9 +3204,9 @@ a.thumbnail:hover {
   letter-spacing: -1px;
 }
 .hero-unit p {
-  font-size: 18px;
+  font-size: 1.38em;
   font-weight: 200;
-  line-height: 27px;
+  line-height: 2.07em;
 }
 .pull-right {
   float: right;
diff --git a/less/buttons.less b/less/buttons.less
index 54d00a13ac..505d220ec3 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -102,7 +102,7 @@
   // Button Sizes
   &.large {
     padding: 9px 14px;
-    font-size: @baseFontSize + 2px;
+    font-size: @baseFontSize * 1.53;
     line-height: normal;
     .border-radius(5px);
   }
@@ -111,8 +111,8 @@
   }
   &.small {
     padding: 5px 9px;
-    font-size: @baseFontSize - 2px;
-    line-height: @baseLineHeight - 2px;
+    font-size: @baseFontSize * 0.85;
+    line-height: @baseLineHeight * 0.89;
   }
   &.small .icon {
     margin-top: -1px;
diff --git a/less/close.less b/less/close.less
index a0e5edba1b..98c2c7bd77 100644
--- a/less/close.less
+++ b/less/close.less
@@ -3,7 +3,7 @@
 
 .close {
   float: right;
-  font-size: 20px;
+  font-size: 11px;
   font-weight: bold;
   line-height: @baseLineHeight;
   color: @black;
diff --git a/less/code.less b/less/code.less
index 0cc3db857a..7061dd8988 100644
--- a/less/code.less
+++ b/less/code.less
@@ -7,7 +7,7 @@ code,
 pre {
   padding: 0 3px 2px;
   #font > #family > .monospace;
-  font-size: @baseFontSize - 1;
+  font-size: @baseFontSize * 0.92;
   color: @grayDark;
   .border-radius(3px);
 }
@@ -19,9 +19,9 @@ code {
 }
 pre {
   display: block;
-  padding: (@baseLineHeight - 1) / 2;
+  padding: @baseLineHeight / 1.88;
   margin: 0 0 @baseLineHeight / 2;
-  font-size: 12px;
+  font-size: @baseFontSize * 0.92;
   line-height: @baseLineHeight;
   background-color: #f5f5f5;
   border: 1px solid #ccc; // fallback for IE7-8
diff --git a/less/dropdowns.less b/less/dropdowns.less
index 83f535ae86..024ecef9b1 100644
--- a/less/dropdowns.less
+++ b/less/dropdowns.less
@@ -93,7 +93,7 @@
     padding: 3px 15px;
     clear: both;
     font-weight: normal;
-    line-height: 18px;
+    line-height: @baseLineHeight;
     color: @gray;
     white-space: nowrap;
   }
diff --git a/less/hero-unit.less b/less/hero-unit.less
index cba1cc46cf..51e3a129d2 100644
--- a/less/hero-unit.less
+++ b/less/hero-unit.less
@@ -13,7 +13,7 @@
     letter-spacing: -1px;
   }
   p {
-    font-size: 18px;
+    font-size: @baseFontSize * 1.38;
     font-weight: 200;
     line-height: @baseLineHeight * 1.5;
   }
diff --git a/less/navbar.less b/less/navbar.less
index 287459a27c..a53c9cc84c 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -37,7 +37,7 @@
   // Plain text in topbar
   .navbar-text {
     margin-bottom: 0;
-    line-height: 40px;
+    line-height: @baseLineHeight * 2.22;
     color: @navbarText;
     a:hover {
       color: @white;
@@ -73,7 +73,7 @@
   margin-bottom: 0;
   .search-query {
     padding: 4px 9px;
-    #font > .sans-serif(13px, normal, 1);
+    #font > .sans-serif(@baseFontSize, normal, 1);
     color: @white;
     color: rgba(255,255,255,.75);
     background: #666;
diff --git a/less/navs.less b/less/navs.less
index aa718cd746..da6803f4ef 100644
--- a/less/navs.less
+++ b/less/navs.less
@@ -40,7 +40,7 @@
   text-shadow: 0 1px 0 rgba(255,255,255,.5);
 }
 .nav.list .nav-header {
-  font-size: 11px;
+  font-size: @baseFontSize * 0.85;
   font-weight: bold;
   line-height: @baseLineHeight;
   color: @grayLight;
diff --git a/less/pagination.less b/less/pagination.less
index 8ecb2a4015..3854ad62f4 100644
--- a/less/pagination.less
+++ b/less/pagination.less
@@ -19,7 +19,7 @@
 .pagination a {
   float: left;
   padding: 0 14px;
-  line-height: (@baseLineHeight * 2) - 2;
+  line-height: @baseLineHeight * 1.89;
   text-decoration: none;
   border: 1px solid #ddd;
   border-left-width: 0;
diff --git a/less/scaffolding.less b/less/scaffolding.less
index d8b3f56abc..9d7128a535 100644
--- a/less/scaffolding.less
+++ b/less/scaffolding.less
@@ -9,8 +9,8 @@
 body {
   margin: 0;
   font-family: @baseFontFamily;
-  font-size: @baseFontSize;
-  line-height: @baseLineHeight;
+  font-size: @bodyFontSize;
+  line-height: @bodyLineHeight;
   color: @gray;
   background-color: @white;
 }
diff --git a/less/tooltip.less b/less/tooltip.less
index 5111a193f0..59285aee51 100644
--- a/less/tooltip.less
+++ b/less/tooltip.less
@@ -7,7 +7,7 @@
   display: block;
   visibility: visible;
   padding: 5px;
-  font-size: 11px;
+  font-size: @baseFontSize * 0.85;
   .opacity(0);
   &.in     { .opacity(80); }
   &.top    { margin-top:  -2px; }
diff --git a/less/type.less b/less/type.less
index 7841bb0906..d8edf78151 100644
--- a/less/type.less
+++ b/less/type.less
@@ -12,13 +12,13 @@ p {
   font-size: @baseFontSize;
   line-height: @baseLineHeight;
   small {
-    font-size: @baseFontSize - 2;
+    font-size: 85%;
     color: @grayLight;
   }
 }
 .lead {
   margin-bottom: @baseLineHeight;
-  font-size: 20px;
+  font-size: @baseFontSize * 1.53;
   font-weight: 200;
   line-height: @baseLineHeight * 1.5;
 }
@@ -37,40 +37,40 @@ h1, h2, h3, h4, h5, h6 {
   }
 }
 h1 {
-  font-size: 30px;
+  font-size: @baseFontSize * 2.31;
   line-height: @baseLineHeight * 2;
   small {
-    font-size: 18px;
+    font-size: 60%;
   }
 }
 h2 {
-  font-size: 24px;
+  font-size: @baseFontSize * 1.85;
   line-height: @baseLineHeight * 2;
   small {
-    font-size: 18px;
+    font-size: 75%;
   }
 }
 h3 {
   line-height: @baseLineHeight * 1.5;
-  font-size: 18px;
+  font-size: @baseFontSize * 1.38;
   small {
-    font-size: 14px;
+    font-size: 78%;
   }
 }
 h4, h5, h6 {
   line-height: @baseLineHeight;
 }
 h4 {
-  font-size: 14px;
+  font-size: @baseFontSize * 1.08;
   small {
-    font-size: 12px;
+    font-size: 86%;
   }
 }
 h5 {
-  font-size: 12px;
+  font-size: @baseFontSize * 0.92;
 }
 h6 {
-  font-size: 11px;
+  font-size: @baseFontSize * 0.85;
   color: @grayLight;
   text-transform: uppercase;
 }
diff --git a/less/variables.less b/less/variables.less
index 4265d7ed31..6e0adc8237 100644
--- a/less/variables.less
+++ b/less/variables.less
@@ -40,9 +40,12 @@
 @fluidSidebarWidth:     220px;
 
 // Typography
-@baseFontSize:          13px;
+@bodyFontSize:          0.813em;
+@bodyLineHeight:        @bodyFontSize * 1.38;
+// Base font size relative to body font size
+@baseFontSize:          1em;
 @baseFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
-@baseLineHeight:        18px;
+@baseLineHeight:        @baseFontSize * 1.38;
 
 // Buttons
 @primaryButtonBackground:    @linkColor;
-- 
GitLab