foundation-rails 5.0.2.0 → 5.0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/foundation/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/foundation/foundation.abide.js +27 -6
  4. data/vendor/assets/javascripts/foundation/foundation.accordion.js +1 -1
  5. data/vendor/assets/javascripts/foundation/foundation.alert.js +3 -3
  6. data/vendor/assets/javascripts/foundation/foundation.clearing.js +25 -12
  7. data/vendor/assets/javascripts/foundation/foundation.dropdown.js +25 -7
  8. data/vendor/assets/javascripts/foundation/foundation.interchange.js +6 -5
  9. data/vendor/assets/javascripts/foundation/foundation.joyride.js +19 -16
  10. data/vendor/assets/javascripts/foundation/foundation.js +12 -9
  11. data/vendor/assets/javascripts/foundation/foundation.magellan.js +13 -1
  12. data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +2 -2
  13. data/vendor/assets/javascripts/foundation/foundation.orbit.js +42 -20
  14. data/vendor/assets/javascripts/foundation/foundation.reveal.js +80 -36
  15. data/vendor/assets/javascripts/foundation/foundation.tab.js +14 -5
  16. data/vendor/assets/javascripts/foundation/foundation.tooltip.js +9 -8
  17. data/vendor/assets/javascripts/foundation/foundation.topbar.js +5 -4
  18. data/vendor/assets/javascripts/vendor/modernizr.js +1405 -3
  19. data/vendor/assets/stylesheets/foundation.scss +2 -0
  20. data/vendor/assets/stylesheets/foundation/_functions.scss +3 -0
  21. data/vendor/assets/stylesheets/foundation/_settings.scss +244 -50
  22. data/vendor/assets/stylesheets/foundation/components/_accordion.scss +15 -15
  23. data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +4 -4
  24. data/vendor/assets/stylesheets/foundation/components/_block-grid.scss +3 -2
  25. data/vendor/assets/stylesheets/foundation/components/_breadcrumbs.scss +3 -3
  26. data/vendor/assets/stylesheets/foundation/components/_button-groups.scss +10 -4
  27. data/vendor/assets/stylesheets/foundation/components/_buttons.scss +8 -6
  28. data/vendor/assets/stylesheets/foundation/components/_clearing.scss +1 -1
  29. data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +0 -0
  30. data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +5 -5
  31. data/vendor/assets/stylesheets/foundation/components/_flex-video.scss +0 -0
  32. data/vendor/assets/stylesheets/foundation/components/_forms.scss +43 -19
  33. data/vendor/assets/stylesheets/foundation/components/_global.scss +29 -18
  34. data/vendor/assets/stylesheets/foundation/components/_grid.scss +41 -25
  35. data/vendor/assets/stylesheets/foundation/components/_inline-lists.scss +0 -0
  36. data/vendor/assets/stylesheets/foundation/components/_joyride.scss +1 -1
  37. data/vendor/assets/stylesheets/foundation/components/_keystrokes.scss +5 -5
  38. data/vendor/assets/stylesheets/foundation/components/_labels.scss +0 -0
  39. data/vendor/assets/stylesheets/foundation/components/_magellan.scss +0 -0
  40. data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +110 -98
  41. data/vendor/assets/stylesheets/foundation/components/_orbit.scss +12 -10
  42. data/vendor/assets/stylesheets/foundation/components/_pagination.scss +1 -1
  43. data/vendor/assets/stylesheets/foundation/components/_panels.scss +6 -6
  44. data/vendor/assets/stylesheets/foundation/components/_pricing-tables.scss +0 -0
  45. data/vendor/assets/stylesheets/foundation/components/_progress-bars.scss +1 -1
  46. data/vendor/assets/stylesheets/foundation/components/_reveal.scss +2 -2
  47. data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +4 -4
  48. data/vendor/assets/stylesheets/foundation/components/_split-buttons.scss +0 -0
  49. data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +9 -9
  50. data/vendor/assets/stylesheets/foundation/components/_switch.scss +30 -28
  51. data/vendor/assets/stylesheets/foundation/components/_tables.scss +2 -2
  52. data/vendor/assets/stylesheets/foundation/components/_tabs.scss +75 -73
  53. data/vendor/assets/stylesheets/foundation/components/_thumbs.scss +1 -2
  54. data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +1 -1
  55. data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +61 -47
  56. data/vendor/assets/stylesheets/foundation/components/_type.scss +13 -14
  57. data/vendor/assets/stylesheets/foundation/components/_visibility.scss +23 -8
  58. data/vendor/assets/stylesheets/normalize.scss +0 -0
  59. metadata +3 -5
  60. data/vendor/_settings.scss +0 -992
  61. data/vendor/assets/stylesheets/foundation/components/_functions.scss +0 -70
@@ -117,9 +117,6 @@ $total-columns: 12 !default;
117
117
  @if $last-column { float: $opposite-direction; }
118
118
  }
119
119
 
120
- // If offset, calculate appropriate margins
121
- @if $offset { margin-#{$default-float}: grid-calc($offset, $total-columns); }
122
-
123
120
  // Source Ordering, adds left/right depending on which you use.
124
121
  @if $push { #{$default-float}: grid-calc($push, $total-columns); #{$opposite-direction}: auto; }
125
122
  @if $pull { #{$opposite-direction}: grid-calc($pull, $total-columns); #{$default-float}: auto; }
@@ -128,9 +125,12 @@ $total-columns: 12 !default;
128
125
  @if $center {
129
126
  margin-#{$default-float}: auto;
130
127
  margin-#{$opposite-direction}: auto;
131
- float: none !important;
128
+ float: none;
132
129
  }
133
130
 
131
+ // If offset, calculate appropriate margins
132
+ @if $offset { margin-#{$default-float}: grid-calc($offset, $total-columns) !important; }
133
+
134
134
  @if $float {
135
135
  @if $float == left or $float == true { float: $default-float; }
136
136
  @else if $float == right { float: $opposite-direction; }
@@ -144,6 +144,21 @@ $total-columns: 12 !default;
144
144
  // $size - Name of class to use, i.e. "large" will generate .large-1, .large-2, etc.
145
145
  @mixin grid-html-classes($size) {
146
146
 
147
+ .column.#{$size}-centered,
148
+ .columns.#{$size}-centered { @include grid-column($center:true, $collapse:null, $float:false); }
149
+
150
+ .column.#{$size}-uncentered,
151
+ .columns.#{$size}-uncentered {
152
+ margin-#{$default-float}: 0;
153
+ margin-#{$opposite-direction}: 0;
154
+ float: $default-float;
155
+ }
156
+
157
+ .column.#{$size}-uncentered.opposite,
158
+ .columns.#{$size}-uncentered.opposite {
159
+ float: $opposite-direction;
160
+ }
161
+
147
162
  @for $i from 1 through $total-columns - 1 {
148
163
  .#{$size}-push#{-$i} {
149
164
  @include grid-column($push:$i, $collapse:null, $float:false);
@@ -161,27 +176,20 @@ $total-columns: 12 !default;
161
176
  .#{$size}#{-$i} { @include grid-column($columns:$i,$collapse:null,$float:false); }
162
177
  }
163
178
 
164
- @for $i from 0 through $total-columns - 2 {
165
- .#{$size}-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); }
166
- }
167
-
168
179
  [class*="column"] + [class*="column"]:last-child { float: $opposite-direction; }
169
180
  [class*="column"] + [class*="column"].end { float: $default-float; }
170
181
 
171
- .column.#{$size}-centered,
172
- .columns.#{$size}-centered { @include grid-column($center:true, $collapse:null, $float:false); }
173
182
 
174
- .column.#{$size}-uncentered,
175
- .columns.#{$size}-uncentered {
183
+ @for $i from 0 through $total-columns - 2 {
184
+ .#{$size}-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); }
185
+ }
186
+ .column.#{$size}-reset-order,
187
+ .columns.#{$size}-reset-order {
176
188
  margin-#{$default-float}: 0;
177
189
  margin-#{$opposite-direction}: 0;
178
- float: $default-float !important;
179
- }
180
-
181
- .column.#{$size}-uncentered.opposite,
182
- .columns.#{$size}-uncentered.opposite {
183
- float: $opposite-direction !important;
184
-
190
+ left: auto;
191
+ right: auto;
192
+ float: $default-float;
185
193
  }
186
194
  }
187
195
 
@@ -223,12 +231,20 @@ $total-columns: 12 !default;
223
231
  }
224
232
  @media #{$large-up} {
225
233
  @include grid-html-classes($size:large);
234
+ @for $i from 1 through $total-columns - 1 {
235
+ .push#{-$i} {
236
+ @include grid-column($push:$i, $collapse:null, $float:false);
237
+ }
238
+ .pull#{-$i} {
239
+ @include grid-column($pull:$i, $collapse:null, $float:false);
240
+ }
241
+ }
226
242
  }
227
- @media #{$xlarge-up} {
228
- @include grid-html-classes($size:xlarge);
229
- }
230
- @media #{$xxlarge-up} {
231
- @include grid-html-classes($size:xxlarge);
232
- }
243
+ // @media #{$xlarge-up} {
244
+ // @include grid-html-classes($size:xlarge);
245
+ // }
246
+ // @media #{$xxlarge-up} {
247
+ // @include grid-html-classes($size:xxlarge);
248
+ // }
233
249
  }
234
250
  }
@@ -13,7 +13,7 @@ $joyride-tip-border: solid 1px #555 !default;
13
13
  $joyride-tip-radius: 4px !default;
14
14
  $joyride-tip-position-offset: 22px !default;
15
15
 
16
- // Here, we're setting the tip dont styles
16
+ // Here, we're setting the tip font styles
17
17
  $joyride-tip-font-color: #fff !default;
18
18
  $joyride-tip-font-size: rem-calc(14) !default;
19
19
  $joyride-tip-header-weight: bold !default;
@@ -10,29 +10,29 @@ $keystroke-font: "Consolas", "Menlo", "Courier", monospace !default;
10
10
  $keystroke-font-size: rem-calc(14) !default;
11
11
  $keystroke-font-color: #222 !default;
12
12
  $keystroke-font-color-alt: #fff !default;
13
- $keystroke-function-factor: 7% !default;
13
+ $keystroke-function-factor: -7% !default;
14
14
 
15
15
  // We use this to control keystroke padding.
16
16
  $keystroke-padding: rem-calc(2 4 0) !default;
17
17
 
18
18
  // We use these to control background and border styles.
19
- $keystroke-bg: darken(#fff, $keystroke-function-factor) !default;
19
+ $keystroke-bg: scale-color(#fff, $lightness: $keystroke-function-factor) !default;
20
20
  $keystroke-border-style: solid !default;
21
21
  $keystroke-border-width: 1px !default;
22
- $keystroke-border-color: darken($keystroke-bg, $keystroke-function-factor) !default;
22
+ $keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor) !default;
23
23
  $keystroke-radius: $global-radius !default;
24
24
 
25
25
  //
26
26
  // @mixins
27
27
  //
28
28
  // We use this mixin to create keystroke styles.
29
- // $bg - Default: $keystroke-bg || darken(#fff, $keystroke-function-factor) !default;
29
+ // $bg - Default: $keystroke-bg || scale-color(#fff, $lightness: $keystroke-function-factor) !default;
30
30
  @mixin keystroke($bg:$keystroke-bg) {
31
31
  // This find the lightness percentage of the background color.
32
32
  $bg-lightness: lightness($bg);
33
33
 
34
34
  background-color: $bg;
35
- border-color: darken($bg, $keystroke-function-factor);
35
+ border-color: scale-color($bg, $lightness: $keystroke-function-factor);
36
36
 
37
37
  // We adjust the font color based on the brightness of the background.
38
38
  @if $bg-lightness > 70% { color: $keystroke-font-color; }
@@ -2,8 +2,9 @@
2
2
  @import "type";
3
3
  @import "top-bar";
4
4
 
5
- // OFF CANVAS VARIABLES
6
5
  // Off Canvas Tab Bar Variables
6
+ $include-html-off-canvas-classes: $include-html-classes !default;
7
+
7
8
  $tabbar-bg: #333 !default;
8
9
  $tabbar-height: rem-calc(45) !default;
9
10
  $tabbar-line-height: $tabbar-height !default;
@@ -11,8 +12,8 @@ $tabbar-color: #FFF !default;
11
12
  $tabbar-middle-padding: 0 rem-calc(10) !default;
12
13
 
13
14
  // Off Canvas Divider Styles
14
- $tabbar-right-section-border: solid 1px lighten($tabbar-bg, 10%) !default;
15
- $tabbar-left-section-border: solid 1px darken($tabbar-bg, 10%) !default;
15
+ $tabbar-right-section-border: solid 1px scale-color($tabbar-bg, $lightness: 13%) !default;
16
+ $tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%) !default;
16
17
 
17
18
  // Off Canvas Tab Bar Headers
18
19
  $tabbar-header-color: #FFF !default;
@@ -30,16 +31,16 @@ $off-canvas-label-color: #999 !default;
30
31
  $off-canvas-label-text-transform: uppercase !default;
31
32
  $off-canvas-label-font-weight: bold !default;
32
33
  $off-canvas-label-bg: #444 !default;
33
- $off-canvas-label-border-top: 1px solid lighten(#444, 10%) !default;
34
+ $off-canvas-label-border-top: 1px solid scale-color(#444, $lightness: 14%) !default;
34
35
  $off-canvas-label-border-bottom: none !default;
35
36
  $off-canvas-label-margin:0 !default;
36
37
  $off-canvas-link-padding: rem-calc(10, 15) !default;
37
38
  $off-canvas-link-color: rgba(#FFF, 0.7) !default;
38
- $off-canvas-link-border-bottom: 1px solid darken($off-canvas-bg, 5%) !default;
39
+ $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%) !default;
39
40
 
40
41
  // Off Canvas Menu Icon Variables
41
42
  $tabbar-menu-icon-color: #FFF !default;
42
- $tabbar-menu-icon-hover: darken($tabbar-menu-icon-color, 30%) !default;
43
+ $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%) !default;
43
44
 
44
45
  $tabbar-menu-icon-text-indent: rem-calc(35) !default;
45
46
  $tabbar-menu-icon-width: $tabbar-height !default;
@@ -64,19 +65,19 @@ $menu-slide: "transform 500ms ease" !default;
64
65
 
65
66
  // EXTEND CLASSES
66
67
  // Remove transition flicker on phones
67
- %kill-flicker {
68
- // -webkit-transform: translateZ(0);
68
+ @mixin kill-flicker {
69
+ // -webkit-transform: translateZ(0x);
69
70
  -webkit-backface-visibility: hidden;
70
71
  }
71
72
 
72
73
  // Basic properties for the content wraps
73
- %wrap-base {
74
+ @mixin wrap-base {
74
75
  position: relative;
75
76
  width: 100%;
76
77
  }
77
78
 
78
79
  // basic styles for off-canvas menu container
79
- %off-canvas-menu {
80
+ @mixin off-canvas-menu {
80
81
  width: $off-canvas-width;
81
82
  top:0;
82
83
  bottom:0;
@@ -100,16 +101,16 @@ $menu-slide: "transform 500ms ease" !default;
100
101
  // OFF CANVAS WRAP
101
102
  // Wrap visible content and prevent scroll bars
102
103
  @mixin off-canvas-wrap {
103
- @extend %kill-flicker;
104
- @extend %wrap-base;
104
+ @include kill-flicker;
105
+ @include wrap-base;
105
106
  overflow: hidden;
106
107
  }
107
108
 
108
109
  // INNER WRAP
109
110
  // Main content area that moves to reveal the off-canvas nav
110
111
  @mixin inner-wrap {
111
- @extend %kill-flicker;
112
- @extend %wrap-base;
112
+ @include kill-flicker;
113
+ @include wrap-base;
113
114
  @include clearfix;
114
115
 
115
116
  -webkit-transition: -webkit-#{$menu-slide};
@@ -122,8 +123,8 @@ $menu-slide: "transform 500ms ease" !default;
122
123
 
123
124
  // TAB BAR
124
125
  // This is the tab bar base
125
- @mixin tab-bar-base {
126
- @extend %kill-flicker;
126
+ @mixin tab-bar-base {
127
+ @include kill-flicker;
127
128
 
128
129
  // base styles
129
130
  background: $tabbar-bg;
@@ -147,7 +148,7 @@ $menu-slide: "transform 500ms ease" !default;
147
148
 
148
149
  // SMALL SECTIONS
149
150
  // These are small sections on the left and right that contain the off-canvas toggle buttons;
150
- %tabbar-small-section {
151
+ @mixin tabbar-small-section {
151
152
  width: $tabbar-height;
152
153
  height: $tabbar-height;
153
154
  position: absolute;
@@ -155,16 +156,16 @@ $menu-slide: "transform 500ms ease" !default;
155
156
  }
156
157
 
157
158
  @mixin left-small-section {
158
- @extend %tabbar-small-section;
159
+ @include tabbar-small-section;
159
160
  border-right: $tabbar-left-section-border;
160
- box-shadow: 1px 0 0 lighten($tabbar-bg, 10%);
161
+ box-shadow: 1px 0 0 scale-color($tabbar-bg, $lightness: 13%);
161
162
  left:0;
162
163
  }
163
164
 
164
165
  @mixin right-small-section {
165
- @extend %tabbar-small-section;
166
+ @include tabbar-small-section;
166
167
  border-left: $tabbar-right-section-border;
167
- box-shadow: -1px 0 0 darken($tabbar-bg, 10%);
168
+ box-shadow: -1px 0 0 scale-color($tabbar-bg, $lightness: -50%);
168
169
  right:0;
169
170
  }
170
171
 
@@ -179,7 +180,7 @@ $menu-slide: "transform 500ms ease" !default;
179
180
  }
180
181
 
181
182
  // still need to make these non-presntational
182
- &.left {
183
+ &.left {
183
184
  left: 0;
184
185
  right: $tabbar-height;
185
186
  }
@@ -224,7 +225,7 @@ $menu-slide: "transform 500ms ease" !default;
224
225
  // BACK LINK
225
226
  // This is an overlay that, when clicked, will toggle off the off canvas menu
226
227
  @mixin back-link {
227
- @extend %kill-flicker;
228
+ @include kill-flicker;
228
229
 
229
230
  transition: $off-canvas-overlay-transition;
230
231
  cursor: $off-canvas-overlay-cursor;
@@ -239,6 +240,7 @@ $menu-slide: "transform 500ms ease" !default;
239
240
  left:0;
240
241
  right:0;
241
242
  z-index: 1002;
243
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
242
244
 
243
245
  @media #{$medium-up} {
244
246
  &:hover {
@@ -250,14 +252,14 @@ $menu-slide: "transform 500ms ease" !default;
250
252
  // OFF CANVAS MENUS
251
253
  // These are the containers that contain the off canvas content
252
254
  @mixin left-off-canvas-menu {
253
- @extend %kill-flicker;
254
- @extend %off-canvas-menu;
255
+ @include kill-flicker;
256
+ @include off-canvas-menu;
255
257
  @include translate3d(-100%,0,0);
256
- * { @extend %kill-flicker; }
258
+ * { @include kill-flicker; }
257
259
  }
258
260
  @mixin right-off-canvas-menu {
259
- @extend %kill-flicker;
260
- @extend %off-canvas-menu;
261
+ @include kill-flicker;
262
+ @include off-canvas-menu;
261
263
  @include translate3d(100%,0,0);
262
264
  right:0;
263
265
  }
@@ -267,94 +269,104 @@ $menu-slide: "transform 500ms ease" !default;
267
269
  // DEFAULT CLASSES
268
270
  //
269
271
 
270
- .off-canvas-wrap { @include off-canvas-wrap; }
271
- .inner-wrap { @include inner-wrap; }
272
-
273
- nav.tab-bar { @include tab-bar-base; }
272
+ @if $include-html-off-canvas-classes {
274
273
 
275
- section.left-small { @include left-small-section; }
276
- section.right-small { @include right-small-section; }
274
+ .off-canvas-wrap { @include off-canvas-wrap; }
275
+ .inner-wrap { @include inner-wrap; }
277
276
 
278
- section.tab-bar-section { @include tab-bar-section; }
277
+ nav.tab-bar { @include tab-bar-base; }
279
278
 
280
- // MENU BUTTON
281
- // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future.
282
- a.menu-icon {
283
- text-indent: $tabbar-menu-icon-text-indent;
284
- width: $tabbar-height;
285
- height: $tabbar-height;
286
- display: block;
287
- line-height: $tabbar-menu-icon-line-height;
288
- padding: $tabbar-menu-icon-padding;
289
- color: $topbar-menu-link-color;
290
- position: relative;
279
+ section.left-small { @include left-small-section; }
280
+ section.right-small { @include right-small-section; }
291
281
 
292
- // this is the actual hamburger icon
293
- span {
282
+ section.tab-bar-section { @include tab-bar-section; }
294
283
 
295
- position: absolute;
284
+ // MENU BUTTON
285
+ // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future.
286
+ a.menu-icon {
287
+ text-indent: $tabbar-menu-icon-text-indent;
288
+ width: $tabbar-height;
289
+ height: $tabbar-height;
296
290
  display: block;
297
- width: $tabbar-hamburger-icon-width;
298
- height: 0;
299
- left: $tabbar-hamburger-icon-left;
300
- top: $tabbar-hamburger-icon-top;
301
- // margin-top: $tabbar-height / 4;
302
-
303
- @if $experimental {
304
- -webkit-box-shadow: 0 10px 0 1px $tabbar-menu-icon-color,
305
- 0 16px 0 1px $tabbar-menu-icon-color,
306
- 0 22px 0 1px $tabbar-menu-icon-color;
291
+ line-height: $tabbar-menu-icon-line-height;
292
+ padding: $tabbar-menu-icon-padding;
293
+ color: $topbar-menu-link-color;
294
+ position: relative;
295
+
296
+ // this is the actual hamburger icon
297
+ span {
298
+
299
+ position: absolute;
300
+ display: block;
301
+ width: $tabbar-hamburger-icon-width;
302
+ height: 0;
303
+ left: $tabbar-hamburger-icon-left;
304
+ top: $tabbar-hamburger-icon-top;
305
+ // margin-top: $tabbar-height / 4;
306
+
307
+ @if $experimental {
308
+ -webkit-box-shadow: 1px 10px 1px 1px $tabbar-menu-icon-color,
309
+ 1px 16px 1px 1px $tabbar-menu-icon-color,
310
+ 1px 22px 1px 1px $tabbar-menu-icon-color;
311
+ }
312
+ box-shadow: 0 10px 0 1px $tabbar-menu-icon-color,
313
+ 0 16px 0 1px $tabbar-menu-icon-color,
314
+ 0 22px 0 1px $tabbar-menu-icon-color;
315
+ }
316
+
317
+ &:hover span {
318
+ @if $experimental {
319
+ -webkit-box-shadow: 1px 10px 1px 1px $tabbar-menu-icon-hover,
320
+ 1px 16px 1px 1px $tabbar-menu-icon-hover,
321
+ 1px 22px 1px 1px $tabbar-menu-icon-hover;
322
+ }
323
+ box-shadow: 0 10px 0 1px $tabbar-menu-icon-hover,
324
+ 0 16px 0 1px $tabbar-menu-icon-hover,
325
+ 0 22px 0 1px $tabbar-menu-icon-hover;
307
326
  }
308
- box-shadow: 0 10px 0 1px $tabbar-menu-icon-color,
309
- 0 16px 0 1px $tabbar-menu-icon-color,
310
- 0 22px 0 1px $tabbar-menu-icon-color;
311
327
  }
312
-
313
- &:hover span {
314
- @if $experimental {
315
- -webkit-box-shadow: 0 10px 0 1px $tabbar-menu-icon-hover,
316
- 0 16px 0 1px $tabbar-menu-icon-hover,
317
- 0 22px 0 1px $tabbar-menu-icon-hover;
328
+
329
+ .left-off-canvas-menu { @include left-off-canvas-menu; }
330
+ .right-off-canvas-menu { @include right-off-canvas-menu; }
331
+
332
+ ul.off-canvas-list { @include off-canvas-list; }
333
+
334
+
335
+ // ANIMATION CLASSES
336
+ // These classes are added with JS and trigger the actual animation.
337
+ .move-right {
338
+ > .inner-wrap {
339
+ @include translate3d($off-canvas-width,0,0);
318
340
  }
319
- box-shadow: 0 10px 0 1px $tabbar-menu-icon-hover,
320
- 0 16px 0 1px $tabbar-menu-icon-hover,
321
- 0 22px 0 1px $tabbar-menu-icon-hover;
341
+ a.exit-off-canvas { @include back-link;}
322
342
  }
323
- }
324
343
 
325
- .left-off-canvas-menu { @include left-off-canvas-menu; }
326
- .right-off-canvas-menu { @include right-off-canvas-menu; }
344
+ .move-left {
345
+ > .inner-wrap {
346
+ @include translate3d(-($off-canvas-width),0,0);
327
347
 
328
- ul.off-canvas-list { @include off-canvas-list; }
348
+ }
349
+ a.exit-off-canvas { @include back-link; }
350
+ }
329
351
 
352
+ // Opera 12.16 and IE9 - don't have 3d transforms
353
+ .csstransforms.no-csstransforms3d {
354
+ .left-off-canvas-menu { @include translate2d(-100%, 0); }
355
+ .right-off-canvas-menu { @include translate2d(100%, 0); }
330
356
 
331
- // ANIMATION CLASSES
332
- // These classes are added with JS and trigger the actual animation.
333
- .move-right {
334
- > .inner-wrap {
335
- @include translate3d($off-canvas-width,0,0);
357
+ .move-left > .inner-wrap { @include translate2d(-($off-canvas-width),0); }
358
+ .move-right > .inner-wrap { @include translate2d($off-canvas-width,0); }
336
359
  }
337
- a.exit-off-canvas { @include back-link;}
338
- }
339
360
 
340
- .move-left {
341
- > .inner-wrap {
342
- @include translate3d(-($off-canvas-width),0,0);
361
+ // Older browsers
362
+ .no-csstransforms {
363
+ .left-off-canvas-menu { left: -($off-canvas-width); }
364
+ .right-off-canvas-menu { right: -($off-canvas-width); }
343
365
 
366
+ .move-left > .inner-wrap { right: $off-canvas-width; }
367
+ .move-right > .inner-wrap { left: $off-canvas-width; }
344
368
  }
345
- a.exit-off-canvas { @include back-link; }
346
- }
347
369
 
348
- // IE9 HAX
349
- // Womp womp! IE9 doesn't do CSS transforms. Let's fix this.
350
- .lt-ie10 {
351
-
352
- // move off canvas menus off the viewport
353
- .left-off-canvas-menu { left: -($off-canvas-width); }
354
- .right-off-canvas-menu { right: -($off-canvas-width); }
370
+ }
355
371
 
356
- // Snap them in place
357
- .move-left > .inner-wrap { right: $off-canvas-width; }
358
- .move-right > .inner-wrap { left: $off-canvas-width; }
359
372
 
360
- }