zurb-foundation 2.2.1.2 → 3.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.
Files changed (86) hide show
  1. data/.gitignore +17 -2
  2. data/Capfile +5 -0
  3. data/Gemfile +1 -1
  4. data/LICENSE +22 -0
  5. data/README.md +87 -0
  6. data/Rakefile +1 -0
  7. data/config/deploy.rb +42 -0
  8. data/foundation.gemspec +17 -21
  9. data/index.html +138 -0
  10. data/lib/foundation/engine.rb +2 -2
  11. data/lib/foundation/sass_script_functions.rb +29 -0
  12. data/lib/foundation/version.rb +1 -2
  13. data/lib/zurb-foundation.rb +6 -3
  14. data/stylesheets/_foundation.scss +14 -0
  15. data/stylesheets/foundation/_base.scss +6 -0
  16. data/stylesheets/foundation/_mixins.scss +46 -0
  17. data/stylesheets/foundation/_modular-scale.sass +332 -0
  18. data/stylesheets/foundation/_semantic-grid.scss +67 -0
  19. data/stylesheets/foundation/_settings.scss +71 -0
  20. data/stylesheets/foundation/app.scss +26 -0
  21. data/stylesheets/foundation/buttons.scss +175 -0
  22. data/stylesheets/foundation/forms.scss +130 -0
  23. data/stylesheets/foundation/globals.scss +34 -0
  24. data/stylesheets/foundation/grid.scss +132 -0
  25. data/stylesheets/foundation/ie.scss +16 -0
  26. data/stylesheets/foundation/mobile.scss +32 -0
  27. data/stylesheets/foundation/navbar.scss +107 -0
  28. data/stylesheets/foundation/offcanvas.scss +57 -0
  29. data/{vendor/assets/stylesheets/foundation/orbit.css.scss → stylesheets/foundation/orbit.scss} +68 -68
  30. data/stylesheets/foundation/reveal.scss +54 -0
  31. data/stylesheets/foundation/tabs.scss +89 -0
  32. data/stylesheets/foundation/typography.scss +83 -0
  33. data/stylesheets/foundation/ui.scss +352 -0
  34. data/templates/project/.gitignore +44 -0
  35. data/templates/project/MIT-LICENSE.txt +20 -0
  36. data/templates/project/humans.txt +8 -0
  37. data/templates/project/index.html +133 -0
  38. data/templates/project/manifest.rb +51 -0
  39. data/templates/project/robots.txt +4 -0
  40. data/templates/project/sass/_settings.scss +48 -0
  41. data/templates/project/sass/app.scss +20 -0
  42. data/templates/project/sass/ie.scss +4 -0
  43. data/templates/project/stylesheets/app.css +0 -0
  44. data/templates/project/stylesheets/ie.css +0 -0
  45. data/test.html +758 -0
  46. data/type.html +153 -0
  47. data/vendor/assets/images/foundation/orbit/left-arrow-small.png +0 -0
  48. data/vendor/assets/images/foundation/orbit/right-arrow-small.png +0 -0
  49. data/vendor/assets/images/foundation/orbit/right-arrow.png +0 -0
  50. data/vendor/assets/javascripts/foundation/app.js +92 -71
  51. data/vendor/assets/javascripts/foundation/index.js +8 -7
  52. data/vendor/assets/javascripts/foundation/jquery.customforms.js +74 -73
  53. data/vendor/assets/javascripts/foundation/jquery.min.js +4 -0
  54. data/vendor/assets/javascripts/foundation/jquery.offcanvas.js +50 -0
  55. data/vendor/assets/javascripts/foundation/jquery.orbit-1.4.0.js +103 -101
  56. data/vendor/assets/javascripts/foundation/jquery.placeholder.min.js +0 -1
  57. data/vendor/assets/javascripts/foundation/jquery.reveal.js +39 -15
  58. data/vendor/assets/javascripts/foundation/jquery.tooltips.js +96 -90
  59. data/vendor/assets/javascripts/foundation/modernizr.foundation.js +3 -4
  60. metadata +101 -46
  61. data/README.markdown +0 -163
  62. data/build.rb +0 -49
  63. data/lib/foundation/generators/USAGE +0 -15
  64. data/lib/foundation/generators/install_generator.rb +0 -27
  65. data/lib/foundation/generators/layout_generator.rb +0 -28
  66. data/lib/foundation/generators/templates/application.css +0 -5
  67. data/lib/foundation/generators/templates/application.html.erb +0 -31
  68. data/lib/foundation/generators/templates/application.html.haml +0 -30
  69. data/lib/foundation/generators/templates/application.html.slim +0 -30
  70. data/lib/foundation/generators/templates/application.js +0 -4
  71. data/vendor/assets/images/foundation/misc/button-gloss.png +0 -0
  72. data/vendor/assets/images/foundation/misc/button-overlay.png +0 -0
  73. data/vendor/assets/images/foundation/misc/custom-form-sprites.png +0 -0
  74. data/vendor/assets/images/foundation/misc/input-bg-outset.png +0 -0
  75. data/vendor/assets/images/foundation/misc/input-bg.png +0 -0
  76. data/vendor/assets/images/foundation/misc/modal-gloss.png +0 -0
  77. data/vendor/assets/images/foundation/misc/table-sorter.png +0 -0
  78. data/vendor/assets/stylesheets/foundation/forms.css.scss +0 -134
  79. data/vendor/assets/stylesheets/foundation/globals.css.scss +0 -139
  80. data/vendor/assets/stylesheets/foundation/grid.css.scss +0 -129
  81. data/vendor/assets/stylesheets/foundation/ie.css.scss +0 -13
  82. data/vendor/assets/stylesheets/foundation/index.css +0 -10
  83. data/vendor/assets/stylesheets/foundation/mobile.css.scss +0 -222
  84. data/vendor/assets/stylesheets/foundation/reveal.css.scss +0 -100
  85. data/vendor/assets/stylesheets/foundation/typography.css.scss +0 -63
  86. data/vendor/assets/stylesheets/foundation/ui.css.scss +0 -418
@@ -0,0 +1,6 @@
1
+ @import "compass";
2
+ @import "foundation/modular-scale";
3
+ @import "foundation/settings";
4
+ @import "foundation/semantic-grid";
5
+ @import "foundation/mixins";
6
+
@@ -0,0 +1,46 @@
1
+ // Font size mixin to include px and rem
2
+
3
+ @mixin font-size($size, $is-important: false) {
4
+ @if $is-important {
5
+ font-size: $size + px !important;
6
+ font-size: ($size / 10) + rem !important;
7
+ } @else {
8
+ font-size: $size + px;
9
+ font-size: ($size / 10) + rem;
10
+ }
11
+ }
12
+
13
+ // Grid Calculation for Percentages
14
+
15
+ @function gridCalc($colNumber, $totalColumns) {
16
+ @return percentage(($colNumber / $totalColumns));
17
+ }
18
+
19
+ // Default Font Stack
20
+
21
+ @mixin defaultFontFamily {
22
+ font-family: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "Lucida Grande", sans-serif;
23
+ }
24
+
25
+ // Create CSS Triangles in a Breeze
26
+
27
+ @mixin cssTriangle($triangleSize, $triangleColor, $triangleDirection) {
28
+ content: "";
29
+ display: block;
30
+ width: 0;
31
+ height: 0;
32
+ border: solid $triangleSize;
33
+ @if ($triangleDirection == top) {
34
+ border-color: $triangleColor transparent transparent transparent;
35
+ }
36
+ @if ($triangleDirection == bottom) {
37
+ border-color: transparent transparent $triangleColor transparent;
38
+ }
39
+ @if ($triangleDirection == left) {
40
+ border-color: transparent transparent transparent $triangleColor;
41
+ }
42
+ @if ($triangleDirection == right) {
43
+ border-color: transparent $triangleColor transparent transparent;
44
+ }
45
+ // .example { @include css-triangle(5px, #fff, bottom); }
46
+ }
@@ -0,0 +1,332 @@
1
+ // SASSY MODULAR-SCALE
2
+ // https://github.com/scottkellum/modular-scale
3
+
4
+ @charset "UTF-8"
5
+
6
+ // Ratios
7
+ $golden: 1.618
8
+ $gold: $golden
9
+ $double-octave: (4 / 1)
10
+ $major-twelfth: (3 / 1)
11
+ $major-eleventh: (8 / 3)
12
+ $major-tenth: (5 / 2)
13
+ $octave: (2 / 1)
14
+ $major-seventh: (15 / 8)
15
+ $minor-seventh: (16 / 9)
16
+ $major-sixth: (5 / 3)
17
+ $minor-sixth: (8 / 5)
18
+ $fifth: (3 / 2)
19
+ $augfourth: (1 / 1.4142135623730950488) // (1 / square root 2)
20
+ $fourth: (4 / 3)
21
+ $major-third: (5 / 4)
22
+ $minor-third: (6 / 5)
23
+ $major-second: (9 / 8)
24
+ $minor-second: (16 / 15)
25
+
26
+ // Defaults
27
+ // $ratio: $golden !default
28
+ // $base-size: 16px !default
29
+ $property: font-size !default
30
+ $class-slug: ms !default
31
+
32
+ // Modular Scale function
33
+ @function modular-scale($multiple, $base-size, $ratio)
34
+ // return the $base-size if $multiple is zero
35
+ @if $multiple == 0
36
+ @if type-of($base-size) == 'list'
37
+ $base-size: sort-list($base-size)
38
+ @return nth($base-size, 1)
39
+ // return just the simple $base-size value if it's not a list
40
+ @return $base-size
41
+
42
+ // if multiple base-sizes are passed in as a list
43
+ // and multiple ratios are passed in as a list
44
+ // calculate values in using each base-size / ratio combination
45
+ @if type-of($base-size) == 'list' and type-of($ratio) == 'list'
46
+ @if unit(ms-multibase-multiratio($multiple, $base-size, $ratio)) == 'px'
47
+ @return round(ms-multibase-multiratio($multiple, $base-size, $ratio))
48
+ @return ms-multibase-multiratio($multiple, $base-size, $ratio)
49
+
50
+ // if multiple base-sizes are passed in as a list
51
+ // calculate values in using each base-size
52
+ @if type-of($base-size) == 'list' and type-of($ratio) == 'number'
53
+ @if unit(ms-multibase($multiple, $base-size, $ratio)) == 'px'
54
+ @return round(ms-multibase($multiple, $base-size, $ratio))
55
+ @return ms-multibase($multiple, $base-size, $ratio)
56
+
57
+ // if multiple ratios are passed in as a list
58
+ // calculate values in using each ratio
59
+ @if type-of($base-size) == 'number' and type-of($ratio) == 'list'
60
+ @if unit(ms-multiratio($multiple, $base-size, $ratio)) == 'px'
61
+ @return round(ms-multiratio($multiple, $base-size, $ratio))
62
+ @return ms-multiratio($multiple, $base-size, $ratio)
63
+
64
+ // If there are no lists just run the simple function
65
+ @if unit(exponent($ratio, $multiple) * $base-size) == 'px'
66
+ @return round(exponent($ratio, $multiple) * $base-size)
67
+ @return exponent($ratio, $multiple) * $base-size
68
+
69
+
70
+ // calculate values in using each base-size / ratio combination
71
+ @function ms-multibase-multiratio($multiple, $base-size, $ratio)
72
+ // start with an empty list to place all values in
73
+ $scale-values: ()
74
+ // make sure base sizes are in ascending order
75
+ $base-size: sort-list($base-size)
76
+ // take each base-size in turn
77
+ $k: 1
78
+ @while $k <= length($base-size)
79
+ // add each $base-size to the list except the first
80
+ @if $k > 1
81
+ $scale-values: append($scale-values, nth($base-size, $k))
82
+ // take each ratio in turn
83
+ $j: 1
84
+ @while $j <= length($ratio)
85
+ // reset $modular-scale for each set
86
+ $modular-scale: nth($base-size, $k)
87
+ // do the scale for each base-size using this ratio
88
+ @if $multiple > 0
89
+ // up $multiple times
90
+ // and add the result to $scale-values
91
+ @for $i from 1 through $multiple
92
+ $modular-scale: exponent(nth($ratio, $j), $i) * nth($base-size, $k)
93
+ $scale-values: append($scale-values, $modular-scale)
94
+ // and down until the value is lower than the lowest $base-size
95
+ // and add the result to $scale-values
96
+ $i: -1
97
+ $modular-scale: nth($base-size, $k)
98
+ @while $modular-scale >= nth($base-size, 1)
99
+ $modular-scale: exponent(nth($ratio, $j), $i) * nth($base-size, $k)
100
+ $scale-values: append($scale-values, $modular-scale)
101
+ $i: $i - 1
102
+ @if $multiple < 0
103
+ // do the scale down for each set to below 1px
104
+ $i: -1
105
+ $modular-scale: nth($base-size, $k)
106
+ @while $modular-scale > 1
107
+ $modular-scale: exponent(nth($ratio, $j), $i) * nth($base-size, $k)
108
+ $scale-values: append($scale-values, $modular-scale)
109
+ $i: $i - 1
110
+ $j: $j + 1
111
+ $k: $k + 1
112
+ // return trimmed and sorted final list
113
+ @return trim-sort($multiple, $scale-values, $base-size)
114
+
115
+
116
+ // calculate values in using each base-size
117
+ @function ms-multibase($multiple, $base-size, $ratio)
118
+ // start with an empty list to place all values in
119
+ $scale-values: ()
120
+ // make sure base sizes are in ascending order
121
+ $base-size: sort-list($base-size)
122
+ // take each base-size in turn
123
+ $k: 1
124
+ @while $k <= length($base-size)
125
+ // add each $base-size to the list except the first
126
+ @if $k > 1
127
+ $scale-values: append($scale-values, nth($base-size, $k))
128
+ // reset $modular-scale for each set
129
+ $modular-scale: nth($base-size, $k)
130
+ // do the scale for each base-size using this ratio
131
+ @if $multiple > 0
132
+ // up $multiple times
133
+ // and add the result to $scale-values
134
+ @for $i from 1 through $multiple
135
+ $modular-scale: exponent($ratio, $i) * nth($base-size, $k)
136
+ $scale-values: append($scale-values, $modular-scale)
137
+ // and down until the value is lower than the lowest $base-size
138
+ // and add the result to $scale-values
139
+ $i: -1
140
+ $modular-scale: nth($base-size, $k)
141
+ @while $modular-scale >= nth($base-size, 1)
142
+ $modular-scale: exponent($ratio, $i) * nth($base-size, $k)
143
+ $scale-values: append($scale-values, $modular-scale)
144
+ $i: $i - 1
145
+ @if $multiple < 0
146
+ // do the scale down for each set to below 1px
147
+ $i: -1
148
+ $modular-scale: nth($base-size, $k)
149
+ @while $modular-scale > 1
150
+ $modular-scale: exponent($ratio, $i) * nth($base-size, $k)
151
+ $scale-values: append($scale-values, $modular-scale)
152
+ $i: $i - 1
153
+ $k: $k + 1
154
+ // return trimmed and sorted final list
155
+ @return trim-sort($multiple, $scale-values, $base-size)
156
+
157
+
158
+ // calculate values in using each ratio
159
+ @function ms-multiratio($multiple, $base-size, $ratio)
160
+ // start with an empty list to place all values in
161
+ $scale-values: ()
162
+ // If $multiple is a positive integer (up the scale)
163
+ @if $multiple > 0
164
+ // take each ratio in turn
165
+ $j: 1
166
+ @while $j <= length($ratio)
167
+ // reset $modular-scale for each set
168
+ $modular-scale: $base-size
169
+ // do the scale using this ratio thru the multiple, and add the result to $scale-values
170
+ @for $i from 1 through $multiple
171
+ $modular-scale: exponent(nth($ratio, $j), $i) * $base-size
172
+ $scale-values: append($scale-values, $modular-scale)
173
+ $j: $j + 1
174
+ // sort acsending
175
+ $scale-values: sort-list($scale-values)
176
+ // return the final value using the laced list
177
+ @return nth($scale-values, $multiple)
178
+ // If $multiple is a negative integer (down the scale)
179
+ @if $multiple < 0
180
+ // take each ratio in turn
181
+ $j: 1
182
+ @while $j <= length($ratio)
183
+ // reset $modular-scale for each set
184
+ $modular-scale: $base-size
185
+ // do the scale using this ratio thru the multiple, and add the result to $scale-values
186
+ @for $i from 1 through ($multiple * -1)
187
+ $modular-scale: exponent(nth($ratio, $j), -$i) * $base-size
188
+ $scale-values: append($scale-values, $modular-scale)
189
+ $j: $j + 1
190
+ // sort decending
191
+ $scale-values: sort-list($scale-values, 'dec')
192
+ // return the final value using the laced list
193
+ @return nth($scale-values, $multiple * -1)
194
+
195
+
196
+ // trim and sort the final list
197
+ @function trim-sort($multiple, $scale-values, $base-size)
198
+ @if $multiple > 0
199
+ // trim list so we can count from the lowest $base-size
200
+ $scale-values: trim-list($scale-values, nth($base-size, 1))
201
+ // sort acsending
202
+ $scale-values: sort-list($scale-values)
203
+ // return the final value using the laced list
204
+ @return nth($scale-values, $multiple)
205
+ @else
206
+ // trim list so we can count from the lowest $base-size
207
+ $scale-values: trim-list($scale-values, nth($base-size, 1), 'dec')
208
+ // sort acsending
209
+ $scale-values: sort-list($scale-values, 'dec')
210
+ // return the final value using the laced list
211
+ @return nth($scale-values, -$multiple)
212
+
213
+
214
+ /////////////////////////////////////////////////////////////////////////
215
+
216
+ // Shortcut
217
+ @function ms($multiple, $base-size, $ratio)
218
+ // Return the value from the Modular Scale function
219
+ @return modular-scale($multiple, $base-size, $ratio)
220
+
221
+ // Classes Mixin
222
+ =modular-scale-classes($multiple, $property, $class-slug, $base-size, $ratio)
223
+
224
+ // Loop from 0 through the value of $multiple and generate a range of classes
225
+ @for $i from 0 through $multiple
226
+ .#{$class-slug}-#{$i}
227
+ // Print the $property and return the value from the Modular Scale function
228
+ #{$property}: modular-scale($i, $base-size, $ratio)
229
+
230
+ =ms-classes($multiple, $property, $class-slug, $base-size, $ratio)
231
+ +modular-scale-classes($multiple, $property, $class-slug, $base-size, $ratio)
232
+
233
+ // Write Modular Scale List
234
+ @function modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
235
+ $ms-list: unquote("MS-LIST:")
236
+ @for $i from $start through $finish
237
+ $ms-list: append($ms-list, ms($i, $base-size, $ratio))
238
+ @return $ms-list
239
+
240
+ @function ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
241
+ @return modular-scale-list($start, $finish, $base-size, $ratio)
242
+
243
+ =modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
244
+ @debug modular-scale-list($start, $finish, $base-size, $ratio)
245
+
246
+ =ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
247
+ @debug modular-scale-list($start, $finish, $base-size, $ratio)
248
+
249
+ /////////////////////////////////////////////////////////////////////////
250
+
251
+
252
+ // Sass exponent support
253
+ @function exponent($base, $exponent)
254
+ // reset value
255
+ $value: $base
256
+ // positive intergers get multiplied
257
+ @if $exponent > 1
258
+ @for $i from 2 through $exponent
259
+ $value: $value * $base
260
+ // negitive intergers get divided. A number divided by itself is 1
261
+ @if $exponent < 1
262
+ @for $i from 0 through -$exponent
263
+ $value: $value / $base
264
+ // return the last value written
265
+ @return $value
266
+
267
+
268
+ // Sass list sorting support
269
+ @function sort-list($list, $dir: 'asc')
270
+ // built-in list sorting in Sass would make this go away.
271
+ // declare some empty lists to put our new order and temporary values
272
+ $new-order: ()
273
+ $temp: ()
274
+ // fill $temp with the contents of $list
275
+ $temp: join($temp, $list)
276
+ // if sorting ascending
277
+ @if $dir == 'asc'
278
+ // loop through all values in $list
279
+ @for $i from 1 through length($list)
280
+ // impossibly high starter value to compare
281
+ $low: 1000000
282
+ // check for lowest value in $temp
283
+ @for $j from 1 through length($temp)
284
+ @if nth($temp, $j) < $low
285
+ $low: nth($temp, $j)
286
+ // add lowest value to $new-order
287
+ $new-order: append($new-order, $low)
288
+ // empty $temp for the next comparison
289
+ $temp: ()
290
+ // re-populate $temp with remaining values to sort
291
+ @for $k from 1 through length($list)
292
+ @if nth($list, $k) > $low
293
+ $temp: append($temp, nth($list, $k))
294
+ @if $dir == 'dec'
295
+ // loop through all values in $list
296
+ @for $i from 1 through length($list)
297
+ // 0 starter value
298
+ $high: 0
299
+ // check for highest value in $temp
300
+ @for $j from 1 through length($temp)
301
+ @if nth($temp, $j) > $high
302
+ $high: nth($temp, $j)
303
+ $new-order: append($new-order, $high)
304
+ // empty $temp for the next comparison
305
+ $temp: ()
306
+ // re-populate $temp with remaining values to sort
307
+ @for $k from 1 through length($list)
308
+ @if nth($list, $k) < $high
309
+ $temp: append($temp, nth($list, $k))
310
+ @return $new-order
311
+
312
+
313
+ // Sass list trimming support
314
+ @function trim-list($list, $start, $dir: 'asc')
315
+ // built-in list trimming in Sass would make this go away.
316
+ // declare some empty lists to put our trimmed values
317
+ $trimmed: ()
318
+ // if sorting ascending
319
+ @if $dir == 'asc'
320
+ // loop through all values in $list
321
+ @for $i from 1 through length($list)
322
+ @if nth($list, $i) >= $start
323
+ $trimmed: append($trimmed, nth($list, $i))
324
+ @if $dir == 'dec'
325
+ // loop through all values in $list
326
+ @for $i from 1 through length($list)
327
+ @if nth($list, $i) <= $start
328
+ $trimmed: append($trimmed, nth($list, $i))
329
+ @return $trimmed
330
+
331
+ // Other libraries can easily query if this function is avalible
332
+ $modular-scale-loaded: true
@@ -0,0 +1,67 @@
1
+ // Inspired by https://github.com/twigkit/semantic.gs/blob/master/stylesheets/scss/grid.scss
2
+
3
+ // Mixin for Semantic Grid reponsiveness
4
+
5
+ @mixin respondTo($media) {
6
+ @if $media == smallScreen {
7
+ @media only screen and (max-width: $screenSmall - 1) { @content; }
8
+ } @else if $media == mediumScreen {
9
+ @media only screen and (max-width: $screenMedium) and (min-width: $screenSmall) { @content; }
10
+ } @else if $media == largeScreen {
11
+ @media only screen and (min-width: $screenXlarge) { @content; }
12
+ }
13
+ }
14
+
15
+ // The micro clearfix http://nicolasgallagher.com/micro-clearfix-hack/
16
+
17
+ @mixin clearfix() { *zoom:1;
18
+ &:before, &:after { content: ""; display: table; }
19
+ &:after { clear: both; }
20
+ }
21
+ @mixin mobileClearfix() {
22
+ @include respondTo(smallScreen) { &:before, &:after { content: ""; display: table; }
23
+ &:after { clear: both; }
24
+ &:last-child { float: none; }
25
+ }
26
+ }
27
+
28
+ // Outer row mixin for container rows
29
+
30
+ @mixin outerRow() { width: $rowWidth; max-width: 100%; min-width: $screenSmall; margin: 0 auto; @include clearfix(); @include respondTo(smallScreen) { width: auto; min-width: 0; margin-left: 0; margin-right: 0; } }
31
+
32
+ // Inner row mixin for nested rows, must be a child of an outer-row element. $behavior can be 'collapse' to get rid of margins
33
+
34
+ @mixin innerRow($behavior: false) {
35
+ @if $behavior == collapse { width: auto; max-width: none; min-width: 0; margin: 0; @include clearfix();
36
+ } @else { width: auto; max-width: none; min-width: 0; margin: 0 (-($columnGutter/2)); @include clearfix(); }
37
+ }
38
+
39
+ // Columns mixin, syntax is ($columns, $behavior). Behavior can be 'centered' which centers things or 'collapse' which collapses the gutters. ex @include row(4,[center | collapse])
40
+
41
+ @mixin column($columns:$columns, $behavior: false) {
42
+ @if $behavior == center { float: none; margin: 0 auto; position: relative; min-height: 1px; padding: 0 ($columnGutter/2); width: gridCalc($columns, $totalColumns); @include respondTo(smallScreen) { width: auto !important; float: none; } @include mobileClearfix();
43
+ } @else if $behavior == collapse { float: left; position: relative; min-height: 1px; padding: 0; width: gridCalc($columns, $totalColumns); @include respondTo(smallScreen) { width: auto !important; float: none; } @include mobileClearfix();
44
+ } @else { float: left; position: relative; min-height: 1px; padding: 0 ($columnGutter/2); width: gridCalc($columns, $totalColumns); @include respondTo(smallScreen) { width: auto !important; float: none; } @include mobileClearfix(); }
45
+ }
46
+
47
+ // Offset Mixin, include after a column mixin to manipulate its grid offset.
48
+
49
+ @mixin offsetBy($offset:1) { margin-left: gridCalc($offset, $totalColumns); }
50
+
51
+ // Push/Pull Mixins, include after a column mixin to manipulate stack ordering.
52
+
53
+ @mixin push($push:1) { left: gridCalc($push, $totalColumns); }
54
+ @mixin pull($push:1) { right: gridCalc($push, $totalColumns); }
55
+
56
+ // Mobile Row, synctax is @include mobile-row();
57
+
58
+ @mixin mobileRow() { @include respondTo(smallScreen) { width: auto; min-width: 0; margin-left: 0; margin-right: 0; @include clearfix(); } }
59
+
60
+ // Mobile Columns, syntax is @include mobile-column(#);
61
+
62
+ @mixin mobileColumn($columns:$columns) { @include respondTo(smallScreen) { width: gridCalc($columns, $mobileTotalColumns); float: left; padding: 0 ($columnGutter/2); } }
63
+
64
+ // Mobile Push/Pull Mixin
65
+
66
+ @mixin mobilePush($push:1) { @include respondTo(smallScreen) { left: gridCalc($push, $mobileTotalColumns); } }
67
+ @mixin mobilePull($push:1) { @include respondTo(smallScreen) { right: gridCalc($push, $mobileTotalColumns); } }