zen-grids 2.0.0.beta.1 → 2.0.0.beta.2

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 (62) hide show
  1. checksums.yaml +7 -7
  2. data/.travis.yml +13 -0
  3. data/README.md +81 -0
  4. data/bower.json +14 -12
  5. data/sache.json +5 -0
  6. data/templates/project/_base-elements.scss +22 -0
  7. data/templates/project/_components.scss +73 -0
  8. data/templates/project/_init.scss +14 -4
  9. data/templates/project/_layouts.scss +143 -0
  10. data/templates/project/_visually-hidden.scss +2 -18
  11. data/templates/project/example.html +53 -24
  12. data/templates/project/manifest.rb +3 -2
  13. data/templates/project/styles.scss +3 -2
  14. data/tests/Gemfile +11 -0
  15. data/tests/README.md +16 -0
  16. data/tests/Rakefile +25 -0
  17. data/tests/config.rb +22 -0
  18. data/tests/controls/compass-compatibility.css +112 -0
  19. data/{templates/unit-tests/test-results → tests/controls}/function-zen-direction-switch.css +1 -1
  20. data/{templates/unit-tests/test-results → tests/controls}/function-zen-grid-item-width.css +0 -0
  21. data/{templates/unit-tests/test-results → tests/controls}/function-zen-half-gutter.css +0 -0
  22. data/{templates/unit-tests/test-results → tests/controls}/function-zen-unit-width.css +0 -0
  23. data/{templates/unit-tests/test-results → tests/controls}/zen-float.css +0 -0
  24. data/{templates/unit-tests/test-results/zen-grid-flow-item.css → tests/controls/zen-flow-item-width.css} +21 -55
  25. data/tests/controls/zen-grid-background.css +52 -0
  26. data/{templates/unit-tests/test-results → tests/controls}/zen-grid-container.css +20 -5
  27. data/{templates/unit-tests/test-results → tests/controls}/zen-grid-item-base.css +9 -12
  28. data/{templates/unit-tests/test-results → tests/controls}/zen-grid-item.css +14 -2
  29. data/{templates/unit-tests/test-results → tests/controls}/zen-new-row.css +0 -0
  30. data/tests/tests/compass-compatibility.scss +55 -0
  31. data/{templates/unit-tests/sass → tests/tests}/function-zen-direction-switch.scss +1 -0
  32. data/{templates/unit-tests/sass → tests/tests}/function-zen-grid-item-width.scss +6 -6
  33. data/{templates/unit-tests/sass → tests/tests}/function-zen-half-gutter.scss +2 -2
  34. data/{templates/unit-tests/sass → tests/tests}/function-zen-unit-width.scss +12 -12
  35. data/{templates/unit-tests/sass → tests/tests}/zen-float.scss +3 -3
  36. data/tests/tests/zen-flow-item-width.scss +85 -0
  37. data/tests/tests/zen-grid-background.scss +85 -0
  38. data/tests/tests/zen-grid-container.scss +49 -0
  39. data/tests/tests/zen-grid-item-base.scss +65 -0
  40. data/tests/tests/zen-grid-item.scss +101 -0
  41. data/{templates/unit-tests/sass → tests/tests}/zen-new-row.scss +3 -3
  42. data/tests/unit_tests.rb +57 -0
  43. data/zen-grids.gemspec +4 -45
  44. data/zen-grids/_background.scss +97 -157
  45. data/zen-grids/_flow.scss +39 -22
  46. data/zen-grids/_functions.scss +119 -0
  47. data/zen-grids/_grids.scss +71 -171
  48. data/zen-grids/_variables.scss +65 -0
  49. data/zen-grids/internal/_functions-compass-polyfill.scss +70 -0
  50. data/zen-grids/internal/_variables-background.scss +57 -0
  51. metadata +80 -69
  52. data/README.txt +0 -88
  53. data/templates/project/_layout.scss +0 -117
  54. data/templates/project/_modules.scss +0 -78
  55. data/templates/unit-tests/README.txt +0 -16
  56. data/templates/unit-tests/manifest.rb +0 -37
  57. data/templates/unit-tests/sass/zen-grid-background.scss +0 -80
  58. data/templates/unit-tests/sass/zen-grid-container.scss +0 -44
  59. data/templates/unit-tests/sass/zen-grid-flow-item.scss +0 -78
  60. data/templates/unit-tests/sass/zen-grid-item-base.scss +0 -59
  61. data/templates/unit-tests/sass/zen-grid-item.scss +0 -91
  62. data/templates/unit-tests/test-results/zen-grid-background.css +0 -60
@@ -0,0 +1,65 @@
1
+ //
2
+ // Variables module for the Zen Grids system; auto-imported by other modules.
3
+ //
4
+
5
+ // Specify the number of columns in the grid. @see http://next.zengrids.com/reference/grids/#zen-columns
6
+ $zen-columns : 1 !default;
7
+
8
+ // Specify the width of the gutters (as padding). @see http://next.zengrids.com/reference/grids/#zen-gutters
9
+ $zen-gutters : 20px !default;
10
+
11
+ // Specify the gutter method. Can be padding or margin.
12
+ $zen-gutter-method : padding !default;
13
+
14
+ // @see http://next.zengrids.com/reference/grids/#zen-auto-include-grid-item-base
15
+ $zen-auto-include-grid-item-base : true !default;
16
+
17
+ // Specify the width of the entire grid. @see http://next.zengrids.com/reference/grids/#zen-grid-width
18
+ $zen-grid-width : 100% !default;
19
+
20
+ // The box-sizing polyfill for IE6/7 requires an absolute path. @see http://next.zengrids.com/reference/grids/#box-sizing-polyfill-path
21
+ $box-sizing-polyfill-path : "" !default;
22
+
23
+ // Specify the CSS3 box-sizing method. @see http://next.zengrids.com/reference/grids/#zen-box-sizing
24
+ $zen-box-sizing : border-box !default;
25
+
26
+ // Specify the minimum version numbers of supported browsers.
27
+ // @see http://next.zengrids.com/reference/grids/#browser-minimum-versions
28
+ $browser-minimum-versions : (
29
+ 'chrome': null,
30
+ 'firefox': null,
31
+ 'ie': null,
32
+ 'safari': null,
33
+ 'opera': null
34
+ ) !default;
35
+
36
+ // Specify the default floating direction for zen grids' mixins. @see http://next.zengrids.com/reference/grids/#zen-direction
37
+ $zen-direction : left !default;
38
+
39
+ // Reverse the floating direction in all zen grids' mixins. @see http://next.zengrids.com/reference/grids/#zen-switch-direction
40
+ $zen-switch-direction : false !default;
41
+
42
+ //
43
+ // Variables used by the flow module.
44
+ //
45
+
46
+ // @see http://next.zengrids.com/reference/flow/#zen-auto-include-flow-item-base
47
+ $zen-auto-include-flow-item-base : true !default;
48
+
49
+ //
50
+ // Variables used by the background module.
51
+ //
52
+
53
+ // Specify the color of the background grid. @see http://next.zengrids.com/reference/background/#zen-grid-color
54
+ $zen-grid-color : #ffdede !default;
55
+
56
+ // Specify how to place the column numbers in the background grid image. @see http://next.zengrids.com/reference/background/#zen-grid-numbers
57
+ $zen-grid-numbers : both !default;
58
+
59
+ // Specify a set of images to number the columns of the background grid. @see http://next.zengrids.com/reference/background/#zen-grid-number-images
60
+ $zen-grid-number-images : () !default;
61
+
62
+ // Set this to false to turn off all background grid images without having to
63
+ // remove calls to zen-grid-background() from the code.
64
+ // @see http://next.zengrids.com/reference/background/#display-zen-grid-background
65
+ $display-zen-grid-background : true !default;
@@ -0,0 +1,70 @@
1
+ //
2
+ // Private functions for the Zen Grids system; not for public use.
3
+ //
4
+
5
+
6
+ //
7
+ // Determines if the project has declared a minimum supported version number for
8
+ // the specified browser. This is a wrapper function that uses Compass'
9
+ // support-legacy-browser() if available.
10
+ // @see http://beta.compass-style.org/reference/compass/support/#function-support-legacy-browser
11
+ //
12
+ @function zen-support-for($browser, $min-version) {
13
+ @if function-exists('support-legacy-browser') {
14
+ // @TODO Use the non-monkey patched version after it's fixed in Compass.
15
+ @return patched-support-legacy-browser($browser, $min-version);
16
+ }
17
+ @else {
18
+ @return zen-support-legacy-browser($browser, $min-version);
19
+ }
20
+ }
21
+
22
+ //
23
+ // A stripped-down version of Compass' support-legacy-browser().
24
+ //
25
+ @function zen-support-legacy-browser($browser, $min-version) {
26
+ // Check against declared minimums.
27
+ $min-required-version: map-get($browser-minimum-versions, $browser);
28
+
29
+ // Ensure $min-version and $min-required-version are strings (or null).
30
+ @if not (type-of($min-required-version) == "null" or type-of($min-required-version) == "string") {
31
+ @warn "map-get($browser-minimum-versions, #{$browser}) must be set to a string (or null); #{$min-required-version} is a #{type-of($min-required-version)}.";
32
+ }
33
+ @if not (type-of($min-version) == "string") {
34
+ @warn "The $min-version parameter of zen-support-for() must be a string; #{$min-version} is a #{type-of($min-version)}.";
35
+ }
36
+
37
+ @return ($min-required-version and (zen-str-to-int($min-version) >= zen-str-to-int($min-required-version)));
38
+ }
39
+
40
+ //
41
+ // Poor-man's string-to-integer conversion. We are only concerned with IE
42
+ // versions, which are integers, so we don't need a better solution like Hugo's.
43
+ // @see http://hugogiraudel.com/2014/01/15/sass-string-to-number/
44
+ //
45
+ @function zen-str-to-int($string) {
46
+ $integers: ("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100");
47
+ @return index($integers, $string);
48
+ }
49
+
50
+ // To work around a bug in compass-core 1.0.0-alpha.18, we override Compass'
51
+ // support-legacy-browser() function with a version of our own.
52
+ // @TODO Remove this monkey patch after it's fixed in Compass.
53
+ // @see https://github.com/chriseppstein/compass/pull/1524
54
+ // @see also https://github.com/chriseppstein/compass/pull/1520
55
+ @function patched-support-legacy-browser($browser, $min-version, $max-version: null, $threshold: $critical-usage-threshold) {
56
+ @if not index($supported-browsers, $browser) {
57
+ @return false;
58
+ }
59
+ // Check against declared minimums.
60
+ $min-required-version: map-get($browser-minimum-versions, $browser);
61
+ @if $min-required-version {
62
+ @return compare-browser-versions($browser, $max-version or $min-version, $min-required-version) >= 0;
63
+ } @else {
64
+ // Check against usage stats.
65
+ $usage: if($max-version,
66
+ omitted-usage($browser, $min-version, $max-version),
67
+ omitted-usage($browser, $min-version));
68
+ @return $usage > $threshold;
69
+ }
70
+ }
@@ -0,0 +1,57 @@
1
+ //
2
+ // Raw background grid images for the Zen Grids system; auto-imported by background module.
3
+ //
4
+
5
+ // If the user hasn't provided their own set, use our default set of 25.
6
+ $zen-grid-number-images : if(length($zen-grid-number-images) != 0, $zen-grid-number-images, (
7
+ // The number 1.
8
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAARVJREFUeNpi/P//PwMMMDIyMpALYOawEKEWpIYPiAWg7M9A/B6If4LMwaaYkGHiQKwFxJpAzA3E94H4LBA/BOJfWJ0Kw0iAFYhFgFgHiIOBuPHGjRtvf//+/X/WrFmHgHxPqIsxzGHC4TJ+IDYCYu+EhIQ4oGG5ysrKQiCJX79+cQApXqilDMR6mROI5Z8+fVotJibGS0rk4HLhd1AYSUtLd8rLyy/78uXLb0oN/AjE54D44LNnz27euXPnHaUGglz0BoifAvEHaniZbDBq4BA0EJR8vjAxMf2FCbCxsf2AljhYEzsjgfIQlKe1gVgPiCWAGGTwbWylDcwcQgayQIssASj9D5qLMMpDYg0kucSmeqQABBgAsyJrV7MArsMAAAAASUVORK5CYII='),
9
+ // The number 2.
10
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdBJREFUeNqslL9LQlEUx3367AdamdCQaVjQ0uAQBS+hxbVBhEcESoOG/0SDS9HakDYGEU0huLa1GW4tGtkkURBlQRn4LPseOBdej0u+ygsffByvH98995zj6Ha7DqIfizyKkCmKYv1eBaPAB4ZpP3gDz/zZ+Y1wAEyBeTAH/OATPIBrUAP3oG0VOiRHVli2nslkTmu12pNhGF2iUqncxePxI3yngwDv7SkcAstYeSEy02w229FodB97NN77TeiU5NYDJlOp1KII5HK5y2QyWaZnr9frxvMSv6HH+mOZkPI3EgwGfSJQr9db5g2hUGiMZW47wg/QUlXVMAd1XQ+I50aj8cI3bUhrx5JD+ucI2ADb4DASiZyZ80j5pTzLcigTOlkaBqtgp1gs3ghZqVS6QmyTTm73lkXpTIBEOp0umm9Y07QDxFdkF/KTcBAsgC3k61UI8/n8BWJJrlOnXaEo7BQJhKxarTYR2+OiDnM1OOwWtkbFS0cUwlgsdo74MdgFa2AauOwIqW8ThUKhLOsUIpvNnmBPlIdGz06h1fH7/a6/jDDZtKEjz/ClzFrfAuudpw1d0C03wo/jS2HpOM9Da3tRd1CnPNodX/+a2H0XfgkwAIVYVeQ1/9a6AAAAAElFTkSuQmCC'),
11
+ // The number 3.
12
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAe5JREFUeNqslM1LAkEYxnX7lL62CAmTwENkhyKwDkZg185dgvDQwS7RUQkvkRfzKNQfIF5CukjRJelk4EWwDmVUEJinaNlSMLPWnhdmYFvWGqiFH44z8z7zzjPvjKXZbFqI//hIx8rFrFarfkwCNiCDPtABNFADKngFH6KC1BgEE2ASOEE3E1DALbgCZfBuFLSYbJmC51wu1046nb5pNBpNTrFYVEKh0DHGV8AoW/xXQTsFJJPJC72YHq/Xu485Xrb4N0HJxFvybsjtdtt5Rzwev04kEvf8v9/v97CFbcbgdhPBT/AmSZLGOxRFaRgyoa22scP7VbACih6PZ5cdzAjoSqVS03xCoVB4wM8zLWxaOwYPaZEBMAXWI5HIud6/TCZTQv82mBX18MfP5/M5Y7HYAprDlLlIhpTdPNgEe+AQHOVyuSeeJZUT+taAQyRDuhnufD6/heANsBwOh8ey2ewTn+BwOPrZCXcYg80EycMeTdNa2lGpVN5ZNWgiglQitWq1Wtd3yrLcydvlclll1VAX8ZAehCUYf9rqpgQCgQPMWQS9IlePtuyiCxGNRs9UVa1zoVKpVA0GgycYWwVjrLiFnq9OFjADxlkm5NcLuAOX4NHstWklyEVlBvfvjb2HL8xri8iW//Ri/7vglwADAMZnRpCsTg8QAAAAAElFTkSuQmCC'),
13
+ // The number 4.
14
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAW5JREFUeNqslDFLw0AYhpOaSFuiDjqViiUKVhACDpJCQycX/TVChCz+Evf8ALtlCGZyCW6uOiR4QusgSgtmiO/BBZJ4l1qSg4dwd19e7vvuvU9K01SiNDGojpyJybLMi9kEu2AHqGwtAZ/gA/ysI6iAPjgHx6DD1pfgGTwCUhaUKlLeBheO49wnSZLmwfotGPJSblWUZAscmKY55Ox1ciUoDJGgwmrXm0wmg3UuRiTYpWK2bY80TVN93yd1BWm6/fF4fEgnQRDM6ggW0iWELKbT6byOYCFdz/OIwJ9d3sW0BOn2LMvS6cR13TeBpfaZ4f96p+TDI3ATRdF32X8ZcRx/IeYa6P/x4YbIY7kfZZEXeYL0rS7wFIUdg+0tWWxxj/OW98AZOM0ag2EYgzAMr7IAVVXv8PHAA5jnU1Y4B6Cd5Am8sJvU2+32ZSnmHbyy2JUnLOzTGwcjcMLqVtltVgnyemJlP5Sa7tiNC/4KMAAbxb+98QKR2gAAAABJRU5ErkJggg=='),
15
+ // The number 5.
16
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAc5JREFUeNqslM9KAlEUxp0xzSTNDHMoCiIKKRChXbgIAldKEK5y4Up9A5dufAMRRB8gwnW7lkV/EBcR0WzaBMEQFRNFlkNO34E7MU23msyBHzNz58x373fOPdeh67qDGMRFOkOccQEMg3EwBlyW7xp4AHega/2ZJ0gCM2AFLIARy/cOkMEJuAZvX5ZpsRwEyUajsa9pms4jn89vI2bVOhnpiJwVkt2JcDg82U8eeZZpEqd5IJPJHDebzVtmj3J3BBReDsU/LoAEn1keSazXl2AikQghd0mw2Wq10vF4nAo2DTx9CWaz2XnjORaLSYVCYR2Pc8BnR5BsdURR/NgO1Wr1rFKpnBvvkUiEChYCXjtFobx0U6nUHu4XxgSlUmnZCJAkycfEXHYE3dQh7XY7HY1Gp2igXC63e72e1Y2T55BnmQI9ZgG/3+/Fu5OTGltVfqFelWX5xhgIBAJuc4CiKI+4PbG+dvzWeqNgLZfL7XzXevV6/QAxG9RRVi2eIFmbBVvFYnEXK703hFRVfa3Vaoe0k8Aiy/cnQcEQEwTBWhjauEvsxAmyicjmJTgFVyw9uh1BYwf4KYXsVBFYu6nsPOyaxX6y/K8TW3QM+HoXYACXiuXQRCn2XAAAAABJRU5ErkJggg=='),
17
+ // The number 6.
18
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcZJREFUeNqslLFLw0AUxpPWKNZag6igqYKgCA61dhScHbV0URwcCo7+DV1K5y6FTlIcdQl0dhKkdBAHsaJ1MBQdJEZNKmnQ+B3cQZte2wx98OPIu5ePe+/dO8F1XYEwDCM6I332yd4EkOkaBA74BB/AJhq8n3g2ChbAGlgBs9T3A57BDXgBTfDXdUxPygGwCPbT6fR5tVp9dRzHZRQKhWvsHYMNevIOLZ4gCdpOJpOn7ULtlMvlO8QcgnmvYICTbogEplKpTeYolUpPmUzmln3H4/ElLFO0DII3PV79IuFwOMQchmG0stlsXZIklRCNRs/gfqc1HSgogTFFUSaZIxaLyZqm7SDd3UqlsgVB0kwLtLh3x1PDZXCCZrz1qqGqqg+IOfJbwy5DDev5fP6efScSCQXLnLfLvVLuMlJDXdcdTmmCfgRJ/r+8KfBjPEFyErvRaHwPGl2/o0c692WaZpM5ZFnuuG+WZdm0y46fLg+clGKxeIWYPTDjZ/TYLB9gli9qtZrOhNAcO5fLXdIrs+qdFKIjMjFRFL3TQq7GOv1xmnbUBI+AjKHmfcL6CbL6Ruh7OE5CaH0NSotXPmHYL3ZAGLL9CzAANR4i5o9tHM8AAAAASUVORK5CYII='),
19
+ // The number 7.
20
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAbBJREFUeNqslL1Kw1AUx5O2ih8BsWoRAw6SgAHJKvQFunWqQ18gs5Oj4DP4DuLomqWTjhVEKYVapDRBrdXUqtU2avyfelNCbGwTvfDj9N5L/j1f9/CO43C0eJ7n/rIGOgGCk2ABzIEJ73fgDbTAI7DHEYwDEWyCdTDtEfwAFrgAp6DpF+z/GGy+FwmkNU07sG3b8WMYxhPut8GaP2QiFiFXFMqMLxU/lT2LQl4FW2AX7IPDUqnUIg/r9foz9jtAHtdDytMNOAZH4EQUxY4sy1QgrlKp3MNQ2N1hDiYCIuuBa/BCBcrn8yvuBTy9hSHR12Efjsoh5WpRVdWBYLFYNFmlIwlSxecVRUm5B4VC4QrmgfVjKEG6E0BSkqQkHVSrVatWq1Eq2izXoQSnSCybzcqCIPRbpFwuN1m4HfZqQglS/lKZTEZyD0zTtNiz6/4WVtCaBUvI37J7oOv6Jcwd85Abt7HdP9qgxrYsq0cNTRb7PaAOc2TU06PzRC6XE938NRqNNvOOmvozyMGg8RXzTByFvVsqyDk4Y20Tah76Z2KcNXKLtcx7FMF/ndiRBb8EGABjzN026ymFhAAAAABJRU5ErkJggg=='),
21
+ // The number 8.
22
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAahJREFUeNqslLFOwlAUhi0IGpGUoEMTjYnGmLgYEhhN4+qkzpo48Qg8gimMTMDI5hO4GJ3UgUkXOhgGJCYYI5bYRKBD/Y85JeXmokW8ycdtzz39ezn/7VFc152hoSjKzLSDtJQfBCNABQkwz7EBsJjBJIJRsAp2wCYLh4ANHsE9eBJFv7XoxxPlEQZr4DiXy120Wi3bcRyXsCyrbxjGNa1xTjiIYAzo2Wz23BMSoTXk7IFFUTAkqS3VazmVSq17gWq12igWi6Z3r+v6NiYNLIgPywQVMY6/OlIrVVXn2LRQEME+6DabzVcvkEgkov6Eer3+jOkN9KRnR1LDXWCYpvku1q9Wq71g7YxzYkFMWQJHpVLpbpwp5XL5FjmHnPurKfRWLZPJDE0hQ/ympNPpDUwrIC4+PCsRDHPBhye90+k4/gRN0+J8ZCJBTHF9TDxkO6TdfNq23fcCyWRyZCftdvuDP0MniMvUDPYLhcLlOFMqlcoNcg5kpsgEaddkyEk+n78Sv2VyH2unYIubyNTdpgEeuNv0/LWeph92+dqdpMH+e8f+k+CXAAMABxE8L2GVSOsAAAAASUVORK5CYII='),
23
+ // The number 9.
24
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAaVJREFUeNqslEFLAkEUx910N8tclk5FEEQUGB3qC0gXbx70WBie9CP4FfTq3Q/QTYPFU/UFOiQh5EEI1iAsWLZ0Q1tq+7+YCVtG19KBH8O+2f0xs/PeC7iuGyDmMcgTmrBOayrQwBKQwABY4AU44z4SDQVsgD2wA1aZkERtcAsewLtwm54jB8EmOCkUCnqr1TIdx3GJTqfTL5VKl1jLgC3vhr49AuEKOMrlcmdc5AXSC7yTZDv/JVwQHHcZrMXj8RgPVKtVo1wu3/HnVCp1yHaoej8WCWWSqqoa5gHDMGzTNH8uIRKJLLKTKNMIKSZHo9GwT5ZIDF/hTEOUNh+UDr1eb8ADmqYpswhJ9Nztdp8w71Igm81uTysUHfmNkjafz5/rut4even/Cimx6RaD6XT6WpZlnWg0Gpa3Jhi+Qqrb9Xq9nkESH4NkpVKJjb5g2/YQU19UeqJ/SPk2aDabj4lEYl/0D2u12g2me/A6TS2HWBWcFovFK8uyhn+pZYnLJEnydhtqEAes21BVfPp1m0lCLtUYykhKje2H47rNTB177qX3JcAAagDd/y1YjuwAAAAASUVORK5CYII='),
25
+ // The number 10.
26
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdZJREFUeNrclD9IAlEcxzW7tLiyrCXrgoiGaInIIQKhwc0xkCYDcXYVDRqaGp2dXASpKYgGlxBbcmvJqCPKSCE4PbMyr7q+D35P5Lj+EC714MO73+/33vfen9/7WSxdblYTXx8YJli8TtjJ1w908Ahq1L9+JsjEJsEimAU2IINrMEI+F3gH9+ASnIM70DIKjYMlsOHxeFK1Wu1F0zQ9GAzuw7cVCoX2isWiwnyMQqFQhm8XsXUwRT9vr3ICrIFttHy1Wm3xiYFAIO/z+bLcNhIOhzOYtwoGmVgPMeT1ej0YsBmNRldEURT433Rdt0F0mtupVEpOJBJn3Pb7/QvoJCByQXYe9VwuVxAEYQdbPDLekiRJA/wbR9FSFEXjttvtHqLV2bmgTgd8DHLpdPrUKOh0OoVvMsXGL7iXnOyGymCM0uDXrafbif1PBFVV1b4I6x38TLBUKj112i6Xq33rjUajyTr+9Hq/rR5W61smk7lCfs4wOxKJzHXGkWYn6G7Ag9kK2daeOx0Oh0PJZrP5eDx+IMtylfsrlcpjLBY7TCaT7K1fgCezasMKxDKYpzL1TBXFWG3YPJVi7CHc8i2bla9R9jiAQCtWTeohm9ekeqjSuD/SPgQYANoDxDJkiCZZAAAAAElFTkSuQmCC'),
27
+ // The number 11.
28
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWxJREFUeNrslE1LhEAYx9eXlcK2jQgTRDwYRC90iL5EdOwQdBBP3foEnTr2DcQP0KE+RUHHgm5GRoTpqfcVLMXd/hNjjKJshz3soQd+jPMf53FmfObfao04uAZdBNNghj73wCvIQadG/wKDpoTkxXmwDJaADO7BNfgECxX9EjyAtJqoDebAKtgGh57nPWdZNnAc5wL9PWCxuuu65+hv0hX/BM8k7IJ1sGXbtoVJ+6ZpzpKBJEnINjcsy9ph9TRNJ+gRtNntFTEJjDAMDxRF6bBLz/NcCIJgV1VVedhPYVeYkLPQNO3IMIzjOI6zYkAQhFzX9RPop6w+LOE7uAJnURTd+L7/8rsNUSQHHkJ/ZPWm8iiCfPmJTARvpdriuD6a+C91yI+6sP8TjmFCsUYj5RPzPJ8XgiRJxBRI/WU1eo/OabQvcqdXwBpQqWXdgjswBRYresltmuxLpg5C2j69RR/UBLoVveSH4x/fAgwA+s1/zoQYuDcAAAAASUVORK5CYII='),
29
+ // The number 12.
30
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmJJREFUeNrMlM+LUlEUx5/Oe9KkjVOUyZhKM22mQhdRDC5atJidmOZOBXHhxj+goIW6khauDP+AUHctWiS4CYJQw2hoaOGURGU6QY3OkGXjr9f30rnOwxxGokUXPtx7z333vHvu+d4jCP+4qabYRLAAFmn8jdCQbR7I4DvYpX5wmEPm4Cy4CFaBFnwAH8FJsAJOgRH4At6CKvgMekpHEjgNLoNbIF6tVnf6/b6cTqdLmMdCodBD2FrMxqhUKtsul+sB1rxgafJwzNk6uB0MBh8pNyaTydd2u/0xnytpt9s9h8NxH/vWwDEeokD3Ym00GncNBsMJ5Z9kWVYHAoHzfB6NRjdrtdqPbDa7ptPpJJ/Pd7VYLD6h8H+q6bsuuyuTyXTParXmOp1OX+nUYrFo+Zg5U66ZzWY93TW7NoE73AMvwdNms7mFTa1x1lSqkSiKA6UTr9e7xMf1en2PMt1XhswmX0GDpHCQdlHseTyePE3P2Gw2k9vttvD1TCbzAt02OR2f8NCmVquH6N6DV6AZi8VW+Fo+n39TKpU2MPwE9mdyiJBlksRxSGfV6XQuMzu750QiwZKxBVok9nHIRzUm6oV4PL7ODblcbqNcLj/D8B0lVZjphKPRaI7pNJVK3TAajVrK9G4kEilRmJLyYEc6HAwGGgj7gt/vt3EbnG3SY7gCrgEjmJv5hBD2MhMxtxUKhet4KT5wJxwO34TpHBWPP+6QyadDmf39yCVpX6/Xa/62fDHVXwI2CmNIGRSoysxPfN+lavOcNDycVr60VPe0VKa6ivcuTYmIvZSdyfL1/7ZfAgwAPr/v4RS2v5YAAAAASUVORK5CYII='),
31
+ // The number 13.
32
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAl9JREFUeNrUlM+LUlEUx98z3zRTNiMVkTq4C4xkFpWCFBqu20ghRYrt+gsUkZK0hbh00WqEcGPgzhhatIgUJTAEaTEaTRA4ziym/DGazficZ98b58arnJBo04UP991z7j0ev/fcIwj/eIhTbHNATzD/AHwFC+AEkIBCti7YBePDArJgy+AiOAeOgC3QBifJN08BmO09WActMPo1kAFcBndtNlum2+3uy7I88fl8L0wm05N8Pv+OrTmNRqMdCoXWsP8WMKmTE8lwEzzCKHU6nRE/6PV6X6fT6Q11MDUOh+Mxzjkoc0FDLDqdThs23A+Hw1d0Op2kTt9qtS7x71QqVc9kMh/42u/3X8J0hjT+HowJvFssFt9IkpQMBAKvfro1UVQ0Go3C1+12W4YcP/SaTCYiac1iCVpmAzugDIbZbHYBGVzjB7Ra7Z7dbn9Kf+k0OJrL5Va4v1arfcT0GezxDAW6oW3QBF/UGSLgEFMD1OPxuAGyXPd4PGbmKxQKm6urq+t05kAd8K+Gy+VaTiaTV3nmMwUcj8fHMFnA+Wg0ug2d16rV6ifut1gsZiq547MGnK9UKrfxV++BG5FIxFwqlXa432g0LtINSzMFxC1qFEU5dF+/3x+RfsrMGvZ6PVm91uv1c/y71Wqx99wH+7xs/tw9RPGgXC5vud1uppMQi8VW1H7Ub53e+3DaeSb+A/XTQqE/g+1hIpF4yd83o9lsDoLB4HP47gAzFfdv3cZA7/ICCc1a1AbV51nqQDrSq0e+t2CTd5tp7esUWKJbk+nggH5AT3sEehld8svCfzO+CTAAQZUW1CtBkesAAAAASUVORK5CYII='),
33
+ // The number 14.
34
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgdJREFUeNrMlLtPIlEUxmFYdxlh1zeaABkT3Oj6IrFiC4FQammMsTGUNBZ0JBsLS/8FSgvspYKCBBsbNLEwYsSYjcBsIj7QiUZGmP2OuWMmehWMW+xNfrkz95755p7HPSbTPx5mzton8A10sucbcAk00A06QBuzVUEVnIMaT5AE+sEo+AFs4ATsgQbwgmEgMvs7sA+2gWwUoj/2gnEwB1bz+fy5qqpaPB7fwvsCmI/FYpu0ZgTrK2BEFxLYTG5MgdlwOLwEsWWPx0PumWq1mhWTEwz5fL4RTohEQwgeXdQXpVKp9MvhcHzlfGQHXYFAYLBZUgRDLH47nc41SZISiqKouoGmaRTnL9FodMJut7dlMhm5FUHK1C7Ilsvlw0KhcKEbNBoNC2Xd7/dL9J7NZs9aEaQTVUAJXBkN6vX6Y8KCwaAky/JtMpmstCL46qATRiKR7+RuOp3mufsZtOuJEVqp/lAo1EdzIpEoc7bpErhZpTxl+c2BcqEaNaVSqenne8VicdHlch0w4Yrw0bvLqkB8l8tms1lrsnfHEtvcZYvF8uB2u9fxqFDwvV7vYC6Xm9X34e4GplNwzROkvyiCINSf7pUo3rDLfwwcVqt15tk3f1gDqfK6DWVqDEyCASpDcAR22Cl6wE/WiURet+G1LxvrhTbWsqqsH96zwPcYeuKLfvj/j78CDACe8KXB21214gAAAABJRU5ErkJggg=='),
35
+ // The number 15.
36
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAi5JREFUeNqslE1rGlEUhp2ZjDFKrLGkKK2LIgUhG03iIqm4aMFVoVC7KS4sUhT/QJduXHWpuOvKjYI/QRCCEJIqGtpa2kWyaNNQoV8m1qZ1yEzfG84Ng5mkE/DAw9yPmXfOOffcI1qmbDMGa1bgIgTwh9bngDzxrgIOwXcwNhJkYrfAMrgDJPCT9twkqrdj8AG8AgfgRC/kBavgaTgcLg8Gg7+KomiJRKJRKBR22NiIdDpdwTfr/GcihbUI7oKH+Xz+Wb1ef+JwOKynMSmK3ev1uq+SQybqjEaj4Uaj8fx/H8Dj7Vqt9o3CY7nbAn2eQyamgqNms9mWZflFMpncMOkME/xNeRyTzqmgBr6CTdCsVCpvLlOJxWKLSMMD8Kjdbj+ORCIrWL4JbFzQQn/4AvbB6DJBRODn42Aw6MlkMvcxvA3m9YIXmiAIqiRJZ+VQKpXeFovFd3weCARu0KHaLyrsc4LxeJzV2Q7l7TiXyy3xfY/HM09isilBTdPEVqt1LxQKMU8sKKuOqqqTkUk8WtGMoF7A6XTaMZcMTlw1Jcis1+sd8rHL5bLq9/r9/hCPX3SvTeXwBAV/wE9Xf8rMut3uHh6fwdBIUKFCPTObzfajXC53fD7fMJVKrfv9/gW2PhqNxtVqtZPNZl9i+p4LChOCrEGsgSW67Ex8F3wEC9SB3HQILEzm3WvwidqcJhi0r+vgGpUB73dHYJZ65Bw5wi7DgPbHdOOmb+K0Bf8JMABAPsyYlTRVAQAAAABJRU5ErkJggg=='),
37
+ // The number 16.
38
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAiZJREFUeNrUlE9IG0EUxmPXtdpC3P5RUhtSpBU8RQiUQj2UHILHXgs95BAwwUsOOQa8padACSS5mEvwFKQFaS4lhxIQJAQaRcSDbsVspC0tMUZjcLdt+r3wRraLaIReHPix896++Wbmzcyz2f5z6zvHNwDugWG2D0ET9AMF3AYSMPjfATgFHasg9QeBC3jAE/bvgF2egHwjPGkbfAEVUAUn4I95VQ/BNJiNRCIfDcPoELDTYD4QCCyVy+Wvwk+k0+lVigdTvPJuo62Mg1fgTTab3TAPgu+9z+crmH1m8vn8JmJegwdCcAg8TSQSy+cNwL8PmUxmR9job0ej0TVh12q1I8TMgUckdoOT+zMcDudkWX6bTCY3rKdkt9tl0W80GnosFlMRu0w4nc5FGs857Qr+AvuA8vG5UqloVkGXy3VL9N1ut6Jp2gxW97JUKj2HIKWsBXQhaGPjB/guSZJ+0T3zer1jDoejewAej2cklUq9QPc+p+5MsOeGQ1OR7y1hQ5Rux6g45SsLUg7r9bphcct82a8ueFnrSbBarZ5cEtIRT6+/F8Fms3m2RUVRBsz/Wq3WKZ+y0augkcvldv1+/2MyxFe0YrG4xW/5yLrl3zQTLmvbIvitUCishEKhd6qqHphWpsfj8U/BYHAB5iZXpH+qjcQF4hmY5HvV5mqzB+6ACXCXY4/BNlgHmihhfRfUQtlU82j2m1wPh3gh9AAajG67Nu2vAAMABvAJLzvmvhMAAAAASUVORK5CYII='),
39
+ // The number 17.
40
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAglJREFUeNrUlE1LQkEUhm/qtQ/tu6ggxMIgbKUkkYJrF0I7wZUt+g39AVetWwVu2rjwF4gglBAhLQQXSghhEmX0gYVlddPbe+LcmG6JGW0aeJg75555Z+acmSNJf9x62tjNYIQhnyYwAVnnp4A7cANe2gmS2CxwgwVgBE+gnxFbAxTBITgHql5oBiyDdY/Hs1ur1Z4VRVHD4fA+9d/h9Xq34e/iE0gG4eiTwAfWotHoRiqVClssFlpEajab5nYxw78+dH2alontNBjy+/2edDq9qZ9kNBpfZFne4TiNxWKxlUgk4uDfdMxX0BJ3SIP7TCZzhIlbcN4TBWGro8uCDMXK5/NNkL1eryvZbPYMn4+cuA9BWuUKHNCkeDye1+8Q3SVl02azyQ6Hg7Iv5XK5C3TXpK0lxCTMo0nkQKs/fBMuitNAKBRa1AyFQoEWueVsS3rBTu392tjt9nHNUC6X6f7VREFDF4K0wzGn0zmlGRKJxDHv8Ok3grTDUZfLRXdVqlarD5VK5ZJfymtXgqqqkl9/MBict1qt78+vVCqJx1W7Emy1WiQyFAgE5jRbsViscoYfRd8fCeI19FL2xfglk8kTLgqNToLKFyeDgWLU43a7pzVbPp8/5YQ8dypfFPRVsMSJaPDRFL6jg5zVAleZCzGG7coX3bVhrn8Kx0nlBcyc1U918P+0NwEGAAJMv5rEne+7AAAAAElFTkSuQmCC'),
41
+ // The number 18.
42
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrUlDGPElEQx5c791yRkw16itFYGCxOY4FIjMEQw2cwIYQCGwoqKhIKC4PxiAUFHYkVDRhLC0uj5GgwErVgC91G1GCMwHoQdTe6/ucy77K34sElNr7kx2Nm9s2bNzPvSdI/Hp4ZuhWgMmT/CraAwjqFvzPBmDH/5pCcnQaXwDmwDHTwDqyBEPCDJTABb8BLtptuRyfBZXAzGo3Wx+PxD8uy7Ewm8wi624VC4XG/35+QjiB7uVx+AlsanOHNd6I8BW6AOxibo9HIFAuTyeRmKpV6JmQ32Wz2AdZdBz6JQyeOxOPxKD64VSwWYz6fTxa72ba9HIlE1oRcr9f1arWqCRnr1jEFgVc4/EWJb7Vaz2VZvocjPt2rijjqrlz5/f6DmGT2tf1jg8+gDVqNRuP1rjbweGxd1ydCVlV1xWnv9XofMH0B32cFcBFsOHNEOYTuoaZpI3f+Op3OJ9jugmvgsIhw3liqVCrnQ6GQ6jaEw+HjtVqNCnJM9OdchyiKJxaLnRAyFcRZFBTsLHfJKskH9nu1hsOh5ZSDweAqt4y86JH3NRaK0DCMnagCgYDstA0Ggy2+htZCDtE2P9vt9sdEIkFXU8rn8+tOe7fbpbv+nh+QPxzSLt+cCkVRhqVSqev1eo10On0FOdtuj+l0ajabzRe5XO4+RE04dL82FMVVcAEcYudv93htKLpXbKfGtmc9X0d5kcwRG3PeQ4P/29J/MX4LMABVRPc2xeNx/wAAAABJRU5ErkJggg=='),
43
+ // The number 19.
44
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgVJREFUeNrMlDFoGlEYxzV6SQ6DmnQpFEJCEkjWQsmQOZsObhUKbgWHICKIW8AhOAhFkE4OcXCIg1pySyAZsqSUQBQlwUEIagRLU+uJh4mmsf8n3wv2uIYDM/TBj7vv+97737vvfe8zGF54GDV80+AVsJEtgw6YAXYg0ro70Kb4QEuQvc+CRfAWrJK/AqpgHqyBBZorU6wIbkBfvas3YAt8DAQCR4PBYMiA/RnsBoNBqVwut7i/Xq93I5HICWIfwDIwczEzOd6DvWQyWeKLSDDjdrtPx33jQPQYcxy089FgOXkXi8W+aC1A7DCRSFS4nU6nq9Fo9Irb2PVPzNkBS0xsihJ66/P5DgRB+BSPx0vqU7JarQJ/r9VqSqvVejoEi8XCDmuO0jYSfAAN8BVc5PP5ulrQZrMJOqrFyAUNdEI/wHeTydSfpA7NeibJsvz0i3a7fXpSwYdGoyFzw+PxrDw3eUqHYM/v959JklThjmw2W5tEcDRcLtc5qkBiFAqFtio8JHQJiplMZhs15wYO1OTGeFBRlHs8uvzq6cnhEDv65XQ6NXOYy+XyeFxTA/lL8Df7IH6ppxJshsPhoiiKHa/Xu4VCHp1ys9lUUqnUt1AotA/zkguOdxsTNYhNsE5XskcdhRX7a+o27FY8/qvbGJ/phQJdS5lyJFI/5HWo2Q////FHgAEA1kIAAe0AP5kAAAAASUVORK5CYII='),
45
+ // The number 20.
46
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnJJREFUeNrUlM+LUlEUx31m2S/DkRZqmpUVDU0UEhgDLjIwi1mKEhEtzNA/QBducicuRYg2LkRaRG2UaBbhuBahRUZpZJRGCoU6qfNDK/ue4dx4DOW4aNOFD+8+v+d9vffcc65C8Y+HJJvvAVqG5t9BH/TAOlCCQ6zvAxMwZH3I8b8NyeAouABOgYNgE3wCb0GTY06zrgM/wRfwDtTAZzAiMxU4Dm7F4/GVXq+3OR6PJ0Qul6tZLJYEtNsg5Pf7n1Sr1Y7Qy+VyC789hnaDF7SLDOfA9UQi8VwEyiED6A/cbnf+TzoRCAQeIeYy0Ii8HHM6nQsimTabbSWZTL6hudVqnfP5fAsej2de6JlMpi50GktLS5QqM6VKybnR6PV6jQioVCpr8pODqcZsNh8Q70jLqNPpjMW70WikRdH3ajL8QQcgSdJEbuL1ei1iXiqVulqtVrVDtVD+JAr6Bl6bTKYYnkeAPhqNnjUYDPspst1uDwuFQgt/OD9LHZLhKnjBx34OLIZCIasISKfTr6jOtu9gmiHlogsoR+pUKnUJ+dzKV71e78ZisRIX8UxDyU/a3km73b4YDAYvCjESiSxzYXdmNVXyKvXgDAr7qhCy2Ww1n8+/57Ya9fv90RSfiUDFWz2B1VxzOBxU7YpWq7WGg6GWMoG9dIKNRmMgd9DpdLvFfDAYbNBDtB6d7J1isfjhb50A/aHL5VreoVOucC1uVfjdWq32dYrhfXAPu3gq7+VmszkIh8PPoN0UvSzxzXGeS+Yw51Q+1vlG+ch9L24biUuOtJd8M40kNpDfc8pthmP+kBpALYujbzf4PlzluP9g/BJgABvhUfuxyjKwAAAAAElFTkSuQmCC'),
47
+ // The number 21.
48
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAk1JREFUeNrMlM+LUlEUx53X0yztl1RYo0lCAzOBULaYXLgMQswkiTQDUXDjP9BOXQmz1o3LQINqYRvBTYsIlCQGZmWN/YIwImacKXNq3vzoe+BcuSPlm0WLDnx49917+N5z7j33GAz/2KbG/lVwFBwHh8Au+AHW+Ls15kPj76APfpG/LGgC02AOXAA2sAO+gmXQASssRD6zwALeg1fgI9iUIyWxO6lU6kmn01nVNG2XaLfbn0Oh0AOs3QN+cAvk4bNC6+Vy+Tn+r/NGIzODq7CSEJLp9/ubXq/3IXwWEonEU3nDYrH4EvO3wSlxZgYO/Uw8Hr8idshms0vdbndYqVTmrVarMRqNemq1WtBut1smXYoind8Rh8MxCpvEZEe32212Op2PXC7X48FgoOkJboOhqqp7HCORyFkx7vV6dCHv8P2AzVb/JihSppJ4HQgEFvCdoQvyeDzT4XD4nHBE6m0SBM5JKQvBDfAWfOPS8OVyOb9wqtfrb5rN5iKGn8Dp/QhSvQ05UlMymZwNBoNuWqDzKhQKzygDLuCd/QiKi6F05vL5/DUxWa1WF1ut1gtO16z39BSpsE+SWKlUuiFKA4e/lslkmvysjGMBTIzwIEXn8/nmY7HYJbEIsSXeyMubf9ETFREeFoVNRSwWG42GH6/hLrifTqdvYsrBkeoKkm3ZbLYDOhlRnQ4URdkeHbzJ9JM7jia3Lzrs8+AyPQpuXbJtcLehmz4GLgI7P4hludtMSZdCoie41xn/ENk616nKncXCJbQu90PDf2+/BRgAl2Xhjy3s2ZYAAAAASUVORK5CYII='),
49
+ // The number 22.
50
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAh1JREFUeNrMlL9LW1EUx1+SF3+QtOoLHdQkaFsdHEIoL/gM6JDVIQhBGhIKJiUghf4BdciiOAUcmnQsiHQqwazdskWyiZCURjqE0oLUtLS14Etrv6ecWy7ifXbo0AsfcnO/9553z497NO0fD5c018FNMAqGwQX4Bj7xr3aN3pcNDoBJMAdmgAF+ghPwBrwFbnBXobfBB3AujJKx+/l8/mW73T61bfuCaDab75PJ5C60R+Cxg54CE+KCQ2ABoyw2yvR6vfNoNLpPqPR4PP4UNiyyRW74wHg2mzVFMIvF4mEmk2nQ3O/3e6HNEiod8xjf0Kdz/G4Eg8FRcaDT6ZzJmQuHwz75/2U9FAqN8MW8dMMf4EzXdVvelEqlJsS82+1+gd530D9zpn/bIMsR8ABsgueRSOSVHCfTNPewvqHSKf6UB86HJuI4BZbBVrVaPRaba7Xaa6ytc9BV+kPyXK5rmtwCK7lcripn0LKsZ1hf4g+q9EW+1J8xCO6RW4jHV3GgXC4fYC0D7gDTQZ9kTzW5sLO0QWxutVo9rO1w0c6DNQd9iqtFE4VtUXGSC+JAIpGoY52SsQ2exGKxXQd9laoLeDR+lyuVSqVx1Usg0ul0vVQqHan0QqHwAjbi1DSE333DMDyqluR2u/uBQMD1t+2LXJ7mpNzm1iSP7+CU54ZCp25DCXrnkoyOcb/zXjpg8yGNjV2l00v5KNrX/z1+CTAAejWU4TBFD08AAAAASUVORK5CYII='),
51
+ // The number 23.
52
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArdJREFUeNrUlF1oklEYx9W5r9rERYXYmpX2gfTFGojRMLwoCroKZhBCQYayu4ZejMCQhngTiNVdiAwqpBtX9EEybwxGw1gNlvbFyGwXlpjKalra/4nnxJvMrrrphd/7nnP+5zzvOc/Hkcn+8SOXtDuAmqH2d1AGRbACOlnrBe2gDr6yXuL5vw2SgQGwH2wHPWzkA3gF8mAD2AH6QRcbKIDXYAHkQJWMKcFWYPf7/dPFYnGlVqs1iFgsltHpdAFoo/SlvtCIdDpd8Hg896CfApvEBvvA8UAg8Fg6WboI+o1wOLywmk6YzeZrmGOmnSvwUoEtVqt1t3Dm4ODgdDAYfEltvV7fZ7PZdhqNxvVCJy0SibwVfbvdfgCfjaBbyf7r1Wg0vWLC/Pz8sjRyBoOhRy6XN0S/UCjUpHqj0aCjtgEFGfxBAZAuoGdkZEQn2qlU6v3ExMRDDpaGIh6NRvcKfW5ubhGfz+Ab9ekoR8AYuAJujo+PPxf+yWazFYxdBCfAeZ/P90Tqv3g8nsW4FwwJH34Bz8AjMEt/crlcevF3+Iq0j6CyWiJbLJZ+BPQQb6xTjNP56YhnQqHQbFOEL9POwAVwFdwBd2dmZvLS9MLYWaBVsME15HuTyXTQ6XQOib8gxx5wcqvgxzEsHgUn4ZKBZDKZF/O0Wi1lSjdVkIITmxy9C4l9VEyanJxMT01NvUOTItpVr9cVreq3XC5XObh1MrYWbMNujg0PD1P5yZaWlpaxizdcZqS3l0qlP1JFrVZ3iHYulyty3VO5/iqZc4lEYrFVJUC/5fV6n7bSHQ7Hbcw5zGkl20xOz2Qyn/5i8Dq41FzrlFJut/s+tNN8ubRRhq8D+8AeDr2yyUV0RdHxs+xrcRvVOeVIe8HBq8rZgIrvOopUs/NrvLDCurgvZVwZRdZrsv/i+SnAALSEnerTo5c3AAAAAElFTkSuQmCC'),
53
+ // The number 24.
54
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAApBJREFUeNqslE9oknEYx/X1D6Vmf122TSFXxryUwQrr0GFsktQQBgl2S+gUIYg0BPFiFw8SHUKiBV12CzEk6CINOiUviyQwNoKUShjZFkrLd86+jzy/YTI97Qcf3vf3e573eZ+/P0m1z0vb864BBnAEmHi/BTbAJtgGB8BRYAY60AZN1qHntjBIwhHgBGfBKf4ZGVoDH8FPMAouAgc4CFqgxvJPrN9dJ8BNj8fzpFAofFUUpUNUq9VGNBp9DdltcBkEl5aWZCEnZFn+hvM7YLw31EnwgAz0KgsWFhZeQX4PPOzXKRaL5OF9cJqMSZyXk6FQaMpqtRrpMJvNVmw225tGo6HQfn5+fgqPc16v97zQGbQkzp/Z4XBYxGGlUmnWajXFZDKRTAUjh6gYgUDgDO2Rlh/DDHYrpdfrt3rOO7FYzC425XKZqqifmZkZJ69LpdLGsLb5A74g+c/BewqfPEaubgil5eXl9enpaQuFS+mo1+vKMA+pv6hS78BbUE0kEg6RK4TeTCaTq8FgcIzDXR9gh5yTJD5ocXO27Hb7sXA4fEFoplKpD/TT2dnZUQo3k8nslb/DwMK9uRv6BLiby+U+i5agnsTZY7fb/XKvdhLk83lq6ls0HMJDGqXJubm5az6fj6ZFRd5EIpEij19nWKu0220tj6tO4vhpUpwI77pQWlxcXFtZWSFD1p2dHcMwgxqNhurQAN1iUWNf9fv9LwaFlE6nS9B5Bh6Bp/F4XO6blAS4Aoxa9lDtcrnMgzwwGAy/uQsop2NGo3Fit7yS1OYu+U4tqOaC0GBfovHqrRQv6tNVIPNHI6zr5Hvgv9tGzR/pwXEuv67PoMLX0i/wl+VCV+q/D/f7wlZJ+23wnwADAHUlUxtyWY3RAAAAAElFTkSuQmCC'),
55
+ // The number 25.
56
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAsVJREFUeNrMlF9IU3EUx3fvbrNcW8ucjP6NXMlKZkGBIfOhF6MRBiFbMCoIGdqDL409CK4HH8Zg9KIkPgSC5YsgzYIwMCGkGLJIJrJBE8tqPlRbJZpbbX2PnB9choseeujC597f75xzz+/3O+f8jkbzjx9JNdYBE0Pjn+A7yIES2MPsKPNRAF/BZ5CXVM4Og1PgGNgNNsF78AZsABvrdpU5JF0SxMAHEijgCLgaCoWe5XK5zUKhUCKi0WjKarVGoPMPDw/PCnk5Pp9vDDYttJiMlwEcD4fD1/x+/zm9Xq8TS7tcroapqakbGJ4wm82Wv42jFdycm5vLiBUdDsd0JBJZFHOPxzM7Pj6+LOZut/sl/nkEHoJ7oBPUA63M8TNYLBaDWCGRSKyrV7TZbIZSqSRts5lfYJ3jmAdFmYWbkiSV1JbYhVWMY7FYVq1va2szY6cXwWWcrMPpdJ6G+ADYSfpasgG3wB0w1tvbOy+Ot7KysgbZ/YmJiXSlpIyOjs7D5gqoU7iGXoGPwEHZ6u7utondjIyMvCadoih5IRscHEwUi0W5p6enkeZ2u70OHzOoVrgws0APqgYGBs4injTWpNPpbF9f33PSt7e3P8V3kUO0EQwGG8UCHP9qKnqFZTQ52tzc3NLV1XVGGAYCgSf4vKNCj8fjHU1NTftJ3t/fH6cdliVIC2SZC5tqzI7CPi+0iEtycnJyibNXpXZgNBqrMdduk/EtIzpePXZzobW1la6fJpPJrCMxdOUOUlFT4hYWFrLiT5PJpFN7Wl1dpTu/xuHbSnfnzMzMcqUsQv/A6/VOV9LTtYTNJbCPHB4CvlQq9ekPDu+C2zjF42Qy+UXI6d4PDQ29gO46aKBLQtVfA05yydRyTMu7CR3/LdjLHaeGk0DHTIN5Tt4PiR0YuQ9Sa5Ir9LtvlByVncQJy7E+z33zP39+CzAA8EmJ9NTdgeQAAAAASUVORK5CYII=')
57
+ ));
metadata CHANGED
@@ -1,101 +1,112 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: zen-grids
3
- version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0.beta.2
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - John Albin Wilkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2013-07-22 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+ date: 2014-03-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
15
14
  name: sass
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: "3.2"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '3.3'
22
20
  type: :runtime
23
- version_requirements: *id001
24
- description: Zen Grids is an intuitive, flexible grid system that leverages the natural source order of your content to make it easier to create fluid responsive designs. With an easy-to-use Sass mixin set, the Zen Grids system can be applied to an infinite number of layouts, including responsive, adaptive, fluid and fixed-width layouts.
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '3.3'
27
+ description: Zen Grids is an intuitive, flexible grid system that leverages the natural
28
+ source order of your content to make it easier to create fluid responsive designs.
29
+ With an easy-to-use Sass mixin set, the Zen Grids system can be applied to an infinite
30
+ number of layouts, including responsive, adaptive, fluid and fixed-width layouts.
25
31
  email: virtually.johnalbin@gmail.com
26
32
  executables: []
27
-
28
33
  extensions: []
29
-
30
34
  extra_rdoc_files: []
31
-
32
- files:
33
- - bower.json
35
+ files:
36
+ - .travis.yml
34
37
  - LICENSE.txt
35
- - README.txt
36
- - lib/zen-grids.rb
38
+ - README.md
37
39
  - _zen-grids.scss
38
- - zen-grids/_background.scss
39
- - zen-grids/_flow.scss
40
- - zen-grids/_grids.scss
40
+ - bower.json
41
+ - lib/zen-grids.rb
42
+ - sache.json
43
+ - templates/project/_base-elements.scss
44
+ - templates/project/_components.scss
41
45
  - templates/project/_init.scss
42
- - templates/project/_layout.scss
43
- - templates/project/_modules.scss
46
+ - templates/project/_layouts.scss
44
47
  - templates/project/_visually-hidden.scss
45
48
  - templates/project/example.html
46
49
  - templates/project/manifest.rb
47
50
  - templates/project/styles.scss
48
- - templates/unit-tests/manifest.rb
49
- - templates/unit-tests/README.txt
50
- - templates/unit-tests/sass/function-zen-direction-switch.scss
51
- - templates/unit-tests/sass/function-zen-grid-item-width.scss
52
- - templates/unit-tests/sass/function-zen-half-gutter.scss
53
- - templates/unit-tests/sass/function-zen-unit-width.scss
54
- - templates/unit-tests/sass/zen-new-row.scss
55
- - templates/unit-tests/sass/zen-float.scss
56
- - templates/unit-tests/sass/zen-grid-background.scss
57
- - templates/unit-tests/sass/zen-grid-container.scss
58
- - templates/unit-tests/sass/zen-grid-flow-item.scss
59
- - templates/unit-tests/sass/zen-grid-item-base.scss
60
- - templates/unit-tests/sass/zen-grid-item.scss
61
- - templates/unit-tests/test-results/function-zen-direction-switch.css
62
- - templates/unit-tests/test-results/function-zen-grid-item-width.css
63
- - templates/unit-tests/test-results/function-zen-half-gutter.css
64
- - templates/unit-tests/test-results/function-zen-unit-width.css
65
- - templates/unit-tests/test-results/zen-new-row.css
66
- - templates/unit-tests/test-results/zen-float.css
67
- - templates/unit-tests/test-results/zen-grid-background.css
68
- - templates/unit-tests/test-results/zen-grid-container.css
69
- - templates/unit-tests/test-results/zen-grid-flow-item.css
70
- - templates/unit-tests/test-results/zen-grid-item-base.css
71
- - templates/unit-tests/test-results/zen-grid-item.css
51
+ - tests/Gemfile
52
+ - tests/README.md
53
+ - tests/Rakefile
54
+ - tests/config.rb
55
+ - tests/controls/compass-compatibility.css
56
+ - tests/controls/function-zen-direction-switch.css
57
+ - tests/controls/function-zen-grid-item-width.css
58
+ - tests/controls/function-zen-half-gutter.css
59
+ - tests/controls/function-zen-unit-width.css
60
+ - tests/controls/zen-float.css
61
+ - tests/controls/zen-flow-item-width.css
62
+ - tests/controls/zen-grid-background.css
63
+ - tests/controls/zen-grid-container.css
64
+ - tests/controls/zen-grid-item-base.css
65
+ - tests/controls/zen-grid-item.css
66
+ - tests/controls/zen-new-row.css
67
+ - tests/tests/compass-compatibility.scss
68
+ - tests/tests/function-zen-direction-switch.scss
69
+ - tests/tests/function-zen-grid-item-width.scss
70
+ - tests/tests/function-zen-half-gutter.scss
71
+ - tests/tests/function-zen-unit-width.scss
72
+ - tests/tests/zen-float.scss
73
+ - tests/tests/zen-flow-item-width.scss
74
+ - tests/tests/zen-grid-background.scss
75
+ - tests/tests/zen-grid-container.scss
76
+ - tests/tests/zen-grid-item-base.scss
77
+ - tests/tests/zen-grid-item.scss
78
+ - tests/tests/zen-new-row.scss
79
+ - tests/unit_tests.rb
72
80
  - zen-grids.gemspec
81
+ - zen-grids/_background.scss
82
+ - zen-grids/_flow.scss
83
+ - zen-grids/_functions.scss
84
+ - zen-grids/_grids.scss
85
+ - zen-grids/_variables.scss
86
+ - zen-grids/internal/_functions-compass-polyfill.scss
87
+ - zen-grids/internal/_variables-background.scss
73
88
  homepage: http://zengrids.com
74
- licenses:
89
+ licenses:
75
90
  - GPL-2
76
91
  metadata: {}
77
-
78
92
  post_install_message:
79
93
  rdoc_options: []
80
-
81
- require_paths:
94
+ require_paths:
82
95
  - lib
83
- required_ruby_version: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- version: "0"
88
- required_rubygems_version: !ruby/object:Gem::Requirement
89
- requirements:
90
- - - ">"
91
- - !ruby/object:Gem::Version
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - '>'
104
+ - !ruby/object:Gem::Version
92
105
  version: 1.3.1
93
106
  requirements: []
94
-
95
- rubyforge_project: 2.0.0.beta.1
96
- rubygems_version: 2.0.3
107
+ rubyforge_project: 2.0.0.beta.2
108
+ rubygems_version: 2.2.2
97
109
  signing_key:
98
110
  specification_version: 4
99
111
  summary: A Compass plugin for Zen Grids, a fluid responsive grid system
100
112
  test_files: []
101
-
data/README.txt DELETED
@@ -1,88 +0,0 @@
1
- ABOUT zen-grids
2
- ---------------
3
-
4
- Zen Grids is an intuitive, flexible grid system that leverages the natural
5
- source order of your content to make it easier to create fluid responsive
6
- designs. With an easy-to-use Sass mixin set, the Zen Grids system can be applied
7
- to an infinite number of layouts, including responsive, adaptive, fluid and
8
- fixed-width layouts.
9
-
10
- More information can be found at http://zengrids.com
11
-
12
-
13
- USAGE
14
- -----
15
-
16
- Here's a simple example: a content column with a sidebar on each side, aligned
17
- to a 12 column grid.
18
-
19
- @import "zen-grids";
20
-
21
- $zen-gutters: 40px; // Set the gutter size. A half-gutter is used on
22
- // each side of each column.
23
-
24
- .container {
25
- @include zen-grid-container(); // Define the container for your grid items.
26
- }
27
-
28
- $zen-columns: 12; // Set the number of grid columns to use in this media
29
- // query. You'll likely want a different grid for
30
- // different screen sizes.
31
-
32
- @media all and (min-width: 50em) {
33
- .sidebar1 {
34
- @include zen-grid-item(3, 1); // Span 3 columns starting in 1st column.
35
- }
36
- .content {
37
- @include zen-grid-item(6, 4); // Span 6 columns starting in 4th column.
38
- }
39
- .sidebar2 {
40
- @include zen-grid-item(3, 10); // Span 3 columns starting in 10th column.
41
- }
42
- }
43
-
44
- Within the .container element, the .sidebar1, .sidebar2 and .content elements
45
- can be in any order.
46
-
47
- Zen Grids has built-in support for the Box-sizing Polyfill which adds
48
- "box-sizing: border-box" support to IE7 and earlier.
49
-
50
- - Download the polyfill at https://github.com/Schepp/box-sizing-polyfill
51
- - Place the boxsizing.htc file in your website.
52
- - Set Zen Grids' $box-sizing-polyfill-path variable to the absolute path to the
53
- boxsizing.htc file on your website. For example:
54
- $box-sizing-polyfill-path: "/scripts/polyfills/boxsizing.htc";
55
-
56
-
57
- INSTALLATION
58
- ------------
59
-
60
- Zen grids is distributed as a Ruby Gem. On your computer, simply run:
61
-
62
- sudo gem install zen-grids
63
-
64
- If you are using Compass (and you should!) then you can add it to an existing
65
- project by editing the project's configuration file, config.rb, and adding this
66
- line:
67
-
68
- require 'zen-grids'
69
-
70
- You can then start using Zen Grids in your Sass files. Just add this line to one
71
- of your .sass or .scss files and start creating!
72
-
73
- @import "zen-grids";
74
-
75
-
76
- REQUIREMENTS
77
- ------------
78
-
79
- - Sass 3.2 or later
80
-
81
- For the zen-grids/background module only:
82
- - Compass 0.12 or later
83
-
84
-
85
- LICENSE
86
- -------
87
-
88
- Available under the GPL v2 license. See LICENSE.txt.