bootstrap-sass 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (44) hide show
  1. data/README.md +26 -10
  2. data/lib/bootstrap-sass.rb +24 -13
  3. data/lib/bootstrap-sass/{compass_extensions.rb → compass_functions.rb} +0 -0
  4. data/lib/bootstrap-sass/engine.rb +0 -2
  5. data/lib/bootstrap-sass/{config/sass_extentions.rb → rails_functions.rb} +0 -0
  6. data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
  7. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  8. data/vendor/assets/javascripts/bootstrap-alert.js +28 -32
  9. data/vendor/assets/javascripts/bootstrap-button.js +29 -33
  10. data/vendor/assets/javascripts/bootstrap-carousel.js +27 -19
  11. data/vendor/assets/javascripts/bootstrap-collapse.js +45 -26
  12. data/vendor/assets/javascripts/bootstrap-dropdown.js +18 -10
  13. data/vendor/assets/javascripts/bootstrap-modal.js +25 -17
  14. data/vendor/assets/javascripts/bootstrap-popover.js +13 -10
  15. data/vendor/assets/javascripts/bootstrap-scrollspy.js +43 -17
  16. data/vendor/assets/javascripts/bootstrap-tab.js +12 -7
  17. data/vendor/assets/javascripts/bootstrap-tooltip.js +40 -35
  18. data/vendor/assets/javascripts/bootstrap-transition.js +30 -20
  19. data/vendor/assets/javascripts/bootstrap-typeahead.js +24 -10
  20. data/vendor/assets/stylesheets/_bootstrap-responsive.scss +100 -68
  21. data/vendor/assets/stylesheets/_bootstrap.scss +11 -2
  22. data/vendor/assets/stylesheets/bootstrap/_accordion.scss +5 -0
  23. data/vendor/assets/stylesheets/bootstrap/_button-groups.scss +51 -31
  24. data/vendor/assets/stylesheets/bootstrap/_buttons.scss +15 -11
  25. data/vendor/assets/stylesheets/bootstrap/_close.scss +12 -1
  26. data/vendor/assets/stylesheets/bootstrap/_code.scss +4 -4
  27. data/vendor/assets/stylesheets/bootstrap/_component-animations.scss +4 -4
  28. data/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +16 -22
  29. data/vendor/assets/stylesheets/bootstrap/_forms.scss +58 -37
  30. data/vendor/assets/stylesheets/bootstrap/_labels-badges.scss +50 -0
  31. data/vendor/assets/stylesheets/bootstrap/_layouts.scss +1 -1
  32. data/vendor/assets/stylesheets/bootstrap/_mixins.scss +99 -73
  33. data/vendor/assets/stylesheets/bootstrap/_navbar.scss +61 -40
  34. data/vendor/assets/stylesheets/bootstrap/_navs.scss +27 -26
  35. data/vendor/assets/stylesheets/bootstrap/_progress-bars.scss +15 -6
  36. data/vendor/assets/stylesheets/bootstrap/_reset.scss +3 -3
  37. data/vendor/assets/stylesheets/bootstrap/_sprites.scss +25 -5
  38. data/vendor/assets/stylesheets/bootstrap/_tables.scss +17 -6
  39. data/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +14 -0
  40. data/vendor/assets/stylesheets/bootstrap/_type.scss +7 -6
  41. data/vendor/assets/stylesheets/bootstrap/_variables.scss +52 -9
  42. metadata +10 -22
  43. data/vendor/assets/stylesheets/bootstrap/_badges.scss +0 -36
  44. data/vendor/assets/stylesheets/bootstrap/_labels.scss +0 -38
@@ -1,5 +1,5 @@
1
1
  /* ========================================================
2
- * bootstrap-tab.js v2.0.2
2
+ * bootstrap-tab.js v2.0.3
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
4
4
  * ========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -18,9 +18,10 @@
18
18
  * ======================================================== */
19
19
 
20
20
 
21
- !function( $ ){
21
+ !function ($) {
22
+
23
+ "use strict"; // jshint ;_;
22
24
 
23
- "use strict"
24
25
 
25
26
  /* TAB CLASS DEFINITION
26
27
  * ==================== */
@@ -39,6 +40,7 @@
39
40
  , selector = $this.attr('data-target')
40
41
  , previous
41
42
  , $target
43
+ , e
42
44
 
43
45
  if (!selector) {
44
46
  selector = $this.attr('href')
@@ -49,11 +51,14 @@
49
51
 
50
52
  previous = $ul.find('.active a').last()[0]
51
53
 
52
- $this.trigger({
53
- type: 'show'
54
- , relatedTarget: previous
54
+ e = $.Event('show', {
55
+ relatedTarget: previous
55
56
  })
56
57
 
58
+ $this.trigger(e)
59
+
60
+ if (e.isDefaultPrevented()) return
61
+
57
62
  $target = $(selector)
58
63
 
59
64
  this.activate($this.parent('li'), $ul)
@@ -127,4 +132,4 @@
127
132
  })
128
133
  })
129
134
 
130
- }( window.jQuery );
135
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-tooltip.js v2.0.2
2
+ * bootstrap-tooltip.js v2.0.3
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
5
  * ===========================================================
@@ -18,14 +18,16 @@
18
18
  * limitations under the License.
19
19
  * ========================================================== */
20
20
 
21
- !function( $ ) {
22
21
 
23
- "use strict"
22
+ !function ($) {
23
+
24
+ "use strict"; // jshint ;_;
25
+
24
26
 
25
27
  /* TOOLTIP PUBLIC CLASS DEFINITION
26
28
  * =============================== */
27
29
 
28
- var Tooltip = function ( element, options ) {
30
+ var Tooltip = function (element, options) {
29
31
  this.init('tooltip', element, options)
30
32
  }
31
33
 
@@ -33,7 +35,7 @@
33
35
 
34
36
  constructor: Tooltip
35
37
 
36
- , init: function ( type, element, options ) {
38
+ , init: function (type, element, options) {
37
39
  var eventIn
38
40
  , eventOut
39
41
 
@@ -54,7 +56,7 @@
54
56
  this.fixTitle()
55
57
  }
56
58
 
57
- , getOptions: function ( options ) {
59
+ , getOptions: function (options) {
58
60
  options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
59
61
 
60
62
  if (options.delay && typeof options.delay == 'number') {
@@ -67,34 +69,28 @@
67
69
  return options
68
70
  }
69
71
 
70
- , enter: function ( e ) {
72
+ , enter: function (e) {
71
73
  var self = $(e.currentTarget)[this.type](this._options).data(this.type)
72
74
 
73
- if (!self.options.delay || !self.options.delay.show) {
74
- self.show()
75
- } else {
76
- self.hoverState = 'in'
77
- setTimeout(function() {
78
- if (self.hoverState == 'in') {
79
- self.show()
80
- }
81
- }, self.options.delay.show)
82
- }
75
+ if (!self.options.delay || !self.options.delay.show) return self.show()
76
+
77
+ clearTimeout(this.timeout)
78
+ self.hoverState = 'in'
79
+ this.timeout = setTimeout(function() {
80
+ if (self.hoverState == 'in') self.show()
81
+ }, self.options.delay.show)
83
82
  }
84
83
 
85
- , leave: function ( e ) {
84
+ , leave: function (e) {
86
85
  var self = $(e.currentTarget)[this.type](this._options).data(this.type)
87
86
 
88
- if (!self.options.delay || !self.options.delay.hide) {
89
- self.hide()
90
- } else {
91
- self.hoverState = 'out'
92
- setTimeout(function() {
93
- if (self.hoverState == 'out') {
94
- self.hide()
95
- }
96
- }, self.options.delay.hide)
97
- }
87
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
88
+
89
+ clearTimeout(this.timeout)
90
+ self.hoverState = 'out'
91
+ this.timeout = setTimeout(function() {
92
+ if (self.hoverState == 'out') self.hide()
93
+ }, self.options.delay.hide)
98
94
  }
99
95
 
100
96
  , show: function () {
@@ -152,9 +148,20 @@
152
148
  }
153
149
  }
154
150
 
151
+ , isHTML: function(text) {
152
+ // html string detection logic adapted from jQuery
153
+ return typeof text != 'string'
154
+ || ( text.charAt(0) === "<"
155
+ && text.charAt( text.length - 1 ) === ">"
156
+ && text.length >= 3
157
+ ) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text)
158
+ }
159
+
155
160
  , setContent: function () {
156
161
  var $tip = this.tip()
157
- $tip.find('.tooltip-inner').html(this.getTitle())
162
+ , title = this.getTitle()
163
+
164
+ $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
158
165
  $tip.removeClass('fade in top bottom left right')
159
166
  }
160
167
 
@@ -206,8 +213,6 @@
206
213
  title = $e.attr('data-original-title')
207
214
  || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
208
215
 
209
- title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
210
-
211
216
  return title
212
217
  }
213
218
 
@@ -259,12 +264,12 @@
259
264
 
260
265
  $.fn.tooltip.defaults = {
261
266
  animation: true
262
- , delay: 0
263
- , selector: false
264
267
  , placement: 'top'
268
+ , selector: false
269
+ , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
265
270
  , trigger: 'hover'
266
271
  , title: ''
267
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
272
+ , delay: 0
268
273
  }
269
274
 
270
- }( window.jQuery );
275
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===================================================
2
- * bootstrap-transition.js v2.0.2
2
+ * bootstrap-transition.js v2.0.3
3
3
  * http://twitter.github.com/bootstrap/javascript.html#transitions
4
4
  * ===================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -17,35 +17,45 @@
17
17
  * limitations under the License.
18
18
  * ========================================================== */
19
19
 
20
- !function( $ ) {
20
+
21
+ !function ($) {
21
22
 
22
23
  $(function () {
23
24
 
24
- "use strict"
25
+ "use strict"; // jshint ;_;
26
+
25
27
 
26
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
28
+ /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
27
29
  * ======================================================= */
28
30
 
29
31
  $.support.transition = (function () {
30
- var thisBody = document.body || document.documentElement
31
- , thisStyle = thisBody.style
32
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
33
-
34
- return support && {
35
- end: (function () {
36
- var transitionEnd = "TransitionEnd"
37
- if ( $.browser.webkit ) {
38
- transitionEnd = "webkitTransitionEnd"
39
- } else if ( $.browser.mozilla ) {
40
- transitionEnd = "transitionend"
41
- } else if ( $.browser.opera ) {
42
- transitionEnd = "oTransitionEnd"
32
+
33
+ var transitionEnd = (function () {
34
+
35
+ var el = document.createElement('bootstrap')
36
+ , transEndEventNames = {
37
+ 'WebkitTransition' : 'webkitTransitionEnd'
38
+ , 'MozTransition' : 'transitionend'
39
+ , 'OTransition' : 'oTransitionEnd'
40
+ , 'msTransition' : 'MSTransitionEnd'
41
+ , 'transition' : 'transitionend'
42
+ }
43
+ , name
44
+
45
+ for (name in transEndEventNames){
46
+ if (el.style[name] !== undefined) {
47
+ return transEndEventNames[name]
43
48
  }
44
- return transitionEnd
45
- }())
49
+ }
50
+
51
+ }())
52
+
53
+ return transitionEnd && {
54
+ end: transitionEnd
46
55
  }
56
+
47
57
  })()
48
58
 
49
59
  })
50
60
 
51
- }( window.jQuery );
61
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-typeahead.js v2.0.2
2
+ * bootstrap-typeahead.js v2.0.3
3
3
  * http://twitter.github.com/bootstrap/javascript.html#typeahead
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -17,16 +17,22 @@
17
17
  * limitations under the License.
18
18
  * ============================================================ */
19
19
 
20
- !function( $ ){
21
20
 
22
- "use strict"
21
+ !function($){
23
22
 
24
- var Typeahead = function ( element, options ) {
23
+ "use strict"; // jshint ;_;
24
+
25
+
26
+ /* TYPEAHEAD PUBLIC CLASS DEFINITION
27
+ * ================================= */
28
+
29
+ var Typeahead = function (element, options) {
25
30
  this.$element = $(element)
26
31
  this.options = $.extend({}, $.fn.typeahead.defaults, options)
27
32
  this.matcher = this.options.matcher || this.matcher
28
33
  this.sorter = this.options.sorter || this.sorter
29
34
  this.highlighter = this.options.highlighter || this.highlighter
35
+ this.updater = this.options.updater || this.updater
30
36
  this.$menu = $(this.options.menu).appendTo('body')
31
37
  this.source = this.options.source
32
38
  this.shown = false
@@ -39,11 +45,16 @@
39
45
 
40
46
  , select: function () {
41
47
  var val = this.$menu.find('.active').attr('data-value')
42
- this.$element.val(val)
43
- this.$element.change();
48
+ this.$element
49
+ .val(this.updater(val))
50
+ .change()
44
51
  return this.hide()
45
52
  }
46
53
 
54
+ , updater: function (item) {
55
+ return item
56
+ }
57
+
47
58
  , show: function () {
48
59
  var pos = $.extend({}, this.$element.offset(), {
49
60
  height: this.$element[0].offsetHeight
@@ -77,7 +88,7 @@
77
88
  }
78
89
 
79
90
  items = $.grep(this.source, function (item) {
80
- if (that.matcher(item)) return item
91
+ return that.matcher(item)
81
92
  })
82
93
 
83
94
  items = this.sorter(items)
@@ -109,7 +120,8 @@
109
120
  }
110
121
 
111
122
  , highlighter: function (item) {
112
- return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
123
+ var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
124
+ return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
113
125
  return '<strong>' + match + '</strong>'
114
126
  })
115
127
  }
@@ -201,11 +213,13 @@
201
213
  break
202
214
 
203
215
  case 38: // up arrow
216
+ if (e.type != 'keydown') break
204
217
  e.preventDefault()
205
218
  this.prev()
206
219
  break
207
220
 
208
221
  case 40: // down arrow
222
+ if (e.type != 'keydown') break
209
223
  e.preventDefault()
210
224
  this.next()
211
225
  break
@@ -236,7 +250,7 @@
236
250
  /* TYPEAHEAD PLUGIN DEFINITION
237
251
  * =========================== */
238
252
 
239
- $.fn.typeahead = function ( option ) {
253
+ $.fn.typeahead = function (option) {
240
254
  return this.each(function () {
241
255
  var $this = $(this)
242
256
  , data = $this.data('typeahead')
@@ -268,4 +282,4 @@
268
282
  })
269
283
  })
270
284
 
271
- }( window.jQuery );
285
+ }(window.jQuery);
@@ -22,34 +22,35 @@
22
22
  }
23
23
 
24
24
  // Visibility utilities
25
+
25
26
  // For desktops
26
- .visible-phone { display: none; }
27
- .visible-tablet { display: none; }
28
- .visible-desktop { display: block; }
29
- .hidden-phone { display: block; }
30
- .hidden-tablet { display: block; }
31
- .hidden-desktop { display: none; }
27
+ .visible-phone { display: none !important; }
28
+ .visible-tablet { display: none !important; }
29
+ .visible-desktop { } // Don't set initially
30
+ .hidden-phone { }
31
+ .hidden-tablet { }
32
+ .hidden-desktop { display: none !important; }
32
33
 
33
34
  // Phones only
34
- @media (max-width: 767px) {
35
+ @media (max-width : 767px) {
35
36
  // Show
36
- .visible-phone { display: block; }
37
+ .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior
37
38
  // Hide
38
- .hidden-phone { display: none; }
39
+ .hidden-phone { display: none !important; }
39
40
  // Hide everything else
40
- .hidden-desktop { display: block; }
41
- .visible-desktop { display: none; }
41
+ .hidden-desktop { display: inherit !important; }
42
+ .visible-desktop { display: none !important; }
42
43
  }
43
44
 
44
45
  // Tablets & small desktops only
45
46
  @media (min-width: 768px) and (max-width: 979px) {
46
47
  // Show
47
- .visible-tablet { display: block; }
48
+ .visible-tablet { display: inherit !important; }
48
49
  // Hide
49
- .hidden-tablet { display: none; }
50
+ .hidden-tablet { display: none !important; }
50
51
  // Hide everything else
51
- .hidden-desktop { display: block; }
52
- .visible-desktop { display: none; }
52
+ .hidden-desktop { display: inherit !important; }
53
+ .visible-desktop { display: none !important ; }
53
54
  }
54
55
 
55
56
  // UP TO LANDSCAPE PHONE
@@ -121,17 +122,37 @@
121
122
  // LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
122
123
  // --------------------------------------------------
123
124
 
124
- @media (max-width: 767px) {
125
+ @media (max-width: 768px) {
125
126
 
126
127
  // Padding to set content in a bit
127
128
  body {
128
129
  padding-left: 20px;
129
130
  padding-right: 20px;
130
131
  }
131
- .navbar-fixed-top {
132
+ // Negative indent the now static "fixed" navbar
133
+ .navbar-fixed-top, .navbar-fixed-bottom {
132
134
  margin-left: -20px;
133
135
  margin-right: -20px;
134
136
  }
137
+ // Remove padding on container given explicit padding set on body
138
+ .container-fluid {
139
+ padding: 0;
140
+ }
141
+
142
+ // TYPOGRAPHY
143
+ // ----------
144
+ // Reset horizontal dl
145
+ .dl-horizontal {
146
+ dt {
147
+ float: none;
148
+ clear: none;
149
+ width: auto;
150
+ text-align: left;
151
+ }
152
+ dd {
153
+ margin-left: 0;
154
+ }
155
+ }
135
156
 
136
157
  // GRID & CONTAINERS
137
158
  // -----------------
@@ -143,32 +164,27 @@
143
164
  .row-fluid {
144
165
  width: 100%;
145
166
  }
146
- // Undo negative margin on rows
147
- .row {
167
+ // Undo negative margin on rows and thumbnails
168
+ .row, .thumbnails {
148
169
  margin-left: 0;
149
170
  }
150
- // Make all columns even
151
- .row > [class*="span"], .row-fluid > [class*="span"] {
171
+ // Make all grid-sized elements block level again
172
+ [class*="span"], .row-fluid [class*="span"] {
152
173
  float: none;
153
174
  display: block;
154
175
  width: auto;
155
- margin: 0;
156
- }
157
-
158
- // THUMBNAILS
159
- // ----------
160
- .thumbnails [class*="span"] {
161
- width: auto;
176
+ margin-left: 0;
162
177
  }
163
178
 
164
179
  // FORM FIELDS
165
180
  // -----------
166
181
  // Make span* classes full width
167
- input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input {
182
+ .input-large, .input-xlarge, .input-xxlarge, input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input {
168
183
  @include input-block-level();
169
184
  }
170
185
  // But don't let it screw up prepend/append inputs
171
- .input-prepend input[class*="span"], .input-append input[class*="span"] {
186
+ .input-prepend input, .input-append input, .input-prepend input[class*="span"], .input-append input[class*="span"] {
187
+ display: inline-block; // redeclare so they don't wrap to new lines
172
188
  width: auto;
173
189
  }
174
190
  }
@@ -181,13 +197,15 @@
181
197
  @media (min-width: 768px) and (max-width: 979px) {
182
198
 
183
199
  // Fixed grid
184
- @include gridCore(42px, 20px);
200
+ @include gridCore($gridColumnWidthTablet, $gridGutterWidthTablet);
185
201
 
186
202
  // Fluid grid
187
- @include gridFluid(5.801104972%, 2.762430939%);
203
+ @include gridFluid($fluidGridColumnWidthTablet, $fluidGridGutterWidthTablet);
188
204
 
189
205
  // Input grid
190
- @include gridInput(42px, 20px);
206
+ @include gridInput($gridColumnWidthTablet, $gridGutterWidthTablet);
207
+
208
+ // No need to reset .thumbnails here since it's the same $gridGutterWidth
191
209
 
192
210
  }
193
211
 
@@ -221,43 +239,57 @@
221
239
  padding-right: 10px;
222
240
  margin: 0 0 0 -5px;
223
241
  }
242
+
243
+ // COLLAPSIBLE NAVBAR
244
+ // ------------------
224
245
  // Nav collapse clears brand
225
- .navbar .nav-collapse {
226
- clear: left;
246
+ .nav-collapse {
247
+ clear: both;
227
248
  }
228
249
  // Block-level the nav
229
- .navbar .nav {
250
+ .nav-collapse .nav {
230
251
  float: none;
231
252
  margin: 0 0 ($baseLineHeight / 2);
232
253
  }
233
- .navbar .nav > li {
254
+ .nav-collapse .nav > li {
234
255
  float: none;
235
256
  }
236
- .navbar .nav > li > a {
257
+ .nav-collapse .nav > li > a {
237
258
  margin-bottom: 2px;
238
259
  }
239
- .navbar .nav > .divider-vertical {
260
+ .nav-collapse .nav > .divider-vertical {
240
261
  display: none;
241
262
  }
242
- .navbar .nav .nav-header {
263
+ .nav-collapse .nav .nav-header {
243
264
  color: $navbarText;
244
265
  text-shadow: none;
245
266
  }
246
267
  // Nav and dropdown links in navbar
247
- .navbar .nav > li > a, .navbar .dropdown-menu a {
268
+ .nav-collapse .nav > li > a, .nav-collapse .dropdown-menu a {
248
269
  padding: 6px 15px;
249
270
  font-weight: bold;
250
271
  color: $navbarLinkColor;
251
272
  @include border-radius(3px);
252
273
  }
253
- .navbar .dropdown-menu li + li a {
274
+ // Buttons
275
+ .nav-collapse .btn {
276
+ padding: 4px 10px 4px;
277
+ font-weight: normal;
278
+ @include border-radius(4px);
279
+ }
280
+ .nav-collapse .dropdown-menu li + li a {
254
281
  margin-bottom: 2px;
255
282
  }
256
- .navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover {
283
+ .nav-collapse .nav > li > a:hover, .nav-collapse .dropdown-menu a:hover {
257
284
  background-color: $navbarBackground;
258
285
  }
286
+ // Buttons in the navbar
287
+ .nav-collapse.in .btn-group {
288
+ margin-top: 5px;
289
+ padding: 0;
290
+ }
259
291
  // Dropdowns in the navbar
260
- .navbar .dropdown-menu {
292
+ .nav-collapse .dropdown-menu {
261
293
  position: static;
262
294
  top: auto;
263
295
  left: auto;
@@ -271,49 +303,49 @@
271
303
  @include border-radius(0);
272
304
  @include box-shadow(none);
273
305
  }
274
- .navbar .dropdown-menu:before, .navbar .dropdown-menu:after {
306
+ .nav-collapse .dropdown-menu:before, .nav-collapse .dropdown-menu:after {
275
307
  display: none;
276
308
  }
277
- .navbar .dropdown-menu .divider {
309
+ .nav-collapse .dropdown-menu .divider {
278
310
  display: none;
279
311
  }
280
312
  // Forms in navbar
281
- .navbar-form, .navbar-search {
313
+ .nav-collapse .navbar-form, .nav-collapse .navbar-search {
282
314
  float: none;
283
315
  padding: ($baseLineHeight / 2) 15px;
284
316
  margin: ($baseLineHeight / 2) 0;
285
317
  border-top: 1px solid $navbarBackground;
286
318
  border-bottom: 1px solid $navbarBackground;
287
- $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
288
- @include box-shadow($shadow);
319
+ @include box-shadow(#{inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)});
289
320
  }
290
321
  // Pull right (secondary) nav content
291
- .navbar .nav.pull-right {
322
+ .navbar .nav-collapse .nav.pull-right {
292
323
  float: none;
293
324
  margin-left: 0;
294
325
  }
295
- // Static navbar
296
- .navbar-static .navbar-inner {
297
- padding-left: 10px;
298
- padding-right: 10px;
326
+ // Hide everything in the navbar save .brand and toggle button */
327
+ .nav-collapse, .nav-collapse.collapse {
328
+ overflow: hidden;
329
+ height: 0;
299
330
  }
300
331
  // Navbar button
301
- .btn-navbar {
332
+ .navbar .btn-navbar {
302
333
  display: block;
303
334
  }
304
335
 
305
- // Hide everything in the navbar save .brand and toggle button
306
- .nav-collapse {
307
- overflow: hidden;
308
- height: 0;
336
+ // STATIC NAVBAR
337
+ // -------------
338
+ .navbar-static .navbar-inner {
339
+ padding-left: 10px;
340
+ padding-right: 10px;
309
341
  }
310
342
  }
311
343
 
312
344
 
313
-
314
345
  // DEFAULT DESKTOP
315
346
  // ---------------
316
347
 
348
+ // Required to make the collapsing navbar work on regular desktops
317
349
  @media (min-width: 980px) {
318
350
  .nav-collapse.collapse {
319
351
  height: auto !important;
@@ -321,28 +353,28 @@
321
353
  }
322
354
  }
323
355
 
324
-
325
-
326
356
  // LARGE DESKTOP & UP
327
357
  // ------------------
328
358
 
329
359
  @media (min-width: 1200px) {
330
360
 
331
361
  // Fixed grid
332
- @include gridCore(70px, 30px);
362
+ @include gridCore($gridColumnWidthLarge, $gridGutterWidthLarge);
333
363
 
334
364
  // Fluid grid
335
- @include gridFluid(5.982905983%, 2.564102564%);
365
+ @include gridFluid($fluidGridColumnWidthLarge, $fluidGridGutterWidthLarge);
336
366
 
337
367
  // Input grid
338
- @include gridInput(70px, 30px);
368
+ @include gridInput($gridColumnWidthLarge, $gridGutterWidthLarge);
339
369
 
340
370
  // Thumbnails
341
371
  .thumbnails {
342
- margin-left: -30px;
372
+ margin-left: -$gridGutterWidthLarge;
343
373
  }
344
374
  .thumbnails > li {
345
- margin-left: 30px;
375
+ margin-left: $gridGutterWidthLarge;
376
+ }
377
+ .row-fluid .thumbnails {
378
+ margin-left: 0;
346
379
  }
347
-
348
380
  }