diff --git a/assets/bootstrap.zip b/assets/bootstrap.zip index a6e05def..735f20c0 100644 Binary files a/assets/bootstrap.zip and b/assets/bootstrap.zip differ diff --git a/assets/css/bootstrap-responsive.css b/assets/css/bootstrap-responsive.css index d77d97d1..30eb71c1 100644 --- a/assets/css/bootstrap-responsive.css +++ b/assets/css/bootstrap-responsive.css @@ -10,17 +10,82 @@ .clearfix { *zoom: 1; } -.clearfix:before, .clearfix:after { +.clearfix:before, +.clearfix:after { display: table; content: ""; } .clearfix:after { clear: both; } +.hide-text { + overflow: hidden; + text-indent: 100%; + white-space: nowrap; +} +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + /* Make inputs at least the height of their button counterpart */ + + /* Makes inputs behave like true block-level elements */ + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} .hidden { display: none; visibility: hidden; } +.visible-phone { + display: none; +} +.visible-tablet { + display: none; +} +.visible-desktop { + display: block; +} +.hidden-phone { + display: block; +} +.hidden-tablet { + display: block; +} +.hidden-desktop { + display: none; +} +@media (max-width: 767px) { + .visible-phone { + display: block; + } + .hidden-phone { + display: none; + } + .hidden-desktop { + display: block; + } + .visible-desktop { + display: none; + } +} +@media (min-width: 768px) and (max-width: 979px) { + .visible-tablet { + display: block; + } + .hidden-tablet { + display: none; + } + .hidden-desktop { + display: block; + } + .visible-desktop { + display: none; + } +} @media (max-width: 480px) { .nav-collapse { -webkit-transform: translate3d(0, 0, 0); @@ -29,34 +94,8 @@ display: block; line-height: 18px; } - input[class*="span"], - select[class*="span"], - textarea[class*="span"], - .uneditable-input { - display: block; - width: 100%; - min-height: 28px; - /* Make inputs at least the height of their button counterpart */ - - /* Makes inputs behave like true block-level elements */ - - -webkit-box-sizing: border-box; - /* Older Webkit */ - - -moz-box-sizing: border-box; - /* Older FF */ - - -ms-box-sizing: border-box; - /* IE8 */ - - box-sizing: border-box; - /* CSS3 spec*/ - - } - .input-prepend input[class*="span"], .input-append input[class*="span"] { - width: auto; - } - input[type="checkbox"], input[type="radio"] { + input[type="checkbox"], + input[type="radio"] { border: 1px solid #ccc; } .form-horizontal .control-group > label { @@ -95,9 +134,16 @@ } } @media (max-width: 767px) { + body { + padding-left: 20px; + padding-right: 20px; + } + .navbar-fixed-top { + margin-left: -20px; + margin-right: -20px; + } .container { width: auto; - padding: 0 20px; } .row-fluid { width: 100%; @@ -105,19 +151,44 @@ .row { margin-left: 0; } - .row > [class*="span"], .row-fluid > [class*="span"] { + .row > [class*="span"], + .row-fluid > [class*="span"] { float: none; display: block; width: auto; margin: 0; } + .thumbnails [class*="span"] { + width: auto; + } + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 28px; + /* Make inputs at least the height of their button counterpart */ + + /* Makes inputs behave like true block-level elements */ + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + } + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + width: auto; + } } @media (min-width: 768px) and (max-width: 979px) { .row { margin-left: -20px; *zoom: 1; } - .row:before, .row:after { + .row:before, + .row:after { display: table; content: ""; } @@ -128,80 +199,89 @@ float: left; margin-left: 20px; } - .span1 { - width: 42px; + .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; } - .span2 { - width: 104px; - } - .span3 { - width: 166px; - } - .span4 { - width: 228px; - } - .span5 { - width: 290px; - } - .span6 { - width: 352px; - } - .span7 { - width: 414px; - } - .span8 { - width: 476px; - } - .span9 { - width: 538px; - } - .span10 { - width: 600px; + .span12 { + width: 724px; } .span11 { width: 662px; } - .span12, .container { - width: 724px; + .span10 { + width: 600px; } - .offset1 { - margin-left: 82px; + .span9 { + width: 538px; } - .offset2 { - margin-left: 144px; + .span8 { + width: 476px; } - .offset3 { - margin-left: 206px; + .span7 { + width: 414px; } - .offset4 { - margin-left: 268px; + .span6 { + width: 352px; } - .offset5 { - margin-left: 330px; + .span5 { + width: 290px; } - .offset6 { - margin-left: 392px; + .span4 { + width: 228px; } - .offset7 { - margin-left: 454px; + .span3 { + width: 166px; } - .offset8 { - margin-left: 516px; + .span2 { + width: 104px; } - .offset9 { - margin-left: 578px; + .span1 { + width: 42px; + } + .offset12 { + margin-left: 764px; + } + .offset11 { + margin-left: 702px; } .offset10 { margin-left: 640px; } - .offset11 { - margin-left: 702px; + .offset9 { + margin-left: 578px; + } + .offset8 { + margin-left: 516px; + } + .offset7 { + margin-left: 454px; + } + .offset6 { + margin-left: 392px; + } + .offset5 { + margin-left: 330px; + } + .offset4 { + margin-left: 268px; + } + .offset3 { + margin-left: 206px; + } + .offset2 { + margin-left: 144px; + } + .offset1 { + margin-left: 82px; } .row-fluid { width: 100%; *zoom: 1; } - .row-fluid:before, .row-fluid:after { + .row-fluid:before, + .row-fluid:after { display: table; content: ""; } @@ -215,77 +295,82 @@ .row-fluid > [class*="span"]:first-child { margin-left: 0; } - .row-fluid > .span1 { - width: 5.801104972%; - } - .row-fluid > .span2 { - width: 14.364640883%; - } - .row-fluid > .span3 { - width: 22.928176794%; - } - .row-fluid > .span4 { - width: 31.491712705%; - } - .row-fluid > .span5 { - width: 40.055248616%; - } - .row-fluid > .span6 { - width: 48.618784527%; - } - .row-fluid > .span7 { - width: 57.182320438000005%; - } - .row-fluid > .span8 { - width: 65.74585634900001%; - } - .row-fluid > .span9 { - width: 74.30939226%; - } - .row-fluid > .span10 { - width: 82.87292817100001%; + .row-fluid > .span12 { + width: 99.999999993%; } .row-fluid > .span11 { width: 91.436464082%; } - .row-fluid > .span12 { - width: 99.999999993%; + .row-fluid > .span10 { + width: 82.87292817100001%; } - input.span1, textarea.span1, .uneditable-input.span1 { - width: 32px; + .row-fluid > .span9 { + width: 74.30939226%; } - input.span2, textarea.span2, .uneditable-input.span2 { - width: 94px; + .row-fluid > .span8 { + width: 65.74585634900001%; } - input.span3, textarea.span3, .uneditable-input.span3 { - width: 156px; + .row-fluid > .span7 { + width: 57.182320438000005%; } - input.span4, textarea.span4, .uneditable-input.span4 { - width: 218px; + .row-fluid > .span6 { + width: 48.618784527%; } - input.span5, textarea.span5, .uneditable-input.span5 { - width: 280px; + .row-fluid > .span5 { + width: 40.055248616%; } - input.span6, textarea.span6, .uneditable-input.span6 { - width: 342px; + .row-fluid > .span4 { + width: 31.491712705%; } - input.span7, textarea.span7, .uneditable-input.span7 { - width: 404px; + .row-fluid > .span3 { + width: 22.928176794%; } - input.span8, textarea.span8, .uneditable-input.span8 { - width: 466px; + .row-fluid > .span2 { + width: 14.364640883%; } - input.span9, textarea.span9, .uneditable-input.span9 { - width: 528px; + .row-fluid > .span1 { + width: 5.801104972%; } - input.span10, textarea.span10, .uneditable-input.span10 { - width: 590px; + input, + textarea, + .uneditable-input { + margin-left: 0; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 714px; } input.span11, textarea.span11, .uneditable-input.span11 { width: 652px; } - input.span12, textarea.span12, .uneditable-input.span12 { - width: 714px; + input.span10, textarea.span10, .uneditable-input.span10 { + width: 590px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 528px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 466px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 404px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 342px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 280px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 218px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 156px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 94px; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 32px; } } @media (max-width: 979px) { @@ -328,7 +413,8 @@ color: #999999; text-shadow: none; } - .navbar .nav > li > a, .navbar .dropdown-menu a { + .navbar .nav > li > a, + .navbar .dropdown-menu a { padding: 6px 15px; font-weight: bold; color: #999999; @@ -339,7 +425,8 @@ .navbar .dropdown-menu li + li a { margin-bottom: 2px; } - .navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover { + .navbar .nav > li > a:hover, + .navbar .dropdown-menu a:hover { background-color: #222222; } .navbar .dropdown-menu { @@ -360,13 +447,15 @@ -moz-box-shadow: none; box-shadow: none; } - .navbar .dropdown-menu:before, .navbar .dropdown-menu:after { + .navbar .dropdown-menu:before, + .navbar .dropdown-menu:after { display: none; } .navbar .dropdown-menu .divider { display: none; } - .navbar-form, .navbar-search { + .navbar-form, + .navbar-search { float: none; padding: 9px 15px; margin: 9px 0; @@ -395,6 +484,7 @@ @media (min-width: 980px) { .nav-collapse.collapse { height: auto !important; + overflow: visible !important; } } @media (min-width: 1200px) { @@ -402,7 +492,8 @@ margin-left: -30px; *zoom: 1; } - .row:before, .row:after { + .row:before, + .row:after { display: table; content: ""; } @@ -413,80 +504,89 @@ float: left; margin-left: 30px; } - .span1 { - width: 70px; + .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 1170px; } - .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; + .span12 { + width: 1170px; } .span11 { width: 1070px; } - .span12, .container { - width: 1170px; + .span10 { + width: 970px; } - .offset1 { - margin-left: 130px; + .span9 { + width: 870px; } - .offset2 { - margin-left: 230px; + .span8 { + width: 770px; } - .offset3 { - margin-left: 330px; + .span7 { + width: 670px; } - .offset4 { - margin-left: 430px; + .span6 { + width: 570px; } - .offset5 { - margin-left: 530px; + .span5 { + width: 470px; } - .offset6 { - margin-left: 630px; + .span4 { + width: 370px; } - .offset7 { - margin-left: 730px; + .span3 { + width: 270px; } - .offset8 { - margin-left: 830px; + .span2 { + width: 170px; } - .offset9 { - margin-left: 930px; + .span1 { + width: 70px; + } + .offset12 { + margin-left: 1230px; + } + .offset11 { + margin-left: 1130px; } .offset10 { margin-left: 1030px; } - .offset11 { - margin-left: 1130px; + .offset9 { + margin-left: 930px; + } + .offset8 { + margin-left: 830px; + } + .offset7 { + margin-left: 730px; + } + .offset6 { + margin-left: 630px; + } + .offset5 { + margin-left: 530px; + } + .offset4 { + margin-left: 430px; + } + .offset3 { + margin-left: 330px; + } + .offset2 { + margin-left: 230px; + } + .offset1 { + margin-left: 130px; } .row-fluid { width: 100%; *zoom: 1; } - .row-fluid:before, .row-fluid:after { + .row-fluid:before, + .row-fluid:after { display: table; content: ""; } @@ -500,77 +600,82 @@ .row-fluid > [class*="span"]:first-child { margin-left: 0; } - .row-fluid > .span1 { - width: 5.982905983%; - } - .row-fluid > .span2 { - width: 14.529914530000001%; - } - .row-fluid > .span3 { - width: 23.076923077%; - } - .row-fluid > .span4 { - width: 31.623931624%; - } - .row-fluid > .span5 { - width: 40.170940171000005%; - } - .row-fluid > .span6 { - width: 48.717948718%; - } - .row-fluid > .span7 { - width: 57.264957265%; - } - .row-fluid > .span8 { - width: 65.81196581200001%; - } - .row-fluid > .span9 { - width: 74.358974359%; - } - .row-fluid > .span10 { - width: 82.905982906%; + .row-fluid > .span12 { + width: 100%; } .row-fluid > .span11 { width: 91.45299145300001%; } - .row-fluid > .span12 { - width: 100%; + .row-fluid > .span10 { + width: 82.905982906%; } - input.span1, textarea.span1, .uneditable-input.span1 { - width: 60px; + .row-fluid > .span9 { + width: 74.358974359%; } - input.span2, textarea.span2, .uneditable-input.span2 { - width: 160px; + .row-fluid > .span8 { + width: 65.81196581200001%; } - input.span3, textarea.span3, .uneditable-input.span3 { - width: 260px; + .row-fluid > .span7 { + width: 57.264957265%; } - input.span4, textarea.span4, .uneditable-input.span4 { - width: 360px; + .row-fluid > .span6 { + width: 48.717948718%; } - input.span5, textarea.span5, .uneditable-input.span5 { - width: 460px; + .row-fluid > .span5 { + width: 40.170940171000005%; } - input.span6, textarea.span6, .uneditable-input.span6 { - width: 560px; + .row-fluid > .span4 { + width: 31.623931624%; } - input.span7, textarea.span7, .uneditable-input.span7 { - width: 660px; + .row-fluid > .span3 { + width: 23.076923077%; } - input.span8, textarea.span8, .uneditable-input.span8 { - width: 760px; + .row-fluid > .span2 { + width: 14.529914530000001%; } - input.span9, textarea.span9, .uneditable-input.span9 { - width: 860px; + .row-fluid > .span1 { + width: 5.982905983%; } - input.span10, textarea.span10, .uneditable-input.span10 { - width: 960px; + input, + textarea, + .uneditable-input { + margin-left: 0; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 1160px; } input.span11, textarea.span11, .uneditable-input.span11 { width: 1060px; } - input.span12, textarea.span12, .uneditable-input.span12 { - width: 1160px; + input.span10, textarea.span10, .uneditable-input.span10 { + width: 960px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 860px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 760px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 660px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 560px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 460px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 360px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 260px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 160px; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 60px; } .thumbnails { margin-left: -30px; diff --git a/assets/css/bootstrap.css b/assets/css/bootstrap.css index c3e0c005..102fdfaa 100644 --- a/assets/css/bootstrap.css +++ b/assets/css/bootstrap.css @@ -19,7 +19,9 @@ nav, section { display: block; } -audio, canvas, video { +audio, +canvas, +video { display: inline-block; *display: inline; *zoom: 1; @@ -37,10 +39,12 @@ a:focus { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } -a:hover, a:active { +a:hover, +a:active { outline: 0; } -sub, sup { +sub, +sup { position: relative; font-size: 75%; line-height: 0; @@ -53,10 +57,10 @@ sub { bottom: -0.25em; } img { - max-width: 100%; height: auto; border: 0; -ms-interpolation-mode: bicubic; + vertical-align: middle; } button, input, @@ -66,11 +70,13 @@ textarea { font-size: 100%; vertical-align: middle; } -button, input { +button, +input { *overflow: visible; line-height: normal; } -button::-moz-focus-inner, input::-moz-focus-inner { +button::-moz-focus-inner, +input::-moz-focus-inner { padding: 0; border: 0; } @@ -87,7 +93,8 @@ input[type="search"] { -moz-box-sizing: content-box; box-sizing: content-box; } -input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; } textarea { @@ -97,13 +104,32 @@ textarea { .clearfix { *zoom: 1; } -.clearfix:before, .clearfix:after { +.clearfix:before, +.clearfix:after { display: table; content: ""; } .clearfix:after { clear: both; } +.hide-text { + overflow: hidden; + text-indent: 100%; + white-space: nowrap; +} +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + /* Make inputs at least the height of their button counterpart */ + + /* Makes inputs behave like true block-level elements */ + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; @@ -124,7 +150,8 @@ a:hover { margin-left: -20px; *zoom: 1; } -.row:before, .row:after { +.row:before, +.row:after { display: table; content: ""; } @@ -135,80 +162,89 @@ a:hover { float: left; margin-left: 20px; } -.span1 { - width: 60px; +.container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; } -.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; +.span12 { + width: 940px; } .span11 { width: 860px; } -.span12, .container { - width: 940px; +.span10 { + width: 780px; } -.offset1 { - margin-left: 100px; +.span9 { + width: 700px; } -.offset2 { - margin-left: 180px; +.span8 { + width: 620px; } -.offset3 { - margin-left: 260px; +.span7 { + width: 540px; } -.offset4 { - margin-left: 340px; +.span6 { + width: 460px; } -.offset5 { - margin-left: 420px; +.span5 { + width: 380px; } -.offset6 { - margin-left: 500px; +.span4 { + width: 300px; } -.offset7 { - margin-left: 580px; +.span3 { + width: 220px; } -.offset8 { - margin-left: 660px; +.span2 { + width: 140px; } -.offset9 { - margin-left: 740px; +.span1 { + width: 60px; +} +.offset12 { + margin-left: 980px; +} +.offset11 { + margin-left: 900px; } .offset10 { margin-left: 820px; } -.offset11 { - margin-left: 900px; +.offset9 { + margin-left: 740px; +} +.offset8 { + margin-left: 660px; +} +.offset7 { + margin-left: 580px; +} +.offset6 { + margin-left: 500px; +} +.offset5 { + margin-left: 420px; +} +.offset4 { + margin-left: 340px; +} +.offset3 { + margin-left: 260px; +} +.offset2 { + margin-left: 180px; +} +.offset1 { + margin-left: 100px; } .row-fluid { width: 100%; *zoom: 1; } -.row-fluid:before, .row-fluid:after { +.row-fluid:before, +.row-fluid:after { display: table; content: ""; } @@ -222,49 +258,49 @@ a:hover { .row-fluid > [class*="span"]:first-child { margin-left: 0; } -.row-fluid > .span1 { - width: 6.382978723%; -} -.row-fluid > .span2 { - width: 14.89361702%; -} -.row-fluid > .span3 { - width: 23.404255317%; -} -.row-fluid > .span4 { - width: 31.914893614%; -} -.row-fluid > .span5 { - width: 40.425531911%; -} -.row-fluid > .span6 { - width: 48.93617020799999%; -} -.row-fluid > .span7 { - width: 57.446808505%; -} -.row-fluid > .span8 { - width: 65.95744680199999%; -} -.row-fluid > .span9 { - width: 74.468085099%; -} -.row-fluid > .span10 { - width: 82.97872339599999%; +.row-fluid > .span12 { + width: 99.99999998999999%; } .row-fluid > .span11 { width: 91.489361693%; } -.row-fluid > .span12 { - width: 99.99999998999999%; +.row-fluid > .span10 { + width: 82.97872339599999%; +} +.row-fluid > .span9 { + width: 74.468085099%; +} +.row-fluid > .span8 { + width: 65.95744680199999%; +} +.row-fluid > .span7 { + width: 57.446808505%; +} +.row-fluid > .span6 { + width: 48.93617020799999%; +} +.row-fluid > .span5 { + width: 40.425531911%; +} +.row-fluid > .span4 { + width: 31.914893614%; +} +.row-fluid > .span3 { + width: 23.404255317%; +} +.row-fluid > .span2 { + width: 14.89361702%; +} +.row-fluid > .span1 { + width: 6.382978723%; } .container { - width: 940px; margin-left: auto; margin-right: auto; *zoom: 1; } -.container:before, .container:after { +.container:before, +.container:after { display: table; content: ""; } @@ -276,7 +312,8 @@ a:hover { padding-right: 20px; *zoom: 1; } -.container-fluid:before, .container-fluid:after { +.container-fluid:before, +.container-fluid:after { display: table; content: ""; } @@ -306,8 +343,9 @@ h4, h5, h6 { margin: 0; + font-family: inherit; font-weight: bold; - color: #333333; + color: inherit; text-rendering: optimizelegibility; } h1 small, @@ -340,7 +378,9 @@ h3 { h3 small { font-size: 14px; } -h4, h5, h6 { +h4, +h5, +h6 { line-height: 18px; } h4 { @@ -365,7 +405,8 @@ h6 { .page-header h1 { line-height: 1; } -ul, ol { +ul, +ol { padding: 0; margin: 0 0 9px 25px; } @@ -384,22 +425,34 @@ ol { li { line-height: 18px; } -ul.unstyled, ol.unstyled { +ul.unstyled, +ol.unstyled { margin-left: 0; list-style: none; } dl { margin-bottom: 18px; } -dt, dd { +dt, +dd { line-height: 18px; } dt { font-weight: bold; + line-height: 17px; } dd { margin-left: 9px; } +.dl-horizontal dt { + float: left; + clear: left; + width: 120px; + text-align: right; +} +.dl-horizontal dd { + margin-left: 130px; +} hr { margin: 18px 0; border: 0; @@ -415,12 +468,14 @@ em { .muted { color: #999999; } -abbr { - font-size: 90%; - text-transform: uppercase; +abbr[title] { border-bottom: 1px dotted #ddd; cursor: help; } +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} blockquote { padding: 0 0 0 15px; margin: 0 0 18px; @@ -447,7 +502,8 @@ blockquote.pull-right { border-left: 0; border-right: 5px solid #eeeeee; } -blockquote.pull-right p, blockquote.pull-right small { +blockquote.pull-right p, +blockquote.pull-right small { text-align: right; } q:before, @@ -468,7 +524,8 @@ small { cite { font-style: normal; } -code, pre { +code, +pre { padding: 0 3px 2px; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; @@ -478,7 +535,7 @@ code, pre { border-radius: 3px; } code { - padding: 3px 4px; + padding: 2px 4px; color: #d14; background-color: #f7f7f9; border: 1px solid #e1e1e8; @@ -487,7 +544,7 @@ pre { display: block; padding: 8.5px; margin: 0 0 9px; - font-size: 12px; + font-size: 12.025px; line-height: 18px; background-color: #f5f5f5; border: 1px solid #ccc; @@ -568,7 +625,7 @@ select, font-size: 13px; line-height: 18px; color: #555555; - border: 1px solid #ccc; + border: 1px solid #cccccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; @@ -577,10 +634,14 @@ select, width: auto; height: auto; } -label input, label textarea, label 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; @@ -611,11 +672,14 @@ 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 */ @@ -631,7 +695,8 @@ select { width: 220px; background-color: #ffffff; } -select[multiple], select[size] { +select[multiple], +select[size] { height: auto; } input[type="image"] { @@ -645,26 +710,32 @@ textarea { input[type="hidden"] { display: none; } -.radio, .checkbox { +.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; } -.controls > .radio:first-child, .controls > .checkbox:first-child { +.controls > .radio:first-child, +.controls > .checkbox:first-child { padding-top: 5px; } -.radio.inline, .checkbox.inline { +.radio.inline, +.checkbox.inline { display: inline-block; padding-top: 5px; margin-bottom: 0; vertical-align: middle; } -.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline { +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { margin-left: 10px; } -input, 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); @@ -674,7 +745,8 @@ input, textarea { -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 { +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); @@ -720,41 +792,46 @@ textarea[class*="span"], float: none; margin-left: 0; } -input.span1, textarea.span1, .uneditable-input.span1 { - width: 50px; +input, +textarea, +.uneditable-input { + margin-left: 0; } -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.span12, textarea.span12, .uneditable-input.span12 { + width: 930px; } input.span11, textarea.span11, .uneditable-input.span11 { width: 850px; } -input.span12, textarea.span12, .uneditable-input.span12 { - width: 930px; +input.span10, textarea.span10, .uneditable-input.span10 { + width: 770px; +} +input.span9, textarea.span9, .uneditable-input.span9 { + width: 690px; +} +input.span8, textarea.span8, .uneditable-input.span8 { + width: 610px; +} +input.span7, textarea.span7, .uneditable-input.span7 { + width: 530px; +} +input.span6, textarea.span6, .uneditable-input.span6 { + width: 450px; +} +input.span5, textarea.span5, .uneditable-input.span5 { + width: 370px; +} +input.span4, textarea.span4, .uneditable-input.span4 { + width: 290px; +} +input.span3, textarea.span3, .uneditable-input.span3 { + width: 210px; +} +input.span2, textarea.span2, .uneditable-input.span2 { + width: 130px; +} +input.span1, textarea.span1, .uneditable-input.span1 { + width: 50px; } input[disabled], select[disabled], @@ -762,69 +839,94 @@ textarea[disabled], input[readonly], select[readonly], textarea[readonly] { - background-color: #f5f5f5; + background-color: #eeeeee; border-color: #ddd; cursor: not-allowed; } -.control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline { +.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +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 { +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; @@ -834,8 +936,17 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec padding: 17px 20px 18px; margin-top: 18px; margin-bottom: 18px; - background-color: #f5f5f5; + background-color: #eeeeee; border-top: 1px solid #ddd; + *zoom: 1; +} +.form-actions:before, +.form-actions:after { + display: table; + content: ""; +} +.form-actions:after { + clear: both; } .uneditable-input { display: block; @@ -852,11 +963,13 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec ::-webkit-input-placeholder { color: #999999; } +.help-block, +.help-inline { + color: #555555; +} .help-block { display: block; - margin-top: 5px; - margin-bottom: 0; - color: #999999; + margin-bottom: 9px; } .help-inline { display: inline-block; @@ -864,72 +977,71 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec /* IE7 inline-block hack */ *zoom: 1; - margin-bottom: 9px; vertical-align: middle; padding-left: 5px; } -.input-prepend, .input-append { +.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 select, +.input-append select, .input-prepend .uneditable-input, .input-append .uneditable-input { + *margin-left: 0; -webkit-border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0; } .input-prepend input:focus, .input-append input:focus, +.input-prepend select:focus, +.input-append select:focus, .input-prepend .uneditable-input:focus, .input-append .uneditable-input:focus { position: relative; z-index: 2; } -.input-prepend .uneditable-input, .input-append .uneditable-input { +.input-prepend .uneditable-input, +.input-append .uneditable-input { border-left-color: #ccc; } -.input-prepend .add-on, .input-append .add-on { - float: left; - display: block; +.input-prepend .add-on, +.input-append .add-on { + display: inline-block; width: auto; min-width: 16px; height: 18px; - margin-right: -1px; padding: 4px 5px; font-weight: normal; line-height: 18px; - color: #999999; text-align: center; text-shadow: 0 1px 0 #ffffff; - background-color: #f5f5f5; + vertical-align: middle; + background-color: #eeeeee; border: 1px solid #ccc; +} +.input-prepend .add-on, +.input-append .add-on, +.input-prepend .btn, +.input-append .btn { -webkit-border-radius: 3px 0 0 3px; -moz-border-radius: 3px 0 0 3px; border-radius: 3px 0 0 3px; } -.input-prepend .active, .input-append .active { +.input-prepend .active, +.input-append .active { background-color: #a9dba9; border-color: #46a546; } -.input-prepend .add-on { - *margin-top: 1px; - /* IE6-7 */ - +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; } -.input-append input, .input-append .uneditable-input { - float: left; +.input-append input, +.input-append select .uneditable-input { -webkit-border-radius: 3px 0 0 3px; -moz-border-radius: 3px 0 0 3px; border-radius: 3px 0 0 3px; @@ -938,18 +1050,33 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec border-left-color: #eee; border-right-color: #ccc; } -.input-append .add-on { - margin-right: 0; +.input-append .add-on, +.input-append .btn { margin-left: -1px; -webkit-border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0; } -.input-append input:first-child { - *margin-left: -160px; +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } -.input-append input:first-child + .add-on { - *margin-left: -21px; +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; } .search-query { padding-left: 14px; @@ -973,34 +1100,47 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec .form-horizontal .help-inline, .form-search .uneditable-input, .form-inline .uneditable-input, -.form-horizontal .uneditable-input { +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { display: inline-block; margin-bottom: 0; } -.form-search .hide, .form-inline .hide, .form-horizontal .hide { +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { display: none; } .form-search label, -.form-inline label, +.form-inline label { + display: inline-block; +} .form-search .input-append, .form-inline .input-append, .form-search .input-prepend, .form-inline .input-prepend { - display: inline-block; -} -.form-search .input-append .add-on, -.form-inline .input-prepend .add-on, -.form-search .input-append .add-on, -.form-inline .input-prepend .add-on { - vertical-align: middle; + margin-bottom: 0; } .form-search .radio, -.form-inline .radio, .form-search .checkbox, +.form-inline .radio, .form-inline .checkbox { + padding-left: 0; margin-bottom: 0; vertical-align: middle; } +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-left: 0; + margin-right: 3px; +} .control-group { margin-bottom: 9px; } @@ -1012,7 +1152,8 @@ legend + .control-group { margin-bottom: 18px; *zoom: 1; } -.form-horizontal .control-group:before, .form-horizontal .control-group:after { +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { display: table; content: ""; } @@ -1027,6 +1168,15 @@ legend + .control-group { } .form-horizontal .controls { margin-left: 160px; + /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */ + + *display: inline-block; + *margin-left: 0; + *padding-left: 20px; +} +.form-horizontal .help-block { + margin-top: 9px; + margin-bottom: 0; } .form-horizontal .form-actions { padding-left: 160px; @@ -1035,17 +1185,19 @@ table { max-width: 100%; border-collapse: collapse; border-spacing: 0; + background-color: transparent; } .table { width: 100%; margin-bottom: 18px; } -.table th, .table td { +.table th, +.table td { padding: 8px; line-height: 18px; text-align: left; vertical-align: top; - border-top: 1px solid #ddd; + border-top: 1px solid #dddddd; } .table th { font-weight: bold; @@ -1053,56 +1205,67 @@ table { .table thead th { vertical-align: bottom; } -.table thead:first-child tr th, .table thead:first-child tr td { +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { border-top: 0; } .table tbody + tbody { - border-top: 2px solid #ddd; + border-top: 2px solid #dddddd; } -.table-condensed th, .table-condensed td { +.table-condensed th, +.table-condensed td { padding: 4px 5px; } .table-bordered { - border: 1px solid #ddd; + border: 1px solid #dddddd; + border-left: 0; border-collapse: separate; *border-collapse: collapsed; -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 th, +.table-bordered td { + border-left: 1px solid #dddddd; } -.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 { +.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 { +.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 { +.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 { +.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 { +.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 { +.table-striped tbody tr:nth-child(odd) td, +.table-striped tbody tr:nth-child(odd) th { background-color: #f9f9f9; } -.table tbody tr:hover td, .table tbody tr:hover th { +.table tbody tr:hover td, +.table tbody tr:hover th { background-color: #f5f5f5; } table .span1 { @@ -1165,7 +1328,68 @@ table .span12 { width: 924px; margin-left: 0; } -[class^="icon-"], [class*=" icon-"] { +table .span13 { + float: none; + width: 1004px; + margin-left: 0; +} +table .span14 { + float: none; + width: 1084px; + margin-left: 0; +} +table .span15 { + float: none; + width: 1164px; + margin-left: 0; +} +table .span16 { + float: none; + width: 1244px; + margin-left: 0; +} +table .span17 { + float: none; + width: 1324px; + margin-left: 0; +} +table .span18 { + float: none; + width: 1404px; + margin-left: 0; +} +table .span19 { + float: none; + width: 1484px; + margin-left: 0; +} +table .span20 { + float: none; + width: 1564px; + margin-left: 0; +} +table .span21 { + float: none; + width: 1644px; + margin-left: 0; +} +table .span22 { + float: none; + width: 1724px; + margin-left: 0; +} +table .span23 { + float: none; + width: 1804px; + margin-left: 0; +} +table .span24 { + float: none; + width: 1884px; + margin-left: 0; +} +[class^="icon-"], +[class*=" icon-"] { display: inline-block; width: 14px; height: 14px; @@ -1176,7 +1400,8 @@ table .span12 { background-repeat: no-repeat; *margin-right: .3em; } -[class^="icon-"]:last-child, [class*=" icon-"]:last-child { +[class^="icon-"]:last-child, +[class*=" icon-"]:last-child { *margin-left: 0; } .icon-white { @@ -1548,28 +1773,28 @@ table .span12 { .dropdown-toggle { *margin-bottom: -3px; } -.dropdown-toggle:active, .open .dropdown-toggle { +.dropdown-toggle:active, +.open .dropdown-toggle { outline: 0; } .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; border-top: 4px solid #000000; opacity: 0.3; filter: alpha(opacity=30); - content: "\2193"; + content: ""; } .dropdown .caret { margin-top: 8px; margin-left: 2px; } -.dropdown:hover .caret, .open.dropdown .caret { +.dropdown:hover .caret, +.open.dropdown .caret { opacity: 1; filter: alpha(opacity=100); } @@ -1581,7 +1806,6 @@ table .span12 { float: left; display: none; min-width: 160px; - _width: 160px; padding: 4px 0; margin: 0; list-style: none; @@ -1602,14 +1826,13 @@ table .span12 { *border-right-width: 2px; *border-bottom-width: 2px; } -.dropdown-menu.bottom-up { - top: auto; - bottom: 100%; - margin-bottom: 2px; +.dropdown-menu.pull-right { + right: 0; + left: auto; } .dropdown-menu .divider { height: 1px; - margin: 5px 1px; + margin: 8px 1px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid #ffffff; @@ -1622,10 +1845,12 @@ table .span12 { clear: both; font-weight: normal; line-height: 18px; - color: #555555; + color: #333333; white-space: nowrap; } -.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover { +.dropdown-menu li > a:hover, +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { color: #ffffff; text-decoration: none; background-color: #0088cc; @@ -1641,6 +1866,22 @@ table .span12 { .dropdown.open .dropdown-menu { display: block; } +.pull-right .dropdown-menu { + left: auto; + right: 0; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: "\2191"; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} .typeahead { margin-top: 2px; -webkit-border-radius: 4px; @@ -1665,6 +1906,18 @@ table .span12 { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); } +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} .fade { -webkit-transition: opacity 0.15s linear; -moz-transition: opacity 0.15s linear; @@ -1708,6 +1961,10 @@ table .span12 { } .btn { display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; padding: 4px 10px 4px; margin-bottom: 0; font-size: 13px; @@ -1727,9 +1984,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - border: 1px solid #ccc; - border-bottom-color: #bbb; + filter: progid:dximagetransform.microsoft.gradient(enabled=false); + border: 1px solid #cccccc; + border-bottom-color: #b3b3b3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; @@ -1737,7 +1994,6 @@ 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; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); *margin-left: .3em; } .btn:hover, @@ -1747,7 +2003,8 @@ table .span12 { .btn[disabled] { background-color: #e6e6e6; } -.btn:active, .btn.active { +.btn:active, +.btn.active { background-color: #cccccc \9; } .btn:first-child { @@ -1769,7 +2026,8 @@ table .span12 { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } -.btn.active, .btn:active { +.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); @@ -1778,7 +2036,8 @@ table .span12 { background-color: #d9d9d9 \9; outline: 0; } -.btn.disabled, .btn[disabled] { +.btn.disabled, +.btn[disabled] { cursor: default; background-image: none; background-color: #e6e6e6; @@ -1832,32 +2091,33 @@ table .span12 { .btn-danger.active, .btn-success.active, .btn-info.active, -.btn-dark.active { +.btn-inverse.active { color: rgba(255, 255, 255, 0.75); } .btn-primary { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); + 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; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0); + border-color: #0055cc #0055cc #003580; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); } .btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] { - background-color: #0044cc; + background-color: #0055cc; } -.btn-primary:active, .btn-primary.active { - background-color: #003399 \9; +.btn-primary:active, +.btn-primary.active { + background-color: #004099 \9; } .btn-warning { background-color: #faa732; @@ -1871,7 +2131,7 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); } .btn-warning:hover, .btn-warning:active, @@ -1880,7 +2140,8 @@ table .span12 { .btn-warning[disabled] { background-color: #f89406; } -.btn-warning:active, .btn-warning.active { +.btn-warning:active, +.btn-warning.active { background-color: #c67605 \9; } .btn-danger { @@ -1895,7 +2156,7 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); } .btn-danger:hover, .btn-danger:active, @@ -1904,7 +2165,8 @@ table .span12 { .btn-danger[disabled] { background-color: #bd362f; } -.btn-danger:active, .btn-danger.active { +.btn-danger:active, +.btn-danger.active { background-color: #942a25 \9; } .btn-success { @@ -1919,7 +2181,7 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); } .btn-success:hover, .btn-success:active, @@ -1928,7 +2190,8 @@ table .span12 { .btn-success[disabled] { background-color: #51a351; } -.btn-success:active, .btn-success.active { +.btn-success:active, +.btn-success.active { background-color: #408140 \9; } .btn-info { @@ -1943,7 +2206,7 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); } .btn-info:hover, .btn-info:active, @@ -1952,55 +2215,67 @@ table .span12 { .btn-info[disabled] { background-color: #2f96b4; } -.btn-info:active, .btn-info.active { +.btn-info:active, +.btn-info.active { background-color: #24748c \9; } .btn-inverse { - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - border-color: #262626 #262626 #000000; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); } .btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] { - background-color: #262626; + background-color: #222222; } -.btn-inverse:active, .btn-inverse.active { - background-color: #0c0c0c \9; +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; } -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.btn-large, +input[type="submit"].btn.btn-large { *padding-top: 7px; *padding-bottom: 7px; } -button.btn.small, input[type="submit"].btn.small { +button.btn.btn-small, +input[type="submit"].btn.btn-small { *padding-top: 3px; *padding-bottom: 3px; } +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} .btn-group { position: relative; *zoom: 1; *margin-left: .3em; } -.btn-group:before, .btn-group:after { +.btn-group:before, +.btn-group:after { display: table; content: ""; } @@ -2041,7 +2316,8 @@ button.btn.small, input[type="submit"].btn.small { -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; } -.btn-group .btn:last-child, .btn-group .dropdown-toggle { +.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; @@ -2058,7 +2334,8 @@ button.btn.small, input[type="submit"].btn.small { -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; } -.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle { +.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; @@ -2072,7 +2349,8 @@ 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 { +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { outline: 0; } .btn-group .dropdown-toggle { @@ -2081,8 +2359,22 @@ button.btn.small, input[type="submit"].btn.small { -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; + *padding-top: 3px; + *padding-bottom: 3px; +} +.btn-group .btn-mini.dropdown-toggle { + padding-left: 5px; + padding-right: 5px; + *padding-top: 1px; + *padding-bottom: 1px; +} +.btn-group .btn-small.dropdown-toggle { + *padding-top: 4px; + *padding-bottom: 4px; +} +.btn-group .btn-large.dropdown-toggle { + padding-left: 12px; + padding-right: 12px; } .btn-group.open { *z-index: 1000; @@ -2104,22 +2396,34 @@ button.btn.small, input[type="submit"].btn.small { margin-top: 7px; margin-left: 0; } -.btn:hover .caret, .open.btn-group .caret { +.btn:hover .caret, +.open.btn-group .caret { opacity: 1; filter: alpha(opacity=100); } +.btn-mini .caret { + margin-top: 5px; +} +.btn-small .caret { + margin-top: 6px; +} +.btn-large .caret { + margin-top: 6px; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid #000000; +} .btn-primary .caret, +.btn-warning .caret, .btn-danger .caret, .btn-info .caret, .btn-success .caret, .btn-inverse .caret { border-top-color: #ffffff; + border-bottom-color: #ffffff; opacity: 0.75; filter: alpha(opacity=75); } -.btn-small .caret { - margin-top: 4px; -} .alert { padding: 8px 35px 8px 14px; margin-bottom: 18px; @@ -2129,10 +2433,11 @@ button.btn.small, input[type="submit"].btn.small { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -} -.alert, .alert-heading { color: #c09853; } +.alert-heading { + color: inherit; +} .alert .close { position: relative; top: -2px; @@ -2142,32 +2447,25 @@ button.btn.small, input[type="submit"].btn.small { .alert-success { background-color: #dff0d8; border-color: #d6e9c6; -} -.alert-success, .alert-success .alert-heading { color: #468847; } -.alert-danger, .alert-error { +.alert-danger, +.alert-error { background-color: #f2dede; border-color: #eed3d7; -} -.alert-danger, -.alert-error, -.alert-danger .alert-heading, -.alert-error .alert-heading { color: #b94a48; } .alert-info { background-color: #d9edf7; border-color: #bce8f1; -} -.alert-info, .alert-info .alert-heading { color: #3a87ad; } .alert-block { padding-top: 14px; padding-bottom: 14px; } -.alert-block > p, .alert-block > ul { +.alert-block > p, +.alert-block > ul { margin-bottom: 0; } .alert-block p + p { @@ -2199,11 +2497,12 @@ button.btn.small, input[type="submit"].btn.small { margin-top: 9px; } .nav-list { - padding-left: 14px; - padding-right: 14px; + padding-left: 15px; + padding-right: 15px; margin-bottom: 0; } -.nav-list > li > a, .nav-list .nav-header { +.nav-list > li > a, +.nav-list .nav-header { margin-left: -15px; margin-right: -15px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); @@ -2211,7 +2510,8 @@ button.btn.small, input[type="submit"].btn.small { .nav-list > li > a { padding: 3px 15px; } -.nav-list .active > a, .nav-list .active > a:hover { +.nav-list > .active > a, +.nav-list > .active > a:hover { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); background-color: #0088cc; @@ -2219,7 +2519,17 @@ button.btn.small, input[type="submit"].btn.small { .nav-list [class^="icon-"] { margin-right: 2px; } -.nav-tabs, .nav-pills { +.nav-list .divider { + height: 1px; + margin: 8px 1px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; + *width: 100%; + *margin: -5px 0 5px; +} +.nav-tabs, +.nav-pills { *zoom: 1; } .nav-tabs:before, @@ -2229,13 +2539,16 @@ button.btn.small, input[type="submit"].btn.small { display: table; content: ""; } -.nav-tabs:after, .nav-pills:after { +.nav-tabs:after, +.nav-pills:after { clear: both; } -.nav-tabs > li, .nav-pills > li { +.nav-tabs > li, +.nav-pills > li { float: left; } -.nav-tabs > li > a, .nav-pills > li > a { +.nav-tabs > li > a, +.nav-pills > li > a { padding-right: 12px; padding-left: 12px; margin-right: 2px; @@ -2248,8 +2561,9 @@ button.btn.small, input[type="submit"].btn.small { margin-bottom: -1px; } .nav-tabs > li > a { - padding-top: 9px; - padding-bottom: 9px; + padding-top: 8px; + padding-bottom: 8px; + line-height: 18px; border: 1px solid transparent; -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; @@ -2258,7 +2572,8 @@ button.btn.small, input[type="submit"].btn.small { .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #dddddd; } -.nav-tabs > .active > a, .nav-tabs > .active > a:hover { +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { color: #555555; background-color: #ffffff; border: 1px solid #ddd; @@ -2274,7 +2589,8 @@ button.btn.small, input[type="submit"].btn.small { -moz-border-radius: 5px; border-radius: 5px; } -.nav-pills .active > a, .nav-pills .active > a:hover { +.nav-pills > .active > a, +.nav-pills > .active > a:hover { color: #ffffff; background-color: #0088cc; } @@ -2313,7 +2629,8 @@ button.btn.small, input[type="submit"].btn.small { .nav-pills.nav-stacked > li:last-child > a { margin-bottom: 1px; } -.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu { +.nav-tabs .dropdown-menu, +.nav-pills .dropdown-menu { margin-top: 1px; border-width: 1px; } @@ -2322,27 +2639,38 @@ button.btn.small, input[type="submit"].btn.small { -moz-border-radius: 4px; border-radius: 4px; } -.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret { +.nav-tabs .dropdown-toggle .caret, +.nav-pills .dropdown-toggle .caret { border-top-color: #0088cc; + border-bottom-color: #0088cc; margin-top: 6px; } -.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret { +.nav-tabs .dropdown-toggle:hover .caret, +.nav-pills .dropdown-toggle:hover .caret { border-top-color: #005580; + border-bottom-color: #005580; } -.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret { +.nav-tabs .active .dropdown-toggle .caret, +.nav-pills .active .dropdown-toggle .caret { border-top-color: #333333; + border-bottom-color: #333333; } .nav > .dropdown.active > a:hover { color: #000000; cursor: pointer; } -.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover { +.nav-tabs .open .dropdown-toggle, +.nav-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 { +.nav .open .caret, +.nav .open.active .caret, +.nav .open a:hover .caret { border-top-color: #ffffff; + border-bottom-color: #ffffff; opacity: 1; filter: alpha(opacity=100); } @@ -2352,7 +2680,8 @@ button.btn.small, input[type="submit"].btn.small { .tabbable { *zoom: 1; } -.tabbable:before, .tabbable:after { +.tabbable:before, +.tabbable:after { display: table; content: ""; } @@ -2360,15 +2689,20 @@ button.btn.small, input[type="submit"].btn.small { clear: both; } .tab-content { - overflow: hidden; + display: table; + width: 100%; } -.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs { +.tabs-below .nav-tabs, +.tabs-right .nav-tabs, +.tabs-left .nav-tabs { border-bottom: 0; } -.tab-content > .tab-pane, .pill-content > .pill-pane { +.tab-content > .tab-pane, +.pill-content > .pill-pane { display: none; } -.tab-content > .active, .pill-content > .active { +.tab-content > .active, +.pill-content > .active { display: block; } .tabs-below .nav-tabs { @@ -2387,13 +2721,16 @@ button.btn.small, input[type="submit"].btn.small { border-bottom-color: transparent; border-top-color: #ddd; } -.tabs-below .nav-tabs .active > a, .tabs-below .nav-tabs .active > a:hover { +.tabs-below .nav-tabs .active > a, +.tabs-below .nav-tabs .active > a:hover { border-color: transparent #ddd #ddd #ddd; } -.tabs-left .nav-tabs > li, .tabs-right .nav-tabs > li { +.tabs-left .nav-tabs > li, +.tabs-right .nav-tabs > li { float: none; } -.tabs-left .nav-tabs > li > a, .tabs-right .nav-tabs > li > a { +.tabs-left .nav-tabs > li > a, +.tabs-right .nav-tabs > li > a { min-width: 74px; margin-right: 0; margin-bottom: 3px; @@ -2412,7 +2749,8 @@ button.btn.small, input[type="submit"].btn.small { .tabs-left .nav-tabs > li > a:hover { border-color: #eeeeee #dddddd #eeeeee #eeeeee; } -.tabs-left .nav-tabs .active > a, .tabs-left .nav-tabs .active > a:hover { +.tabs-left .nav-tabs .active > a, +.tabs-left .nav-tabs .active > a:hover { border-color: #ddd transparent #ddd #ddd; *border-right-color: #ffffff; } @@ -2430,11 +2768,14 @@ button.btn.small, input[type="submit"].btn.small { .tabs-right .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #eeeeee #dddddd; } -.tabs-right .nav-tabs .active > a, .tabs-right .nav-tabs .active > a:hover { +.tabs-right .nav-tabs .active > a, +.tabs-right .nav-tabs .active > a:hover { border-color: #ddd #ddd #ddd transparent; *border-left-color: #ffffff; } .navbar { + *position: relative; + *z-index: 2; overflow: visible; margin-bottom: 18px; } @@ -2457,6 +2798,9 @@ button.btn.small, input[type="submit"].btn.small { -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); } +.navbar .container { + width: auto; +} .btn-navbar { display: none; float: right; @@ -2474,7 +2818,7 @@ button.btn.small, input[type="submit"].btn.small { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); @@ -2486,7 +2830,8 @@ button.btn.small, input[type="submit"].btn.small { .btn-navbar[disabled] { background-color: #222222; } -.btn-navbar:active, .btn-navbar.active { +.btn-navbar:active, +.btn-navbar.active { background-color: #080808 \9; } .btn-navbar .icon-bar { @@ -2507,6 +2852,9 @@ button.btn.small, input[type="submit"].btn.small { .nav-collapse.collapse { height: auto; } +.navbar { + color: #999999; +} .navbar .brand:hover { text-decoration: none; } @@ -2523,13 +2871,9 @@ button.btn.small, input[type="submit"].btn.small { .navbar .navbar-text { margin-bottom: 0; line-height: 40px; - color: #999999; } -.navbar .navbar-text a:hover { - color: #ffffff; - background-color: transparent; -} -.navbar .btn, .navbar .btn-group { +.navbar .btn, +.navbar .btn-group { margin-top: 5px; } .navbar .btn-group .btn { @@ -2539,29 +2883,37 @@ button.btn.small, input[type="submit"].btn.small { margin-bottom: 0; *zoom: 1; } -.navbar-form:before, .navbar-form:after { +.navbar-form:before, +.navbar-form:after { display: table; content: ""; } .navbar-form:after { clear: both; } -.navbar-form input, .navbar-form select { - display: inline-block; +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { margin-top: 5px; +} +.navbar-form input, +.navbar-form select { + display: inline-block; margin-bottom: 0; } -.navbar-form .radio, .navbar-form .checkbox { - margin-top: 5px; -} -.navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] { +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { margin-top: 3px; } -.navbar-form .input-append, .navbar-form .input-prepend { +.navbar-form .input-append, +.navbar-form .input-prepend { margin-top: 6px; white-space: nowrap; } -.navbar-form .input-append input, .navbar-form .input-prepend input { +.navbar-form .input-append input, +.navbar-form .input-prepend input { margin-top: 0; } .navbar-search { @@ -2577,10 +2929,8 @@ button.btn.small, input[type="submit"].btn.small { font-weight: normal; line-height: 1; color: #ffffff; - color: rgba(255, 255, 255, 0.75); - background: #666; - background: rgba(255, 255, 255, 0.3); - border: 1px solid #111; + background-color: #626262; + border: 1px solid #151515; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); @@ -2590,18 +2940,14 @@ button.btn.small, input[type="submit"].btn.small { -o-transition: none; transition: none; } -.navbar-search .search-query :-moz-placeholder { - color: #eeeeee; +.navbar-search .search-query:-moz-placeholder { + color: #cccccc; } .navbar-search .search-query::-webkit-input-placeholder { - color: #eeeeee; + color: #cccccc; } -.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 { +.navbar-search .search-query:focus, +.navbar-search .search-query.focused { padding: 5px 10px; color: #333333; text-shadow: 0 1px 0 #ffffff; @@ -2612,20 +2958,32 @@ button.btn.small, input[type="submit"].btn.small { box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); outline: 0; } -.navbar-fixed-top { +.navbar-fixed-top, +.navbar-fixed-bottom { position: fixed; - top: 0; right: 0; left: 0; z-index: 1030; + margin-bottom: 0; } -.navbar-fixed-top .navbar-inner { +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { padding-left: 0; padding-right: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; } +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} +.navbar-fixed-top { + top: 0; +} +.navbar-fixed-bottom { + bottom: 0; +} .navbar .nav { position: relative; left: 0; @@ -2653,7 +3011,8 @@ button.btn.small, input[type="submit"].btn.small { color: #ffffff; text-decoration: none; } -.navbar .nav .active > a, .navbar .nav .active > a:hover { +.navbar .nav .active > a, +.navbar .nav .active > a:hover { color: #ffffff; text-decoration: none; background-color: #222222; @@ -2697,34 +3056,55 @@ button.btn.small, input[type="submit"].btn.small { top: -6px; left: 10px; } -.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret { +.navbar-fixed-bottom .dropdown-menu:before { + border-top: 7px solid #ccc; + border-top-color: rgba(0, 0, 0, 0.2); + border-bottom: 0; + bottom: -7px; + top: auto; +} +.navbar-fixed-bottom .dropdown-menu:after { + border-top: 6px solid #ffffff; + border-bottom: 0; + bottom: -6px; + top: auto; +} +.navbar .nav .dropdown-toggle .caret, +.navbar .nav .open.dropdown .caret { border-top-color: #ffffff; + border-bottom-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 { +.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 { +.navbar .nav.pull-right .dropdown-menu, +.navbar .nav .dropdown-menu.pull-right { left: auto; right: 0; } -.navbar .nav.pull-right .dropdown-menu:before { +.navbar .nav.pull-right .dropdown-menu:before, +.navbar .nav .dropdown-menu.pull-right:before { left: auto; right: 12px; } -.navbar .nav.pull-right .dropdown-menu:after { +.navbar .nav.pull-right .dropdown-menu:after, +.navbar .nav .dropdown-menu.pull-right:after { left: auto; right: 13px; } .breadcrumb { padding: 7px 14px; margin: 0 0 18px; + list-style: none; background-color: #fbfbfb; background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5); background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5); @@ -2744,6 +3124,10 @@ button.btn.small, input[type="submit"].btn.small { } .breadcrumb li { display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; text-shadow: 0 1px 0 #ffffff; } .breadcrumb .divider { @@ -2783,14 +3167,17 @@ button.btn.small, input[type="submit"].btn.small { border: 1px solid #ddd; border-left-width: 0; } -.pagination a:hover, .pagination .active a { +.pagination a:hover, +.pagination .active a { background-color: #f5f5f5; } .pagination .active a { color: #999999; cursor: default; } -.pagination .disabled a, .pagination .disabled a:hover { +.pagination .disabled span, +.pagination .disabled a, +.pagination .disabled a:hover { color: #999999; background-color: transparent; cursor: default; @@ -2819,7 +3206,8 @@ button.btn.small, input[type="submit"].btn.small { text-align: center; *zoom: 1; } -.pager:before, .pager:after { +.pager:before, +.pager:after { display: table; content: ""; } @@ -2848,6 +3236,12 @@ button.btn.small, input[type="submit"].btn.small { .pager .previous a { float: left; } +.pager .disabled a, +.pager .disabled a:hover { + color: #999999; + background-color: #fff; + cursor: default; +} .modal-open .dropdown-menu { z-index: 2050; } @@ -2872,7 +3266,8 @@ button.btn.small, input[type="submit"].btn.small { .modal-backdrop.fade { opacity: 0; } -.modal-backdrop, .modal-backdrop.fade.in { +.modal-backdrop, +.modal-backdrop.fade.in { opacity: 0.8; filter: alpha(opacity=80); } @@ -2881,7 +3276,6 @@ button.btn.small, input[type="submit"].btn.small { top: 50%; left: 50%; z-index: 1050; - max-height: 500px; overflow: auto; width: 560px; margin: -250px 0 0 -280px; @@ -2920,14 +3314,17 @@ button.btn.small, input[type="submit"].btn.small { margin-top: 2px; } .modal-body { + overflow-y: auto; + max-height: 400px; padding: 15px; } -.modal-body .modal-form { +.modal-form { margin-bottom: 0; } .modal-footer { padding: 14px 15px 15px; margin-bottom: 0; + text-align: right; background-color: #f5f5f5; border-top: 1px solid #ddd; -webkit-border-radius: 0 0 6px 6px; @@ -2938,18 +3335,21 @@ button.btn.small, input[type="submit"].btn.small { box-shadow: inset 0 1px 0 #ffffff; *zoom: 1; } -.modal-footer:before, .modal-footer:after { +.modal-footer:before, +.modal-footer:after { display: table; content: ""; } .modal-footer:after { clear: both; } -.modal-footer .btn { - float: right; +.modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} .tooltip { position: absolute; z-index: 1020; @@ -3113,7 +3513,9 @@ button.btn.small, input[type="submit"].btn.small { -moz-background-clip: padding-box; background-clip: padding-box; } -.popover-content p, .popover-content ul, .popover-content ol { +.popover-content p, +.popover-content ul, +.popover-content ol { margin-bottom: 0; } .thumbnails { @@ -3121,7 +3523,8 @@ button.btn.small, input[type="submit"].btn.small { list-style: none; *zoom: 1; } -.thumbnails:before, .thumbnails:after { +.thumbnails:before, +.thumbnails:after { display: table; content: ""; } @@ -3160,10 +3563,13 @@ a.thumbnail:hover { padding: 9px; } .label { - padding: 2px 4px 3px; - font-size: 11.049999999999999px; + padding: 1px 4px 2px; + font-size: 10.998px; font-weight: bold; + line-height: 13px; color: #ffffff; + vertical-align: middle; + white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #999999; -webkit-border-radius: 3px; @@ -3198,6 +3604,58 @@ a.thumbnail:hover { .label-info:hover { background-color: #2d6987; } +.label-inverse { + background-color: #333333; +} +.label-inverse:hover { + background-color: #1a1a1a; +} +.badge { + padding: 1px 9px 2px; + font-size: 12.025px; + font-weight: bold; + white-space: nowrap; + color: #ffffff; + background-color: #999999; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} +.badge:hover { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.badge-error { + background-color: #b94a48; +} +.badge-error:hover { + background-color: #953b39; +} +.badge-warning { + background-color: #f89406; +} +.badge-warning:hover { + background-color: #c67605; +} +.badge-success { + background-color: #468847; +} +.badge-success:hover { + background-color: #356635; +} +.badge-info { + background-color: #3a87ad; +} +.badge-info:hover { + background-color: #2d6987; +} +.badge-inverse { + background-color: #333333; +} +.badge-inverse:hover { + background-color: #1a1a1a; +} @-webkit-keyframes progress-bar-stripes { from { background-position: 0 0; @@ -3214,6 +3672,14 @@ a.thumbnail:hover { background-position: 40px 0; } } +@-ms-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} @keyframes progress-bar-stripes { from { background-position: 0 0; @@ -3263,6 +3729,7 @@ a.thumbnail:hover { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width 0.6s ease; -moz-transition: width 0.6s ease; @@ -3271,7 +3738,7 @@ a.thumbnail:hover { transition: width 0.6s ease; } .progress-striped .bar { - background-color: #62c462; + background-color: #149bdf; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -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); @@ -3348,6 +3815,26 @@ a.thumbnail:hover { background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } +.progress-warning .bar { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -ms-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(top, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); +} +.progress-warning.progress-striped .bar { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + 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; } @@ -3392,13 +3879,16 @@ a.thumbnail:hover { display: block; line-height: 1; } -.carousel .active, .carousel .next, .carousel .prev { +.carousel .active, +.carousel .next, +.carousel .prev { display: block; } .carousel .active { left: 0; } -.carousel .next, .carousel .prev { +.carousel .next, +.carousel .prev { position: absolute; top: 0; width: 100%; @@ -3409,7 +3899,8 @@ a.thumbnail:hover { .carousel .prev { left: -100%; } -.carousel .next.left, .carousel .prev.right { +.carousel .next.left, +.carousel .prev.right { left: 0; } .carousel .active.left { @@ -3457,13 +3948,14 @@ a.thumbnail:hover { background: #333333; background: rgba(0, 0, 0, 0.75); } -.carousel-caption h4, .carousel-caption p { +.carousel-caption h4, +.carousel-caption p { color: #ffffff; } .hero-unit { padding: 60px; margin-bottom: 30px; - background-color: #f5f5f5; + background-color: #eeeeee; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; @@ -3472,12 +3964,14 @@ a.thumbnail:hover { margin-bottom: 0; font-size: 60px; line-height: 1; + color: inherit; letter-spacing: -1px; } .hero-unit p { font-size: 18px; font-weight: 200; line-height: 27px; + color: inherit; } .pull-right { float: right; diff --git a/assets/css/docs.css b/assets/css/docs.css index f6a388c2..cb7224e3 100644 --- a/assets/css/docs.css +++ b/assets/css/docs.css @@ -63,6 +63,7 @@ hr.soften { .jumbotron h1 { margin-bottom: 9px; font-size: 81px; + font-weight: bold; letter-spacing: -1px; line-height: 1; } @@ -79,6 +80,9 @@ hr.soften { -moz-border-radius: 6px; border-radius: 6px; } +.jumbotron .btn-large small { + font-size: 14px; +} /* Masthead (docs home) */ .masthead { @@ -208,14 +212,20 @@ hr.soften { /* Quick links -------------------------------------------------- */ +.bs-links { + margin: 36px 0; +} .quick-links { min-height: 30px; + margin: 0; padding: 5px 20px; - margin: 36px 0; list-style: none; text-align: center; overflow: hidden; } +.quick-links:first-child { + min-height: 0; +} .quick-links li { display: inline; margin: 0 5px; @@ -427,17 +437,17 @@ hr.soften { .download-btn { margin: 36px 0 108px; } -.download p, -.download h4 { +#download p, +#download h4 { max-width: 50%; margin: 0 auto; color: #999; text-align: center; } -.download h4 { +#download h4 { margin-bottom: 0; } -.download p { +#download p { margin-bottom: 18px; } .download-btn .btn { @@ -482,8 +492,7 @@ hr.soften { /* Misc -------------------------------------------------- */ - -.browser-support { +img { max-width: 100%; } @@ -558,6 +567,70 @@ form.well { background-color: #fff; } +/* Responsive table +------------------------- */ +.responsive-utilities th small { + display: block; + font-weight: normal; + color: #999; +} +.responsive-utilities tbody th { + font-weight: normal; +} +.responsive-utilities td { + text-align: center; +} +.responsive-utilities td.is-visible { + color: #468847; + background-color: #dff0d8 !important; +} +.responsive-utilities td.is-hidden { + color: #ccc; + background-color: #f9f9f9 !important; +} + +/* Responsive tests +------------------------- */ +.responsive-utilities-test { + margin-top: 5px; + margin-left: 0; + list-style: none; + overflow: hidden; /* clear floats */ +} +.responsive-utilities-test li { + position: relative; + float: left; + width: 25%; + height: 43px; + font-size: 14px; + font-weight: bold; + line-height: 43px; + color: #999; + text-align: center; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.responsive-utilities-test li + li { + margin-left: 10px; +} +.responsive-utilities-test span { + position: absolute; + top: -1px; + left: -1px; + right: -1px; + bottom: -1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.responsive-utilities-test span { + color: #468847; + background-color: #dff0d8; + border: 1px solid #d6e9c6; +} + /* Responsive Docs -------------------------------------------------- */ diff --git a/assets/ico/apple-touch-icon-114-precomposed.png b/assets/ico/apple-touch-icon-114-precomposed.png new file mode 100644 index 00000000..f1c93e6f Binary files /dev/null and b/assets/ico/apple-touch-icon-114-precomposed.png differ diff --git a/assets/ico/apple-touch-icon-57-precomposed.png b/assets/ico/apple-touch-icon-57-precomposed.png new file mode 100644 index 00000000..34b8dd6b Binary files /dev/null and b/assets/ico/apple-touch-icon-57-precomposed.png differ diff --git a/assets/ico/apple-touch-icon-72-precomposed.png b/assets/ico/apple-touch-icon-72-precomposed.png new file mode 100644 index 00000000..7ec5ff23 Binary files /dev/null and b/assets/ico/apple-touch-icon-72-precomposed.png differ diff --git a/assets/ico/favicon.ico b/assets/ico/favicon.ico index 3455c3fb..e1c310e4 100644 Binary files a/assets/ico/favicon.ico and b/assets/ico/favicon.ico differ diff --git a/assets/img/example-sites/fleetio.png b/assets/img/example-sites/fleetio.png index 8d975079..9207b0cb 100644 Binary files a/assets/img/example-sites/fleetio.png and b/assets/img/example-sites/fleetio.png differ diff --git a/assets/img/example-sites/kippt.png b/assets/img/example-sites/kippt.png index b2bb236d..a28a63d2 100644 Binary files a/assets/img/example-sites/kippt.png and b/assets/img/example-sites/kippt.png differ diff --git a/assets/img/example-sites/soundready.png b/assets/img/example-sites/soundready.png new file mode 100644 index 00000000..2675ff91 Binary files /dev/null and b/assets/img/example-sites/soundready.png differ diff --git a/assets/js/bootstrap-carousel.js b/assets/js/bootstrap-carousel.js index 810256e8..e0091a7d 100644 --- a/assets/js/bootstrap-carousel.js +++ b/assets/js/bootstrap-carousel.js @@ -29,6 +29,9 @@ this.$element = $(element) this.options = $.extend({}, $.fn.carousel.defaults, options) this.options.slide && this.slide(this.options.slide) + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) } Carousel.prototype = { @@ -83,14 +86,14 @@ , fallback = type == 'next' ? 'first' : 'last' , that = this - if (!$next.length) return - this.sliding = true isCycling && this.pause() $next = $next.length ? $next : this.$element.find('.item')[fallback]() + if ($next.hasClass('active')) return + if (!$.support.transition && this.$element.hasClass('slide')) { this.$element.trigger('slide') $active.removeClass('active') @@ -136,6 +139,7 @@ $.fn.carousel.defaults = { interval: 5000 + , pause: 'hover' } $.fn.carousel.Constructor = Carousel diff --git a/assets/js/bootstrap-collapse.js b/assets/js/bootstrap-collapse.js index d195efc7..2139d670 100644 --- a/assets/js/bootstrap-collapse.js +++ b/assets/js/bootstrap-collapse.js @@ -74,7 +74,9 @@ [dimension](size || 'auto') [0].offsetWidth - this.$element.addClass('collapse') + this.$element[size ? 'addClass' : 'removeClass']('collapse') + + return this } , transition: function ( method, startEvent, completeEvent ) { diff --git a/assets/js/bootstrap-tooltip.js b/assets/js/bootstrap-tooltip.js index d76e51e8..e7bfd09b 100644 --- a/assets/js/bootstrap-tooltip.js +++ b/assets/js/bootstrap-tooltip.js @@ -206,7 +206,7 @@ title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) - title = title.toString().replace(/(^\s*|\s*$)/, "") + title = (title || '').toString().replace(/(^\s*|\s*$)/, "") return title } diff --git a/assets/js/bootstrap-typeahead.js b/assets/js/bootstrap-typeahead.js index 50315595..99f84f79 100644 --- a/assets/js/bootstrap-typeahead.js +++ b/assets/js/bootstrap-typeahead.js @@ -40,6 +40,7 @@ , select: function () { var val = this.$menu.find('.active').attr('data-value') this.$element.val(val) + this.$element.change(); return this.hide() } @@ -165,9 +166,6 @@ } , keyup: function (e) { - e.stopPropagation() - e.preventDefault() - switch(e.keyCode) { case 40: // down arrow case 38: // up arrow @@ -180,6 +178,7 @@ break case 27: // escape + if (!this.shown) return this.hide() break @@ -187,10 +186,11 @@ this.lookup() } + e.stopPropagation() + e.preventDefault() } , keypress: function (e) { - e.stopPropagation() if (!this.shown) return switch(e.keyCode) { @@ -210,12 +210,12 @@ this.next() break } + + e.stopPropagation() } , blur: function (e) { var that = this - e.stopPropagation() - e.preventDefault() setTimeout(function () { that.hide() }, 150) } diff --git a/base-css.html b/base-css.html index fcb73a7a..6dcfca38 100644 --- a/base-css.html +++ b/base-css.html @@ -2,7 +2,7 @@ - Bootstrap, from Twitter + Base · Twitter Bootstrap @@ -20,9 +20,9 @@ - - - + + + @@ -166,7 +166,8 @@ Wraps abbreviations and acronyms to show the expanded version on hover - Include optional title for expanded text +

Include optional title attribute for expanded text

+ Use .initialism class for uppercase abbreviations. @@ -205,8 +206,9 @@

Example abbreviations

-

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.

-

HTML is the best thing since sliced bread.

+

Abbreviations with a title attribute have a light dotted bottom border and a help cursor on hover. This gives users extra indication something will be shown on hover.

+

Add the initialism class to an abbreviation to increase typographic harmony by giving it a slightly smaller text size.

+

HTML is the best thing since sliced bread.

An abbreviation of the word attribute is attr.

@@ -285,8 +287,8 @@

Lists

-
-

Unordered

+
+

Unordered

<ul>

  • Lorem ipsum dolor sit amet
  • @@ -306,8 +308,8 @@
  • Eget porttitor lorem
-
-

Unstyled

+
+

Unstyled

<ul class="unstyled">

  • Lorem ipsum dolor sit amet
  • @@ -327,8 +329,8 @@
  • Eget porttitor lorem
-
-

Ordered

+
+

Ordered

<ol>

  1. Lorem ipsum dolor sit amet
  2. @@ -341,8 +343,11 @@
  3. Eget porttitor lorem
-
-

Description

+
+
+
+
+

Description

<dl>

Description lists
@@ -354,6 +359,19 @@
Etiam porta sem malesuada magna mollis euismod.
+
+

Horizontal description

+

<dl class="dl-horizontal">

+
+
Description lists
+
A description list is perfect for defining terms.
+
Euismod
+
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
+
Donec id elit non mi porta gravida at eget metus.
+
Malesuada porta
+
Etiam porta sem malesuada magna mollis euismod.
+
+
@@ -417,6 +435,10 @@ For example, <code>section</code> should be wrapped as inline.
+ + + + @@ -569,7 +591,7 @@ For example, <code>section</code> should be wrapped as inline. - + @@ -577,19 +599,19 @@ For example, <code>section</code> should be wrapped as inline. - + - + - - - + + +
Tag# First Name Last NameLanguageUsername
1 Mark OttoCSS@mdo
2 Jacob ThorntonJavascript@fat
3StuDentHTMLLarrythe Bird@twitter
@@ -614,7 +636,7 @@ For example, <code>section</code> should be wrapped as inline. # First Name Last Name - Language + Username @@ -622,19 +644,19 @@ For example, <code>section</code> should be wrapped as inline. 1 Mark Otto - CSS + @mdo 2 Jacob Thornton - Javascript + @fat 3 - Stu - Dent - HTML + Larry + the Bird + @twitter @@ -658,31 +680,31 @@ For example, <code>section</code> should be wrapped as inline. # First Name Last Name - Language + Username - 1 - Mark Otto - CSS + 1 + Mark + Otto + @mdo + + + Mark + Otto + @TwBootstrap 2 Jacob Thornton - Javascript - - - 3 - Stu - Dent + @fat 3 - Brosef - Stalin - HTML + Larry the Bird + @twitter @@ -706,7 +728,7 @@ For example, <code>section</code> should be wrapped as inline. # First Name Last Name - Language + Username @@ -714,19 +736,18 @@ For example, <code>section</code> should be wrapped as inline. 1 Mark Otto - CSS + @mdo 2 Jacob Thornton - Javascript + @fat 3 - Stu - Dent - HTML + Larry the Bird + @twitter @@ -747,37 +768,36 @@ For example, <code>section</code> should be wrapped as inline.
+ + + + + - - - + + + + - + - + - - - - - - - - - + +
Full name
#First NameLast NameLanguageFirst NameLast NameUsername
1 Mark OttoCSS@mdo
2 Jacob ThorntonJavascript@fat
3StuDentHTML
4BrosefStalinHTMLLarry the Bird@twitter
@@ -862,6 +882,7 @@ For example, <code>section</code> should be wrapped as inline.
Associated help text! +

Example block-level help text here.

@@ -908,7 +929,7 @@ For example, <code>section</code> should be wrapped as inline.
@@ -916,7 +937,10 @@ For example, <code>section</code> should be wrapped as inline. <form class="well form-inline"> <input type="text" class="input-small" placeholder="Email"> <input type="password" class="input-small" placeholder="Password"> - <button type="submit" class="btn">Go</button> + <label class="checkbox"> + <input type="checkbox"> Remember me + </label> + <button type="submit" class="btn">Sign in</button> </form>
@@ -1163,8 +1187,7 @@ For example, <code>section</code> should be wrapped as inline.
- @ - + @

Here's some help text

@@ -1173,10 +1196,25 @@ For example, <code>section</code> should be wrapped as inline.
- - .00 + .00 +
+ Here's more help text +
+
+
+ +
+
+ $.00 +
+
+
+
+ +
+
+
-

Here's more help text

@@ -1260,44 +1298,44 @@ For example, <code>section</code> should be wrapped as inline. Button - Class + class="" Description - .btn + btn Standard gray button with gradient - .btn-primary + btn btn-primary Provides extra visual weight and identifies the primary action in a set of buttons - .btn-info + btn btn-info Used as an alternate to the default styles - .btn-success + btn btn-success Indicates a successful or positive action - .btn-warning + btn btn-warning Indicates caution should be taken with this action - .btn-danger + btn btn-danger Indicates a dangerous or potentially negative action - + - .btn-inverse + btn btn-inverse Alternate dark gray button, not tied to a semantic action or use @@ -1512,9 +1550,6 @@ For example, <code>section</code> should be wrapped as inline.
-
- Heads up! Icon classes are echoed via CSS :after. In the docs, we show a light red background color on hover to highlight the icon's size. -

@@ -1527,7 +1562,7 @@ For example, <code>section</code> should be wrapped as inline.

How to use

-

With v2.0.1, we have opted to use an <i> tag for all our icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:

+

Bootstrap uses an <i> tag for all icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:

 <i class="icon-search"></i>
 
@@ -1536,6 +1571,10 @@ For example, <code>section</code> should be wrapped as inline. <i class="icon-search icon-white"></i>

There are 120 classes to choose from for your icons. Just add an <i> tag with the right classes and you're set. You can find the full list in sprites.less or right here in this document.

+

+ Heads up! + When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <i> tag for proper spacing. +

Use cases

diff --git a/build/index.js b/build/index.js index 5321fa75..41347e9f 100644 --- a/build/index.js +++ b/build/index.js @@ -2,6 +2,7 @@ var hogan = require('hogan.js') , fs = require('fs') , prod = process.argv[2] == 'production' + , title = 'Twitter Bootstrap' var layout, pages @@ -23,6 +24,16 @@ pages.forEach(function (name) { context[name.replace(/\.mustache$/, '')] = 'active' context._i = true context.production = prod + context.title = name + .replace(/\.mustache/, '') + .replace(/\-.*/, '') + .replace(/(.)/, function ($1) { return $1.toUpperCase() }) + + if (context.title == 'Index') { + context.title = title + } else { + context.title += ' · ' + title + } page = hogan.compile(page, { sectionTags: [{o:'_i', c:'i'}] }) page = layout.render(context, { diff --git a/components.html b/components.html index 821eedc2..b83b5d70 100644 --- a/components.html +++ b/components.html @@ -2,7 +2,7 @@ - Bootstrap, from Twitter + Components · Twitter Bootstrap @@ -20,9 +20,9 @@ - - - + + + @@ -98,6 +98,7 @@
  • Labels
  • +
  • Badges
  • Typography
  • Thumbnails
  • Alerts
  • @@ -133,34 +134,34 @@

    Here's how the HTML looks for a standard button group built with anchor tag buttons:

    - Left - Middle - Right + + +
     <div class="btn-group">
    -  <a class="btn" href="#">1</a>
    -  <a class="btn" href="#">2</a>
    -  <a class="btn" href="#">3</a>
    +  <button class="btn">1</button>
    +  <button class="btn">2</button>
    +  <button class="btn">3</button>
     </div>
     

    Toolbar example

    Combine sets of <div class="btn-group"> into a <div class="btn-toolbar"> for more complex components.

    - 1 - 2 - 3 - 4 + + + +
    - 5 - 6 - 7 + + +
    - 8 +
    @@ -175,9 +176,8 @@
           

    Checkbox and radio flavors

    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 the Javascript docs for that.

    Get the javascript »

    -
    -

    Heads up

    -

    CSS for button groups is in a separate file, button-groups.less.

    +

    Dropdowns in button groups

    +

    Heads up! Buttons with dropdowns must be individually wrapped in their own .btn-group within a .btn-toolbar for proper rendering.

    @@ -188,16 +188,17 @@ ================================================== -->
    +

    Button dropdowns

    -

    Button dropdowns

    +

    Overview and examples

    Use any button to trigger a dropdown menu by placing it within a .btn-group and providing the proper menu markup.

    - Action +
    - Action +
    - Danger +
    - Success +
    + +
    +
    -
    -

    Heads up! Button dropdowns require the Bootstrap dropdown plugin to function.

    Example markup

    @@ -268,15 +287,60 @@
    -
    -

    Split button dropdowns

    +

    Works with all button sizes

    +

    Button dropdowns work at any size. your button sizes to .btn-large, .btn-small, or .btn-mini.

    +
    +
    + + +
    +
    + + +
    + +
    +
    +
    +

    Requires javascript

    +

    Button dropdowns require the Bootstrap dropdown plugin to function.

    +

    In some cases—like mobile—dropdown menus will extend outside the viewport. You need to resolve the alignment manually or with custom javascript.

    +
    +
    +
    + +

    Split button dropdowns

    +
    +
    +

    Overview and examples

    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.

    - Action - + +
    - Action - + +
    - Danger - + +
    - Success - + +
    - Info - + + + +
    +
    + +
    +
    + +
    +

    Sizes

    +

    Utilize the extra button classe .btn-mini, .btn-small, or .btn-large for sizing.

    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
    +
    +<div class="btn-group">
    +  ...
    +  <ul class="dropdown-menu pull-right">
    +    <!-- dropdown menu links -->
    +  </ul>
    +</div>
    +

    Example markup

    We expand on the normal button dropdowns to provide a second button action that operates as a separate dropdown trigger.

     <div class="btn-group">
    -  <a class="btn" href="#">Action</a>
    -  <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
    +  <button class="btn">Action</button>
    +  <button class="btn dropdown-toggle" data-toggle="dropdown">
         <span class="caret"></span>
    -  </a>
    +  </button>
       <ul class="dropdown-menu">
         <!-- dropdown menu links -->
       </ul>
     </div>
     
    +

    Dropup menus

    +

    Dropdown menus can also be toggled from the bottom up by adding a single class to the immediate parent of .dropdown-menu. It will flip the direction of the .caret and reposition the menu itself to move from the bottom up instead of top down.

    +
    + +
    + + + +
    +
    +
    +<div class="btn-group dropup">
    +  <button class="btn">Dropup</button>
    +  <button class="btn dropdown-toggle" data-toggle="dropdown">
    +    <span class="caret"></span>
    +  </button>
    +  <ul class="dropdown-menu">
    +    <!-- dropdown menu links -->
    +  </ul>
    +</div>
    +
    +
    @@ -453,7 +628,7 @@

    Tabs with dropdowns

     <ul class="nav nav-tabs">
    @@ -485,7 +670,7 @@
           

    Pills with dropdowns

     <ul class="nav nav-pills">
    @@ -521,8 +716,18 @@
           

    Application-style navigation

    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.

    Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.

    +

    With icons

    Nav lists are also easy to equip with icons. Add the proper <i> tag with class and you're set.

    +

    Horizontal dividers

    +

    Add a horizontal divider by creating an empty list item with the class .divider, like so:

    +
    +<ul class="nav nav-list">
    +  ...
    +  <li class="divider"></li>
    +  ...
    +</ul>
    +

    Example nav list

    @@ -536,6 +741,7 @@
  • Profile
  • Settings
  • +
  • Help
  • @@ -566,6 +772,7 @@
  • Profile
  • Settings
  • +
  • Help
  • @@ -754,7 +961,7 @@

    An example of a static (not fixed to the top) navbar with project name, navigation, and search form.

    @@ -237,10 +237,21 @@

    Tooltips in a modal

    This link and that link should have tooltips on hover.

    + +
    + +

    Overflowing text to show optional scrollbar

    +

    We set a fixed max-height on the .modal-body. Watch it overflow with all this extra lorem ipsum text we've included.

    +

    Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

    +

    Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

    +

    Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

    +

    Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

    +

    Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

    +

    Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

    Launch demo modal @@ -265,7 +276,7 @@ backdrop boolean true - Includes a modal-backdrop element + Includes a modal-backdrop element. Alternatively, specify static for a backdrop which doesn't close the modal on click. keyboard @@ -298,8 +309,8 @@ <p>One fine body…</p> </div> <div class="modal-footer"> - <a href="#" class="btn btn-primary">Save changes</a> <a href="#" class="btn">Close</a> + <a href="#" class="btn btn-primary">Save changes</a> </div> </div> @@ -464,7 +475,7 @@ $('#myModal').on('hidden', function () {
    -<ul class="nav pills">
    +<ul class="nav nav-pills">
       <li class="active"><a href="#">Regular link</a></li>
       <li class="dropdown" id="menu1">
         <a class="dropdown-toggle" data-toggle="dropdown" href="#menu1">
    @@ -780,13 +791,13 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
               

    $().tooltip(options)

    Attaches a tooltip handler to an element collection.

    .tooltip('show')

    -

    Reveals an elements tooltip.

    +

    Reveals an element's tooltip.

    $('#element').tooltip('show')

    .tooltip('hide')

    -

    Hides an elements tooltip.

    +

    Hides an element's tooltip.

    $('#element').tooltip('hide')

    .tooltip('toggle')

    -

    Toggles an elements tooltip.

    +

    Toggles an element's tooltip.

    $('#element').tooltip('toggle')
    @@ -1051,7 +1062,7 @@ $('#my-alert').bind('closed', function () {

    Methods

    $().button('toggle')

    -

    Toggles push state. Gives btn the look that it hass been activated.

    +

    Toggles push state. Gives the button the appearance that it has been activated.

    Heads up! You can enable auto toggling of a button by using the data-toggle attribute. @@ -1299,10 +1310,16 @@ $('#myCollapsible').on('hidden', function () { 5000 The amount of time to delay between automatically cycling an item. + + pause + string + "hover" + Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave. +

    Markup

    -

    Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.

    +

    Data attributes are used for the previous and next conrols. Check out the example markup below.

     <div id="myCarousel" class="carousel">
       <!-- Carousel items -->
    @@ -1320,7 +1337,7 @@ $('#myCollapsible').on('hidden', function () {
               

    .carousel(options)

    Initializes the carousel with an optional options object and starts cycling through items.

    -$('.myCarousel').carousel({
    +$('.carousel').carousel({
       interval: 2000
     })
     
    @@ -1335,7 +1352,7 @@ $('.myCarousel').carousel({

    .carousel('next')

    Cycles to the next item.

    Events

    -

    Bootstrap's modal class exposes a few events for hooking into modal functionality.

    +

    Bootstrap's carousel class exposes two events for hooking into carousel functionality.

    diff --git a/less.html b/less.html index 9f540dd0..69f52b19 100644 --- a/less.html +++ b/less.html @@ -2,7 +2,7 @@ - Bootstrap, from Twitter + Less · Twitter Bootstrap @@ -20,9 +20,9 @@ - - - + + + @@ -552,22 +552,17 @@ - + - - - + + + - - - - - - - - + + +
    .container-fixed() noneProvide a fixed-width (set with @siteWidth) container for holding your contentCreate a horizontally centered container for holding your content
    .columns()@columns: 1Build a grid column that spans any number of columns (defaults to 1 column)#grid > .core()@gridColumnWidth, @gridGutterWidthGenerate a pixel grid system (container, row, and columns) with n columns and x pixel wide gutter
    .offset()@columns: 1Offset a grid column with left margin that spans any number of columns
    .gridColumn()noneMake an element float like a grid column#grid > .fluid()@fluidGridColumnWidth, @fluidGridGutterWidthGenerate a precent grid system with n columns and x % wide gutter
    @@ -654,47 +649,47 @@ - .#translucent > .background() + #translucent > .background() @color: @white, @alpha: 1 Give an element a translucent background color - .#translucent > .border() + #translucent > .border() @color: @white, @alpha: 1 Give an element a translucent border color - .#gradient > .vertical() + #gradient > .vertical() @startColor, @endColor Create a cross-browser vertical background gradient - .#gradient > .horizontal() + #gradient > .horizontal() @startColor, @endColor Create a cross-browser horizontal background gradient - .#gradient > .directional() + #gradient > .directional() @startColor, @endColor, @deg Create a cross-browser directional background gradient - .#gradient > .vertical-three-colors() + #gradient > .vertical-three-colors() @startColor, @midColor, @colorStop, @endColor Create a cross-browser three-color background gradient - .#gradient > .radial() + #gradient > .radial() @innerColor, @outerColor Create a cross-browser radial background gradient - .#gradient > .striped() + #gradient > .striped() @color, @angle Create a cross-browser striped background gradient - .#gradientBar() + #gradientBar() @primaryColor, @secondaryColor Used for buttons to assign a gradient and slightly darker border @@ -717,8 +712,8 @@

    Node with makefile

    -

    Install the LESS command line compiler globally with npm by running the following command:

    -
    $ npm install -g less
    +

    Install the LESS command line compiler and uglify-js globally with npm by running the following command:

    +
    $ npm install -g less uglify-js

    Once installed just run make from the root of your bootstrap directory and you're all set.

    Additionally, if you have watchr installed, you may run make watch to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).

    diff --git a/scaffolding.html b/scaffolding.html index 68843746..3946e7c3 100644 --- a/scaffolding.html +++ b/scaffolding.html @@ -2,7 +2,7 @@ - Bootstrap, from Twitter + Scaffolding · Twitter Bootstrap @@ -20,9 +20,9 @@ - - - + + + @@ -81,6 +81,7 @@

    Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.

     <div class="row">
    @@ -141,11 +181,11 @@
       <div class="span8">...</div>
     </div>
     
    -
    +

    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.

    -
    -
    + +
    @@ -189,7 +229,7 @@ - +
     <div class="row">
    @@ -202,8 +242,8 @@
       </div>
     </div>
     
    -
    - + + @@ -251,11 +291,11 @@

    Percents, not pixels

    The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.

    -
    +

    Fluid rows

    Make any row fluid simply by changing .row to .row-fluid. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.

    -
    +

    Markup

    @@ -264,8 +304,8 @@
       <div class="span8">...</div>
     </div>
     
    -
    - + +

    Fluid nesting

    @@ -284,7 +324,7 @@
    - +
     <div class="row-fluid">
    @@ -297,8 +337,8 @@
       </div>
     </div>
     
    -
    - + + @@ -345,16 +385,16 @@

    Variables in LESS

    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.

    -
    +

    How to customize

    Modifying the grid means changing the three @grid* variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the four ways documented to recompile. If you're adding more columns, be sure to add the CSS for those in grid.less.

    -
    +

    Staying responsive

    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.

    -
    - + + @@ -381,7 +421,7 @@ </div> </body> - +

    Fluid layout

    <div class="container-fluid"> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.

    @@ -401,8 +441,8 @@ </div> </div> -
    - + + @@ -417,8 +457,16 @@
    - Responsive devices -
    +

    Responsive devices

    +

    What they do

    +

    Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width and max-width.

    + +

    Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.

    +

    Supported devices

    Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:

    @@ -438,13 +486,13 @@ Fluid columns, no fixed widths - Portrait tablets - 480px to 768px + Smartphones to tablets + 767px and below Fluid columns, no fixed widths - Landscape tablets - 768px to 979px + Portrait tablets + 768px and above 42px 20px @@ -456,7 +504,7 @@ Large display - 1210px and up + 1200px and up 70px 30px @@ -466,23 +514,15 @@

    Requires meta tag

    To ensure devices display responsive pages properly, include the viewport meta tag.

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    - -

    What they do

    -

    Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width and max-width.

    - -
    - + +

    Using the media queries

    -
    +

    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:

    1. Use the compiled responsive version, bootstrap-responsive.css
    2. @@ -490,8 +530,8 @@
    3. Modify and recompile responsive.less as a separate file

    Why not just include it? Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.

    -
    -
    +
    +
       // Landscape phones and down
       @media (max-width: 480px) { ... }
    @@ -505,8 +545,93 @@
       // Large desktop
       @media (min-width: 1200px) { .. }
     
    -
    -
    +
    + +
    + + +

    Responsive utility classes

    +
    +
    +

    What are they

    +

    For faster mobile-friendly development, use these basic utility classes for showing and hidding content by device.

    +

    When to use

    +

    Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.

    +

    For example, you might show a <select> element for nav on mobile layouts, but not on tablets or desktops.

    +
    +
    +

    Support classes

    +

    Shown here is a table of the classes we support and their effect on a given media query layout (labeled by device). They can be found in responsive.less.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ClassPhones 480px and belowTablets 767px and belowDesktops 768px and above
    .visible-phoneVisible
    .visible-tabletVisible
    .visible-desktopVisible
    .hidden-phoneVisibleVisible
    .hidden-tabletVisibleVisible
    .hidden-desktopVisibleVisible
    +

    Test case

    +

    Resize your browser or load on different devices to test the above clases.

    +

    Visible on...

    + +

    Hidden on...

    + +
    +
    + + +
    +
    +
    +
    diff --git a/templates/layout.mustache b/templates/layout.mustache index 832983e1..3434bdcb 100644 --- a/templates/layout.mustache +++ b/templates/layout.mustache @@ -2,7 +2,7 @@ - Bootstrap, from Twitter + {{title}} @@ -20,9 +20,9 @@ - - - + + + diff --git a/templates/pages/base-css.mustache b/templates/pages/base-css.mustache index 84d48fb1..9b2964d7 100644 --- a/templates/pages/base-css.mustache +++ b/templates/pages/base-css.mustache @@ -90,7 +90,8 @@ {{_i}}Wraps abbreviations and acronyms to show the expanded version on hover{{/i}} - {{_i}}Include optional title for expanded text{{/i}} +

    {{_i}}Include optional title attribute for expanded text{{/i}}

    + {{_i}}Use .initialism class for uppercase abbreviations.{{/i}} @@ -129,8 +130,9 @@

    {{_i}}Example abbreviations{{/i}}

    -

    {{_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}}

    -

    {{_i}}HTML is the best thing since sliced bread.{{/i}}

    +

    {{_i}}Abbreviations with a title attribute have a light dotted bottom border and a help cursor on hover. This gives users extra indication something will be shown on hover.{{/i}}

    +

    {{_i}}Add the initialism class to an abbreviation to increase typographic harmony by giving it a slightly smaller text size.{{/i}}

    +

    {{_i}}HTML is the best thing since sliced bread.{{/i}}

    {{_i}}An abbreviation of the word attribute is attr.{{/i}}

    @@ -209,8 +211,8 @@

    {{_i}}Lists{{/i}}

    -
    -

    {{_i}}Unordered{{/i}}

    +
    +

    {{_i}}Unordered{{/i}}

    <ul>

    • Lorem ipsum dolor sit amet
    • @@ -230,8 +232,8 @@
    • Eget porttitor lorem
    -
    -

    {{_i}}Unstyled{{/i}}

    +
    +

    {{_i}}Unstyled{{/i}}

    <ul class="unstyled">

    • Lorem ipsum dolor sit amet
    • @@ -251,8 +253,8 @@
    • Eget porttitor lorem
    -
    -

    {{_i}}Ordered{{/i}}

    +
    +

    {{_i}}Ordered{{/i}}

    <ol>

    1. Lorem ipsum dolor sit amet
    2. @@ -265,8 +267,11 @@
    3. Eget porttitor lorem
    -
    -

    {{_i}}Description{{/i}}

    +
    +
    +
    +
    +

    {{_i}}Description{{/i}}

    <dl>

    {{_i}}Description lists{{/i}}
    @@ -278,6 +283,19 @@
    Etiam porta sem malesuada magna mollis euismod.
    +
    +

    {{_i}}Horizontal description{{/i}}

    +

    <dl class="dl-horizontal">

    +
    +
    {{_i}}Description lists{{/i}}
    +
    {{_i}}A description list is perfect for defining terms.{{/i}}
    +
    Euismod
    +
    Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
    +
    Donec id elit non mi porta gravida at eget metus.
    +
    Malesuada porta
    +
    Etiam porta sem malesuada magna mollis euismod.
    +
    +
    @@ -341,6 +359,10 @@
    + + + + @@ -493,7 +515,7 @@ - + @@ -501,19 +523,19 @@ - + - + - - - + + +
    {{_i}}Tag{{/i}}# {{_i}}First Name{{/i}} {{_i}}Last Name{{/i}}{{_i}}Language{{/i}}{{_i}}Username{{/i}}
    1 Mark OttoCSS@mdo
    2 Jacob ThorntonJavascript@fat
    3StuDentHTMLLarrythe Bird@twitter
    @@ -538,7 +560,7 @@ # {{_i}}First Name{{/i}} {{_i}}Last Name{{/i}} - {{_i}}Language{{/i}} + {{_i}}Username{{/i}} @@ -546,19 +568,19 @@ 1 Mark Otto - CSS + @mdo 2 Jacob Thornton - Javascript + @fat 3 - Stu - Dent - HTML + Larry + the Bird + @twitter @@ -582,31 +604,31 @@ # {{_i}}First Name{{/i}} {{_i}}Last Name{{/i}} - {{_i}}Language{{/i}} + {{_i}}Username{{/i}} - 1 - Mark Otto - CSS + 1 + Mark + Otto + @mdo + + + Mark + Otto + @TwBootstrap 2 Jacob Thornton - Javascript - - - 3 - Stu - Dent + @fat 3 - Brosef - Stalin - HTML + Larry the Bird + @twitter @@ -630,7 +652,7 @@ # {{_i}}First Name{{/i}} {{_i}}Last Name{{/i}} - {{_i}}Language{{/i}} + {{_i}}Username{{/i}} @@ -638,19 +660,18 @@ 1 Mark Otto - CSS + @mdo 2 Jacob Thornton - Javascript + @fat 3 - Stu - Dent - HTML + Larry the Bird + @twitter @@ -671,37 +692,36 @@
    + + + + + - - - + + + + - + - + - - - - - - - - - + +
    {{_i}}Full name{{/i}}
    #{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Language{{/i}}{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
    1 Mark OttoCSS@mdo
    2 Jacob ThorntonJavascript@fat
    3StuDentHTML
    4BrosefStalinHTMLLarry the Bird@twitter
    @@ -786,6 +806,7 @@
    Associated help text! +

    {{_i}}Example block-level help text here.{{/i}}

    @@ -832,7 +853,7 @@
    @@ -840,7 +861,10 @@ <form class="well form-inline"> <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> + <label class="checkbox"> + <input type="checkbox"> {{_i}}Remember me{{/i}} + </label> + <button type="submit" class="btn">{{_i}}Sign in{{/i}}</button> </form>
    @@ -1087,8 +1111,7 @@
    - @ - + @

    {{_i}}Here's some help text{{/i}}

    @@ -1097,10 +1120,25 @@
    - - .00 + .00 +
    + {{_i}}Here's more help text{{/i}} +
    +
    +
    + +
    +
    + $.00 +
    +
    +
    +
    + +
    +
    +
    -

    {{_i}}Here's more help text{{/i}}

    @@ -1184,44 +1222,44 @@ {{_i}}Button{{/i}} - {{_i}}Class{{/i}} + {{_i}}class=""{{/i}} {{_i}}Description{{/i}} - .btn + btn {{_i}}Standard gray button with gradient{{/i}} - .btn-primary + btn btn-primary {{_i}}Provides extra visual weight and identifies the primary action in a set of buttons{{/i}} - .btn-info + btn btn-info {{_i}}Used as an alternate to the default styles{{/i}} - .btn-success + btn btn-success {{_i}}Indicates a successful or positive action{{/i}} - .btn-warning + btn btn-warning {{_i}}Indicates caution should be taken with this action{{/i}} - .btn-danger + btn btn-danger {{_i}}Indicates a dangerous or potentially negative action{{/i}} - + - .btn-inverse + btn btn-inverse {{_i}}Alternate dark gray button, not tied to a semantic action or use{{/i}} @@ -1436,9 +1474,6 @@
    -
    - {{_i}}Heads up! Icon classes are echoed via CSS :after. In the docs, we show a light red background color on hover to highlight the icon's size.{{/i}} -

    @@ -1451,7 +1486,7 @@

    {{_i}}How to use{{/i}}

    -

    {{_i}}With v2.0.1, we have opted to use an <i> tag for all our icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:{{/i}}

    +

    {{_i}}Bootstrap uses an <i> tag for all icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:{{/i}}

     <i class="icon-search"></i>
     
    @@ -1460,6 +1495,10 @@ <i class="icon-search icon-white"></i>

    {{_i}}There are 120 classes to choose from for your icons. Just add an <i> tag with the right classes and you're set. You can find the full list in sprites.less or right here in this document.{{/i}}

    +

    + {{_i}}Heads up!{{/i}} + {{_i}}When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <i> tag for proper spacing.{{/i}} +

    {{_i}}Use cases{{/i}}

    diff --git a/templates/pages/components.mustache b/templates/pages/components.mustache index 65c4d211..1a7f5b91 100644 --- a/templates/pages/components.mustache +++ b/templates/pages/components.mustache @@ -22,6 +22,7 @@
  • {{_i}}Labels{{/i}}
  • +
  • {{_i}}Badges{{/i}}
  • {{_i}}Typography{{/i}}
  • {{_i}}Thumbnails{{/i}}
  • {{_i}}Alerts{{/i}}
  • @@ -57,34 +58,34 @@

    {{_i}}Here's how the HTML looks for a standard button group built with anchor tag buttons:{{/i}}

    - {{_i}}Left{{/i}} - {{_i}}Middle{{/i}} - {{_i}}Right{{/i}} + + +
     <div class="btn-group">
    -  <a class="btn" href="#">1</a>
    -  <a class="btn" href="#">2</a>
    -  <a class="btn" href="#">3</a>
    +  <button class="btn">1</button>
    +  <button class="btn">2</button>
    +  <button class="btn">3</button>
     </div>
     

    {{_i}}Toolbar example{{/i}}

    {{_i}}Combine sets of <div class="btn-group"> into a <div class="btn-toolbar"> for more complex components.{{/i}}

    - 1 - 2 - 3 - 4 + + + +
    - 5 - 6 - 7 + + +
    - 8 +
    @@ -99,9 +100,8 @@
           

    {{_i}}Checkbox and radio flavors{{/i}}

    {{_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 the Javascript docs for that.{{/i}}

    {{_i}}Get the javascript »{{/i}}

    -
    -

    {{_i}}Heads up{{/i}}

    -

    {{_i}}CSS for button groups is in a separate file, button-groups.less.{{/i}}

    +

    {{_i}}Dropdowns in button groups{{/i}}

    +

    {{_i}}Heads up!{{/i}} {{_i}}Buttons with dropdowns must be individually wrapped in their own .btn-group within a .btn-toolbar for proper rendering.{{/i}}

    @@ -112,16 +112,17 @@ ================================================== -->
    +

    {{_i}}Button dropdowns{{/i}}

    -

    {{_i}}Button dropdowns{{/i}}

    +

    {{_i}}Overview and examples{{/i}}

    {{_i}}Use any button to trigger a dropdown menu by placing it within a .btn-group and providing the proper menu markup.{{/i}}

    - {{_i}}Action{{/i}} +
    - {{_i}}Action{{/i}} +
    - {{_i}}Danger{{/i}} +
    -
    -

    {{_i}}Heads up!{{/i}} {{_i}}Button dropdowns require the Bootstrap dropdown plugin to function.{{/i}}

    {{_i}}Example markup{{/i}}

    @@ -192,15 +211,60 @@
    -
    -

    {{_i}}Split button dropdowns{{/i}}

    +

    {{_i}}Works with all button sizes{{/i}}

    +

    {{_i}}Button dropdowns work at any size. your button sizes to .btn-large, .btn-small, or .btn-mini.{{/i}}

    + +
    +
    +

    {{_i}}Requires javascript{{/i}}

    +

    {{_i}}Button dropdowns require the Bootstrap dropdown plugin to function.{{/i}}

    +

    {{_i}}In some cases—like mobile—dropdown menus will extend outside the viewport. You need to resolve the alignment manually or with custom javascript.{{/i}}

    +
    +
    +
    + +

    {{_i}}Split button dropdowns{{/i}}

    +
    +
    +

    {{_i}}Overview and examples{{/i}}

    {{_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}}

    - {{_i}}Action{{/i}} - + +
    - {{_i}}Action{{/i}} - + +
    - {{_i}}Danger{{/i}} - + +
    - {{_i}}Success{{/i}} - + +
    +
    + +
    + +

    {{_i}}Sizes{{/i}}

    +

    {{_i}}Utilize the extra button classe .btn-mini, .btn-small, or .btn-large for sizing.{{/i}}

    + + + +
    +<div class="btn-group">
    +  ...
    +  <ul class="dropdown-menu pull-right">
    +    <!-- {{_i}}dropdown menu links{{/i}} -->
    +  </ul>
    +</div>
    +

    {{_i}}Example markup{{/i}}

    {{_i}}We expand on the normal button dropdowns to provide a second button action that operates as a separate dropdown trigger.{{/i}}

     <div class="btn-group">
    -  <a class="btn" href="#">{{_i}}Action{{/i}}</a>
    -  <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
    +  <button class="btn">{{_i}}Action{{/i}}</button>
    +  <button class="btn dropdown-toggle" data-toggle="dropdown">
         <span class="caret"></span>
    -  </a>
    +  </button>
       <ul class="dropdown-menu">
         <!-- {{_i}}dropdown menu links{{/i}} -->
       </ul>
     </div>
     
    +

    {{_i}}Dropup menus{{/i}}

    +

    {{_i}}Dropdown menus can also be toggled from the bottom up by adding a single class to the immediate parent of .dropdown-menu. It will flip the direction of the .caret and reposition the menu itself to move from the bottom up instead of top down.{{/i}}

    + +
    +<div class="btn-group dropup">
    +  <button class="btn">{{_i}}Dropup{{/i}}</button>
    +  <button class="btn dropdown-toggle" data-toggle="dropdown">
    +    <span class="caret"></span>
    +  </button>
    +  <ul class="dropdown-menu">
    +    <!-- {{_i}}dropdown menu links{{/i}} -->
    +  </ul>
    +</div>
    +
    +
    @@ -377,7 +552,7 @@

    {{_i}}Tabs with dropdowns{{/i}}

     <ul class="nav nav-tabs">
    @@ -409,7 +594,7 @@
           

    {{_i}}Pills with dropdowns{{/i}}

     <ul class="nav nav-pills">
    @@ -445,8 +640,18 @@
           

    {{_i}}Application-style navigation{{/i}}

    {{_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}}

    {{_i}}Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.{{/i}}

    +

    {{_i}}With icons{{/i}}

    {{_i}}Nav lists are also easy to equip with icons. Add the proper <i> tag with class and you're set.{{/i}}

    +

    {{_i}}Horizontal dividers{{/i}}

    +

    {{_i}}Add a horizontal divider by creating an empty list item with the class .divider, like so:{{/i}}

    +
    +<ul class="nav nav-list">
    +  ...
    +  <li class="divider"></li>
    +  ...
    +</ul>
    +

    {{_i}}Example nav list{{/i}}

    @@ -460,6 +665,7 @@
  • {{_i}}Profile{{/i}}
  • {{_i}}Settings{{/i}}
  • +
  • {{_i}}Help{{/i}}
  • @@ -490,6 +696,7 @@
  • {{_i}}Profile{{/i}}
  • {{_i}}Settings{{/i}}
  • +
  • {{_i}}Help{{/i}}
  • @@ -678,7 +885,7 @@

    {{_i}}An example of a static (not fixed to the top) navbar with project name, navigation, and search form.{{/i}}

    @@ -161,10 +161,21 @@

    {{_i}}Tooltips in a modal{{/i}}

    {{_i}}This link and that link should have tooltips on hover.{{/i}}

    + +
    + +

    {{_i}}Overflowing text to show optional scrollbar{{/i}}

    +

    {{_i}}We set a fixed max-height on the .modal-body. Watch it overflow with all this extra lorem ipsum text we've included.{{/i}}

    +

    Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

    +

    Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

    +

    Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

    +

    Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

    +

    Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

    +

    Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

    {{_i}}Launch demo modal{{/i}} @@ -189,7 +200,7 @@ {{_i}}backdrop{{/i}} {{_i}}boolean{{/i}} {{_i}}true{{/i}} - {{_i}}Includes a modal-backdrop element{{/i}} + {{_i}}Includes a modal-backdrop element. Alternatively, specify static for a backdrop which doesn't close the modal on click.{{/i}} {{_i}}keyboard{{/i}} @@ -222,8 +233,8 @@ <p>{{_i}}One fine body…{{/i}}</p> </div> <div class="modal-footer"> - <a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a> <a href="#" class="btn">{{_i}}Close{{/i}}</a> + <a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a> </div> </div> @@ -388,7 +399,7 @@ $('#myModal').on('hidden', function () {
    -<ul class="nav pills">
    +<ul class="nav nav-pills">
       <li class="active"><a href="#">Regular link</a></li>
       <li class="dropdown" id="menu1">
         <a class="dropdown-toggle" data-toggle="dropdown" href="#menu1">
    @@ -704,13 +715,13 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
               

    $().tooltip({{_i}}options{{/i}})

    {{_i}}Attaches a tooltip handler to an element collection.{{/i}}

    .tooltip('show')

    -

    {{_i}}Reveals an elements tooltip.{{/i}}

    +

    {{_i}}Reveals an element's tooltip.{{/i}}

    $('#element').tooltip('show')

    .tooltip('hide')

    -

    {{_i}}Hides an elements tooltip.{{/i}}

    +

    {{_i}}Hides an element's tooltip.{{/i}}

    $('#element').tooltip('hide')

    .tooltip('toggle')

    -

    {{_i}}Toggles an elements tooltip.{{/i}}

    +

    {{_i}}Toggles an element's tooltip.{{/i}}

    $('#element').tooltip('toggle')
    @@ -975,7 +986,7 @@ $('#my-alert').bind('closed', function () {

    {{_i}}Methods{{/i}}

    $().button('toggle')

    -

    {{_i}}Toggles push state. Gives btn the look that it hass been activated.{{/i}}

    +

    {{_i}}Toggles push state. Gives the button the appearance that it has been activated.{{/i}}

    {{_i}}Heads up!{{/i}} {{_i}}You can enable auto toggling of a button by using the data-toggle attribute.{{/i}} @@ -1223,10 +1234,16 @@ $('#myCollapsible').on('hidden', function () { 5000 {{_i}}The amount of time to delay between automatically cycling an item.{{/i}} + + {{_i}}pause{{/i}} + {{_i}}string{{/i}} + "hover" + {{_i}}Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.{{/i}} +

    {{_i}}Markup{{/i}}

    -

    {{_i}}Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.{{/i}}

    +

    {{_i}}Data attributes are used for the previous and next conrols. Check out the example markup below.{{/i}}

     <div id="myCarousel" class="carousel">
       <!-- {{_i}}Carousel items{{/i}} -->
    @@ -1244,7 +1261,7 @@ $('#myCollapsible').on('hidden', function () {
               

    .carousel({{_i}}options{{/i}})

    {{_i}}Initializes the carousel with an optional options object and starts cycling through items.{{/i}}

    -$('.myCarousel').carousel({
    +$('.carousel').carousel({
       interval: 2000
     })
     
    @@ -1259,7 +1276,7 @@ $('.myCarousel').carousel({

    .carousel('next')

    {{_i}}Cycles to the next item.{{/i}}

    {{_i}}Events{{/i}}

    -

    {{_i}}Bootstrap's modal class exposes a few events for hooking into modal functionality.{{/i}}

    +

    {{_i}}Bootstrap's carousel class exposes two events for hooking into carousel functionality.{{/i}}

    diff --git a/templates/pages/less.mustache b/templates/pages/less.mustache index 742b166d..23a4486a 100644 --- a/templates/pages/less.mustache +++ b/templates/pages/less.mustache @@ -476,22 +476,17 @@ - + - - - + + + - - - - - - - - + + +
    .container-fixed() none{{_i}}Provide a fixed-width (set with @siteWidth) container for holding your content{{/i}}{{_i}}Create a horizontally centered container for holding your content{{/i}}
    .columns()@columns: 1{{_i}}Build a grid column that spans any number of columns (defaults to 1 column){{/i}}#grid > .core()@gridColumnWidth, @gridGutterWidth{{_i}}Generate a pixel grid system (container, row, and columns) with n columns and x pixel wide gutter{{/i}}
    .offset()@columns: 1{{_i}}Offset a grid column with left margin that spans any number of columns{{/i}}
    .gridColumn()none{{_i}}Make an element float like a grid column{{/i}}#grid > .fluid()@fluidGridColumnWidth, @fluidGridGutterWidth{{_i}}Generate a precent grid system with n columns and x % wide gutter{{/i}}
    @@ -578,47 +573,47 @@ - .#translucent > .background() + #translucent > .background() @color: @white, @alpha: 1 {{_i}}Give an element a translucent background color{{/i}} - .#translucent > .border() + #translucent > .border() @color: @white, @alpha: 1 {{_i}}Give an element a translucent border color{{/i}} - .#gradient > .vertical() + #gradient > .vertical() @startColor, @endColor {{_i}}Create a cross-browser vertical background gradient{{/i}} - .#gradient > .horizontal() + #gradient > .horizontal() @startColor, @endColor {{_i}}Create a cross-browser horizontal background gradient{{/i}} - .#gradient > .directional() + #gradient > .directional() @startColor, @endColor, @deg {{_i}}Create a cross-browser directional background gradient{{/i}} - .#gradient > .vertical-three-colors() + #gradient > .vertical-three-colors() @startColor, @midColor, @colorStop, @endColor {{_i}}Create a cross-browser three-color background gradient{{/i}} - .#gradient > .radial() + #gradient > .radial() @innerColor, @outerColor {{_i}}Create a cross-browser radial background gradient{{/i}} - .#gradient > .striped() + #gradient > .striped() @color, @angle {{_i}}Create a cross-browser striped background gradient{{/i}} - .#gradientBar() + #gradientBar() @primaryColor, @secondaryColor {{_i}}Used for buttons to assign a gradient and slightly darker border{{/i}} @@ -641,8 +636,8 @@

    {{_i}}Node with makefile{{/i}}

    -

    {{_i}}Install the LESS command line compiler globally with npm by running the following command:{{/i}}

    -
    $ npm install -g less
    +

    {{_i}}Install the LESS command line compiler and uglify-js globally with npm by running the following command:{{/i}}

    +
    $ npm install -g less uglify-js

    {{_i}}Once installed just run make from the root of your bootstrap directory and you're all set.{{/i}}

    {{_i}}Additionally, if you have watchr installed, you may run make watch to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).{{/i}}

    diff --git a/templates/pages/scaffolding.mustache b/templates/pages/scaffolding.mustache index 281621b2..97131fdf 100644 --- a/templates/pages/scaffolding.mustache +++ b/templates/pages/scaffolding.mustache @@ -5,6 +5,7 @@

    {{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}

     <div class="row">
    @@ -65,11 +105,11 @@
       <div class="span8">...</div>
     </div>
     
    -
    +

    {{_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}}

    -
    -
    + +
    @@ -113,7 +153,7 @@ - +
     <div class="row">
    @@ -126,8 +166,8 @@
       </div>
     </div>
     
    -
    - + + @@ -175,11 +215,11 @@

    {{_i}}Percents, not pixels{{/i}}

    {{_i}}The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.{{/i}}

    -
    +

    {{_i}}Fluid rows{{/i}}

    {{_i}}Make any row fluid simply by changing .row to .row-fluid. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.{{/i}}

    -
    +

    {{_i}}Markup{{/i}}

    @@ -188,8 +228,8 @@
       <div class="span8">...</div>
     </div>
     
    -
    - + +

    {{_i}}Fluid nesting{{/i}}

    @@ -208,7 +248,7 @@
    - +
     <div class="row-fluid">
    @@ -221,8 +261,8 @@
       </div>
     </div>
     
    -
    - + + @@ -269,16 +309,16 @@

    {{_i}}Variables in LESS{{/i}}

    {{_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}}

    -
    +

    {{_i}}How to customize{{/i}}

    {{_i}}Modifying the grid means changing the three @grid* variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the four ways documented to recompile. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}

    -
    +

    {{_i}}Staying responsive{{/i}}

    {{_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}}

    -
    - + + @@ -305,7 +345,7 @@ </div> </body> - +

    {{_i}}Fluid layout{{/i}}

    {{_i}}<div class="container-fluid"> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.{{/i}}

    @@ -325,8 +365,8 @@ </div> </div> -
    - + + @@ -341,8 +381,16 @@
    - Responsive devices -
    +

    Responsive devices

    +

    {{_i}}What they do{{/i}}

    +

    {{_i}}Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width and max-width.{{/i}}

    + +

    {{_i}}Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.{{/i}}

    +

    {{_i}}Supported devices{{/i}}

    {{_i}}Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}

    @@ -362,13 +410,13 @@ {{_i}}Fluid columns, no fixed widths{{/i}} - {{_i}}Portrait tablets{{/i}} - 480px to 768px + {{_i}}Smartphones to tablets{{/i}} + 767px and below {{_i}}Fluid columns, no fixed widths{{/i}} - {{_i}}Landscape tablets{{/i}} - 768px to 979px + {{_i}}Portrait tablets{{/i}} + 768px and above 42px 20px @@ -380,7 +428,7 @@ {{_i}}Large display{{/i}} - 1210px and up + 1200px and up 70px 30px @@ -390,23 +438,15 @@

    {{_i}}Requires meta tag{{/i}}

    {{_i}}To ensure devices display responsive pages properly, include the viewport meta tag.{{/i}}

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    - -

    {{_i}}What they do{{/i}}

    -

    {{_i}}Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width and max-width.{{/i}}

    - -
    - + +

    {{_i}}Using the media queries{{/i}}

    -
    +

    {{_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}}

    1. {{_i}}Use the compiled responsive version, bootstrap-responsive.css{{/i}}
    2. @@ -414,8 +454,8 @@
    3. {{_i}}Modify and recompile responsive.less as a separate file{{/i}}

    {{_i}}Why not just include it? 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}}

    -
    -
    +
    +
       // {{_i}}Landscape phones and down{{/i}}
       @media (max-width: 480px) { ... }
    @@ -429,6 +469,91 @@
       // {{_i}}Large desktop{{/i}}
       @media (min-width: 1200px) { .. }
     
    -
    -
    +
    + +
    + + +

    {{_i}}Responsive utility classes{{/i}}

    +
    +
    +

    {{_i}}What are they{{/i}}

    +

    {{_i}}For faster mobile-friendly development, use these basic utility classes for showing and hidding content by device.{{/i}}

    +

    {{_i}}When to use{{/i}}

    +

    {{_i}}Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.{{/i}}

    +

    {{_i}}For example, you might show a <select> element for nav on mobile layouts, but not on tablets or desktops.{{/i}}

    +
    +
    +

    {{_i}}Support classes{{/i}}

    +

    {{_i}}Shown here is a table of the classes we support and their effect on a given media query layout (labeled by device). They can be found in responsive.less.{{/i}}

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {{_i}}Class{{/i}}{{_i}}Phones 480px and below{{/i}}{{_i}}Tablets 767px and below{{/i}}{{_i}}Desktops 768px and above{{/i}}
    .visible-phone{{_i}}Visible{{/i}}
    .visible-tablet{{_i}}Visible{{/i}}
    .visible-desktop{{_i}}Visible{{/i}}
    .hidden-phone{{_i}}Visible{{/i}}{{_i}}Visible{{/i}}
    .hidden-tablet{{_i}}Visible{{/i}}{{_i}}Visible{{/i}}
    .hidden-desktop{{_i}}Visible{{/i}}{{_i}}Visible{{/i}}
    +

    {{_i}}Test case{{/i}}

    +

    {{_i}}Resize your browser or load on different devices to test the above clases.{{/i}}

    +

    {{_i}}Visible on...{{/i}}

    + +

    {{_i}}Hidden on...{{/i}}

    + +
    +
    + + +
    +
    +
    +
    diff --git a/upgrading.html b/upgrading.html index a414eb75..7f6b52c8 100644 --- a/upgrading.html +++ b/upgrading.html @@ -2,7 +2,7 @@ - Bootstrap, from Twitter + Upgrading · Twitter Bootstrap @@ -20,9 +20,9 @@ - - - + + +