jekyll-theme-foundation 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +48 -0
  4. data/_includes/google-analytics.html +8 -0
  5. data/_includes/head.html +17 -0
  6. data/_includes/scripts.html +4 -0
  7. data/_layouts/default.html +16 -0
  8. data/_layouts/home.html +5 -0
  9. data/_layouts/page.html +5 -0
  10. data/_layouts/post.html +5 -0
  11. data/_sass/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  12. data/_sass/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  13. data/_sass/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  14. data/_sass/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  15. data/_sass/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  16. data/_sass/_vendor/sassy-lists/stylesheets/functions/_contain.scss +31 -0
  17. data/_sass/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  18. data/_sass/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  19. data/_sass/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  20. data/_sass/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  21. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  22. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  23. data/_sass/assets/foundation-float.scss +5 -0
  24. data/_sass/assets/foundation-prototype.scss +3 -0
  25. data/_sass/assets/foundation-rtl.scss +5 -0
  26. data/_sass/assets/foundation.scss +3 -0
  27. data/_sass/jekyll-theme-foundation.scss +5 -0
  28. data/_sass/scss/_global.scss +249 -0
  29. data/_sass/scss/components/_accordion-menu.scss +171 -0
  30. data/_sass/scss/components/_accordion.scss +155 -0
  31. data/_sass/scss/components/_badge.scss +63 -0
  32. data/_sass/scss/components/_breadcrumbs.scss +117 -0
  33. data/_sass/scss/components/_button-group.scss +253 -0
  34. data/_sass/scss/components/_button.scss +385 -0
  35. data/_sass/scss/components/_callout.scss +106 -0
  36. data/_sass/scss/components/_card.scss +129 -0
  37. data/_sass/scss/components/_close-button.scss +102 -0
  38. data/_sass/scss/components/_drilldown.scss +142 -0
  39. data/_sass/scss/components/_dropdown-menu.scss +274 -0
  40. data/_sass/scss/components/_dropdown.scss +79 -0
  41. data/_sass/scss/components/_flex-video.scss +1 -0
  42. data/_sass/scss/components/_flex.scss +117 -0
  43. data/_sass/scss/components/_float.scss +27 -0
  44. data/_sass/scss/components/_label.scss +64 -0
  45. data/_sass/scss/components/_media-object.scss +114 -0
  46. data/_sass/scss/components/_menu-icon.scss +9 -0
  47. data/_sass/scss/components/_menu.scss +495 -0
  48. data/_sass/scss/components/_off-canvas.scss +506 -0
  49. data/_sass/scss/components/_orbit.scss +196 -0
  50. data/_sass/scss/components/_pagination.scss +193 -0
  51. data/_sass/scss/components/_progress-bar.scss +64 -0
  52. data/_sass/scss/components/_responsive-embed.scss +70 -0
  53. data/_sass/scss/components/_reveal.scss +180 -0
  54. data/_sass/scss/components/_slider.scss +137 -0
  55. data/_sass/scss/components/_sticky.scss +39 -0
  56. data/_sass/scss/components/_switch.scss +247 -0
  57. data/_sass/scss/components/_table.scss +330 -0
  58. data/_sass/scss/components/_tabs.scss +196 -0
  59. data/_sass/scss/components/_thumbnail.scss +67 -0
  60. data/_sass/scss/components/_title-bar.scss +84 -0
  61. data/_sass/scss/components/_tooltip.scss +160 -0
  62. data/_sass/scss/components/_top-bar.scss +175 -0
  63. data/_sass/scss/components/_visibility.scss +132 -0
  64. data/_sass/scss/forms/_checkbox.scss +41 -0
  65. data/_sass/scss/forms/_error.scss +88 -0
  66. data/_sass/scss/forms/_fieldset.scss +53 -0
  67. data/_sass/scss/forms/_forms.scss +34 -0
  68. data/_sass/scss/forms/_help-text.scss +30 -0
  69. data/_sass/scss/forms/_input-group.scss +142 -0
  70. data/_sass/scss/forms/_label.scss +50 -0
  71. data/_sass/scss/forms/_meter.scss +116 -0
  72. data/_sass/scss/forms/_progress.scss +94 -0
  73. data/_sass/scss/forms/_range.scss +149 -0
  74. data/_sass/scss/forms/_select.scss +86 -0
  75. data/_sass/scss/forms/_text.scss +179 -0
  76. data/_sass/scss/foundation.scss +133 -0
  77. data/_sass/scss/grid/_classes.scss +176 -0
  78. data/_sass/scss/grid/_column.scss +112 -0
  79. data/_sass/scss/grid/_flex-grid.scss +259 -0
  80. data/_sass/scss/grid/_grid.scss +48 -0
  81. data/_sass/scss/grid/_gutter.scss +82 -0
  82. data/_sass/scss/grid/_layout.scss +76 -0
  83. data/_sass/scss/grid/_position.scss +76 -0
  84. data/_sass/scss/grid/_row.scss +99 -0
  85. data/_sass/scss/grid/_size.scss +24 -0
  86. data/_sass/scss/prototype/_arrow.scss +36 -0
  87. data/_sass/scss/prototype/_border-box.scss +35 -0
  88. data/_sass/scss/prototype/_border-none.scss +35 -0
  89. data/_sass/scss/prototype/_bordered.scss +54 -0
  90. data/_sass/scss/prototype/_box.scss +23 -0
  91. data/_sass/scss/prototype/_display.scss +50 -0
  92. data/_sass/scss/prototype/_font-styling.scss +95 -0
  93. data/_sass/scss/prototype/_list-style-type.scss +95 -0
  94. data/_sass/scss/prototype/_overflow.scss +72 -0
  95. data/_sass/scss/prototype/_position.scss +114 -0
  96. data/_sass/scss/prototype/_prototype.scss +87 -0
  97. data/_sass/scss/prototype/_relation.scss +157 -0
  98. data/_sass/scss/prototype/_rotate.scss +31 -0
  99. data/_sass/scss/prototype/_rounded.scss +54 -0
  100. data/_sass/scss/prototype/_separator.scss +96 -0
  101. data/_sass/scss/prototype/_shadow.scss +43 -0
  102. data/_sass/scss/prototype/_sizing.scss +73 -0
  103. data/_sass/scss/prototype/_spacing.scss +204 -0
  104. data/_sass/scss/prototype/_text-decoration.scss +48 -0
  105. data/_sass/scss/prototype/_text-transformation.scss +48 -0
  106. data/_sass/scss/prototype/_text-utilities.scss +88 -0
  107. data/_sass/scss/settings/_settings.scss +869 -0
  108. data/_sass/scss/typography/_alignment.scss +22 -0
  109. data/_sass/scss/typography/_base.scss +509 -0
  110. data/_sass/scss/typography/_helpers.scss +80 -0
  111. data/_sass/scss/typography/_print.scss +86 -0
  112. data/_sass/scss/typography/_typography.scss +26 -0
  113. data/_sass/scss/util/_breakpoint.scss +348 -0
  114. data/_sass/scss/util/_color.scss +129 -0
  115. data/_sass/scss/util/_direction.scss +31 -0
  116. data/_sass/scss/util/_flex.scss +85 -0
  117. data/_sass/scss/util/_math.scss +72 -0
  118. data/_sass/scss/util/_mixins.scss +313 -0
  119. data/_sass/scss/util/_selector.scss +41 -0
  120. data/_sass/scss/util/_typography.scss +26 -0
  121. data/_sass/scss/util/_unit.scss +152 -0
  122. data/_sass/scss/util/_util.scss +14 -0
  123. data/_sass/scss/util/_value.scss +160 -0
  124. data/_sass/scss/xy-grid/_cell.scss +169 -0
  125. data/_sass/scss/xy-grid/_classes.scss +476 -0
  126. data/_sass/scss/xy-grid/_collapse.scss +74 -0
  127. data/_sass/scss/xy-grid/_frame.scss +85 -0
  128. data/_sass/scss/xy-grid/_grid.scss +35 -0
  129. data/_sass/scss/xy-grid/_gutters.scss +45 -0
  130. data/_sass/scss/xy-grid/_layout.scss +33 -0
  131. data/_sass/scss/xy-grid/_position.scss +28 -0
  132. data/_sass/scss/xy-grid/_xy-grid.scss +51 -0
  133. data/assets/css/main.scss +5 -0
  134. data/assets/css/motion-ui.min.css +1 -0
  135. data/assets/js/foundation.min.js +5 -0
  136. data/assets/js/motion-ui.min.js +1 -0
  137. metadata +235 -0
@@ -0,0 +1,506 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group off-canvas
7
+ ////
8
+
9
+ /// Width map of a left/right off-canvas panel.
10
+ /// @type Map
11
+ $offcanvas-sizes: (
12
+ small: 250px,
13
+ ) !default;
14
+
15
+ /// Height map of a top/bottom off-canvas panel.
16
+ /// @type Map
17
+ $offcanvas-vertical-sizes: (
18
+ small: 250px,
19
+ ) !default;
20
+
21
+ /// Background color of an off-canvas panel.
22
+ /// @type Color
23
+ $offcanvas-background: $light-gray !default;
24
+
25
+ /// Box shadow for the off-canvas overlap panel.
26
+ /// @type Shadow
27
+ $offcanvas-shadow: 0 0 10px rgba($black, 0.7) !default;
28
+
29
+ /// Inner box shadow size for the off-canvas push panel.
30
+ /// @type Number
31
+ $offcanvas-inner-shadow-size: 20px !default;
32
+
33
+ /// Inner box shadow color for the off-canvas push panel.
34
+ /// @type Color
35
+ $offcanvas-inner-shadow-color: rgba($black, 0.25) !default;
36
+
37
+ /// Z-index of an off-canvas content overlay.
38
+ /// @type Number
39
+ $offcanvas-overlay-zindex: 11 !default;
40
+
41
+ /// Z-index of an off-canvas panel with the `push` transition.
42
+ /// @type Number
43
+ $offcanvas-push-zindex: 12 !default;
44
+
45
+ /// Z-index of an off-canvas panel with the `overlap` transition.
46
+ /// @type Number
47
+ $offcanvas-overlap-zindex: 13 !default;
48
+
49
+ /// Z-index of an off-canvas panel using the `reveal-for-*` classes or mixin.
50
+ /// @type Number
51
+ $offcanvas-reveal-zindex: 12 !default;
52
+
53
+ /// Length of the animation on an off-canvas panel.
54
+ /// @type Number
55
+ $offcanvas-transition-length: 0.5s !default;
56
+
57
+ /// Timing function of the animation on an off-canvas panel.
58
+ /// @type Keyword
59
+ $offcanvas-transition-timing: ease !default;
60
+
61
+ /// If `true`, a revealed off-canvas will be fixed-position, and scroll with the screen.
62
+ /// @type Bool
63
+ $offcanvas-fixed-reveal: true !default;
64
+
65
+ /// Background color for the overlay that appears when an off-canvas panel is open.
66
+ /// @type Color
67
+ $offcanvas-exit-background: rgba($white, 0.25) !default;
68
+
69
+ /// CSS class used for the main content area. The off-canvas mixins use this to target the page content.
70
+ $maincontent-class: 'off-canvas-content' !default;
71
+
72
+ /// Adds baseline styles for off-canvas. This CSS is required to make the other pieces work.
73
+ @mixin off-canvas-basics {
74
+
75
+ /// Transform deprecated size settings into map & show warning
76
+ @if variable-exists(offcanvas-size) {
77
+ $offcanvas-sizes: (small: $offcanvas-size, medium: $offcanvas-size) !global;
78
+ @warn '$offcanvas-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-sizes instead';
79
+ }
80
+ @if variable-exists(offcanvas-vertical-size) {
81
+ $offcanvas-vertical-sizes: (small: $offcanvas-vertical-size, medium: $offcanvas-vertical-size) !global;
82
+ @warn '$offcanvas-vertical-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-vertical-sizes instead';
83
+ }
84
+
85
+ // Checks the z-indexes and increase them due to backwards compatibility.
86
+ // This is necessary because the overlay's z-index is new since v6.4 and may be identical to the user custom settings of the push z-index.
87
+ @if $offcanvas-push-zindex <= $offcanvas-overlay-zindex { $offcanvas-push-zindex: $offcanvas-overlay-zindex + 1 !global; }
88
+ @if $offcanvas-overlap-zindex <= $offcanvas-push-zindex { $offcanvas-overlap-zindex: $offcanvas-push-zindex + 1 !global; }
89
+ @if $offcanvas-reveal-zindex <= $offcanvas-overlay-zindex { $offcanvas-reveal-zindex: $offcanvas-overlay-zindex + 1 !global; }
90
+
91
+ // Hides overflow on body when an off-canvas panel is open.
92
+ .is-off-canvas-open {
93
+ overflow: hidden;
94
+ }
95
+
96
+ // Off-canvas overlay (generated by JavaScript)
97
+ .js-off-canvas-overlay {
98
+ position: absolute;
99
+ top: 0;
100
+ left: 0;
101
+ z-index: $offcanvas-overlay-zindex;
102
+
103
+ width: 100%;
104
+ height: 100%;
105
+
106
+ transition: opacity $offcanvas-transition-length $offcanvas-transition-timing, visibility $offcanvas-transition-length $offcanvas-transition-timing;
107
+
108
+ background: $offcanvas-exit-background;
109
+
110
+ opacity: 0;
111
+ visibility: hidden;
112
+
113
+ overflow: hidden;
114
+
115
+ &.is-visible {
116
+ opacity: 1;
117
+ visibility: visible;
118
+ }
119
+
120
+ &.is-closable {
121
+ cursor: pointer;
122
+ }
123
+
124
+ &.is-overlay-absolute {
125
+ position: absolute;
126
+ }
127
+
128
+ &.is-overlay-fixed {
129
+ position: fixed;
130
+ }
131
+ }
132
+ }
133
+
134
+ // Adds basic styles for an off-canvas wrapper.
135
+ @mixin off-canvas-wrapper() {
136
+ position: relative;
137
+ overflow: hidden;
138
+ }
139
+
140
+ /// Adds basic styles for an off-canvas panel.
141
+ @mixin off-canvas-base(
142
+ $background: $offcanvas-background,
143
+ $transition: $offcanvas-transition-length $offcanvas-transition-timing,
144
+ $fixed: true
145
+ ) {
146
+ @include disable-mouse-outline;
147
+
148
+ @if $fixed == true {
149
+ position: fixed;
150
+ }
151
+ @else {
152
+ position: absolute;
153
+ }
154
+
155
+ // Set the off-canvas z-index.
156
+ z-index: $offcanvas-push-zindex;
157
+
158
+ // Increase CSS specificity
159
+ &.is-transition-push {
160
+ z-index: $offcanvas-push-zindex;
161
+ }
162
+
163
+ transition: transform $transition;
164
+ backface-visibility: hidden;
165
+
166
+ background: $background;
167
+
168
+ // Hide inactive off-canvas within the content that have the same position
169
+ &.is-closed {
170
+ visibility: hidden;
171
+ }
172
+
173
+ // Overlap only styles.
174
+ &.is-transition-overlap {
175
+ z-index: $offcanvas-overlap-zindex;
176
+
177
+ &.is-open {
178
+ box-shadow: $offcanvas-shadow;
179
+ }
180
+ }
181
+
182
+ // Sets transform to 0 to show an off-canvas panel.
183
+ &.is-open {
184
+ transform: translate(0, 0);
185
+ }
186
+ }
187
+
188
+ /// Adds styles to position an off-canvas panel to the left/right/top/bottom.
189
+ @mixin off-canvas-position(
190
+ $position: left,
191
+ $orientation: horizontal,
192
+ $sizes: if($orientation == horizontal, $offcanvas-sizes, $offcanvas-vertical-sizes)
193
+ ) {
194
+ @if $position == left {
195
+ top: 0;
196
+ left: 0;
197
+ height: 100%;
198
+ overflow-y: auto;
199
+
200
+ @each $name, $size in $sizes {
201
+ @include breakpoint($name) {
202
+ width: $size;
203
+ transform: translateX(-$size);
204
+ }
205
+ }
206
+
207
+ // Sets the position for nested off-canvas element
208
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
209
+
210
+ @each $name, $size in $sizes {
211
+ @include breakpoint($name) {
212
+ transform: translateX(-$size);
213
+ }
214
+ }
215
+ &.is-transition-overlap.is-open {
216
+ transform: translate(0, 0);
217
+ }
218
+ }
219
+
220
+ // Sets the open position for the content
221
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
222
+ &.has-transition-push {
223
+ @each $name, $size in $sizes {
224
+ @include breakpoint($name) {
225
+ transform: translateX($size);
226
+ }
227
+ }
228
+ }
229
+ }
230
+ }
231
+ @else if $position == right {
232
+ top: 0;
233
+ right: 0;
234
+ height: 100%;
235
+ overflow-y: auto;
236
+
237
+ @each $name, $size in $sizes {
238
+ @include breakpoint($name) {
239
+ width: $size;
240
+ transform: translateX($size);
241
+ }
242
+ }
243
+
244
+ // Sets the position for nested off-canvas element
245
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
246
+
247
+ @each $name, $size in $sizes {
248
+ @include breakpoint($name) {
249
+ transform: translateX($size);
250
+ }
251
+ }
252
+ &.is-transition-overlap.is-open {
253
+ transform: translate(0, 0);
254
+ }
255
+ }
256
+
257
+ // Sets the open position for the content
258
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
259
+ &.has-transition-push {
260
+ @each $name, $size in $sizes {
261
+ @include breakpoint($name) {
262
+ transform: translateX(-$size);
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+ @else if $position == top {
269
+ top: 0;
270
+ left: 0;
271
+ width: 100%;
272
+ overflow-x: auto;
273
+
274
+ @each $name, $size in $sizes {
275
+ @include breakpoint($name) {
276
+ height: $size;
277
+ transform: translateY(-$size);
278
+ }
279
+ }
280
+
281
+ // Sets the position for nested off-canvas element
282
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
283
+ @each $name, $size in $sizes {
284
+ @include breakpoint($name) {
285
+ transform: translateY(-$size);
286
+ }
287
+ }
288
+ &.is-transition-overlap.is-open {
289
+ transform: translate(0, 0);
290
+ }
291
+ }
292
+
293
+ // Sets the open position for the content
294
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
295
+ &.has-transition-push {
296
+ @each $name, $size in $sizes {
297
+ @include breakpoint($name) {
298
+ transform: translateY($size);
299
+ }
300
+ }
301
+ }
302
+ }
303
+ }
304
+ @else if $position == bottom {
305
+ bottom: 0;
306
+ left: 0;
307
+ width: 100%;
308
+ overflow-x: auto;
309
+
310
+ @each $name, $size in $sizes {
311
+ @include breakpoint($name) {
312
+ height: $size;
313
+ transform: translateY($size);
314
+ }
315
+ }
316
+
317
+ // Sets the position for nested off-canvas element
318
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
319
+ @each $name, $size in $sizes {
320
+ @include breakpoint($name) {
321
+ transform: translateY($size);
322
+ }
323
+ }
324
+ &.is-transition-overlap.is-open {
325
+ transform: translate(0, 0);
326
+ }
327
+ }
328
+
329
+ // Sets the open position for the content
330
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
331
+ &.has-transition-push {
332
+ @each $name, $size in $sizes {
333
+ @include breakpoint($name) {
334
+ transform: translateY(-$size);
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
340
+
341
+ // If $offcanvas-inner-shadow-size is set, add inner box-shadow.
342
+ // This mimics the off-canvas panel having a lower z-index, without having to have one.
343
+ @if $offcanvas-inner-shadow-size {
344
+ &.is-transition-push {
345
+ @if $position == left {
346
+ @include inner-side-shadow(right, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
347
+ }
348
+ @else if $position == right {
349
+ @include inner-side-shadow(left, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
350
+ }
351
+ @else if $position == top {
352
+ @include inner-side-shadow(bottom, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
353
+ }
354
+ @else if $position == bottom {
355
+ @include inner-side-shadow(top, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
356
+ }
357
+ }
358
+ }
359
+
360
+ }
361
+
362
+ /// Sets the styles for the content container.
363
+ @mixin off-canvas-content() {
364
+ transform: none;
365
+ transition: transform $offcanvas-transition-length $offcanvas-transition-timing;
366
+ backface-visibility: hidden;
367
+
368
+ // Transform scope until the element is closed (makes sure transitionend gets triggered)
369
+ &.has-transition-push {
370
+ transform: translate(0, 0);
371
+ }
372
+
373
+ // Consider element & content, nested in another content
374
+ .off-canvas.is-open {
375
+ transform: translate(0, 0);
376
+ }
377
+ }
378
+
379
+ /// Adds styles that reveal an off-canvas panel.
380
+ @mixin off-canvas-reveal(
381
+ $position: left,
382
+ $zindex: $offcanvas-reveal-zindex,
383
+ $content: $maincontent-class,
384
+ $breakpoint: small
385
+ ) {
386
+ transform: none;
387
+ z-index: $zindex;
388
+ transition: none;
389
+ visibility: visible;
390
+
391
+ @if not $offcanvas-fixed-reveal {
392
+ position: absolute;
393
+ }
394
+
395
+ .close-button {
396
+ display: none;
397
+ }
398
+
399
+ // Consider revealed element is nested in content
400
+ .#{$maincontent-class} & {
401
+ transform: none;
402
+ }
403
+
404
+ @at-root .#{$content}.has-reveal-#{$position} {
405
+ margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);
406
+ }
407
+
408
+ // backwards compatibility (prior to v6.4)
409
+ & ~ .#{$content} {
410
+ margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);
411
+ }
412
+ }
413
+
414
+ /// Overrides the off-canvas styles
415
+ @mixin in-canvas() {
416
+ visibility: visible;
417
+ height: auto;
418
+ position: static;
419
+ background: inherit;
420
+ width: inherit;
421
+ overflow: inherit;
422
+ transition: inherit;
423
+
424
+ // Increase CSS specificity
425
+ &.position-left,
426
+ &.position-right,
427
+ &.position-top,
428
+ &.position-bottom {
429
+ box-shadow: none;
430
+ transform: none;
431
+ }
432
+
433
+ .close-button {
434
+ display: none;
435
+ }
436
+ }
437
+
438
+ @mixin foundation-off-canvas {
439
+ @include off-canvas-basics;
440
+
441
+ // Off-canvas wrapper
442
+ .off-canvas-wrapper {
443
+ @include off-canvas-wrapper;
444
+ }
445
+
446
+ // Off-canvas container
447
+ .off-canvas {
448
+ @include off-canvas-base;
449
+
450
+ // Force position absolute for nested off-canvas because fixed doesn't work for push transition within the transform scope.
451
+ @at-root .#{$maincontent-class} & {
452
+ // NOTE: since overlap transition is currently forced if nested, there's no need to force position absolute until nested push transition is supported.
453
+ // position: absolute;
454
+ }
455
+ }
456
+
457
+ // Off-canvas container with absolute position
458
+ .off-canvas-absolute {
459
+ @include off-canvas-base($fixed: false);
460
+ }
461
+
462
+ // Off-canvas position classes
463
+ .position-left { @include off-canvas-position(left, horizontal); }
464
+ .position-right { @include off-canvas-position(right, horizontal); }
465
+ .position-top { @include off-canvas-position(top, vertical); }
466
+ .position-bottom { @include off-canvas-position(bottom, vertical); }
467
+
468
+ .off-canvas-content {
469
+ @include off-canvas-content;
470
+ }
471
+
472
+ // Reveal off-canvas panel on larger screens
473
+ @each $name, $value in $breakpoint-classes {
474
+ @if $name != $-zf-zero-breakpoint {
475
+ @include breakpoint($name) {
476
+ .position-left.reveal-for-#{$name} {
477
+ @include off-canvas-reveal(left, $offcanvas-reveal-zindex, $maincontent-class, $name);
478
+ }
479
+
480
+ .position-right.reveal-for-#{$name} {
481
+ @include off-canvas-reveal(right, $offcanvas-reveal-zindex, $maincontent-class, $name);
482
+ }
483
+
484
+ .position-top.reveal-for-#{$name} {
485
+ @include off-canvas-reveal(top, $offcanvas-reveal-zindex, $maincontent-class, $name);
486
+ }
487
+
488
+ .position-bottom.reveal-for-#{$name} {
489
+ @include off-canvas-reveal(bottom, $offcanvas-reveal-zindex, $maincontent-class, $name);
490
+ }
491
+ }
492
+ }
493
+ }
494
+
495
+ // Move in-canvas for larger screens
496
+ @each $name, $value in $breakpoint-classes {
497
+ @if $name != $-zf-zero-breakpoint {
498
+ @include breakpoint($name) {
499
+ .off-canvas.in-canvas-for-#{$name} {
500
+ @include in-canvas;
501
+ }
502
+ }
503
+ }
504
+ }
505
+ }
506
+
@@ -0,0 +1,196 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group orbit
7
+ ////
8
+
9
+ /// Default color for Orbit's bullets.
10
+ /// @type Color
11
+ $orbit-bullet-background: $medium-gray !default;
12
+
13
+ /// Default active color for Orbit's bullets.
14
+ /// @type Color
15
+ $orbit-bullet-background-active: $dark-gray !default;
16
+
17
+ /// Default diameter for Orbit's bullets.
18
+ /// @type Number
19
+ $orbit-bullet-diameter: 1.2rem !default;
20
+
21
+ /// Default margin between Orbit's bullets.
22
+ /// @type Number
23
+ $orbit-bullet-margin: 0.1rem !default;
24
+
25
+ /// Default distance from slide region for Orbit's bullets.
26
+ /// @type Number
27
+ $orbit-bullet-margin-top: 0.8rem !default;
28
+
29
+ /// Default bottom margin from Orbit's bullets to whatever content may lurk below it.
30
+ /// @type Number
31
+ $orbit-bullet-margin-bottom: 0.8rem !default;
32
+
33
+ /// Default background color for Orbit's caption.
34
+ /// @type Color
35
+ $orbit-caption-background: rgba($black, 0.5) !default;
36
+
37
+ /// Default padding for Orbit's caption.
38
+ /// @type Number
39
+ $orbit-caption-padding: 1rem !default;
40
+
41
+ /// Default background color for Orbit's controls when hovered.
42
+ /// @type Color
43
+ $orbit-control-background-hover: rgba($black, 0.5) !default;
44
+
45
+ /// Default padding for Orbit's controls.
46
+ /// @type Number
47
+ $orbit-control-padding: 1rem !default;
48
+
49
+ /// Default z-index for Orbit's controls.
50
+ /// @type Number
51
+ $orbit-control-zindex: 10 !default;
52
+
53
+ /// Adds styles for the outer Orbit wrapper. These styles are used on the `.orbit` class.
54
+ @mixin orbit-wrapper {
55
+ position: relative;
56
+ }
57
+
58
+ /// Adds styles for the inner Orbit slide container. These styles are used on the `.orbit-container` class.
59
+ @mixin orbit-container {
60
+ position: relative;
61
+ height: 0; // Prevent FOUC by not showing until JS sets height
62
+ margin: 0;
63
+ list-style: none;
64
+ overflow: hidden;
65
+ }
66
+
67
+ /// Adds styles for the individual slides of an Orbit slider. These styles are used on the `.orbit-slide` class.
68
+ @mixin orbit-slide {
69
+ width: 100%;
70
+
71
+ &.no-motionui {
72
+ &.is-active {
73
+ top: 0;
74
+ left: 0;
75
+ }
76
+ }
77
+ }
78
+
79
+ @mixin orbit-figure {
80
+ margin: 0;
81
+ }
82
+
83
+ /// Adds styles for a slide containing an image. These styles are used on the `.orbit-image` class.
84
+ @mixin orbit-image {
85
+ width: 100%;
86
+ max-width: 100%;
87
+ margin: 0;
88
+ }
89
+
90
+ /// Adds styles for an orbit slide caption. These styles are used on the `.orbit-caption` class.
91
+ @mixin orbit-caption {
92
+ position: absolute;
93
+ bottom: 0;
94
+ width: 100%;
95
+ margin-bottom: 0;
96
+ padding: $orbit-caption-padding;
97
+
98
+ background-color: $orbit-caption-background;
99
+ color: color-pick-contrast($orbit-caption-background);
100
+ }
101
+
102
+ /// Adds base styles for the next/previous buttons in an Orbit slider. These styles are shared between the `.orbit-next` and `.orbit-previous` classes in the default CSS.
103
+ @mixin orbit-control {
104
+ @include disable-mouse-outline;
105
+ @include vertical-center;
106
+ z-index: $orbit-control-zindex;
107
+ padding: $orbit-control-padding;
108
+ color: $white;
109
+
110
+ &:hover,
111
+ &:active,
112
+ &:focus {
113
+ background-color: $orbit-control-background-hover;
114
+ }
115
+ }
116
+
117
+ /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-previous` class.
118
+ @mixin orbit-previous {
119
+ #{$global-left}: 0;
120
+ }
121
+
122
+ /// Adds styles for the Orbit next button. These styles are used on the `.orbit-next` class.
123
+ @mixin orbit-next {
124
+ #{$global-left}: auto;
125
+ #{$global-right}: 0;
126
+ }
127
+
128
+ /// Adds styles for a container of Orbit bullets. /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-bullets` class.
129
+ @mixin orbit-bullets {
130
+ @include disable-mouse-outline;
131
+ position: relative;
132
+ margin-top: $orbit-bullet-margin-top;
133
+ margin-bottom: $orbit-bullet-margin-bottom;
134
+ text-align: center;
135
+
136
+ button {
137
+ width: $orbit-bullet-diameter;
138
+ height: $orbit-bullet-diameter;
139
+ margin: $orbit-bullet-margin;
140
+
141
+ border-radius: 50%;
142
+ background-color: $orbit-bullet-background;
143
+
144
+ &:hover {
145
+ background-color: $orbit-bullet-background-active;
146
+ }
147
+
148
+ &.is-active {
149
+ background-color: $orbit-bullet-background-active;
150
+ }
151
+ }
152
+ }
153
+
154
+ @mixin foundation-orbit {
155
+ .orbit {
156
+ @include orbit-wrapper;
157
+ }
158
+
159
+ .orbit-container {
160
+ @include orbit-container;
161
+ }
162
+
163
+ .orbit-slide {
164
+ @include orbit-slide;
165
+ }
166
+
167
+ .orbit-figure {
168
+ @include orbit-figure;
169
+ }
170
+
171
+ .orbit-image {
172
+ @include orbit-image;
173
+ }
174
+
175
+ .orbit-caption {
176
+ @include orbit-caption;
177
+ }
178
+
179
+ %orbit-control {
180
+ @include orbit-control;
181
+ }
182
+
183
+ .orbit-previous {
184
+ @extend %orbit-control;
185
+ @include orbit-previous;
186
+ }
187
+
188
+ .orbit-next {
189
+ @extend %orbit-control;
190
+ @include orbit-next;
191
+ }
192
+
193
+ .orbit-bullets {
194
+ @include orbit-bullets;
195
+ }
196
+ }