twitter-bootstrap-rails 2.1.3 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of twitter-bootstrap-rails might be problematic. Click here for more details.

Files changed (48) hide show
  1. data/README.md +6 -3
  2. data/app/helpers/bootstrap_flash_helper.rb +3 -1
  3. data/app/helpers/glyph_helper.rb +12 -0
  4. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +3 -3
  5. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +8 -12
  6. data/lib/generators/bootstrap/layout/templates/layout.html.erb +15 -17
  7. data/lib/generators/bootstrap/layout/templates/layout.html.haml +13 -14
  8. data/lib/generators/bootstrap/layout/templates/layout.html.slim +13 -14
  9. data/lib/generators/bootstrap/themed/themed_generator.rb +16 -5
  10. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  11. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  12. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +1 -1
  13. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +1 -1
  14. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +2 -2
  15. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +1 -1
  16. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +1 -1
  17. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +3 -3
  18. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +1 -1
  19. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +1 -1
  20. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +1 -1
  21. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +1 -1
  22. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +1 -1
  23. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +1 -1
  24. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +2 -2
  25. data/vendor/toolkit/font-awesome-ie7.less +245 -0
  26. data/vendor/toolkit/fontawesome.less +12 -29
  27. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +1 -1
  28. data/vendor/toolkit/twitter/bootstrap/button-groups.less +3 -2
  29. data/vendor/toolkit/twitter/bootstrap/buttons.less +24 -4
  30. data/vendor/toolkit/twitter/bootstrap/component-animations.less +0 -1
  31. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +2 -2
  32. data/vendor/toolkit/twitter/bootstrap/forms.less +30 -15
  33. data/vendor/toolkit/twitter/bootstrap/mixins.less +21 -11
  34. data/vendor/toolkit/twitter/bootstrap/modals.less +3 -2
  35. data/vendor/toolkit/twitter/bootstrap/navbar.less +22 -16
  36. data/vendor/toolkit/twitter/bootstrap/pager.less +6 -3
  37. data/vendor/toolkit/twitter/bootstrap/pagination.less +17 -17
  38. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +1 -1
  39. data/vendor/toolkit/twitter/bootstrap/reset.less +5 -2
  40. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +27 -20
  41. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +12 -1
  42. data/vendor/toolkit/twitter/bootstrap/responsive.less +1 -1
  43. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +5 -4
  44. data/vendor/toolkit/twitter/bootstrap/sprites.less +11 -5
  45. data/vendor/toolkit/twitter/bootstrap/tables.less +26 -6
  46. data/vendor/toolkit/twitter/bootstrap/type.less +18 -3
  47. data/vendor/toolkit/twitter/bootstrap/variables.less +10 -8
  48. metadata +15 -13
@@ -23,37 +23,20 @@
23
23
  */
24
24
 
25
25
  @font-face {
26
- font-family: 'FontAwesome';
27
- src: url(@fontAwesomeEotPath);
28
- src: url('@{fontAwesomeEotPath}?#iefix'),
29
- url(@fontAwesomeWoffPath),
30
- url(@fontAwesomeTtfPath),
31
- url('@{fontAwesomeSvgPath}#FontAwesome');
26
+ font-family: "FontAwesome";
27
+ src: url("@{fontAwesomeEotPath}");
28
+ src: url("@{fontAwesomeEotPath}#iefix") format("embedded-opentype"),
29
+ url("@{fontAwesomeWoffPath}") format("woff"),
30
+ url("@{fontAwesomeTtfPath}") format("truetype"),
31
+ url("@{fontAwesomeSvgPath}") format("svg");
32
32
  font-weight: normal;
33
33
  font-style: normal;
34
34
  }
35
35
 
36
- /* sprites.less reset */
37
- [class^="icon-"],
38
- [class*=" icon-"] {
39
- display: inline;
40
- width: auto;
41
- height: auto;
42
- line-height: inherit;
43
- vertical-align: baseline;
44
- background-image: none;
45
- background-position: 0% 0%;
46
- background-repeat: repeat;
47
- }
48
- li[class^="icon-"],
49
- li[class*=" icon-"] {
50
- display: block;
51
- }
52
-
53
36
  /* Font Awesome styles
54
37
  ------------------------------------------------------- */
55
38
  [class^="icon-"]:before,
56
- [class*=" icon-"]:before {
39
+ [class*="icon-"]:before {
57
40
  font-family: FontAwesome;
58
41
  font-weight: normal;
59
42
  font-style: normal;
@@ -62,7 +45,7 @@ li[class*=" icon-"] {
62
45
  }
63
46
 
64
47
  a [class^="icon-"],
65
- a [class*=" icon-"] {
48
+ a [class*="icon-"] {
66
49
  display: inline-block;
67
50
  text-decoration: inherit;
68
51
  }
@@ -75,7 +58,7 @@ a [class*=" icon-"] {
75
58
 
76
59
  .btn, .nav-tabs {
77
60
  [class^="icon-"],
78
- [class*=" icon-"] {
61
+ [class*="icon-"] {
79
62
  /* keeps button heights with and without icons the same */
80
63
  line-height: .9em;
81
64
  }
@@ -83,7 +66,7 @@ a [class*=" icon-"] {
83
66
 
84
67
  li {
85
68
  [class^="icon-"],
86
- [class*=" icon-"] {
69
+ [class*="icon-"] {
87
70
  display: inline-block;
88
71
  width: 1.25em;
89
72
  text-align: center;
@@ -102,7 +85,7 @@ ul.icons {
102
85
 
103
86
  li {
104
87
  [class^="icon-"],
105
- [class*=" icon-"] {
88
+ [class*="icon-"] {
106
89
  width: .8em;
107
90
  }
108
91
  .icon-large:before,
@@ -148,7 +131,7 @@ ul.icons {
148
131
  .icon-play-circle:before { content: "\f01d"; }
149
132
  .icon-repeat:before { content: "\f01e"; }
150
133
 
151
- /* \f020 is not a valid unicode character. all shifted one down */
134
+ /* \f020 doesn't work in Safari. all shifted one down */
152
135
  .icon-refresh:before { content: "\f021"; }
153
136
  .icon-list-alt:before { content: "\f022"; }
154
137
  .icon-lock:before { content: "\f023"; }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v2.1.0
2
+ * Bootstrap v2.1.1
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -7,6 +7,7 @@
7
7
  .btn-group {
8
8
  position: relative;
9
9
  font-size: 0; // remove as part 1 of font-size inline-block hack
10
+ vertical-align: middle; // match .btn alignment given font-size hack above
10
11
  white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
11
12
  .ie7-restore-left-whitespace();
12
13
  }
@@ -119,7 +120,7 @@
119
120
  .btn-group > .btn + .dropdown-toggle {
120
121
  padding-left: 8px;
121
122
  padding-right: 8px;
122
- .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
123
+ .box-shadow(inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
123
124
  *padding-top: 5px;
124
125
  *padding-bottom: 5px;
125
126
  }
@@ -146,7 +147,7 @@
146
147
  // Remove the gradient and set the same inset shadow as the :active state
147
148
  .dropdown-toggle {
148
149
  background-image: none;
149
- .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
150
+ .box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
150
151
  }
151
152
 
152
153
  // Keep the hover's background when dropdown is open
@@ -24,7 +24,7 @@
24
24
  border-bottom-color: darken(@btnBorder, 10%);
25
25
  .border-radius(4px);
26
26
  .ie7-restore-left-whitespace(); // Give IE7 some love
27
- .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
27
+ .box-shadow(inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
28
28
 
29
29
  // Hover state
30
30
  &:hover {
@@ -51,7 +51,7 @@
51
51
  background-color: darken(@white, 15%) e("\9");
52
52
  background-image: none;
53
53
  outline: 0;
54
- .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
54
+ .box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
55
55
  }
56
56
 
57
57
  // Disabled state
@@ -96,10 +96,13 @@
96
96
  .btn-mini {
97
97
  padding: 2px 6px;
98
98
  font-size: @baseFontSize - 3px;
99
- line-height: @baseLineHeight - 4px;
99
+ line-height: @baseLineHeight - 3px;
100
100
  }
101
101
 
102
+
102
103
  // Block button
104
+ // -------------------------
105
+
103
106
  .btn-block {
104
107
  display: block;
105
108
  width: 100%;
@@ -107,10 +110,22 @@
107
110
  padding-right: 0;
108
111
  .box-sizing(border-box);
109
112
  }
113
+
114
+ // Vertically space out multiple block buttons
110
115
  .btn-block + .btn-block {
111
116
  margin-top: 5px;
112
117
  }
113
118
 
119
+ // Specificity overrides
120
+ input[type="submit"],
121
+ input[type="reset"],
122
+ input[type="button"] {
123
+ &.btn-block {
124
+ width: 100%;
125
+ }
126
+ }
127
+
128
+
114
129
 
115
130
  // Alternate buttons
116
131
  // --------------------------------------------------
@@ -193,7 +208,8 @@ input[type="submit"].btn {
193
208
 
194
209
  // Make a button look and behave like a link
195
210
  .btn-link,
196
- .btn-link:active {
211
+ .btn-link:active,
212
+ .btn-link[disabled] {
197
213
  background-color: transparent;
198
214
  background-image: none;
199
215
  .box-shadow(none);
@@ -209,3 +225,7 @@ input[type="submit"].btn {
209
225
  text-decoration: underline;
210
226
  background-color: transparent;
211
227
  }
228
+ .btn-link[disabled]:hover {
229
+ color: @grayDark;
230
+ text-decoration: none;
231
+ }
@@ -15,7 +15,6 @@
15
15
  position: relative;
16
16
  height: 0;
17
17
  overflow: hidden;
18
- overflow: visible \9;
19
18
  .transition(height .35s ease);
20
19
  &.in {
21
20
  height: auto;
@@ -148,7 +148,7 @@
148
148
  .caret {
149
149
  border-top: 0;
150
150
  border-bottom: 4px solid @black;
151
- content: "\2191";
151
+ content: "";
152
152
  }
153
153
  // Different positioning for bottom up menu
154
154
  .dropdown-menu {
@@ -172,7 +172,7 @@
172
172
  -moz-border-radius: 0 6px 6px 6px;
173
173
  border-radius: 0 6px 6px 6px;
174
174
  }
175
- .dropdown-submenu:hover .dropdown-menu {
175
+ .dropdown-submenu:hover > .dropdown-menu {
176
176
  display: block;
177
177
  }
178
178
 
@@ -91,8 +91,9 @@ input[type="color"],
91
91
  // Reset appearance properties for textual inputs and textarea
92
92
  // Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
93
93
  input,
94
- textarea {
95
- width: 210px;
94
+ textarea,
95
+ .uneditable-input {
96
+ width: 206px; // plus 12px padding and 2px border
96
97
  }
97
98
  // Reset height since textareas have rows
98
99
  textarea {
@@ -125,7 +126,7 @@ input[type="color"],
125
126
  border-color: rgba(82,168,236,.8);
126
127
  outline: 0;
127
128
  outline: thin dotted \9; /* IE6-9 */
128
- .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
129
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6));
129
130
  }
130
131
  }
131
132
 
@@ -161,7 +162,7 @@ input[type="file"] {
161
162
  // Make select elements obey height by applying a border
162
163
  select {
163
164
  width: 220px; // default input width + 10px of padding that doesn't get applied
164
- border: 1px solid #bbb;
165
+ border: 1px solid @inputBorder;
165
166
  background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
166
167
  }
167
168
 
@@ -209,7 +210,7 @@ input[type="checkbox"]:focus {
209
210
  // Placeholder
210
211
  // -------------------------
211
212
 
212
- // Placeholder text gets special styles; can't be bundled together though for some reason
213
+ // Placeholder text gets special styles because when browsers invalidate entire lines if it doesn’t understand a selector
213
214
  input,
214
215
  textarea {
215
216
  .placeholder();
@@ -349,6 +350,10 @@ input[type="checkbox"][readonly] {
349
350
  .control-group.success {
350
351
  .formFieldState(@successText, @successText, @successBackground);
351
352
  }
353
+ // Success
354
+ .control-group.info {
355
+ .formFieldState(@infoText, @infoText, @infoBackground);
356
+ }
352
357
 
353
358
  // HTML5 invalid states
354
359
  // Shares styles with the .control-group.error above
@@ -441,7 +446,6 @@ select:focus:required:invalid {
441
446
  }
442
447
  .add-on,
443
448
  .btn {
444
- margin-left: -1px;
445
449
  vertical-align: top;
446
450
  .border-radius(0);
447
451
  }
@@ -466,6 +470,10 @@ select:focus:required:invalid {
466
470
  .uneditable-input {
467
471
  .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
468
472
  }
473
+ .add-on,
474
+ .btn {
475
+ margin-left: -1px;
476
+ }
469
477
  .add-on:last-child,
470
478
  .btn:last-child {
471
479
  .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
@@ -510,16 +518,16 @@ input.search-query {
510
518
  .border-radius(0); // Override due to specificity
511
519
  }
512
520
  .form-search .input-append .search-query {
513
- .border-radius(14px 0 0 14px)
521
+ .border-radius(14px 0 0 14px);
514
522
  }
515
523
  .form-search .input-append .btn {
516
- .border-radius(0 14px 14px 0)
524
+ .border-radius(0 14px 14px 0);
517
525
  }
518
526
  .form-search .input-prepend .search-query {
519
- .border-radius(0 14px 14px 0)
527
+ .border-radius(0 14px 14px 0);
520
528
  }
521
529
  .form-search .input-prepend .btn {
522
- .border-radius(14px 0 0 14px)
530
+ .border-radius(14px 0 0 14px);
523
531
  }
524
532
 
525
533
 
@@ -607,7 +615,7 @@ legend + .control-group {
607
615
  // Float the labels left
608
616
  .control-label {
609
617
  float: left;
610
- width: 140px;
618
+ width: @horizontalComponentOffset - 20;
611
619
  padding-top: 5px;
612
620
  text-align: right;
613
621
  }
@@ -617,19 +625,26 @@ legend + .control-group {
617
625
  // don't inherit the margin of the parent, in this case .controls
618
626
  *display: inline-block;
619
627
  *padding-left: 20px;
620
- margin-left: 160px;
628
+ margin-left: @horizontalComponentOffset;
621
629
  *margin-left: 0;
622
630
  &:first-child {
623
- *padding-left: 160px;
631
+ *padding-left: @horizontalComponentOffset;
624
632
  }
625
633
  }
626
634
  // Remove bottom margin on block level help text since that's accounted for on .control-group
627
635
  .help-block {
628
- margin-top: @baseLineHeight / 2;
629
636
  margin-bottom: 0;
630
637
  }
638
+ // And apply it only to .help-block instances that follow a form control
639
+ input,
640
+ select,
641
+ textarea {
642
+ + .help-block {
643
+ margin-top: @baseLineHeight / 2;
644
+ }
645
+ }
631
646
  // Move over buttons in .form-actions to align with .controls
632
647
  .form-actions {
633
- padding-left: 160px;
648
+ padding-left: @horizontalComponentOffset;
634
649
  }
635
650
  }
@@ -175,14 +175,15 @@
175
175
  select,
176
176
  textarea {
177
177
  color: @textColor;
178
+ }
179
+ input,
180
+ select,
181
+ textarea {
178
182
  border-color: @borderColor;
179
183
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
180
184
  &:focus {
181
185
  border-color: darken(@borderColor, 10%);
182
- // Write out in full since the lighten() function isn't easily escaped
183
- -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
184
- -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
185
- box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
186
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%));
186
187
  }
187
188
  }
188
189
  // Give a small background color for input-prepend/-append
@@ -247,10 +248,12 @@
247
248
  }
248
249
 
249
250
  // Drop shadows
250
- .box-shadow(@shadow) {
251
- -webkit-box-shadow: @shadow;
252
- -moz-box-shadow: @shadow;
253
- box-shadow: @shadow;
251
+ .box-shadow(@shadowA, @shadowB:X, ...){
252
+ // Multiple shadow solution from http://toekneestuck.com/blog/2012/05/15/less-css-arguments-variable/
253
+ @props: ~`"@{arguments}".replace(/[\[\]]|\,\sX/g, '')`;
254
+ -webkit-box-shadow: @props;
255
+ -moz-box-shadow: @props;
256
+ box-shadow: @props;
254
257
  }
255
258
 
256
259
  // Transitions
@@ -260,6 +263,12 @@
260
263
  -o-transition: @transition;
261
264
  transition: @transition;
262
265
  }
266
+ .transition-delay(@transition-delay) {
267
+ -webkit-transition-delay: @transition-delay;
268
+ -moz-transition-delay: @transition-delay;
269
+ -o-transition-delay: @transition-delay;
270
+ transition-delay: @transition-delay;
271
+ }
263
272
 
264
273
  // Transformations
265
274
  .rotate(@degrees) {
@@ -286,7 +295,7 @@
286
295
  .skew(@x, @y) {
287
296
  -webkit-transform: skew(@x, @y);
288
297
  -moz-transform: skew(@x, @y);
289
- -ms-transform: skew(@x, @y);
298
+ -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885
290
299
  -o-transform: skew(@x, @y);
291
300
  transform: skew(@x, @y);
292
301
  }
@@ -432,7 +441,7 @@
432
441
  background-color: mix(@midColor, @endColor, 80%);
433
442
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
434
443
  background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
435
- background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop*100%, @endColor);
444
+ background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
436
445
  background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
437
446
  background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
438
447
  background-repeat: no-repeat;
@@ -446,7 +455,7 @@
446
455
  background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
447
456
  background-repeat: no-repeat;
448
457
  }
449
- .striped(@color, @angle: 45deg) {
458
+ .striped(@color: #555, @angle: 45deg) {
450
459
  background-color: @color;
451
460
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
452
461
  background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
@@ -575,6 +584,7 @@
575
584
 
576
585
  [class*="span"] {
577
586
  float: left;
587
+ min-height: 1px; // prevent collapsing columns
578
588
  margin-left: @gridGutterWidth;
579
589
  }
580
590
 
@@ -3,8 +3,9 @@
3
3
  // --------------------------------------------------
4
4
 
5
5
 
6
- // Recalculate z-index where appropriate
7
- .modal-open {
6
+ // Recalculate z-index where appropriate,
7
+ // but only apply to elements within modal
8
+ .modal-open .modal {
8
9
  .dropdown-menu { z-index: @zindexDropdown + @zindexModal; }
9
10
  .dropdown.open { *z-index: @zindexDropdown + @zindexModal; }
10
11
  .popover { z-index: @zindexPopover + @zindexModal; }
@@ -27,6 +27,9 @@
27
27
  border: 1px solid @navbarBorder;
28
28
  .border-radius(4px);
29
29
  .box-shadow(0 1px 4px rgba(0,0,0,.065));
30
+
31
+ // Prevent floats from breaking the navbar
32
+ .clearfix();
30
33
  }
31
34
 
32
35
  // Set width to auto for default container
@@ -87,13 +90,16 @@
87
90
  // -------------------------
88
91
  .navbar .btn,
89
92
  .navbar .btn-group {
90
- .navbarVerticalAlign(28px); // Vertically center in navbar
93
+ .navbarVerticalAlign(30px); // Vertically center in navbar
91
94
  }
92
- .navbar .btn-group .btn {
93
- margin: 0; // then undo the margin here so we don't accidentally double it
95
+ .navbar .btn-group .btn,
96
+ .navbar .input-prepend .btn,
97
+ .navbar .input-append .btn {
98
+ margin-top: 0; // then undo the margin here so we don't accidentally double it
94
99
  }
95
100
 
96
101
  // Navbar forms
102
+ // -------------------------
97
103
  .navbar-form {
98
104
  margin-bottom: 0; // remove default bottom margin
99
105
  .clearfix();
@@ -125,6 +131,7 @@
125
131
  }
126
132
 
127
133
  // Navbar search
134
+ // -------------------------
128
135
  .navbar-search {
129
136
  position: relative;
130
137
  float: left;
@@ -166,12 +173,12 @@
166
173
  z-index: @zindexFixedNavbar;
167
174
  margin-bottom: 0; // remove 18px margin for default navbar
168
175
  }
169
- .navbar-fixed-top,
170
- .navbar-fixed-bottom,
171
- .navbar-static-top {
172
- .navbar-inner {
173
- border: 0;
174
- }
176
+ .navbar-fixed-top .navbar-inner,
177
+ .navbar-static-top .navbar-inner {
178
+ border-width: 0 0 1px;
179
+ }
180
+ .navbar-fixed-bottom .navbar-inner {
181
+ border-width: 1px 0 0;
175
182
  }
176
183
  .navbar-fixed-top .navbar-inner,
177
184
  .navbar-fixed-bottom .navbar-inner {
@@ -195,7 +202,7 @@
195
202
  .navbar-fixed-top,
196
203
  .navbar-static-top {
197
204
  .navbar-inner {
198
- .box-shadow(~"inset 0 -1px 0 rgba(0,0,0,.1), 0 1px 10px rgba(0,0,0,.1)");
205
+ .box-shadow(inset 0 -1px 0 rgba(0,0,0,.1), 0 1px 10px rgba(0,0,0,.1));
199
206
  }
200
207
  }
201
208
 
@@ -203,7 +210,7 @@
203
210
  .navbar-fixed-bottom {
204
211
  bottom: 0;
205
212
  .navbar-inner {
206
- .box-shadow(~"inset 0 1px 0 rgba(0,0,0,.1), 0 -1px 10px rgba(0,0,0,.1)");
213
+ .box-shadow(inset 0 1px 0 rgba(0,0,0,.1), 0 -1px 10px rgba(0,0,0,.1));
207
214
  }
208
215
  }
209
216
 
@@ -221,6 +228,7 @@
221
228
  }
222
229
  .navbar .nav.pull-right {
223
230
  float: right; // redeclare due to specificity
231
+ margin-right: 0; // remove margin on float right nav
224
232
  }
225
233
  .navbar .nav > li {
226
234
  float: left;
@@ -254,9 +262,7 @@
254
262
  color: @navbarLinkColorActive;
255
263
  text-decoration: none;
256
264
  background-color: @navbarLinkBackgroundActive;
257
- -webkit-box-shadow: inset 0 3px 8px rgba(0,0,0,.125);
258
- -moz-box-shadow: inset 0 3px 8px rgba(0,0,0,.125);
259
- box-shadow: inset 0 3px 8px rgba(0,0,0,.125);
265
+ .box-shadow(inset 0 3px 8px rgba(0,0,0,.125));
260
266
  }
261
267
 
262
268
  // Navbar button for toggling navbar items in responsive layouts
@@ -268,7 +274,7 @@
268
274
  margin-left: 5px;
269
275
  margin-right: 5px;
270
276
  .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
271
- .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
277
+ .box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075));
272
278
  }
273
279
  .navbar .btn-navbar .icon-bar {
274
280
  display: block;
@@ -440,7 +446,7 @@
440
446
  color: @white;
441
447
  background-color: @navbarInverseSearchBackground;
442
448
  border-color: @navbarInverseSearchBorder;
443
- .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
449
+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15));
444
450
  .transition(none);
445
451
  .placeholder(@navbarInverseSearchPlaceholderColor);
446
452