foundation-rails 5.4.5.0 → 5.5.0.0

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.
Files changed (50) hide show
  1. data/bower.json +2 -2
  2. data/foundation-rails.gemspec +1 -1
  3. data/lib/foundation/rails/generators/install_generator.rb +4 -4
  4. data/lib/foundation/rails/templates/application.html.erb +3 -2
  5. data/lib/foundation/rails/templates/application.html.haml +1 -1
  6. data/lib/foundation/rails/templates/application.html.slim +1 -1
  7. data/lib/foundation/rails/version.rb +1 -1
  8. data/vendor/assets/_settings.scss +25 -21
  9. data/vendor/assets/javascripts/foundation/foundation.abide.js +28 -23
  10. data/vendor/assets/javascripts/foundation/foundation.accordion.js +10 -8
  11. data/vendor/assets/javascripts/foundation/foundation.alert.js +4 -4
  12. data/vendor/assets/javascripts/foundation/foundation.clearing.js +3 -3
  13. data/vendor/assets/javascripts/foundation/foundation.dropdown.js +139 -22
  14. data/vendor/assets/javascripts/foundation/foundation.equalizer.js +1 -2
  15. data/vendor/assets/javascripts/foundation/foundation.interchange.js +14 -10
  16. data/vendor/assets/javascripts/foundation/foundation.joyride.js +18 -9
  17. data/vendor/assets/javascripts/foundation/foundation.js +86 -21
  18. data/vendor/assets/javascripts/foundation/foundation.magellan.js +15 -6
  19. data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +14 -14
  20. data/vendor/assets/javascripts/foundation/foundation.orbit.js +3 -3
  21. data/vendor/assets/javascripts/foundation/foundation.reveal.js +16 -11
  22. data/vendor/assets/javascripts/foundation/foundation.slider.js +56 -28
  23. data/vendor/assets/javascripts/foundation/foundation.tab.js +9 -9
  24. data/vendor/assets/javascripts/foundation/foundation.tooltip.js +1 -1
  25. data/vendor/assets/javascripts/foundation/foundation.topbar.js +5 -5
  26. data/vendor/assets/stylesheets/foundation/_functions.scss +57 -12
  27. data/vendor/assets/stylesheets/foundation/_settings.scss +25 -21
  28. data/vendor/assets/stylesheets/foundation/components/_accordion.scss +1 -1
  29. data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +2 -0
  30. data/vendor/assets/stylesheets/foundation/components/_button-groups.scss +1 -2
  31. data/vendor/assets/stylesheets/foundation/components/_buttons.scss +4 -5
  32. data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +11 -10
  33. data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +1 -0
  34. data/vendor/assets/stylesheets/foundation/components/_forms.scss +31 -32
  35. data/vendor/assets/stylesheets/foundation/components/_global.scss +53 -25
  36. data/vendor/assets/stylesheets/foundation/components/_grid.scss +18 -4
  37. data/vendor/assets/stylesheets/foundation/components/_icon-bar.scss +51 -15
  38. data/vendor/assets/stylesheets/foundation/components/_labels.scss +2 -2
  39. data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +8 -6
  40. data/vendor/assets/stylesheets/foundation/components/_orbit.scss +11 -11
  41. data/vendor/assets/stylesheets/foundation/components/_panels.scss +6 -0
  42. data/vendor/assets/stylesheets/foundation/components/_reveal.scss +6 -3
  43. data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +1 -3
  44. data/vendor/assets/stylesheets/foundation/components/_switches.scss +25 -13
  45. data/vendor/assets/stylesheets/foundation/components/_tabs.scss +2 -2
  46. data/vendor/assets/stylesheets/foundation/components/_toolbar.scss +3 -3
  47. data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +64 -53
  48. data/vendor/assets/stylesheets/foundation/components/_visibility.scss +7 -7
  49. data/vendor/assets/stylesheets/normalize.scss +5 -3
  50. metadata +8 -8
@@ -22,25 +22,25 @@ $button-pip-lrg: rem-calc(11) !default;
22
22
  $dropdown-button-padding-tny: $button-pip-tny * 7 !default;
23
23
  $dropdown-button-pip-size-tny: $button-pip-tny !default;
24
24
  $dropdown-button-pip-opposite-tny: $button-pip-tny * 3 !default;
25
- $dropdown-button-pip-top-tny: -$button-pip-tny / 2 + rem-calc(1) !default;
25
+ $dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1) !default;
26
26
 
27
27
  // We use these to style small dropdown buttons
28
28
  $dropdown-button-padding-sml: $button-pip-sml * 7 !default;
29
29
  $dropdown-button-pip-size-sml: $button-pip-sml !default;
30
30
  $dropdown-button-pip-opposite-sml: $button-pip-sml * 3 !default;
31
- $dropdown-button-pip-top-sml: -$button-pip-sml / 2 + rem-calc(1) !default;
31
+ $dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1) !default;
32
32
 
33
33
  // We use these to style medium dropdown buttons
34
34
  $dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3) !default;
35
35
  $dropdown-button-pip-size-med: $button-pip-med - rem-calc(3) !default;
36
36
  $dropdown-button-pip-opposite-med: $button-pip-med * 2.5 !default;
37
- $dropdown-button-pip-top-med: -$button-pip-med / 2 + rem-calc(2) !default;
37
+ $dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2) !default;
38
38
 
39
39
  // We use these to style large dropdown buttons
40
40
  $dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3) !default;
41
41
  $dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6) !default;
42
42
  $dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5 !default;
43
- $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
43
+ $dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3) !default;
44
44
 
45
45
  // @mixins
46
46
  //
@@ -57,9 +57,10 @@ $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
57
57
  // We add in base styles, but they can be negated by setting to 'false'.
58
58
  @if $base-style {
59
59
  position: relative;
60
+ outline: none;
60
61
 
61
62
  // This creates the base styles for the triangle pip
62
- &:after {
63
+ &::after {
63
64
  position: absolute;
64
65
  content: "";
65
66
  width: 0;
@@ -74,7 +75,7 @@ $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
74
75
  // If we're dealing with tiny buttons, use these styles
75
76
  @if $padding == tiny {
76
77
  padding-#{$opposite-direction}: $dropdown-button-padding-tny;
77
- &:before {
78
+ &:after {
78
79
  border-width: $dropdown-button-pip-size-tny;
79
80
  #{$opposite-direction}: $dropdown-button-pip-opposite-tny;
80
81
  margin-top: $dropdown-button-pip-top-tny;
@@ -84,7 +85,7 @@ $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
84
85
  // If we're dealing with small buttons, use these styles
85
86
  @if $padding == small {
86
87
  padding-#{$opposite-direction}: $dropdown-button-padding-sml;
87
- &:after {
88
+ &::after {
88
89
  border-width: $dropdown-button-pip-size-sml;
89
90
  #{$opposite-direction}: $dropdown-button-pip-opposite-sml;
90
91
  margin-top: $dropdown-button-pip-top-sml;
@@ -94,7 +95,7 @@ $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
94
95
  // If we're dealing with default (medium) buttons, use these styles
95
96
  @if $padding == medium {
96
97
  padding-#{$opposite-direction}: $dropdown-button-padding-med;
97
- &:after {
98
+ &::after {
98
99
  border-width: $dropdown-button-pip-size-med;
99
100
  #{$opposite-direction}: $dropdown-button-pip-opposite-med;
100
101
  margin-top: $dropdown-button-pip-top-med;
@@ -104,7 +105,7 @@ $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
104
105
  // If we're dealing with large buttons, use these styles
105
106
  @if $padding == large {
106
107
  padding-#{$opposite-direction}: $dropdown-button-padding-lrg;
107
- &:after {
108
+ &::after {
108
109
  border-width: $dropdown-button-pip-size-lrg;
109
110
  #{$opposite-direction}: $dropdown-button-pip-opposite-lrg;
110
111
  margin-top: $dropdown-button-pip-top-lrg;
@@ -113,7 +114,7 @@ $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
113
114
 
114
115
  // We can control the pip color. We didn't use logic in this case, just set it and forget it.
115
116
  @if $pip-color {
116
- &:after { border-color: $pip-color transparent transparent transparent; }
117
+ &::after { border-color: $pip-color transparent transparent transparent; }
117
118
  }
118
119
  }
119
120
 
@@ -68,6 +68,7 @@ $f-dropdown-radius: $global-radius !default;
68
68
  left: -9999px;
69
69
  list-style: $f-dropdown-list-style;
70
70
  margin-#{$default-float}: 0;
71
+ outline: none;
71
72
 
72
73
  > *:first-child { margin-top: 0; }
73
74
  > *:last-child { margin-bottom: 0; }
@@ -67,6 +67,7 @@ $input-error-message-font-size: rem-calc(12) !default;
67
67
  $input-error-message-font-weight: $font-weight-normal !default;
68
68
  $input-error-message-font-style: italic !default;
69
69
  $input-error-message-font-color: $white !default;
70
+ $input-error-message-bg-color: $alert-color !default;
70
71
  $input-error-message-font-color-alt: $oil !default;
71
72
 
72
73
  // We use this to style the glowing effect of inputs when focused
@@ -86,7 +87,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
86
87
  .row { margin: 0 ((-$form-spacing) / 2);
87
88
 
88
89
  .column,
89
- .columns { padding: 0 $form-spacing / 2; }
90
+ .columns { padding: 0 ($form-spacing / 2); }
90
91
 
91
92
  // Use this to collapse the margins of a form row
92
93
  &.collapse { margin: 0;
@@ -102,7 +103,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
102
103
  input.column,
103
104
  input.columns,
104
105
  textarea.column,
105
- textarea.columns { padding-#{$default-float}: $form-spacing / 2; }
106
+ textarea.columns { padding-#{$default-float}: ($form-spacing / 2); }
106
107
  }
107
108
 
108
109
  // @MIXIN
@@ -111,7 +112,11 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
111
112
  @mixin form-element {
112
113
  background-color: $input-bg-color;
113
114
  font-family: $input-font-family;
114
- border: $input-border-width $input-border-style $input-border-color;
115
+ border: {
116
+ style: $input-border-style;
117
+ width: $input-border-width;
118
+ color: $input-border-color;
119
+ }
115
120
  box-shadow: $input-box-shadow;
116
121
  color: $input-font-color;
117
122
  display: block;
@@ -220,7 +225,6 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
220
225
  padding-top: 0;
221
226
  padding-bottom: 0;
222
227
  text-align: center;
223
- line-height: rem-calc(34);
224
228
  border: none;
225
229
  }
226
230
 
@@ -253,7 +257,6 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
253
257
  padding-top: 0;
254
258
  padding-bottom: 0;
255
259
  text-align: center;
256
- line-height: rem-calc(34);
257
260
  border: none;
258
261
  }
259
262
 
@@ -300,7 +303,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
300
303
  //
301
304
  // We use this mixin to create error message styles
302
305
  // $bg - Default: $alert-color (Found in settings file)
303
- @mixin form-error-message($bg:$alert-color) {
306
+ @mixin form-error-message($bg:$input-error-message-bg-color) {
304
307
  display: block;
305
308
  padding: $input-error-message-padding;
306
309
  margin-top: $input-error-message-top;
@@ -319,10 +322,15 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
319
322
  // We use this mixin to style select elements
320
323
  @mixin form-select {
321
324
  -webkit-appearance: none !important;
322
- -webkit-border-radius: 0px;
325
+ border-radius: 0;
323
326
  background-color: $select-bg-color;
324
327
 
325
- // The custom arrow have some fake horizontal padding so we can align it
328
+ // Hide the dropdown arrow shown in newer IE versions
329
+ &::-ms-expand {
330
+ display: none;
331
+ }
332
+
333
+ // The custom arrow has some fake horizontal padding so we can align it
326
334
  // from the right side of the element without relying on CSS3
327
335
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
328
336
 
@@ -330,8 +338,12 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
330
338
  background-position: if($text-direction == 'rtl', 0%, 100%) center;
331
339
 
332
340
  background-repeat: no-repeat;
333
- border: $input-border-width $input-border-style $input-border-color;
334
- padding: $form-spacing / 2;
341
+ border: {
342
+ style: $input-border-style;
343
+ width: $input-border-width;
344
+ color: $input-border-color;
345
+ }
346
+ padding: ($form-spacing / 2);
335
347
  font-size: $input-font-size;
336
348
  font-family: $body-font-family;
337
349
  color: $input-font-color;
@@ -342,7 +354,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
342
354
  background-color: $select-hover-bg-color;
343
355
  border-color: $input-focus-border-color;
344
356
  }
345
- // Disbaled Styles
357
+ // Disabled Styles
346
358
  &:disabled {
347
359
  background-color: $input-disabled-bg;
348
360
  cursor: $input-disabled-cursor;
@@ -380,10 +392,6 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
380
392
  }
381
393
  }
382
394
 
383
- select::-ms-expand {
384
- display:none;
385
- }
386
-
387
395
  /* Attach elements to the beginning or end of an input */
388
396
  .prefix,
389
397
  .postfix { @include prefix-postfix-base; }
@@ -402,23 +410,9 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
402
410
  span.postfix,label.postfix { @include postfix(); }
403
411
 
404
412
  /* We use this to get basic styling on all basic form elements */
405
- input[type="text"],
406
- input[type="password"],
407
- input[type="date"],
408
- input[type="datetime"],
409
- input[type="datetime-local"],
410
- input[type="month"],
411
- input[type="week"],
412
- input[type="email"],
413
- input[type="number"],
414
- input[type="search"],
415
- input[type="tel"],
416
- input[type="time"],
417
- input[type="url"],
418
- input[type="color"],
419
- textarea {
413
+ #{text-inputs(all, 'input')} {
420
414
  -webkit-appearance: none;
421
- -webkit-border-radius: 0px;
415
+ border-radius: 0;
422
416
  @include form-element;
423
417
  @if $input-include-glowing-effect == false {
424
418
  @include single-transition(all, 0.15s, linear);
@@ -459,7 +453,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
459
453
 
460
454
  input[type="submit"] {
461
455
  -webkit-appearance: none;
462
- -webkit-border-radius: 0px;
456
+ border-radius: 0;
463
457
  }
464
458
 
465
459
  /* Respect enforced amount of rows for textarea */
@@ -467,6 +461,11 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
467
461
  height: auto;
468
462
  }
469
463
 
464
+ /* Not allow resize out of parent */
465
+ textarea {
466
+ max-width: 100%;
467
+ }
468
+
470
469
  /* Add height value for select elements to match text input height */
471
470
  select {
472
471
  @include form-select;
@@ -80,8 +80,8 @@ $base-line-height: 1.5 !default;
80
80
  // We use this to add box-sizing across browser prefixes
81
81
  @mixin box-sizing($type:border-box) {
82
82
  -webkit-box-sizing: $type; // Android < 2.3, iOS < 4
83
- -moz-box-sizing: $type; // Firefox < 29
84
- box-sizing: $type; // Chrome, IE 8+, Opera, Safari 5.1
83
+ -moz-box-sizing: $type; // Firefox < 29
84
+ box-sizing: $type; // Chrome, IE 8+, Opera, Safari 5.1
85
85
  }
86
86
 
87
87
  // @mixins
@@ -138,14 +138,14 @@ $base-line-height: 1.5 !default;
138
138
  }
139
139
  @else {
140
140
  top: 50%;
141
- margin-top: -$width/2;
141
+ margin-top: (-$width/2);
142
+ }
143
+ @if $left {
144
+ left: $left;
145
+ }
146
+ @else {
147
+ left: ($tabbar-menu-icon-width - $width)/2;
142
148
  }
143
- @if $left {
144
- left: $left;
145
- }
146
- @else {
147
- left: ($tabbar-menu-icon-width - $width)/2;
148
- }
149
149
  }
150
150
  @else {
151
151
  top: 50%;
@@ -154,14 +154,14 @@ $base-line-height: 1.5 !default;
154
154
  }
155
155
 
156
156
  box-shadow:
157
- 0 0px 0 $thickness $color,
157
+ 0 0 0 $thickness $color,
158
158
  0 $gap + $thickness 0 $thickness $color,
159
159
  0 (2 * $gap + 2*$thickness) 0 $thickness $color;
160
160
  width: $width;
161
161
  }
162
162
  span:hover:after {
163
163
  box-shadow:
164
- 0 0px 0 $thickness $hover-color,
164
+ 0 0 0 $thickness $hover-color,
165
165
  0 $gap + $thickness 0 $thickness $hover-color,
166
166
  0 (2 * $gap + 2*$thickness) 0 $thickness $hover-color;
167
167
  }
@@ -220,14 +220,6 @@ $base-line-height: 1.5 !default;
220
220
  clip: auto;
221
221
  }
222
222
 
223
- // We use these as default colors throughout
224
- $primary-color: #008CBA !default; // bondi-blue
225
- $secondary-color: #e7e7e7 !default; // white-lilac
226
- $alert-color: #f04124 !default; // cinnabar
227
- $success-color: #43AC6A !default; // sea-green
228
- $warning-color: #f08a24 !default; // carrot
229
- $info-color: #a0d3e8 !default; // cornflower
230
-
231
223
  $white : #FFFFFF !default;
232
224
  $ghost : #FAFAFA !default;
233
225
  $snow : #F9F9F9 !default;
@@ -248,6 +240,14 @@ $oil : #333333 !default;
248
240
  $jet : #222222 !default;
249
241
  $black : #000000 !default;
250
242
 
243
+ // We use these as default colors throughout
244
+ $primary-color: #008CBA !default; // bondi-blue
245
+ $secondary-color: #e7e7e7 !default; // white-lilac
246
+ $alert-color: #f04124 !default; // cinnabar
247
+ $success-color: #43AC6A !default; // sea-green
248
+ $warning-color: #f08a24 !default; // carrot
249
+ $info-color: #a0d3e8 !default; // cornflower
250
+
251
251
  // We use these to define default font stacks
252
252
  $font-family-sans-serif: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif !default;
253
253
  $font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif !default;
@@ -296,7 +296,7 @@ $include-html-global-classes: $include-html-classes !default;
296
296
  $column-gutter: rem-calc(30) !default;
297
297
 
298
298
  // Media Query Ranges
299
- $small-range: (0em, 40em) !default;
299
+ $small-range: (0, 40em) !default;
300
300
  $medium-range: (40.063em, 64em) !default;
301
301
  $large-range: (64.063em, 90em) !default;
302
302
  $xlarge-range: (90.063em, 120em) !default;
@@ -345,7 +345,7 @@ $cursor-text-value: text !default;
345
345
  // Forward slash placed around everything to convince PhantomJS to read the value.
346
346
 
347
347
  meta.foundation-version {
348
- font-family: "/5.4.5/";
348
+ font-family: "/5.5.0/";
349
349
  }
350
350
 
351
351
  meta.foundation-mq-small {
@@ -353,21 +353,41 @@ $cursor-text-value: text !default;
353
353
  width: lower-bound($small-range);
354
354
  }
355
355
 
356
+ meta.foundation-mq-small-only {
357
+ font-family: "/" + unquote($small-only) + "/";
358
+ width: lower-bound($small-range);
359
+ }
360
+
356
361
  meta.foundation-mq-medium {
357
362
  font-family: "/" + unquote($medium-up) + "/";
358
363
  width: lower-bound($medium-range);
359
364
  }
360
365
 
366
+ meta.foundation-mq-medium-only {
367
+ font-family: "/" + unquote($medium-only) + "/";
368
+ width: lower-bound($medium-range);
369
+ }
370
+
361
371
  meta.foundation-mq-large {
362
372
  font-family: "/" + unquote($large-up) + "/";
363
373
  width: lower-bound($large-range);
364
374
  }
365
375
 
376
+ meta.foundation-mq-large-only {
377
+ font-family: "/" + unquote($large-only) + "/";
378
+ width: lower-bound($large-range);
379
+ }
380
+
366
381
  meta.foundation-mq-xlarge {
367
382
  font-family: "/" + unquote($xlarge-up) + "/";
368
383
  width: lower-bound($xlarge-range);
369
384
  }
370
385
 
386
+ meta.foundation-mq-xlarge-only {
387
+ font-family: "/" + unquote($xlarge-only) + "/";
388
+ width: lower-bound($xlarge-range);
389
+ }
390
+
371
391
  meta.foundation-mq-xxlarge {
372
392
  font-family: "/" + unquote($xxlarge-up) + "/";
373
393
  width: lower-bound($xxlarge-range);
@@ -422,10 +442,18 @@ $cursor-text-value: text !default;
422
442
  }
423
443
 
424
444
  // Miscellaneous useful HTML classes
425
- .left { float: left !important; }
426
- .right { float: right !important; }
427
- .clearfix { @include clearfix; }
428
- .hide { display: none; }
445
+ .left { float: left !important; }
446
+ .right { float: right !important; }
447
+ .clearfix { @include clearfix; }
448
+
449
+ // Hide visually and from screen readers
450
+ .hide {
451
+ display: none !important;
452
+ visibility: hidden;
453
+ }
454
+
455
+ // Hide visually and from screen readers, but maintain layout
456
+ .invisible { visibility: hidden; }
429
457
 
430
458
  // Font smoothing
431
459
  // Antialiased font smoothing works best for light text on a dark background.
@@ -116,8 +116,8 @@ $last-child-float: $opposite-direction !default;
116
116
  // Gutter padding whenever a column isn't set to collapse
117
117
  // (use $collapse:null to do nothing)
118
118
  @else if $collapse == false {
119
- padding-left: $column-gutter / 2;
120
- padding-right: $column-gutter / 2;
119
+ padding-left: ($column-gutter / 2);
120
+ padding-right: ($column-gutter / 2);
121
121
  }
122
122
 
123
123
  // If a column number is given, calculate width
@@ -172,11 +172,10 @@ $last-child-float: $opposite-direction !default;
172
172
  .#{$size}-#{$i} { @include grid-column($columns:$i,$collapse:null,$float:false); }
173
173
  }
174
174
 
175
-
176
-
177
175
  @for $i from 0 through $total-columns - 1 {
178
176
  .#{$size}-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); }
179
177
  }
178
+
180
179
  .#{$size}-reset-order {
181
180
  margin-#{$default-float}: 0;
182
181
  margin-#{$opposite-direction}: 0;
@@ -211,6 +210,21 @@ $last-child-float: $opposite-direction !default;
211
210
  .columns.#{$size}-uncentered.opposite {
212
211
  float: $opposite-direction;
213
212
  }
213
+
214
+ .row {
215
+ &.#{$size}-collapse {
216
+ > .column,
217
+ > .columns { @include grid-column($collapse:true, $float:false); }
218
+
219
+ .row {margin-left:0; margin-right:0;}
220
+ }
221
+ &.#{$size}-uncollapse {
222
+ > .column,
223
+ > .columns {
224
+ @include grid-column;
225
+ }
226
+ }
227
+ }
214
228
  }
215
229
 
216
230
  @include exports("grid") {