zurb-foundation-5 5.2.2

Sign up to get free protection for your applications and to get access to all the features.
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
+ }