zurb-foundation-5 5.2.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 (123) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/.editorconfig +9 -0
  4. data/.gitignore +46 -0
  5. data/.travis.yml +34 -0
  6. data/CONTRIBUTING.md +55 -0
  7. data/Gemfile +3 -0
  8. data/Gemfile.lock +16 -0
  9. data/Gruntfile.js +222 -0
  10. data/LICENSE +22 -0
  11. data/README.md +44 -0
  12. data/bower.json +20 -0
  13. data/composer.json +9 -0
  14. data/foundation.gemspec +21 -0
  15. data/humans.txt +8 -0
  16. data/js/foundation/foundation.abide.js +299 -0
  17. data/js/foundation/foundation.accordion.js +54 -0
  18. data/js/foundation/foundation.alert.js +43 -0
  19. data/js/foundation/foundation.clearing.js +531 -0
  20. data/js/foundation/foundation.dropdown.js +306 -0
  21. data/js/foundation/foundation.equalizer.js +68 -0
  22. data/js/foundation/foundation.interchange.js +331 -0
  23. data/js/foundation/foundation.joyride.js +849 -0
  24. data/js/foundation/foundation.js +609 -0
  25. data/js/foundation/foundation.magellan.js +173 -0
  26. data/js/foundation/foundation.offcanvas.js +50 -0
  27. data/js/foundation/foundation.orbit.js +606 -0
  28. data/js/foundation/foundation.reveal.js +427 -0
  29. data/js/foundation/foundation.slider.js +200 -0
  30. data/js/foundation/foundation.tab.js +168 -0
  31. data/js/foundation/foundation.tooltip.js +272 -0
  32. data/js/foundation/foundation.topbar.js +422 -0
  33. data/karma.conf.js +114 -0
  34. data/lib/foundation/engine.rb +20 -0
  35. data/lib/foundation/generators/USAGE +15 -0
  36. data/lib/foundation/generators/install_generator.rb +54 -0
  37. data/lib/foundation/generators/templates/application.html.erb +47 -0
  38. data/lib/foundation/generators/templates/application.html.haml +31 -0
  39. data/lib/foundation/generators/templates/application.html.slim +35 -0
  40. data/lib/foundation/sprockets.rb +4 -0
  41. data/lib/foundation/version.rb +3 -0
  42. data/lib/scss.js +114 -0
  43. data/lib/zurb-foundation.rb +33 -0
  44. data/package.json +48 -0
  45. data/robots.txt +4 -0
  46. data/run-tests.sh +83 -0
  47. data/sache.json +5 -0
  48. data/scss/foundation.scss +45 -0
  49. data/scss/foundation/_functions.scss +101 -0
  50. data/scss/foundation/_settings.scss +1279 -0
  51. data/scss/foundation/components/_accordion.scss +52 -0
  52. data/scss/foundation/components/_alert-boxes.scss +126 -0
  53. data/scss/foundation/components/_block-grid.scss +132 -0
  54. data/scss/foundation/components/_breadcrumbs.scss +127 -0
  55. data/scss/foundation/components/_button-groups.scss +108 -0
  56. data/scss/foundation/components/_buttons.scss +222 -0
  57. data/scss/foundation/components/_clearing.scss +247 -0
  58. data/scss/foundation/components/_dropdown-buttons.scss +129 -0
  59. data/scss/foundation/components/_dropdown.scss +248 -0
  60. data/scss/foundation/components/_flex-video.scss +51 -0
  61. data/scss/foundation/components/_forms.scss +496 -0
  62. data/scss/foundation/components/_global.scss +365 -0
  63. data/scss/foundation/components/_grid.scss +261 -0
  64. data/scss/foundation/components/_inline-lists.scss +56 -0
  65. data/scss/foundation/components/_joyride.scss +220 -0
  66. data/scss/foundation/components/_keystrokes.scss +61 -0
  67. data/scss/foundation/components/_labels.scss +104 -0
  68. data/scss/foundation/components/_magellan.scss +34 -0
  69. data/scss/foundation/components/_offcanvas.scss +381 -0
  70. data/scss/foundation/components/_orbit.scss +415 -0
  71. data/scss/foundation/components/_pagination.scss +150 -0
  72. data/scss/foundation/components/_panels.scss +91 -0
  73. data/scss/foundation/components/_pricing-tables.scss +150 -0
  74. data/scss/foundation/components/_progress-bars.scss +79 -0
  75. data/scss/foundation/components/_range-slider.scss +148 -0
  76. data/scss/foundation/components/_reveal-new.scss +0 -0
  77. data/scss/foundation/components/_reveal.scss +216 -0
  78. data/scss/foundation/components/_side-nav.scss +93 -0
  79. data/scss/foundation/components/_split-buttons.scss +191 -0
  80. data/scss/foundation/components/_sub-nav.scss +125 -0
  81. data/scss/foundation/components/_switch.scss +294 -0
  82. data/scss/foundation/components/_tables.scss +97 -0
  83. data/scss/foundation/components/_tabs.scss +105 -0
  84. data/scss/foundation/components/_thumbs.scss +68 -0
  85. data/scss/foundation/components/_tooltips.scss +140 -0
  86. data/scss/foundation/components/_top-bar.scss +640 -0
  87. data/scss/foundation/components/_type.scss +493 -0
  88. data/scss/foundation/components/_visibility.scss +345 -0
  89. data/scss/foundation/test.html +0 -0
  90. data/scss/normalize.scss +423 -0
  91. data/spec/abide/abide.js +173 -0
  92. data/spec/abide/advanced.html +22 -0
  93. data/spec/abide/basic.html +13 -0
  94. data/spec/accordion/accordion.js +94 -0
  95. data/spec/accordion/basic.html +39 -0
  96. data/spec/accordion/grid.html +44 -0
  97. data/spec/accordion/multiexpand.html +20 -0
  98. data/spec/alert/alert.js +35 -0
  99. data/spec/alert/basic.html +4 -0
  100. data/spec/clearing/222.gif +0 -0
  101. data/spec/clearing/777.gif +0 -0
  102. data/spec/clearing/basic.html +5 -0
  103. data/spec/clearing/ccc.gif +0 -0
  104. data/spec/clearing/clearing.js +55 -0
  105. data/spec/dropdown/basic.html +10 -0
  106. data/spec/dropdown/dropdown.js +65 -0
  107. data/spec/equalizer/basic.html +24 -0
  108. data/spec/equalizer/equalizer.js +30 -0
  109. data/spec/framework/framework.js +14 -0
  110. data/spec/helpers.js +37 -0
  111. data/spec/interchange/basic.html +3 -0
  112. data/spec/interchange/interchange.js +60 -0
  113. data/spec/joyride/joyride.js +14 -0
  114. data/spec/magellan/magellan.js +14 -0
  115. data/spec/offcanvas/offcanvas.js +14 -0
  116. data/spec/orbit/orbit.js +14 -0
  117. data/spec/reveal/reveal.js +14 -0
  118. data/spec/tab/tab.js +14 -0
  119. data/spec/tooltip/tooltip.js +14 -0
  120. data/spec/topbar/multidropdown.html +60 -0
  121. data/spec/topbar/sticky.html +31 -0
  122. data/spec/topbar/topbar.js +96 -0
  123. metadata +238 -0
@@ -0,0 +1,381 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+ @import "type";
7
+ @import "top-bar";
8
+
9
+ // Off Canvas Tab Bar Variables
10
+ $include-html-off-canvas-classes: $include-html-classes !default;
11
+
12
+ $tabbar-bg: #333 !default;
13
+ $tabbar-height: rem-calc(45) !default;
14
+ $tabbar-line-height: $tabbar-height !default;
15
+ $tabbar-color: #fff !default;
16
+ $tabbar-middle-padding: 0 rem-calc(10) !default;
17
+
18
+ // Off Canvas Divider Styles
19
+ $tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%) !default;
20
+ $tabbar-right-section-border: $tabbar-left-section-border;
21
+
22
+
23
+ // Off Canvas Tab Bar Headers
24
+ $tabbar-header-color: #fff !default;
25
+ $tabbar-header-weight: bold !default;
26
+ $tabbar-header-line-height: $tabbar-height !default;
27
+ $tabbar-header-margin: 0 !default;
28
+
29
+ // Off Canvas Menu Variables
30
+ $off-canvas-width: rem-calc(250) !default;
31
+ $off-canvas-bg: #333 !default;
32
+
33
+ // Off Canvas Menu List Variables
34
+ $off-canvas-label-padding: 0.3rem rem-calc(15) !default;
35
+ $off-canvas-label-color: #999 !default;
36
+ $off-canvas-label-text-transform: uppercase !default;
37
+ $off-canvas-label-font-weight: bold !default;
38
+ $off-canvas-label-bg: #444 !default;
39
+ $off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default;
40
+ $off-canvas-label-border-bottom: none !default;
41
+ $off-canvas-label-margin:0 !default;
42
+ $off-canvas-link-padding: rem-calc(10, 15) !default;
43
+ $off-canvas-link-color: rgba(#FFF, 0.7) !default;
44
+ $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%) !default;
45
+
46
+ // Off Canvas Menu Icon Variables
47
+ $tabbar-menu-icon-color: #FFF !default;
48
+ $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%) !default;
49
+
50
+ $tabbar-menu-icon-text-indent: rem-calc(35) !default;
51
+ $tabbar-menu-icon-width: $tabbar-height !default;
52
+ $tabbar-menu-icon-height: $tabbar-height !default;
53
+ $tabbar-menu-icon-line-height: rem-calc(33) !default;
54
+ $tabbar-menu-icon-padding: 0 !default;
55
+
56
+ $tabbar-hamburger-icon-width: rem-calc(16) !default;
57
+ $tabbar-hamburger-icon-left: false !default;
58
+ $tabbar-hamburger-icon-top: false !default;
59
+ $tapbar-hamburger-icon-thickness: 1px !default;
60
+ $tapbar-hamburger-icon-gap: 6px !default;
61
+
62
+ // Off Canvas Back-Link Overlay
63
+ $off-canvas-overlay-transition: background 300ms ease !default;
64
+ $off-canvas-overlay-cursor: pointer !default;
65
+ $off-canvas-overlay-box-shadow: -4px 0 4px rgba(#000, 0.5), 4px 0 4px rgba(#000, 0.5) !default;
66
+ $off-canvas-overlay-background: rgba(#FFF, 0.2) !default;
67
+ $off-canvas-overlay-background-hover: rgba(#FFF, 0.05) !default;
68
+
69
+ // Transition Variables
70
+ $menu-slide: "transform 500ms ease" !default;
71
+
72
+
73
+ // MIXINS
74
+ // Remove transition flicker on phones
75
+ @mixin kill-flicker {
76
+ // -webkit-transform: translateZ(0x);
77
+ -webkit-backface-visibility: hidden;
78
+ }
79
+
80
+ // Basic properties for the content wraps
81
+ @mixin wrap-base {
82
+ position: relative;
83
+ width: 100%;
84
+ }
85
+
86
+ @mixin translate3d($tx,$ty,$tz) {
87
+ -ms-transform: translate($tx,$ty);
88
+ -webkit-transform: translate3d($tx,$ty,$tz);
89
+ -moz-transform: translate3d($tx,$ty,$tz);
90
+ -ms-transform: translate3d($tx,$ty,$tz);
91
+ -o-transform: translate3d($tx,$ty,$tz);
92
+ transform: translate3d($tx,$ty,$tz)
93
+ }
94
+
95
+ // basic styles for off-canvas menu container
96
+ @mixin off-canvas-menu($position) {
97
+ @include kill-flicker;
98
+ * { @include kill-flicker; }
99
+ width: $off-canvas-width;
100
+ top: 0;
101
+ bottom: 0;
102
+ position: absolute;
103
+ overflow-y: auto;
104
+ background: $off-canvas-bg;
105
+ z-index: 1001;
106
+ box-sizing: content-box;
107
+ -webkit-overflow-scrolling: touch;
108
+ @if $position == left {
109
+ @include translate3d(-100%,0,0);
110
+ left: 0;
111
+ }
112
+ @if $position == right {
113
+ @include translate3d(100%,0,0);
114
+ right: 0;
115
+ }
116
+ }
117
+
118
+ // OFF CANVAS WRAP
119
+ // Wrap visible content and prevent scroll bars
120
+ @mixin off-canvas-wrap {
121
+ @include kill-flicker;
122
+ @include wrap-base;
123
+ overflow: hidden;
124
+ &.move-right,
125
+ &.move-left { min-height: 100%; -webkit-overflow-scrolling: touch; }
126
+ }
127
+
128
+ // INNER WRAP
129
+ // Main content area that moves to reveal the off-canvas nav
130
+ @mixin inner-wrap {
131
+ @include kill-flicker;
132
+ @include wrap-base;
133
+ @include clearfix;
134
+ -webkit-transition: -webkit-#{$menu-slide};
135
+ -moz-transition: -moz-#{$menu-slide};
136
+ -ms-transition: -ms-#{$menu-slide};
137
+ -o-transition: -o-#{$menu-slide};
138
+ transition: #{$menu-slide};
139
+ }
140
+
141
+ // TAB BAR
142
+ // This is the tab bar base
143
+ @mixin tab-bar-base {
144
+ @include kill-flicker;
145
+
146
+ // base styles
147
+ background: $tabbar-bg;
148
+ color: $tabbar-color;
149
+ height: $tabbar-height;
150
+ line-height: $tabbar-height;
151
+
152
+ // make sure it's below the .exit-offcanvas link
153
+ position: relative;
154
+ // z-index: 999;
155
+
156
+ // Typography
157
+ h1,h2,h3,h4,h5,h6 {
158
+ color: $tabbar-header-color;
159
+ font-weight: $tabbar-header-weight;
160
+ line-height: $tabbar-header-line-height;
161
+ margin: $tabbar-header-margin;
162
+ }
163
+ h1,h2,h3,h4 { font-size: $h5-font-size; }
164
+ }
165
+
166
+ // SMALL SECTIONS
167
+ // These are small sections on the left and right that contain the off-canvas toggle buttons;
168
+ @mixin tabbar-small-section($position) {
169
+ width: $tabbar-height;
170
+ height: $tabbar-height;
171
+ position: absolute;
172
+ top: 0;
173
+ @if $position == left {
174
+ border-right: $tabbar-left-section-border;
175
+ // box-shadow: 1px 0 0 scale-color($tabbar-bg, $lightness: 13%);
176
+ left: 0;
177
+ }
178
+ @if $position == right {
179
+ border-left: $tabbar-right-section-border;
180
+ // box-shadow: -1px 0 0 scale-color($tabbar-bg, $lightness: -50%);
181
+ right:0;
182
+ }
183
+ }
184
+
185
+ @mixin tab-bar-section {
186
+ padding: $tabbar-middle-padding;
187
+ position: absolute;
188
+ text-align: center;
189
+ height: $tabbar-height;
190
+ top: 0;
191
+ @media #{$medium-up} { text-align: left; }
192
+
193
+ // still need to make these non-presentational
194
+ &.left {
195
+ left: 0;
196
+ right: $tabbar-height;
197
+ }
198
+ &.right {
199
+ left: $tabbar-height;
200
+ right: 0;
201
+ }
202
+ &.middle {
203
+ left: $tabbar-height;
204
+ right: $tabbar-height;
205
+ }
206
+ }
207
+
208
+ // OFF CANVAS LIST
209
+ // This is the list of links in the off-canvas menu
210
+ @mixin off-canvas-list {
211
+ list-style-type: none;
212
+ padding:0;
213
+ margin:0;
214
+
215
+ li {
216
+ label {
217
+ padding: $off-canvas-label-padding;
218
+ color: $off-canvas-label-color;
219
+ text-transform: $off-canvas-label-text-transform;
220
+ font-weight: $off-canvas-label-font-weight;
221
+ background: $off-canvas-label-bg;
222
+ border-top: $off-canvas-label-border-top;
223
+ border-bottom: $off-canvas-label-border-bottom;
224
+ margin: $off-canvas-label-margin;
225
+ }
226
+ a {
227
+ display: block;
228
+ padding: $off-canvas-link-padding;
229
+ color: $off-canvas-link-color;
230
+ border-bottom: $off-canvas-link-border-bottom;
231
+ &:hover { background: scale-color($tabbar-bg, $lightness: -30%); }
232
+ transition: background 300ms ease;
233
+ }
234
+ }
235
+
236
+ }
237
+
238
+ // BACK LINK
239
+ // This is an overlay that, when clicked, will toggle off the off canvas menu
240
+ @mixin back-link {
241
+ @include kill-flicker;
242
+
243
+ transition: $off-canvas-overlay-transition;
244
+ cursor: $off-canvas-overlay-cursor;
245
+ box-shadow: $off-canvas-overlay-box-shadow;
246
+
247
+ // fill the screen
248
+ display: block;
249
+ position: absolute;
250
+ background: $off-canvas-overlay-background;
251
+ top: 0;
252
+ bottom: 0;
253
+ left:0;
254
+ right:0;
255
+ z-index: 1002;
256
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
257
+
258
+ @media #{$medium-up} {
259
+ &:hover {
260
+ background: $off-canvas-overlay-background-hover;
261
+ }
262
+ }
263
+ }
264
+
265
+ // @MIXIN
266
+ //
267
+ // We use this mixin to generate hamburger icon
268
+ //
269
+ // $width - Width of hamburger icon in rem Default: $tabbar-hamburger-icon-width.
270
+ // $left - If false, icon will be centered horizontally || explicitly set value in rem Default: $tabbar-hamburger-icon-left= False
271
+ // $top - If false, icon will be centered vertically || explicitly set value in rem Default: $tabbar-hamburger-icon-top= False
272
+ // $thickness - thickness of lines in hamburger icon, set value in px Default: $tapbar-hamburger-icon-thickness = 1px
273
+ // $gap - spacing between the lines in hamburger icon, set value in px Default: $tapbar-hamburger-icon-gap = 6px
274
+ // $color - icon color Default: $tabbar-menu-icon-color
275
+ // $hover-color - icon color when hovered Default: $tabbar-menu-icon-hover
276
+ @mixin hamburger($width:$tabbar-hamburger-icon-width,
277
+ $left: $tabbar-hamburger-icon-left,
278
+ $top: $tabbar-hamburger-icon-top,
279
+ $thickness:$tapbar-hamburger-icon-thickness,
280
+ $gap:$tapbar-hamburger-icon-gap,
281
+ $color:$tabbar-menu-icon-color,
282
+ $hover-color:$tabbar-menu-icon-hover) {
283
+ span {
284
+ position: absolute;
285
+ display: block;
286
+ height: 0;
287
+ width: $width;
288
+ line-height: 1;
289
+
290
+ // disable height centering if $top is not false
291
+ @if $top {
292
+ top: $tabbar-hamburger-icon-top;
293
+ }
294
+ @else {
295
+ top: ($tabbar-menu-icon-height - rem-calc(3 * $thickness) - rem-calc(2 * $gap))/2;
296
+ }
297
+ // disable width centering if $top is not false
298
+ @if $left {
299
+ left: $tabbar-hamburger-icon-left;
300
+ }
301
+ @else {
302
+ left: ($tabbar-menu-icon-width - $width)/2;
303
+ }
304
+ box-shadow: 0 0px 0 $thickness $color,
305
+ 0 $gap + $thickness 0 $thickness $color,
306
+ 0 (2 * $gap + 2*$thickness) 0 $thickness $color;
307
+ }
308
+ &:hover span {
309
+ box-shadow: 0 0px 0 $thickness $hover-color,
310
+ 0 $gap + $thickness 0 $thickness $hover-color,
311
+ 0 (2 * $gap + 2*$thickness) 0 $thickness $hover-color;
312
+ }
313
+ }
314
+
315
+ //
316
+ // DEFAULT CLASSES
317
+ //
318
+ @include exports("offcanvas") {
319
+ @if $include-html-off-canvas-classes {
320
+
321
+ .off-canvas-wrap { @include off-canvas-wrap; }
322
+ .inner-wrap { @include inner-wrap; }
323
+
324
+ .tab-bar { @include tab-bar-base; }
325
+
326
+ .left-small { @include tabbar-small-section($position: left); }
327
+ .right-small { @include tabbar-small-section($position: right); }
328
+
329
+ .tab-bar-section { @include tab-bar-section; }
330
+
331
+ // MENU BUTTON
332
+ // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future.
333
+ .tab-bar .menu-icon {
334
+ text-indent: $tabbar-menu-icon-text-indent;
335
+ width: $tabbar-height;
336
+ height: $tabbar-height;
337
+ display: block;
338
+ line-height: $tabbar-menu-icon-line-height;
339
+ padding: $tabbar-menu-icon-padding;
340
+ color: $topbar-menu-link-color;
341
+ position: relative;
342
+ @include translate3d(0,0,0);
343
+
344
+ // this is the actual hamburger icon
345
+ @include hamburger();
346
+ }
347
+
348
+ .left-off-canvas-menu { @include off-canvas-menu($position: left); }
349
+ .right-off-canvas-menu { @include off-canvas-menu($position: right); }
350
+
351
+ ul.off-canvas-list { @include off-canvas-list; }
352
+
353
+
354
+ // ANIMATION CLASSES
355
+ // These classes are added with JS and trigger the actual animation.
356
+ .move-right {
357
+ > .inner-wrap {
358
+ @include translate3d($off-canvas-width,0,0);
359
+ }
360
+ .exit-off-canvas { @include back-link;}
361
+ }
362
+
363
+ .move-left {
364
+ > .inner-wrap {
365
+ @include translate3d(-($off-canvas-width),0,0);
366
+
367
+ }
368
+ .exit-off-canvas { @include back-link; }
369
+ }
370
+
371
+ // Older browsers
372
+ .no-csstransforms {
373
+ .left-off-canvas-menu { left: -($off-canvas-width); }
374
+ .right-off-canvas-menu { right: -($off-canvas-width); }
375
+
376
+ .move-left > .inner-wrap { right: $off-canvas-width; }
377
+ .move-right > .inner-wrap { left: $off-canvas-width; }
378
+ }
379
+
380
+ }
381
+ }
@@ -0,0 +1,415 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+
7
+ // @variables
8
+ //
9
+ $include-html-orbit-classes: $include-html-classes !default;
10
+
11
+ // We use these to control the caption styles
12
+ $orbit-container-bg: none !default;
13
+ $orbit-caption-bg: rgba(51,51,51, 0.8) !default;
14
+ $orbit-caption-font-color: #fff !default;
15
+ $orbit-caption-font-size: rem-calc(14) !default;
16
+ $orbit-caption-position: "bottom" !default; // Supported values: "bottom", "under"
17
+ $orbit-caption-padding: rem-calc(10 14) !default;
18
+ $orbit-caption-height: auto !default;
19
+
20
+ // We use these to control the left/right nav styles
21
+ $orbit-nav-bg: transparent !default;
22
+ $orbit-nav-bg-hover: rgba(0,0,0,0.3) !default;
23
+ $orbit-nav-arrow-color: #fff !default;
24
+ $orbit-nav-arrow-color-hover: #fff !default;
25
+
26
+ // We use these to control the timer styles
27
+ $orbit-timer-bg: rgba(255,255,255,0.3) !default;
28
+ $orbit-timer-show-progress-bar: true !default;
29
+
30
+ // We use these to control the bullet nav styles
31
+ $orbit-bullet-nav-color: #ccc !default;
32
+ $orbit-bullet-nav-color-active: #999 !default;
33
+ $orbit-bullet-radius: rem-calc(9) !default;
34
+
35
+ // We use these to controls the style of slide numbers
36
+ $orbit-slide-number-bg: rgba(0,0,0,0) !default;
37
+ $orbit-slide-number-font-color: #fff !default;
38
+ $orbit-slide-number-padding: rem-calc(5) !default;
39
+
40
+ // We use these to controls the css animation
41
+ $orbit-animation-speed: 500ms !default;
42
+ $orbit-animation-ease: ease-in-out !default;
43
+
44
+ // Graceful Loading Wrapper and preloader
45
+ $wrapper-class: "slideshow-wrapper" !default;
46
+ $preloader-class: "preloader" !default;
47
+
48
+ // Hide controls on small
49
+ $orbit-nav-hide-for-small: true !default;
50
+ $orbit-bullet-hide-for-small: true !default;
51
+ $orbit-timer-hide-for-small: true !default;
52
+
53
+ // CSS Transform
54
+ // This function is needed in order to put in all of the browser prefixes.
55
+ // The normal tranform attribute still does not work properly across all browsers.
56
+ // In order to receive the transitionEnd events then you will still need to use the vendor prefixes
57
+ @mixin translate3d($x,$y,$z) {
58
+ -ms-transform:translate($x,$y);
59
+ -webkit-transform:translate3d($x,$y,$z);
60
+ -moz-transform:translate3d($x,$y,$z);
61
+ // -ms-transform:translate3d($x,$y,$z);
62
+ -o-transform:translate3d($x,$y,$z);
63
+ transform:translate3d($x,$y,$z);
64
+ }
65
+
66
+ @mixin rotate($d) {
67
+ -webkit-transform: rotate($d);
68
+ -moz-transform: rotate($d);
69
+ -ms-transform: rotate($d);
70
+ -o-transform: rotate($d);
71
+ transform: rotate($d);
72
+ }
73
+
74
+ @include exports("orbit") {
75
+ @if $include-html-orbit-classes {
76
+
77
+ @keyframes rotate {
78
+ from { @include rotate(0deg); }
79
+ to { @include rotate(360deg); }
80
+ }
81
+
82
+ /* Orbit Graceful Loading */
83
+ .#{$wrapper-class} {
84
+ position: relative;
85
+
86
+ ul {
87
+ // Prevent bullets showing before .orbit-container is loaded
88
+ list-style-type: none;
89
+ margin: 0;
90
+
91
+ // Hide all list items
92
+ li,
93
+ li .orbit-caption { display: none; }
94
+
95
+ // ...except for the first one
96
+ li:first-child { display: block; }
97
+ }
98
+
99
+ .orbit-container { background-color: transparent;
100
+
101
+ // Show images when .orbit-container is loaded
102
+ li { display: block;
103
+
104
+ .orbit-caption { display: block; }
105
+ }
106
+ }
107
+
108
+ // Orbit preloader
109
+ .#{$preloader-class} {
110
+ display: block;
111
+ width: 40px;
112
+ height: 40px;
113
+ position: absolute;
114
+ top: 50%;
115
+ left: 50%;
116
+ margin-top: -20px;
117
+ margin-left: -20px;
118
+ border: solid 3px;
119
+ border-color: #555 #fff;
120
+ @include radius(1000px);
121
+ animation-name: rotate;
122
+ animation-duration: 1.5s;
123
+ animation-iteration-count: infinite;
124
+ animation-timing-function: linear;
125
+ }
126
+ }
127
+
128
+ .orbit-container {
129
+ overflow: hidden;
130
+ width: 100%;
131
+ position: relative;
132
+ background: $orbit-container-bg;
133
+
134
+ .orbit-slides-container {
135
+ list-style: none;
136
+ margin: 0;
137
+ padding: 0;
138
+ position: relative;
139
+
140
+ // Prevents images (and captions) from disappearing after first rotation on Chrome for Android
141
+ -webkit-transform: translateZ(0);
142
+
143
+ img { display: block; max-width: 100%; }
144
+
145
+ &.fade li {
146
+ opacity: 0;
147
+ transition: opacity $orbit-animation-speed $orbit-animation-ease;
148
+ @include translate3d(0,0,0);
149
+ &.animate-in {
150
+ opacity: 1;
151
+ z-index: 20;
152
+ transition: opacity $orbit-animation-speed $orbit-animation-ease;
153
+ }
154
+ &.animate-out {
155
+ z-index: 10;
156
+ transition: opacity $orbit-animation-speed $orbit-animation-ease;
157
+ }
158
+ }
159
+
160
+ &.swipe-next li {
161
+ @include translate3d(100%,0,0);
162
+ &.animate-in {
163
+ @include translate3d(0,0,0);
164
+ transition-duration:$orbit-animation-speed;
165
+ }
166
+ &.animate-out {
167
+ @include translate3d(-100%,0,0);
168
+ transition-duration:$orbit-animation-speed;
169
+ }
170
+ }
171
+
172
+ &.swipe-prev li {
173
+ @include translate3d(-100%,0,0);
174
+ &.animate-in {
175
+ @include translate3d(0,0,0);
176
+ transition-duration:$orbit-animation-speed;
177
+ }
178
+ &.animate-out {
179
+ @include translate3d(100%,0,0);
180
+ transition-duration:$orbit-animation-speed;
181
+ }
182
+ }
183
+
184
+ li {
185
+ position: absolute;
186
+ top: 0;
187
+ left: 0;
188
+ width: 100%;
189
+ @include translate3d(100%,0,0);
190
+
191
+ &.active {
192
+ opacity: 1;
193
+ top: 0;
194
+ left: 0;
195
+ @include translate3d(0,0,0);
196
+ }
197
+
198
+ .orbit-caption {
199
+ @if $orbit-caption-position == "bottom" {
200
+ position: absolute;
201
+ bottom: 0;
202
+ } @else if $orbit-caption-position == "under" {
203
+ position: relative;
204
+ }
205
+
206
+ background-color: $orbit-caption-bg;
207
+ color: $orbit-caption-font-color;
208
+ width: 100%;
209
+ padding: $orbit-caption-padding;
210
+ font-size: $orbit-caption-font-size;
211
+ }
212
+ }
213
+ }
214
+
215
+ .orbit-slide-number {
216
+ position: absolute;
217
+ top: 10px;
218
+ #{$default-float}: 10px;
219
+ font-size: 12px;
220
+ span { font-weight: 700; padding: $orbit-slide-number-padding;}
221
+ color: $orbit-slide-number-font-color;
222
+ background: $orbit-slide-number-bg;
223
+ z-index: 10;
224
+ }
225
+
226
+ .orbit-timer {
227
+ position: absolute;
228
+ top: 12px;
229
+ #{$opposite-direction}: 10px;
230
+ height: 6px;
231
+ width: 100px;
232
+ z-index: 10;
233
+ .orbit-progress {
234
+ @if $orbit-timer-show-progress-bar {
235
+ height: 3px;
236
+ background-color: $orbit-timer-bg;
237
+ display: block;
238
+ width: 0%;
239
+ position: relative;
240
+ right: 20px;
241
+ top: 5px;
242
+ } @else {
243
+ display:none; // This is used by the Javascript to not create a handler.
244
+ }
245
+ }
246
+
247
+ // Play button
248
+ & > span {
249
+ display: none;
250
+ position: absolute;
251
+ top: 0px;
252
+ #{$opposite-direction}: 0;
253
+ width: 11px;
254
+ height: 14px;
255
+ border: solid 4px #fff;
256
+ border-top: none;
257
+ border-bottom: none;
258
+ }
259
+
260
+ // Pause button
261
+ &.paused {
262
+ & > span {
263
+ #{$opposite-direction}: -4px;
264
+ top: 0px;
265
+ width: 11px;
266
+ height: 14px;
267
+ border: inset 8px;
268
+ border-left-style: solid;
269
+ @include rotate(180deg);
270
+ border-color: transparent #fff transparent transparent;
271
+ &.dark {
272
+ border-color: transparent #333 transparent transparent;
273
+ }
274
+ }
275
+ }
276
+ }
277
+
278
+
279
+
280
+ &:hover .orbit-timer > span { display: block; }
281
+
282
+ // Let's get those controls to be right in the center on each side
283
+ .orbit-prev,
284
+ .orbit-next {
285
+ position: absolute;
286
+ top: 45%;
287
+ margin-top: -25px;
288
+ width: 36px;
289
+ height: 60px;
290
+ line-height: 50px;
291
+ color: white;
292
+ background-color: $orbit-nav-bg;
293
+ text-indent: -9999px !important;
294
+ z-index: 10;
295
+
296
+ &:hover {
297
+ background-color: $orbit-nav-bg-hover;
298
+ }
299
+
300
+ & > span {
301
+ position: absolute;
302
+ top: 50%;
303
+ margin-top: -10px;
304
+ display: block;
305
+ width: 0;
306
+ height: 0;
307
+ border: inset 10px;
308
+ }
309
+ }
310
+ .orbit-prev { #{$default-float}: 0;
311
+ & > span {
312
+ border-#{$opposite-direction}-style: solid;
313
+ border-color: transparent;
314
+ border-#{$opposite-direction}-color: $orbit-nav-arrow-color;
315
+ }
316
+ &:hover > span {
317
+ border-#{$opposite-direction}-color: $orbit-nav-arrow-color-hover;
318
+ }
319
+ }
320
+ .orbit-next { #{$opposite-direction}: 0;
321
+ & > span {
322
+ border-color: transparent;
323
+ border-#{$default-float}-style: solid;
324
+ border-#{$default-float}-color: $orbit-nav-arrow-color;
325
+ #{$default-float}: 50%;
326
+ margin-#{$default-float}: -4px;
327
+ }
328
+ &:hover > span {
329
+ border-#{$default-float}-color: $orbit-nav-arrow-color-hover;
330
+ }
331
+ }
332
+
333
+ .orbit-bullets-container { text-align: center; }
334
+ .orbit-bullets {
335
+ margin: 0 auto 30px auto;
336
+ overflow: hidden;
337
+ position: relative;
338
+ top: 10px;
339
+ float: none;
340
+ text-align: center;
341
+ display: block;
342
+
343
+ li {
344
+ display: inline-block;
345
+ width: $orbit-bullet-radius;
346
+ height: $orbit-bullet-radius;
347
+ background: $orbit-bullet-nav-color;
348
+ // float: $default-float;
349
+ float: none;
350
+ margin-#{$opposite-direction}: 6px;
351
+ @include radius(1000px);
352
+
353
+ &.active {
354
+ background: $orbit-bullet-nav-color-active;
355
+ }
356
+
357
+ &:last-child { margin-#{$opposite-direction}: 0; }
358
+ }
359
+ }
360
+ }
361
+
362
+
363
+ .touch {
364
+ .orbit-container {
365
+ .orbit-prev,
366
+ .orbit-next { display: none; }
367
+ }
368
+
369
+ .orbit-bullets { display: none; }
370
+ }
371
+
372
+
373
+ @media #{$medium-up} {
374
+
375
+ .touch {
376
+ .orbit-container {
377
+ .orbit-prev,
378
+ .orbit-next { display: inherit; }
379
+ }
380
+
381
+ .orbit-bullets { display: block; }
382
+ }
383
+
384
+ }
385
+
386
+ @media #{$small-only} {
387
+ .orbit-stack-on-small {
388
+
389
+ .orbit-slides-container {height: auto !important;}
390
+ .orbit-slides-container > * {
391
+ position: relative;
392
+ margin-left: 0% !important;
393
+ opacity:1 !important;
394
+ -webkit-transform:none !important;
395
+ -moz-transform:none !important;
396
+ -ms-transform:none !important;
397
+ -o-transform:none !important;
398
+ transform:none !important;
399
+ transition:none !important;
400
+ }
401
+
402
+ @if $orbit-timer-hide-for-small {
403
+ .orbit-timer{display: none;}
404
+ }
405
+ @if $orbit-nav-hide-for-small {
406
+ .orbit-next,.orbit-prev{display: none;}
407
+ }
408
+ @if $orbit-bullet-hide-for-small {
409
+ .orbit-bullets{display: none;}
410
+ }
411
+ }
412
+ }
413
+
414
+ }
415
+ }