foundation-rails 5.5.3.2 → 6.1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +2 -8
  4. data/Rakefile +23 -0
  5. data/app/views/foundation/rails/styleguide/show.html.erb +2 -5
  6. data/bower.json +2 -2
  7. data/lib/foundation/rails/version.rb +1 -1
  8. data/lib/generators/foundation/install_generator.rb +6 -3
  9. data/lib/generators/foundation/templates/_settings.scss +546 -0
  10. data/lib/generators/foundation/templates/application.html.erb +0 -1
  11. data/lib/generators/foundation/templates/application.html.haml +0 -2
  12. data/lib/generators/foundation/templates/application.html.slim +0 -2
  13. data/lib/generators/foundation/templates/foundation_and_overrides.scss +51 -0
  14. data/vendor/assets/js/foundation.abide.js +418 -0
  15. data/vendor/assets/js/foundation.accordion.js +229 -0
  16. data/vendor/assets/js/foundation.accordionMenu.js +262 -0
  17. data/vendor/assets/js/foundation.core.js +378 -0
  18. data/vendor/assets/js/foundation.drilldown.js +321 -0
  19. data/vendor/assets/js/foundation.dropdown.js +390 -0
  20. data/vendor/assets/js/foundation.dropdownMenu.js +391 -0
  21. data/vendor/assets/js/foundation.equalizer.js +274 -0
  22. data/vendor/assets/js/foundation.interchange.js +184 -0
  23. data/vendor/assets/js/foundation.js +28 -0
  24. data/vendor/assets/js/foundation.magellan.js +212 -0
  25. data/vendor/assets/js/foundation.offcanvas.js +371 -0
  26. data/vendor/assets/js/foundation.orbit.js +419 -0
  27. data/vendor/assets/js/foundation.responsiveMenu.js +145 -0
  28. data/vendor/assets/js/foundation.responsiveToggle.js +106 -0
  29. data/vendor/assets/js/foundation.reveal.js +478 -0
  30. data/vendor/assets/js/foundation.slider.js +484 -0
  31. data/vendor/assets/js/foundation.sticky.js +436 -0
  32. data/vendor/assets/js/foundation.tabs.js +306 -0
  33. data/vendor/assets/js/foundation.toggler.js +147 -0
  34. data/vendor/assets/js/foundation.tooltip.js +429 -0
  35. data/vendor/assets/js/foundation.util.box.js +169 -0
  36. data/vendor/assets/js/foundation.util.keyboard.js +115 -0
  37. data/vendor/assets/js/foundation.util.mediaQuery.js +210 -0
  38. data/vendor/assets/js/foundation.util.motion.js +89 -0
  39. data/vendor/assets/js/foundation.util.nest.js +64 -0
  40. data/vendor/assets/js/foundation.util.timerAndImageLoader.js +78 -0
  41. data/vendor/assets/js/foundation.util.touch.js +339 -0
  42. data/vendor/assets/js/foundation.util.triggers.js +222 -0
  43. data/vendor/assets/scss/_global.scss +626 -0
  44. data/vendor/assets/scss/components/_accordion-menu.scss +32 -0
  45. data/vendor/assets/scss/components/_accordion.scss +113 -0
  46. data/vendor/assets/scss/components/_badge.scss +55 -0
  47. data/vendor/assets/scss/components/_breadcrumbs.scss +94 -0
  48. data/vendor/assets/scss/components/_button-group.scss +130 -0
  49. data/vendor/assets/scss/components/_button.scss +265 -0
  50. data/vendor/assets/scss/components/_callout.scss +105 -0
  51. data/vendor/assets/scss/components/_close-button.scss +61 -0
  52. data/vendor/assets/scss/components/_drilldown.scss +75 -0
  53. data/vendor/assets/scss/components/_dropdown-menu.scss +148 -0
  54. data/vendor/assets/scss/components/_dropdown.scss +64 -0
  55. data/vendor/assets/scss/components/_flex-video.scss +63 -0
  56. data/vendor/assets/scss/components/_float.scss +27 -0
  57. data/vendor/assets/scss/components/_label.scss +56 -0
  58. data/vendor/assets/scss/components/_media-object.scss +74 -0
  59. data/vendor/assets/scss/components/_menu.scss +209 -0
  60. data/vendor/assets/scss/components/_off-canvas.scss +180 -0
  61. data/vendor/assets/scss/components/_orbit.scss +193 -0
  62. data/vendor/assets/scss/components/_pagination.scss +158 -0
  63. data/vendor/assets/scss/components/_progress-bar.scss +83 -0
  64. data/vendor/assets/scss/components/_reveal.scss +156 -0
  65. data/vendor/assets/scss/components/_slider.scss +158 -0
  66. data/vendor/assets/scss/components/_sticky.scss +38 -0
  67. data/vendor/assets/scss/components/_switch.scss +232 -0
  68. data/vendor/assets/scss/components/_table.scss +213 -0
  69. data/vendor/assets/scss/components/_tabs.scss +170 -0
  70. data/vendor/assets/scss/components/_thumbnail.scss +54 -0
  71. data/vendor/assets/scss/components/_title-bar.scss +68 -0
  72. data/vendor/assets/scss/components/_tooltip.scss +100 -0
  73. data/vendor/assets/scss/components/_top-bar.scss +89 -0
  74. data/vendor/assets/scss/components/_visibility.scss +131 -0
  75. data/vendor/assets/scss/forms/_checkbox.scss +36 -0
  76. data/vendor/assets/scss/forms/_error.scss +82 -0
  77. data/vendor/assets/scss/forms/_fieldset.scss +53 -0
  78. data/vendor/assets/scss/forms/_forms.scss +32 -0
  79. data/vendor/assets/scss/forms/_help-text.scss +30 -0
  80. data/vendor/assets/scss/forms/_input-group.scss +91 -0
  81. data/vendor/assets/scss/forms/_label.scss +48 -0
  82. data/vendor/assets/scss/forms/_select.scss +63 -0
  83. data/vendor/assets/scss/forms/_text.scss +154 -0
  84. data/vendor/assets/scss/foundation.scss +91 -0
  85. data/vendor/assets/scss/grid/_classes.scss +153 -0
  86. data/vendor/assets/scss/grid/_column.scss +124 -0
  87. data/vendor/assets/scss/grid/_flex-grid.scss +281 -0
  88. data/vendor/assets/scss/grid/_grid.scss +48 -0
  89. data/vendor/assets/scss/grid/_gutter.scss +34 -0
  90. data/vendor/assets/scss/grid/_layout.scss +33 -0
  91. data/vendor/assets/scss/grid/_position.scss +72 -0
  92. data/vendor/assets/scss/grid/_row.scss +97 -0
  93. data/vendor/assets/scss/grid/_size.scss +24 -0
  94. data/vendor/assets/scss/settings/_settings.scss +547 -0
  95. data/vendor/assets/scss/typography/_alignment.scss +22 -0
  96. data/vendor/assets/scss/typography/_base.scss +439 -0
  97. data/vendor/assets/scss/typography/_helpers.scss +77 -0
  98. data/vendor/assets/scss/typography/_print.scss +73 -0
  99. data/vendor/assets/scss/typography/_typography.scss +28 -0
  100. data/vendor/assets/scss/util/_breakpoint.scss +266 -0
  101. data/vendor/assets/scss/util/_color.scss +41 -0
  102. data/vendor/assets/scss/util/_mixins.scss +223 -0
  103. data/vendor/assets/scss/util/_selector.scss +40 -0
  104. data/vendor/assets/scss/util/_unit.scss +90 -0
  105. data/vendor/assets/scss/util/_util.scss +15 -0
  106. data/vendor/assets/scss/util/_value.scss +126 -0
  107. metadata +97 -64
  108. data/update-gem.sh +0 -20
  109. data/vendor/assets/javascripts/foundation.js +0 -17
  110. data/vendor/assets/javascripts/foundation/foundation.abide.js +0 -426
  111. data/vendor/assets/javascripts/foundation/foundation.accordion.js +0 -125
  112. data/vendor/assets/javascripts/foundation/foundation.alert.js +0 -43
  113. data/vendor/assets/javascripts/foundation/foundation.clearing.js +0 -586
  114. data/vendor/assets/javascripts/foundation/foundation.dropdown.js +0 -468
  115. data/vendor/assets/javascripts/foundation/foundation.equalizer.js +0 -104
  116. data/vendor/assets/javascripts/foundation/foundation.interchange.js +0 -360
  117. data/vendor/assets/javascripts/foundation/foundation.joyride.js +0 -935
  118. data/vendor/assets/javascripts/foundation/foundation.js +0 -732
  119. data/vendor/assets/javascripts/foundation/foundation.magellan.js +0 -214
  120. data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +0 -225
  121. data/vendor/assets/javascripts/foundation/foundation.orbit.js +0 -476
  122. data/vendor/assets/javascripts/foundation/foundation.reveal.js +0 -522
  123. data/vendor/assets/javascripts/foundation/foundation.slider.js +0 -296
  124. data/vendor/assets/javascripts/foundation/foundation.tab.js +0 -247
  125. data/vendor/assets/javascripts/foundation/foundation.tooltip.js +0 -348
  126. data/vendor/assets/javascripts/foundation/foundation.topbar.js +0 -458
  127. data/vendor/assets/javascripts/vendor/modernizr.js +0 -1406
  128. data/vendor/assets/stylesheets/foundation.scss +0 -42
  129. data/vendor/assets/stylesheets/foundation/_functions.scss +0 -156
  130. data/vendor/assets/stylesheets/foundation/_settings.scss +0 -1489
  131. data/vendor/assets/stylesheets/foundation/components/_accordion.scss +0 -161
  132. data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +0 -128
  133. data/vendor/assets/stylesheets/foundation/components/_block-grid.scss +0 -133
  134. data/vendor/assets/stylesheets/foundation/components/_breadcrumbs.scss +0 -132
  135. data/vendor/assets/stylesheets/foundation/components/_button-groups.scss +0 -208
  136. data/vendor/assets/stylesheets/foundation/components/_buttons.scss +0 -261
  137. data/vendor/assets/stylesheets/foundation/components/_clearing.scss +0 -260
  138. data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +0 -130
  139. data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +0 -269
  140. data/vendor/assets/stylesheets/foundation/components/_flex-video.scss +0 -51
  141. data/vendor/assets/stylesheets/foundation/components/_forms.scss +0 -607
  142. data/vendor/assets/stylesheets/foundation/components/_global.scss +0 -566
  143. data/vendor/assets/stylesheets/foundation/components/_grid.scss +0 -292
  144. data/vendor/assets/stylesheets/foundation/components/_icon-bar.scss +0 -460
  145. data/vendor/assets/stylesheets/foundation/components/_inline-lists.scss +0 -58
  146. data/vendor/assets/stylesheets/foundation/components/_joyride.scss +0 -220
  147. data/vendor/assets/stylesheets/foundation/components/_keystrokes.scss +0 -60
  148. data/vendor/assets/stylesheets/foundation/components/_labels.scss +0 -106
  149. data/vendor/assets/stylesheets/foundation/components/_magellan.scss +0 -34
  150. data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +0 -606
  151. data/vendor/assets/stylesheets/foundation/components/_orbit.scss +0 -388
  152. data/vendor/assets/stylesheets/foundation/components/_pagination.scss +0 -163
  153. data/vendor/assets/stylesheets/foundation/components/_panels.scss +0 -107
  154. data/vendor/assets/stylesheets/foundation/components/_pricing-tables.scss +0 -150
  155. data/vendor/assets/stylesheets/foundation/components/_progress-bars.scss +0 -85
  156. data/vendor/assets/stylesheets/foundation/components/_range-slider.scss +0 -177
  157. data/vendor/assets/stylesheets/foundation/components/_reveal.scss +0 -212
  158. data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +0 -120
  159. data/vendor/assets/stylesheets/foundation/components/_split-buttons.scss +0 -203
  160. data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +0 -125
  161. data/vendor/assets/stylesheets/foundation/components/_switches.scss +0 -241
  162. data/vendor/assets/stylesheets/foundation/components/_tables.scss +0 -135
  163. data/vendor/assets/stylesheets/foundation/components/_tabs.scss +0 -142
  164. data/vendor/assets/stylesheets/foundation/components/_thumbs.scss +0 -66
  165. data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +0 -142
  166. data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +0 -745
  167. data/vendor/assets/stylesheets/foundation/components/_type.scss +0 -525
  168. data/vendor/assets/stylesheets/foundation/components/_visibility.scss +0 -425
  169. data/vendor/assets/stylesheets/normalize.scss +0 -424
@@ -0,0 +1,222 @@
1
+ !function(Foundation, $) {
2
+ 'use strict';
3
+ // Elements with [data-open] will reveal a plugin that supports it when clicked.
4
+ $(document).on('click.zf.trigger', '[data-open]', function() {
5
+ var id = $(this).data('open');
6
+ $('#' + id).triggerHandler('open.zf.trigger', [$(this)]);
7
+ });
8
+
9
+ // Elements with [data-close] will close a plugin that supports it when clicked.
10
+ // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
11
+ $(document).on('click.zf.trigger', '[data-close]', function() {
12
+ var id = $(this).data('close');
13
+ if (id) {
14
+ $('#' + id).triggerHandler('close.zf.trigger', [$(this)]);
15
+ }
16
+ else {
17
+ $(this).trigger('close.zf.trigger');
18
+ }
19
+ });
20
+
21
+ // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
22
+ $(document).on('click.zf.trigger', '[data-toggle]', function() {
23
+ var id = $(this).data('toggle');
24
+ $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
25
+ });
26
+
27
+ // Elements with [data-closable] will respond to close.zf.trigger events.
28
+ $(document).on('close.zf.trigger', '[data-closable]', function() {
29
+ var animation = $(this).data('closable') || 'fade-out';
30
+ if(Foundation.Motion){
31
+ Foundation.Motion.animateOut($(this), animation, function() {
32
+ $(this).trigger('closed.zf');
33
+ });
34
+ }else{
35
+ $(this).fadeOut().trigger('closed.zf');
36
+ }
37
+ });
38
+
39
+ var MutationObserver = (function () {
40
+ var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
41
+ for (var i=0; i < prefixes.length; i++) {
42
+ if (prefixes[i] + 'MutationObserver' in window) {
43
+ return window[prefixes[i] + 'MutationObserver'];
44
+ }
45
+ }
46
+ return false;
47
+ }());
48
+
49
+
50
+ var checkListeners = function(){
51
+ eventsListener();
52
+ resizeListener();
53
+ scrollListener();
54
+ closemeListener();
55
+ };
56
+ /**
57
+ * Fires once after all other scripts have loaded
58
+ * @function
59
+ * @private
60
+ */
61
+ $(window).load(function(){
62
+ checkListeners();
63
+ });
64
+
65
+ //******** only fires this function once on load, if there's something to watch ********
66
+ var closemeListener = function(pluginName){
67
+ var yetiBoxes = $('[data-yeti-box]'),
68
+ plugNames = ['dropdown', 'tooltip', 'reveal'];
69
+
70
+ if(pluginName){
71
+ if(typeof pluginName === 'string'){
72
+ plugNames.push(pluginName);
73
+ }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){
74
+ plugNames.concat(pluginName);
75
+ }else{
76
+ console.error('Plugin names must be strings');
77
+ }
78
+ }
79
+ if(yetiBoxes.length){
80
+ var listeners = plugNames.map(function(name){
81
+ return 'closeme.zf.' + name;
82
+ }).join(' ');
83
+
84
+ $(window).off(listeners).on(listeners, function(e, pluginId){
85
+ var plugin = e.namespace.split('.')[0];
86
+ var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
87
+
88
+ plugins.each(function(){
89
+ var _this = $(this);
90
+
91
+ _this.triggerHandler('close.zf.trigger', [_this]);
92
+ });
93
+ });
94
+ }
95
+ };
96
+ var resizeListener = function(debounce){
97
+ var timer,
98
+ $nodes = $('[data-resize]');
99
+ if($nodes.length){
100
+ $(window).off('resize.zf.trigger')
101
+ .on('resize.zf.trigger', function(e) {
102
+ if (timer) { clearTimeout(timer); }
103
+
104
+ timer = setTimeout(function(){
105
+
106
+ if(!MutationObserver){//fallback for IE 9
107
+ $nodes.each(function(){
108
+ $(this).triggerHandler('resizeme.zf.trigger');
109
+ });
110
+ }
111
+ //trigger all listening elements and signal a resize event
112
+ $nodes.attr('data-events', "resize");
113
+ }, debounce || 10);//default time to emit resize event
114
+ });
115
+ }
116
+ };
117
+ var scrollListener = function(debounce){
118
+ var timer,
119
+ $nodes = $('[data-scroll]');
120
+ if($nodes.length){
121
+ $(window).off('scroll.zf.trigger')
122
+ .on('scroll.zf.trigger', function(e){
123
+ if(timer){ clearTimeout(timer); }
124
+
125
+ timer = setTimeout(function(){
126
+
127
+ if(!MutationObserver){//fallback for IE 9
128
+ $nodes.each(function(){
129
+ $(this).triggerHandler('scrollme.zf.trigger');
130
+ });
131
+ }
132
+ //trigger all listening elements and signal a scroll event
133
+ $nodes.attr('data-events', "scroll");
134
+ }, debounce || 10);//default time to emit scroll event
135
+ });
136
+ }
137
+ };
138
+ // function domMutationObserver(debounce) {
139
+ // // !!! This is coming soon and needs more work; not active !!! //
140
+ // var timer,
141
+ // nodes = document.querySelectorAll('[data-mutate]');
142
+ // //
143
+ // if (nodes.length) {
144
+ // // var MutationObserver = (function () {
145
+ // // var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
146
+ // // for (var i=0; i < prefixes.length; i++) {
147
+ // // if (prefixes[i] + 'MutationObserver' in window) {
148
+ // // return window[prefixes[i] + 'MutationObserver'];
149
+ // // }
150
+ // // }
151
+ // // return false;
152
+ // // }());
153
+ //
154
+ //
155
+ // //for the body, we need to listen for all changes effecting the style and class attributes
156
+ // var bodyObserver = new MutationObserver(bodyMutation);
157
+ // bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
158
+ //
159
+ //
160
+ // //body callback
161
+ // function bodyMutation(mutate) {
162
+ // //trigger all listening elements and signal a mutation event
163
+ // if (timer) { clearTimeout(timer); }
164
+ //
165
+ // timer = setTimeout(function() {
166
+ // bodyObserver.disconnect();
167
+ // $('[data-mutate]').attr('data-events',"mutate");
168
+ // }, debounce || 150);
169
+ // }
170
+ // }
171
+ // }
172
+ var eventsListener = function() {
173
+ if(!MutationObserver){ return false; }
174
+ var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
175
+
176
+ //element callback
177
+ var listeningElementsMutation = function(mutationRecordsList) {
178
+ var $target = $(mutationRecordsList[0].target);
179
+ //trigger the event handler for the element depending on type
180
+ switch ($target.attr("data-events")) {
181
+
182
+ case "resize" :
183
+ $target.triggerHandler('resizeme.zf.trigger', [$target]);
184
+ break;
185
+
186
+ case "scroll" :
187
+ $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
188
+ break;
189
+
190
+ // case "mutate" :
191
+ // console.log('mutate', $target);
192
+ // $target.triggerHandler('mutate.zf.trigger');
193
+ //
194
+ // //make sure we don't get stuck in an infinite loop from sloppy codeing
195
+ // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
196
+ // domMutationObserver();
197
+ // }
198
+ // break;
199
+
200
+ default :
201
+ return false;
202
+ //nothing
203
+ }
204
+ }
205
+
206
+ if(nodes.length){
207
+ //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
208
+ for (var i = 0; i <= nodes.length-1; i++) {
209
+ var elementObserver = new MutationObserver(listeningElementsMutation);
210
+ elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree:false, attributeFilter:["data-events"]});
211
+ }
212
+ }
213
+ };
214
+ // ------------------------------------
215
+
216
+ // [PH]
217
+ // Foundation.CheckWatchers = checkWatchers;
218
+ Foundation.IHearYou = checkListeners;
219
+ // Foundation.ISeeYou = scrollListener;
220
+ // Foundation.IFeelYou = closemeListener;
221
+
222
+ }(window.Foundation, window.jQuery);
@@ -0,0 +1,626 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ // scss-lint:disable ColorVariable, QualifyingElement, VendorPrefix
6
+
7
+ ////
8
+ /// @group global
9
+ ////
10
+
11
+ /// Font size attribute applied to `<html>` and `<body>`. We use 100% by default so the value is inherited from the user's browser settings.
12
+ /// @type Number
13
+ $global-font-size: 100% !default;
14
+
15
+ /// Global width of your site. Used by the grid to determine row width.
16
+ /// @type Number
17
+ $global-width: rem-calc(1200) !default;
18
+
19
+ /// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px
20
+ /// @type Number
21
+ $global-lineheight: 1.5 !default;
22
+
23
+ /// Primary color for interactive components like links and buttons.
24
+ /// @type Color
25
+ $primary-color: #2199e8 !default;
26
+
27
+ /// Secondary color, used with components that support the `.secondary` class.
28
+ /// @type Color
29
+ $secondary-color: #777 !default;
30
+
31
+ /// Color to indicate a positive status or action, used with the `.success` class.
32
+ /// @type Color
33
+ $success-color: #3adb76 !default;
34
+
35
+ /// Color to indicate a caution status or action, used with the `.warning` class.
36
+ /// @type Color
37
+ $warning-color: #ffae00 !default;
38
+
39
+ /// Color to indicate a negative status or action, used with the `.alert` class.
40
+ /// @type Color
41
+ $alert-color: #ec5840 !default;
42
+
43
+ /// Color used for light gray UI items.
44
+ /// @type Color
45
+ $light-gray: #e6e6e6 !default;
46
+
47
+ /// Color used for medium gray UI items.
48
+ /// @type Color
49
+ $medium-gray: #cacaca !default;
50
+
51
+ /// Color used for dark gray UI items.
52
+ /// @type Color
53
+ $dark-gray: #8a8a8a !default;
54
+
55
+ /// Color used for black ui items.
56
+ /// @type Color
57
+ $black: #0a0a0a !default;
58
+
59
+ /// Color used for white ui items.
60
+ /// @type Color
61
+ $white: #fefefe !default;
62
+
63
+ /// Background color of the body.
64
+ /// @type Color
65
+ $body-background: $white !default;
66
+
67
+ /// Text color of the body.
68
+ /// @type Color
69
+ $body-font-color: $black !default;
70
+
71
+ /// Font stack of the body.
72
+ /// @type List
73
+ $body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif !default;
74
+
75
+ /// Set to `true` to enable antialiased type, using the `-webkit-font-smoothing` and `-moz-osx-font-smoothing` CSS properties.
76
+ /// @type Boolean
77
+ $body-antialiased: true !default;
78
+
79
+ /// Global value used for margin on components.
80
+ /// @type Number
81
+ $global-margin: 1rem !default;
82
+
83
+ /// Global value used for padding on components.
84
+ /// @type Number
85
+ $global-padding: 1rem !default;
86
+
87
+ /// Global font weight used for normal type.
88
+ /// @type Keyword | Number
89
+ $global-weight-normal: normal !default;
90
+
91
+ /// Global font weight used for bold type.
92
+ /// @type Keyword | Number
93
+ $global-weight-bold: bold !default;
94
+
95
+ /// Global value used for all elements that have a border radius.
96
+ /// @type Number
97
+ $global-radius: 0 !default;
98
+
99
+ /// Sets the text direction of the CSS. Can be either `ltr` or `rtl`.
100
+ $global-text-direction: ltr !default;
101
+
102
+ // Internal variables used for text direction
103
+ $global-left: if($global-text-direction == rtl, right, left);
104
+ $global-right: if($global-text-direction == rtl, left, right);
105
+
106
+ // Internal map used to iterate through colors, to generate CSS classes with less code
107
+ $foundation-colors: (
108
+ primary: $primary-color,
109
+ secondary: $secondary-color,
110
+ success: $success-color,
111
+ alert: $alert-color,
112
+ warning: $warning-color,
113
+ ) !default;
114
+
115
+ @mixin foundation-global-styles {
116
+ @include -zf-normalize;
117
+
118
+ // These styles are applied to a <meta> tag, which is read by the Foundation JavaScript
119
+ .foundation-mq {
120
+ font-family: '#{-zf-bp-serialize($breakpoints)}';
121
+ }
122
+
123
+ html {
124
+ font-size: $global-font-size;
125
+ box-sizing: border-box;
126
+ }
127
+
128
+ // Set box-sizing globally to handle padding and border widths
129
+ *,
130
+ *:before,
131
+ *:after {
132
+ box-sizing: inherit;
133
+ }
134
+
135
+ // Default body styles
136
+ body {
137
+ padding: 0;
138
+ margin: 0;
139
+ font-family: $body-font-family;
140
+ font-weight: $global-weight-normal;
141
+ line-height: $global-lineheight;
142
+ color: $body-font-color;
143
+ background: $body-background;
144
+
145
+ @if ($body-antialiased) {
146
+ -webkit-font-smoothing: antialiased;
147
+ -moz-osx-font-smoothing: grayscale;
148
+ }
149
+ }
150
+
151
+ img {
152
+ // Grid defaults to get images and embeds to work properly
153
+ max-width: 100%;
154
+ height: auto;
155
+ -ms-interpolation-mode: bicubic;
156
+
157
+ // Get rid of gap under images by making them display: inline-block; by default
158
+ display: inline-block;
159
+ vertical-align: middle;
160
+ }
161
+
162
+ // Make sure textarea takes on height automatically
163
+ textarea {
164
+ height: auto;
165
+ min-height: 50px;
166
+ border-radius: $global-radius;
167
+ }
168
+
169
+ // Make select elements are 100% width by default
170
+ select {
171
+ width: 100%;
172
+ border-radius: $global-radius;
173
+ }
174
+
175
+ // Styles Google Maps and MapQuest embeds properly
176
+ // scss-lint:disable IdSelector
177
+ #map_canvas,
178
+ .map_canvas,
179
+ .mqa-display {
180
+ img,
181
+ embed,
182
+ object {
183
+ max-width: none !important;
184
+ }
185
+ }
186
+
187
+ // Reset <button> styles created by most browsers
188
+ button {
189
+ -webkit-appearance: none;
190
+ -moz-appearance: none;
191
+ background: transparent;
192
+ padding: 0;
193
+ border: 0;
194
+ border-radius: $global-radius;
195
+ line-height: 1;
196
+ }
197
+ }
198
+
199
+ /// Loads normalize.css.
200
+ /// @access private
201
+ @mixin -zf-normalize {
202
+ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
203
+
204
+ /**
205
+ * 1. Set default font family to sans-serif.
206
+ * 2. Prevent iOS and IE text size adjust after device orientation change,
207
+ * without disabling user zoom.
208
+ */
209
+
210
+ html {
211
+ font-family: sans-serif; /* 1 */
212
+ -ms-text-size-adjust: 100%; /* 2 */
213
+ -webkit-text-size-adjust: 100%; /* 2 */
214
+ }
215
+
216
+ /**
217
+ * Remove default margin.
218
+ */
219
+
220
+ body {
221
+ margin: 0;
222
+ }
223
+
224
+ /* HTML5 display definitions
225
+ ========================================================================== */
226
+
227
+ /**
228
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
229
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
230
+ * and Firefox.
231
+ * Correct `block` display not defined for `main` in IE 11.
232
+ */
233
+
234
+ article,
235
+ aside,
236
+ details,
237
+ figcaption,
238
+ figure,
239
+ footer,
240
+ header,
241
+ hgroup,
242
+ main,
243
+ menu,
244
+ nav,
245
+ section,
246
+ summary {
247
+ display: block;
248
+ }
249
+
250
+ /**
251
+ * 1. Correct `inline-block` display not defined in IE 8/9.
252
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
253
+ */
254
+
255
+ audio,
256
+ canvas,
257
+ progress,
258
+ video {
259
+ display: inline-block; /* 1 */
260
+ vertical-align: baseline; /* 2 */
261
+ }
262
+
263
+ /**
264
+ * Prevent modern browsers from displaying `audio` without controls.
265
+ * Remove excess height in iOS 5 devices.
266
+ */
267
+
268
+ audio:not([controls]) {
269
+ display: none;
270
+ height: 0;
271
+ }
272
+
273
+ /**
274
+ * Address `[hidden]` styling not present in IE 8/9/10.
275
+ * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
276
+ */
277
+
278
+ [hidden],
279
+ template {
280
+ display: none;
281
+ }
282
+
283
+ /* Links
284
+ ========================================================================== */
285
+
286
+ /**
287
+ * Remove the gray background color from active links in IE 10.
288
+ */
289
+
290
+ a {
291
+ background-color: transparent;
292
+ }
293
+
294
+ /**
295
+ * Improve readability of focused elements when they are also in an
296
+ * active/hover state.
297
+ */
298
+
299
+ a:active,
300
+ a:hover {
301
+ outline: 0;
302
+ }
303
+
304
+ /* Text-level semantics
305
+ ========================================================================== */
306
+
307
+ /**
308
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
309
+ */
310
+
311
+ abbr[title] {
312
+ border-bottom: 1px dotted;
313
+ }
314
+
315
+ /**
316
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
317
+ */
318
+
319
+ b,
320
+ strong {
321
+ font-weight: bold;
322
+ }
323
+
324
+ /**
325
+ * Address styling not present in Safari and Chrome.
326
+ */
327
+
328
+ dfn {
329
+ font-style: italic;
330
+ }
331
+
332
+ /**
333
+ * Address variable `h1` font-size and margin within `section` and `article`
334
+ * contexts in Firefox 4+, Safari, and Chrome.
335
+ */
336
+
337
+ h1 {
338
+ font-size: 2em;
339
+ margin: 0.67em 0;
340
+ }
341
+
342
+ /**
343
+ * Address styling not present in IE 8/9.
344
+ */
345
+
346
+ mark {
347
+ background: #ff0;
348
+ color: #000;
349
+ }
350
+
351
+ /**
352
+ * Address inconsistent and variable font size in all browsers.
353
+ */
354
+
355
+ small {
356
+ font-size: 80%;
357
+ }
358
+
359
+ /**
360
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
361
+ */
362
+
363
+ sub,
364
+ sup {
365
+ font-size: 75%;
366
+ line-height: 0;
367
+ position: relative;
368
+ vertical-align: baseline;
369
+ }
370
+
371
+ sup {
372
+ top: -0.5em;
373
+ }
374
+
375
+ sub {
376
+ bottom: -0.25em;
377
+ }
378
+
379
+ /* Embedded content
380
+ ========================================================================== */
381
+
382
+ /**
383
+ * Remove border when inside `a` element in IE 8/9/10.
384
+ */
385
+
386
+ img {
387
+ border: 0;
388
+ }
389
+
390
+ /**
391
+ * Correct overflow not hidden in IE 9/10/11.
392
+ */
393
+
394
+ svg:not(:root) {
395
+ overflow: hidden;
396
+ }
397
+
398
+ /* Grouping content
399
+ ========================================================================== */
400
+
401
+ /**
402
+ * Address margin not present in IE 8/9 and Safari.
403
+ */
404
+
405
+ figure {
406
+ margin: 1em 40px;
407
+ }
408
+
409
+ /**
410
+ * Address differences between Firefox and other browsers.
411
+ */
412
+
413
+ hr {
414
+ box-sizing: content-box;
415
+ height: 0;
416
+ }
417
+
418
+ /**
419
+ * Contain overflow in all browsers.
420
+ */
421
+
422
+ pre {
423
+ overflow: auto;
424
+ }
425
+
426
+ /**
427
+ * Address odd `em`-unit font size rendering in all browsers.
428
+ */
429
+
430
+ code,
431
+ kbd,
432
+ pre,
433
+ samp {
434
+ font-family: monospace, monospace;
435
+ font-size: 1em;
436
+ }
437
+
438
+ /* Forms
439
+ ========================================================================== */
440
+
441
+ /**
442
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
443
+ * styling of `select`, unless a `border` property is set.
444
+ */
445
+
446
+ /**
447
+ * 1. Correct color not being inherited.
448
+ * Known issue: affects color of disabled elements.
449
+ * 2. Correct font properties not being inherited.
450
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
451
+ */
452
+
453
+ button,
454
+ input,
455
+ optgroup,
456
+ select,
457
+ textarea {
458
+ color: inherit; /* 1 */
459
+ font: inherit; /* 2 */
460
+ margin: 0; /* 3 */
461
+ }
462
+
463
+ /**
464
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
465
+ */
466
+
467
+ button {
468
+ overflow: visible;
469
+ }
470
+
471
+ /**
472
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
473
+ * All other form control elements do not inherit `text-transform` values.
474
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
475
+ * Correct `select` style inheritance in Firefox.
476
+ */
477
+
478
+ button,
479
+ select {
480
+ text-transform: none;
481
+ }
482
+
483
+ /**
484
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
485
+ * and `video` controls.
486
+ * 2. Correct inability to style clickable `input` types in iOS.
487
+ * 3. Improve usability and consistency of cursor style between image-type
488
+ * `input` and others.
489
+ */
490
+
491
+ button,
492
+ html input[type="button"], /* 1 */
493
+ input[type="reset"],
494
+ input[type="submit"] {
495
+ -webkit-appearance: button; /* 2 */
496
+ cursor: pointer; /* 3 */
497
+ }
498
+
499
+ /**
500
+ * Re-set default cursor for disabled elements.
501
+ */
502
+
503
+ button[disabled],
504
+ html input[disabled] {
505
+ cursor: default;
506
+ }
507
+
508
+ /**
509
+ * Remove inner padding and border in Firefox 4+.
510
+ */
511
+
512
+ button::-moz-focus-inner,
513
+ input::-moz-focus-inner {
514
+ border: 0;
515
+ padding: 0;
516
+ }
517
+
518
+ /**
519
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
520
+ * the UA stylesheet.
521
+ */
522
+
523
+ input {
524
+ line-height: normal;
525
+ }
526
+
527
+ /**
528
+ * It's recommended that you don't attempt to style these elements.
529
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
530
+ *
531
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
532
+ * 2. Remove excess padding in IE 8/9/10.
533
+ */
534
+
535
+ input[type="checkbox"],
536
+ input[type="radio"] {
537
+ box-sizing: border-box; /* 1 */
538
+ padding: 0; /* 2 */
539
+ }
540
+
541
+ /**
542
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
543
+ * `font-size` values of the `input`, it causes the cursor style of the
544
+ * decrement button to change from `default` to `text`.
545
+ */
546
+
547
+ input[type="number"]::-webkit-inner-spin-button,
548
+ input[type="number"]::-webkit-outer-spin-button {
549
+ height: auto;
550
+ }
551
+
552
+ /**
553
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
554
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
555
+ */
556
+
557
+ input[type="search"] {
558
+ -webkit-appearance: textfield; /* 1 */
559
+ box-sizing: content-box; /* 2 */
560
+ }
561
+
562
+ /**
563
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
564
+ * Safari (but not Chrome) clips the cancel button when the search input has
565
+ * padding (and `textfield` appearance).
566
+ */
567
+
568
+ input[type="search"]::-webkit-search-cancel-button,
569
+ input[type="search"]::-webkit-search-decoration {
570
+ -webkit-appearance: none;
571
+ }
572
+
573
+ /**
574
+ * Define consistent border, margin, and padding.
575
+ */
576
+
577
+ fieldset {
578
+ border: 1px solid #c0c0c0;
579
+ margin: 0 2px;
580
+ padding: 0.35em 0.625em 0.75em;
581
+ }
582
+
583
+ /**
584
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
585
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
586
+ */
587
+
588
+ legend {
589
+ border: 0; /* 1 */
590
+ padding: 0; /* 2 */
591
+ }
592
+
593
+ /**
594
+ * Remove default vertical scrollbar in IE 8/9/10/11.
595
+ */
596
+
597
+ textarea {
598
+ overflow: auto;
599
+ }
600
+
601
+ /**
602
+ * Don't inherit the `font-weight` (applied by a rule above).
603
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
604
+ */
605
+
606
+ optgroup {
607
+ font-weight: bold;
608
+ }
609
+
610
+ /* Tables
611
+ ========================================================================== */
612
+
613
+ /**
614
+ * Remove most spacing between table cells.
615
+ */
616
+
617
+ table {
618
+ border-collapse: collapse;
619
+ border-spacing: 0;
620
+ }
621
+
622
+ td,
623
+ th {
624
+ padding: 0;
625
+ }
626
+ }