zurb-foundation 4.1.2 → 4.1.5

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 (70) hide show
  1. data/CONTRIBUTING.md +2 -2
  2. data/Gemfile.lock +1 -1
  3. data/README.md +11 -7
  4. data/docs/CHANGELOG.md +22 -3
  5. data/docs/_sidebar-components.html.erb +3 -1
  6. data/docs/_sidebar.html.erb +3 -1
  7. data/docs/components/breadcrumbs.html.erb +9 -1
  8. data/docs/components/forms.html.erb +12 -6
  9. data/docs/components/grid.html.erb +3 -3
  10. data/docs/components/kitchen-sink.html.erb +7 -1
  11. data/docs/components/labels.html.erb +3 -1
  12. data/docs/components/section.html.erb +99 -10
  13. data/docs/components/top-bar.html.erb +2 -2
  14. data/docs/components/type.html.erb +31 -2
  15. data/docs/css/docs.scss +0 -5
  16. data/docs/index.html.erb +2 -0
  17. data/docs/javascript.html.erb +8 -5
  18. data/docs/sass.html.erb +1005 -127
  19. data/js/foundation/foundation.clearing.js +8 -4
  20. data/js/foundation/foundation.dropdown.js +43 -23
  21. data/js/foundation/foundation.forms.js +5 -3
  22. data/js/foundation/foundation.joyride.js +2 -6
  23. data/js/foundation/foundation.js +70 -47
  24. data/js/foundation/foundation.orbit.js +10 -4
  25. data/js/foundation/foundation.reveal.js +8 -3
  26. data/js/foundation/foundation.section.js +188 -72
  27. data/js/foundation/foundation.tooltips.js +4 -3
  28. data/js/foundation/foundation.topbar.js +4 -1
  29. data/lib/foundation/generators/install_generator.rb +2 -2
  30. data/lib/foundation/version.rb +1 -1
  31. data/scss/foundation.scss +1 -1
  32. data/{templates/project/scss/_settings.scss → scss/foundation/_variables.scss} +347 -173
  33. data/scss/foundation/components/_alert-boxes.scss +1 -1
  34. data/scss/foundation/components/_block-grid.scss +6 -2
  35. data/scss/foundation/components/_breadcrumbs.scss +20 -13
  36. data/scss/foundation/components/_button-groups.scss +18 -6
  37. data/scss/foundation/components/_buttons.scss +18 -11
  38. data/scss/foundation/components/_clearing.scss +6 -0
  39. data/scss/foundation/components/_custom-forms.scss +29 -23
  40. data/scss/foundation/components/_dropdown-buttons.scss +1 -1
  41. data/scss/foundation/components/_dropdown.scss +7 -3
  42. data/scss/foundation/components/_flex-video.scss +1 -1
  43. data/scss/foundation/components/_forms.scss +49 -25
  44. data/scss/foundation/components/_global.scss +222 -3
  45. data/scss/foundation/components/_grid.scss +40 -24
  46. data/scss/foundation/components/_inline-lists.scss +1 -1
  47. data/scss/foundation/components/_joyride.scss +4 -6
  48. data/scss/foundation/components/_keystrokes.scss +1 -1
  49. data/scss/foundation/components/_labels.scss +5 -3
  50. data/scss/foundation/components/_magellan.scss +1 -1
  51. data/scss/foundation/components/_orbit.scss +13 -8
  52. data/scss/foundation/components/_pagination.scss +1 -1
  53. data/scss/foundation/components/_panels.scss +1 -1
  54. data/scss/foundation/components/_pricing-tables.scss +1 -1
  55. data/scss/foundation/components/_progress-bars.scss +1 -1
  56. data/scss/foundation/components/_reveal.scss +7 -7
  57. data/scss/foundation/components/_section.scss +75 -21
  58. data/scss/foundation/components/_side-nav.scss +1 -1
  59. data/scss/foundation/components/_split-buttons.scss +10 -3
  60. data/scss/foundation/components/_sub-nav.scss +1 -1
  61. data/scss/foundation/components/_switch.scss +1 -1
  62. data/scss/foundation/components/_thumbs.scss +3 -1
  63. data/scss/foundation/components/_top-bar.scss +8 -6
  64. data/scss/foundation/components/_visibility.scss +1 -1
  65. data/scss/normalize.scss +13 -7
  66. data/templates/project/manifest.rb +2 -11
  67. data/templates/project/scss/app.scss +0 -1
  68. metadata +5 -7
  69. data/scss/foundation/_foundation-global.scss +0 -198
  70. data/templates/project/scss/normalize.scss +0 -396
@@ -37,7 +37,7 @@ $flex-video-widescreen-padding-bottom: 57.25% !default;
37
37
  }
38
38
  }
39
39
 
40
- @if $include-html-media-classes {
40
+ @if $include-html-media-classes != false {
41
41
 
42
42
  /* Flex Video */
43
43
  .flex-video { @include flex-video-container; }
@@ -6,11 +6,11 @@
6
6
  $form-spacing: emCalc(16px) !default;
7
7
 
8
8
  // We use these to style the labels in different ways
9
- $label-pointer: pointer !default;
10
- $label-font-size: emCalc(14px) !default;
11
- $label-font-weight: 500 !default;
12
- $label-font-color: lighten(#000, 30%) !default;
13
- $label-bottom-margin: emCalc(3px) !default;
9
+ $form-label-pointer: pointer !default;
10
+ $form-label-font-size: emCalc(14px) !default;
11
+ $form-label-font-weight: 500 !default;
12
+ $form-label-font-color: lighten(#000, 30%) !default;
13
+ $form-label-bottom-margin: emCalc(3px) !default;
14
14
  $input-font-family: inherit !default;
15
15
  $input-font-color: rgba(0,0,0,0.75) !default;
16
16
  $input-font-size: emCalc(14px) !default;
@@ -22,6 +22,7 @@ $input-border-style: solid !default;
22
22
  $input-border-width: 1px !default;
23
23
  $input-disabled-bg: #ddd !default;
24
24
  $input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1) !default;
25
+ $input-include-glowing-effect: true !default;
25
26
 
26
27
  // We use these to style the fieldset border and spacing.
27
28
  $fieldset-border-style: solid !default;
@@ -52,6 +53,9 @@ $input-error-message-font-weight: bold !default;
52
53
  $input-error-message-font-color: #fff !default;
53
54
  $input-error-message-font-color-alt: #333 !default;
54
55
 
56
+ //We use this to style the glowing effect of inputs when focused
57
+ $glowing-effect-fade-time: 0.45s !default;
58
+ $glowing-effect-color: $input-focus-border-color !default;
55
59
 
56
60
  //
57
61
  // Form Mixins
@@ -59,7 +63,7 @@ $input-error-message-font-color-alt: #333 !default;
59
63
 
60
64
  // We use this mixin to give us form styles for rows inside of forms
61
65
  @mixin form-row-base {
62
- .row { margin: 0 -$form-spacing / 2;
66
+ .row { margin: 0 ((-$form-spacing) / 2);
63
67
 
64
68
  .column,
65
69
  .columns { padding: 0 $form-spacing / 2; }
@@ -73,7 +77,9 @@ $input-error-message-font-color-alt: #333 !default;
73
77
  }
74
78
  }
75
79
  input.column,
76
- input.columns { padding-#{$default-float}: $form-spacing / 2; }
80
+ input.columns,
81
+ textarea.column,
82
+ textarea.columns { padding-#{$default-float}: $form-spacing / 2; }
77
83
  }
78
84
 
79
85
  // We use this mixin to give all basic form elements their style
@@ -91,7 +97,9 @@ $input-error-message-font-color-alt: #333 !default;
91
97
  height: emCalc(13px) + ($form-spacing * 1.5);
92
98
  width: 100%;
93
99
  @include box-sizing(border-box);
94
-
100
+ @if $input-include-glowing-effect {
101
+ @include block-glowing-effect(focus, $glowing-effect-fade-time, $glowing-effect-color);
102
+ }
95
103
  // Basic focus styles
96
104
  &:focus {
97
105
  background: $input-focus-bg-color;
@@ -108,12 +116,12 @@ $input-error-message-font-color-alt: #333 !default;
108
116
 
109
117
  // Control whether or not the base styles come through.
110
118
  @if $base-style {
111
- font-size: $label-font-size;
112
- color: $label-font-color;
113
- cursor: $label-pointer;
119
+ font-size: $form-label-font-size;
120
+ color: $form-label-font-color;
121
+ cursor: $form-label-pointer;
114
122
  display: block;
115
- font-weight: $label-font-weight;
116
- margin-bottom: $label-bottom-margin;
123
+ font-weight: $form-label-font-weight;
124
+ margin-bottom: $form-label-bottom-margin;
117
125
  }
118
126
 
119
127
  // Alignment options
@@ -139,9 +147,9 @@ $input-error-message-font-color-alt: #333 !default;
139
147
  border-style: $input-prefix-border-type;
140
148
  border-width: $input-prefix-border-size;
141
149
  overflow: $input-prefix-overflow;
142
- font-size: $label-font-size;
143
- height: ($label-font-size + ($form-spacing * 1.5) - emCalc(1px));
144
- line-height: ($label-font-size + ($form-spacing * 1.5) - emCalc(1px));
150
+ font-size: $form-label-font-size;
151
+ height: ($form-label-font-size + ($form-spacing * 1.5) - emCalc(1px));
152
+ line-height: ($form-label-font-size + ($form-spacing * 1.5) - emCalc(1px));
145
153
  }
146
154
 
147
155
  // We use this mixin to create prefix label styles
@@ -242,7 +250,7 @@ $input-error-message-font-color-alt: #333 !default;
242
250
  }
243
251
 
244
252
  // Only include these classes if the variable is true, otherwise they'll be left out.
245
- @if $include-html-form-classes {
253
+ @if $include-html-form-classes != false {
246
254
  /* Standard Forms */
247
255
  form { margin: 0 0 $form-spacing; }
248
256
 
@@ -262,17 +270,18 @@ $input-error-message-font-color-alt: #333 !default;
262
270
  /* Adjust padding, alignment and radius if pre/post element is a button */
263
271
  .postfix.button { @include button-size(false,false,false); @include postfix(false,true); }
264
272
  .prefix.button { @include button-size(false,false,false); @include prefix(false,true); }
265
- .prefix.button.radius { @include side-radius($default-float, $global-radius); }
266
- .postfix.button.radius { @include side-radius($opposite-direction, $global-radius); }
267
- .prefix.button.round { @include side-radius($default-float, 1000px); }
268
- .postfix.button.round { @include side-radius($opposite-direction, 1000px); }
273
+
274
+ .prefix.button.radius { @include radius(0); @include side-radius(left, $button-radius); }
275
+ .postfix.button.radius { @include radius(0); @include side-radius(right, $button-radius); }
276
+ .prefix.button.round { @include radius(0); @include side-radius(left, $button-round); }
277
+ .postfix.button.round { @include radius(0); @include side-radius(right, $button-round); }
269
278
 
270
279
  /* Separate prefix and postfix styles when on span so buttons keep their own */
271
280
  span.prefix { @include prefix();
272
- &.radius { @include side-radius($default-float, $global-radius); }
281
+ &.radius { @include radius(0); @include side-radius(left, $global-radius); }
273
282
  }
274
283
  span.postfix { @include postfix();
275
- &.radius { @include side-radius($opposite-direction, $global-radius); }
284
+ &.radius { @include radius(0); @include side-radius(right, $global-radius); }
276
285
  }
277
286
 
278
287
  /* Input groups will automatically style first and last elements of the group */
@@ -311,7 +320,22 @@ $input-error-message-font-color-alt: #333 !default;
311
320
  input[type="url"],
312
321
  textarea {
313
322
  @include form-element;
314
- @include single-transition(all, 0.15s, linear);
323
+ @if not $input-include-glowing-effect {
324
+ @include single-transition(all, 0.15s, linear);
325
+ }
326
+ }
327
+
328
+ /* Adjust margin for form elements below */
329
+ input[type="file"],
330
+ input[type="checkbox"],
331
+ input[type="radio"],
332
+ select {
333
+ margin: 0 0 $form-spacing 0;
334
+ }
335
+
336
+ /* Normalize file input width */
337
+ input[type="file"] {
338
+ width:100%;
315
339
  }
316
340
 
317
341
  /* We add basic fieldset styling */
@@ -334,4 +358,4 @@ $input-error-message-font-color-alt: #333 !default;
334
358
  small.error {
335
359
  @include form-error-message;
336
360
  }
337
- }
361
+ }
@@ -1,3 +1,219 @@
1
+ //
2
+ // Global Foundation Mixins
3
+ //
4
+
5
+ // We use this to control border radius.
6
+ @mixin radius($radius:$global-radius) {
7
+ @if $radius {
8
+ -webkit-border-radius: $radius;
9
+ border-radius: $radius;
10
+ }
11
+ }
12
+
13
+ // We use this to create equal side border radius on elements.
14
+ @mixin side-radius($side, $radius) {
15
+ @if $side == left {
16
+ -moz-border-radius-bottomleft: $radius;
17
+ -moz-border-radius-topleft: $radius;
18
+ -webkit-border-bottom-left-radius: $radius;
19
+ -webkit-border-top-left-radius: $radius;
20
+ border-bottom-left-radius: $radius;
21
+ border-top-left-radius: $radius;
22
+ }
23
+ @else if $side == right {
24
+ -moz-border-radius-topright: $radius;
25
+ -moz-border-radius-bottomright: $radius;
26
+ -webkit-border-top-right-radius: $radius;
27
+ -webkit-border-bottom-right-radius: $radius;
28
+ border-top-right-radius: $radius;
29
+ border-bottom-right-radius: $radius;
30
+ }
31
+ @else if $side == top {
32
+ -moz-border-radius-topright: $radius;
33
+ -moz-border-radius-topleft: $radius;
34
+ -webkit-border-top-right-radius: $radius;
35
+ -webkit-border-top-left-radius: $radius;
36
+ border-top-right-radius: $radius;
37
+ border-top-left-radius: $radius;
38
+ }
39
+ @else if $side == bottom {
40
+ -moz-border-radius-bottomright: $radius;
41
+ -moz-border-radius-bottomleft: $radius;
42
+ -webkit-border-bottom-right-radius: $radius;
43
+ -webkit-border-bottom-left-radius: $radius;
44
+ border-bottom-right-radius: $radius;
45
+ border-bottom-left-radius: $radius;
46
+ }
47
+ }
48
+
49
+ // We can control whether or not we have inset shadows edges.
50
+ @mixin inset-shadow($active:true) {
51
+ -webkit-box-shadow: $shiny-edge-size $shiny-edge-color inset;
52
+ box-shadow: $shiny-edge-size $shiny-edge-color inset;
53
+
54
+ @if $active { &:active {
55
+ -webkit-box-shadow: $shiny-edge-size $shiny-edge-active-color inset;
56
+ box-shadow: $shiny-edge-size $shiny-edge-active-color inset; } }
57
+ }
58
+
59
+ // We use this to add transitions to elements
60
+ @mixin single-transition($property:all, $speed:300ms, $ease:ease-out) {
61
+ -webkit-transition: $property $speed $ease;
62
+ -moz-transition: $property $speed $ease;
63
+ transition: $property $speed $ease;
64
+ }
65
+
66
+ // We use this to add box-sizing across browser prefixes
67
+ @mixin box-sizing($type:border-box) {
68
+ -moz-box-sizing: $type;
69
+ -webkit-box-sizing: $type;
70
+ box-sizing: $type;
71
+ }
72
+
73
+ // We use this to create equilateral triangles
74
+ @mixin css-triangle($triangle-size, $triangle-color, $triangle-direction) {
75
+ content: "";
76
+ display: block;
77
+ width: 0;
78
+ height: 0;
79
+ border: inset $triangle-size;
80
+ @if ($triangle-direction == top) {
81
+ border-color: $triangle-color transparent transparent transparent;
82
+ border-top-style: solid;
83
+ }
84
+ @if ($triangle-direction == bottom) {
85
+ border-color: transparent transparent $triangle-color transparent;
86
+ border-bottom-style: solid;
87
+ }
88
+ @if ($triangle-direction == left) {
89
+ border-color: transparent transparent transparent $triangle-color;
90
+ border-left-style: solid;
91
+ }
92
+ @if ($triangle-direction == right) {
93
+ border-color: transparent $triangle-color transparent transparent;
94
+ border-right-style: solid;
95
+ }
96
+ }
97
+
98
+ // We use this to do clear floats
99
+ @mixin clearfix() {
100
+ *zoom:1;
101
+ &:before, &:after { content: " "; display: table; }
102
+ &:after { clear: both; }
103
+ }
104
+
105
+
106
+ // We use this to add a glowing effect to block elements
107
+ @mixin block-glowing-effect($selector:focus, $fade-time:300ms, $glowing-effect-color:fade-out($primary-color, .25)) {
108
+ -webkit-transition: box-shadow, $fade-time, -moz-box-shadow, $fade-time, -webkit-box-shadow, $fade-time, border-color, $fade-time, ease-in-out;
109
+ -moz-transition: box-shadow, $fade-time, -moz-box-shadow, $fade-time, -webkit-box-shadow, $fade-time, border-color, $fade-time, ease-in-out;
110
+ transition: box-shadow, $fade-time, -moz-box-shadow, $fade-time, -webkit-box-shadow, $fade-time, border-color, $fade-time, ease-in-out;
111
+
112
+ &:#{$selector} {
113
+ -webkit-box-shadow: 0 0 5px $glowing-effect-color;
114
+ -moz-box-shadow: 0 0 5px $glowing-effect-color;
115
+ box-shadow: 0 0 5px $glowing-effect-color;
116
+ border-color: $glowing-effect-color;
117
+ }
118
+ }
119
+
120
+ //
121
+ // Foundation Variables
122
+ //
123
+
124
+ // The default font-size is set to 100% of the browser style sheet (usually 16px)
125
+ // for compatibility with brower-based text zoom or user-set defaults.
126
+
127
+ // Since the typical default browser font-size is 16px, that makes the calculation for grid size.
128
+ // If you want your base font-size to be different and not have it effect the grid breakpoints,
129
+ // set $em-base to $base-font-size and make sure $base-font-size is a px value.
130
+ $base-font-size: 100% !default;
131
+
132
+ // $base-line-height is 24px while $base-font-size is 16px
133
+ $base-line-height: 150% !default;
134
+
135
+ // This is the default html and body font-size for the base em value.
136
+ $em-base: 16px !default;
137
+
138
+ // Working in ems is annoying. Think in pixels by using this handy function, emCalc(#px)
139
+ @function emCalc($pxWidth) {
140
+ @return $pxWidth / $em-base * 1em;
141
+ }
142
+
143
+ // Maybe you want to create rems and pixels
144
+ // @function remCalc($pxWidth) {
145
+ // @return $pxWidth / $em-base * 1rem;
146
+ // }
147
+
148
+ // We use these to control various global styles
149
+ $body-bg: #fff !default;
150
+ $body-font-color: #222 !default;
151
+ $body-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !default;
152
+ $body-font-weight: normal !default;
153
+ $body-font-style: normal !default;
154
+
155
+ // We use this to control font-smoothing
156
+ $font-smoothing: antialiased !default;
157
+
158
+ // We use these to control text direction settings
159
+ $text-direction: ltr !default;
160
+
161
+ // NOTE: No need to change this conditional statement, $text-direction variable controls it all.
162
+ $default-float: left !default;
163
+ $opposite-direction: right !default;
164
+ @if $text-direction == ltr {
165
+ $default-float: left;
166
+ $opposite-direction: right;
167
+ } @else {
168
+ $default-float: right;
169
+ $opposite-direction: left;
170
+ }
171
+
172
+ // We use these as default colors throughout
173
+ $primary-color: #2ba6cb !default;
174
+ $secondary-color: #e9e9e9 !default;
175
+ $alert-color: #c60f13 !default;
176
+ $success-color: #5da423 !default;
177
+
178
+ // We use these to make sure border radius matches unless we want it different.
179
+ $global-radius: 3px !default;
180
+ $global-rounded: 1000px !default;
181
+
182
+ // We use these to control inset shadow shiny edges and depressions.
183
+ $shiny-edge-size: 0 1px 0 !default;
184
+ $shiny-edge-color: rgba(#fff, .5) !default;
185
+ $shiny-edge-active-color: rgba(#000, .2) !default;
186
+
187
+ // We use this to control whether or not CSS classes come through in the gem files.
188
+ $include-html-classes: true !default;
189
+ $include-print-styles: true !default;
190
+ $include-html-grid-classes: $include-html-classes !default;
191
+ $include-html-visibility-classes: $include-html-classes !default;
192
+ $include-html-button-classes: $include-html-classes !default;
193
+ $include-html-form-classes: $include-html-classes !default;
194
+ $include-html-media-classes: $include-html-classes !default;
195
+ $include-html-section-classes: $include-html-classes !default;
196
+ $include-html-reveal-classes: $include-html-classes !default;
197
+ $include-html-alert-classes: $include-html-classes !default;
198
+ $include-html-nav-classes: $include-html-classes !default;
199
+ $include-html-label-classes: $include-html-classes !default;
200
+ $include-html-panel-classes: $include-html-classes !default;
201
+ $include-html-pricing-classes: $include-html-classes !default;
202
+ $include-html-progress-classes: $include-html-classes !default;
203
+ $include-html-magellan-classes: $include-html-classes !default;
204
+
205
+ // Media Queries
206
+ $small-screen: emCalc(768px) !default;
207
+ $medium-screen: emCalc(1280px) !default;
208
+ $large-screen: emCalc(1440px) !default;
209
+
210
+ $screen: "only screen" !default;
211
+ $small: "only screen and (min-width:"#{$small-screen}")" !default;
212
+ $medium: "only screen and (min-width:"#{$medium-screen}")" !default;
213
+ $large: "only screen and (min-width:"#{$large-screen}")" !default;
214
+ $landscape: "only screen and (orientation: landscape)" !default;
215
+ $portrait: "only screen and (orientation: portrait)" !default;
216
+
1
217
  // Set box-sizing globally to handle padding and border widths
2
218
  *,
3
219
  *:before,
@@ -17,7 +233,7 @@ body {
17
233
  font-family: $body-font-family;
18
234
  font-weight: $body-font-weight;
19
235
  font-style: $body-font-style;
20
- line-height: 1;
236
+ line-height: 1; // Set to $base-line-height to take on browser default of 150%
21
237
  position: relative;
22
238
  }
23
239
 
@@ -57,7 +273,10 @@ img { -ms-interpolation-mode: bicubic; }
57
273
  .antialiased { -webkit-font-smoothing: antialiased; }
58
274
 
59
275
  // Get rid of gap under images by making them display: inline-block; by default
60
- img { display: inline-block; }
276
+ img {
277
+ display: inline-block;
278
+ vertical-align: middle;
279
+ }
61
280
 
62
281
  //
63
282
  // Global resets for forms
@@ -67,4 +286,4 @@ img { display: inline-block; }
67
286
  textarea { height: auto; min-height: 50px; }
68
287
 
69
288
  // Make select elements 100% width by default
70
- select { width: 100%; }
289
+ select { width: 100%; }
@@ -5,6 +5,14 @@ $row-width: emCalc(1000px) !default;
5
5
  $column-gutter: emCalc(30px) !default;
6
6
  $total-columns: 12 !default;
7
7
 
8
+ //
9
+ // Grid Function
10
+ //
11
+
12
+ @function gridCalc($colNumber, $totalColumns) {
13
+ @return percentage(($colNumber / $totalColumns));
14
+ }
15
+
8
16
  //
9
17
  // Grid Mixins
10
18
  //
@@ -53,14 +61,21 @@ $total-columns: 12 !default;
53
61
 
54
62
 
55
63
  // For creating columns - @include these inside a media query to control small vs. large grid layouts
56
- @mixin grid-column($columns:false, $last-column:false, $center:false, $offset:false, $push:false, $pull:false, $collapse:false, $float:$default-float) {
64
+ @mixin grid-column($columns:false, $last-column:false, $center:false, $offset:false, $push:false, $pull:false, $collapse:false, $float:true) {
57
65
 
58
66
  position: relative;
59
67
 
68
+ // If collapsed, get rid of gutter padding
69
+ @if $collapse {
70
+ padding-left: 0;
71
+ padding-right: 0;
72
+ }
73
+
60
74
  // Gutter padding whenever a column isn't set to collapse
61
- @if $collapse == false {
62
- padding-#{$default-float}: $column-gutter / 2;
63
- padding-#{$opposite-direction}: $column-gutter / 2;
75
+ // (use $collapse:null to do nothing)
76
+ @else if $collapse == false {
77
+ padding-left: $column-gutter / 2;
78
+ padding-right: $column-gutter / 2;
64
79
  }
65
80
 
66
81
  // If a column number is given, calculate width
@@ -69,14 +84,8 @@ $total-columns: 12 !default;
69
84
 
70
85
  // If last column, float naturally instead of to the right
71
86
  @if $last-column { float: $opposite-direction; }
72
-
73
- // if collapsed, get rid of gutter padding
74
- @else if $collapse { padding-#{$default-float}: 0; padding-#{$opposite-direction}: 0; }
75
-
76
87
  }
77
88
 
78
- @if $collapse { padding-#{$default-float}: 0; padding-#{$opposite-direction}: 0; }
79
-
80
89
  // If offset, calculate appropriate margins
81
90
  @if $offset { margin-#{$default-float}: gridCalc($offset, $total-columns); }
82
91
 
@@ -92,7 +101,7 @@ $total-columns: 12 !default;
92
101
  }
93
102
 
94
103
  @if $float {
95
- @if $float == left or true { float: $default-float; }
104
+ @if $float == left or $float == true { float: $default-float; }
96
105
  @else if $float == right { float: $opposite-direction; }
97
106
  @else { float: none; }
98
107
  }
@@ -101,14 +110,11 @@ $total-columns: 12 !default;
101
110
 
102
111
 
103
112
  /* Grid HTML Classes */
104
- @if $include-html-grid-classes {
113
+ @if $include-html-grid-classes != false {
105
114
 
106
115
  .row {
107
116
  @include grid-row;
108
117
 
109
- .column,
110
- .columns { @include grid-column($columns:$total-columns); }
111
-
112
118
  &.collapse {
113
119
  .column,
114
120
  .columns { @include grid-column($collapse:true); }
@@ -119,17 +125,20 @@ $total-columns: 12 !default;
119
125
  }
120
126
  }
121
127
 
128
+ .column,
129
+ .columns { @include grid-column($columns:$total-columns); }
130
+
122
131
  @media only screen {
123
132
 
124
- .row .column,
125
- .row .columns { @include grid-column($columns:false); }
133
+ .column,
134
+ .columns { @include grid-column($columns:false); }
126
135
 
127
136
  @for $i from 1 through $total-columns {
128
- .row .small#{-$i} { @include grid-column($columns:$i,$collapse:null,$float:false); }
137
+ .small#{-$i} { @include grid-column($columns:$i,$collapse:null,$float:false); }
129
138
  }
130
139
 
131
140
  @for $i from 1 through $total-columns - 2 {
132
- .row .small-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); }
141
+ .small-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); }
133
142
  }
134
143
 
135
144
  [class*="column"] + [class*="column"]:last-child { float: $opposite-direction; }
@@ -143,26 +152,33 @@ $total-columns: 12 !default;
143
152
  @media #{$small} {
144
153
 
145
154
  @for $i from 1 through $total-columns {
146
- .row .large#{-$i} { @include grid-column($columns:$i,$collapse:null,$float:false); }
155
+ .large#{-$i} { @include grid-column($columns:$i,$collapse:null,$float:false); }
147
156
  }
148
157
 
149
- @for $i from 1 through $total-columns - 2 {
158
+ @for $i from 1 through $total-columns - 1 {
150
159
  .row .large-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); }
151
160
  }
152
161
 
153
- @for $i from 2 through $total-columns - 2 {
162
+ @for $i from 1 through $total-columns - 1 {
154
163
  .push#{-$i} { @include grid-column($push:$i, $collapse:null, $float:false); }
155
164
  .pull#{-$i} { @include grid-column($pull:$i, $collapse:null, $float:false); }
156
165
  }
157
166
 
158
- @for $i from 2 through $total-columns - 2 {
167
+ @for $i from 1 through $total-columns - 1 {
159
168
  .small-push#{-$i} { #{$default-float}: inherit; }
160
169
  .small-pull#{-$i} { #{$opposite-direction}: inherit; }
161
170
  }
162
171
 
172
+ .column.small-centered,
173
+ .columns.small-centered {
174
+ margin-#{$default-float}: 0;
175
+ margin-#{$opposite-direction}: 0;
176
+ float: $default-float !important;
177
+ }
178
+
163
179
  .column.large-centered,
164
180
  .columns.large-centered { @include grid-column($center:true, $collapse:null, $float:false); }
165
181
 
166
182
  }
167
183
 
168
- }
184
+ }