diff --git a/bootstrap.css b/bootstrap.css
index 6411413ff7261965255553a9fb7624f26f099e03..f57423b0c79a858c067b6eba5f05b3a7850c8d8a 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 b9e7dd1ee588c38df122e59b4f988c576f89049f..4bb1adc5c0db2269c7d57277c0af8062c6eca42a 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:"↓";} .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 586b5334b1639de349c48f5bb0998938a26f6a3e..3cf2208e964e1a429e64a3c857120f3acb7ae0d8 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 b4a88dd07841ec6084d803bcbff5db878d476298..56e71b0f7ff562a1c9b3d44e89ad8bd8739cffdb 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 6c0e12c192acad50a8e3e27e5b396677001a1414..56e60e98c76ee3bbd558103e6e4903a87ea50b3e 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 8b7e620fb911c25217eaa21cd05717dade7663a5..7431ae58b39c498573d6b3950ff8243189b77b01 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 0000000000000000000000000000000000000000..cd0ca8e22d4a34ed08436d5979ac46c9ea4d4ffc
--- /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 8d4369b186925d2af5483a12b389eec874766a12..a73e6f545fe00f0e60d8696c994436e83e858a25 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 7ceade651b57daef3260385d298f6a9a92fd1ae3..12626df3f1635ceab9c31b23f616cc2bc4418a9d 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;
 }