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] 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