jekyll-theme-newtype 0.1.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 (142) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +66 -0
  4. data/_includes/footer.html +4 -0
  5. data/_includes/head.html +22 -0
  6. data/_includes/header.html +31 -0
  7. data/_includes/navbar.html +9 -0
  8. data/_includes/post_preview.html +10 -0
  9. data/_includes/sidebar.html +1 -0
  10. data/_layouts/category_index.html +11 -0
  11. data/_layouts/default.html +29 -0
  12. data/_layouts/home.html +7 -0
  13. data/_layouts/page.html +5 -0
  14. data/_layouts/post.html +5 -0
  15. data/_layouts/slides.html +50 -0
  16. data/_sass/newtype.scss +32 -0
  17. data/_sass/skeleton/base/_base-styles.scss +37 -0
  18. data/_sass/skeleton/base/_functions.scss +17 -0
  19. data/_sass/skeleton/base/_normalize.scss +428 -0
  20. data/_sass/skeleton/base/_typography.scss +29 -0
  21. data/_sass/skeleton/base/_utils.scss +20 -0
  22. data/_sass/skeleton/base/_variables.scss +32 -0
  23. data/_sass/skeleton/modules/_buttons.scss +147 -0
  24. data/_sass/skeleton/modules/_code.scss +18 -0
  25. data/_sass/skeleton/modules/_forms.scss +88 -0
  26. data/_sass/skeleton/modules/_grid.scss +116 -0
  27. data/_sass/skeleton/modules/_lists.scss +32 -0
  28. data/_sass/skeleton/modules/_media-queries.scss +22 -0
  29. data/_sass/skeleton/modules/_spacing.scss +26 -0
  30. data/_sass/skeleton/modules/_tables.scss +19 -0
  31. data/_sass/skeleton/normalize.scss +427 -0
  32. data/_sass/skeleton/skeleton.scss +418 -0
  33. data/_sass/syntax.scss +60 -0
  34. data/assets/bullet.svg +13 -0
  35. data/assets/revealjs/.gitignore +13 -0
  36. data/assets/revealjs/.travis.yml +7 -0
  37. data/assets/revealjs/CONTRIBUTING.md +23 -0
  38. data/assets/revealjs/Gruntfile.js +192 -0
  39. data/assets/revealjs/LICENSE +19 -0
  40. data/assets/revealjs/README.md +1238 -0
  41. data/assets/revealjs/bower.json +27 -0
  42. data/assets/revealjs/css/print/paper.css +203 -0
  43. data/assets/revealjs/css/print/pdf.css +178 -0
  44. data/assets/revealjs/css/reveal.css +1555 -0
  45. data/assets/revealjs/css/reveal.scss +1717 -0
  46. data/assets/revealjs/css/theme/README.md +21 -0
  47. data/assets/revealjs/css/theme/beige.css +268 -0
  48. data/assets/revealjs/css/theme/black.css +264 -0
  49. data/assets/revealjs/css/theme/blood.css +287 -0
  50. data/assets/revealjs/css/theme/league.css +270 -0
  51. data/assets/revealjs/css/theme/moon.css +268 -0
  52. data/assets/revealjs/css/theme/night.css +262 -0
  53. data/assets/revealjs/css/theme/serif.css +264 -0
  54. data/assets/revealjs/css/theme/simple.css +267 -0
  55. data/assets/revealjs/css/theme/sky.css +271 -0
  56. data/assets/revealjs/css/theme/solarized.css +268 -0
  57. data/assets/revealjs/css/theme/source/beige.scss +39 -0
  58. data/assets/revealjs/css/theme/source/black.scss +49 -0
  59. data/assets/revealjs/css/theme/source/blood.scss +78 -0
  60. data/assets/revealjs/css/theme/source/league.scss +34 -0
  61. data/assets/revealjs/css/theme/source/moon.scss +57 -0
  62. data/assets/revealjs/css/theme/source/night.scss +34 -0
  63. data/assets/revealjs/css/theme/source/serif.scss +35 -0
  64. data/assets/revealjs/css/theme/source/simple.scss +43 -0
  65. data/assets/revealjs/css/theme/source/sky.scss +46 -0
  66. data/assets/revealjs/css/theme/source/solarized.scss +63 -0
  67. data/assets/revealjs/css/theme/source/white.scss +49 -0
  68. data/assets/revealjs/css/theme/template/mixins.scss +29 -0
  69. data/assets/revealjs/css/theme/template/settings.scss +43 -0
  70. data/assets/revealjs/css/theme/template/theme.scss +316 -0
  71. data/assets/revealjs/css/theme/white.css +264 -0
  72. data/assets/revealjs/demo.html +410 -0
  73. data/assets/revealjs/index.html +49 -0
  74. data/assets/revealjs/js/reveal.js +5239 -0
  75. data/assets/revealjs/lib/css/zenburn.css +80 -0
  76. data/assets/revealjs/lib/font/league-gothic/LICENSE +2 -0
  77. data/assets/revealjs/lib/font/league-gothic/league-gothic.css +10 -0
  78. data/assets/revealjs/lib/font/league-gothic/league-gothic.eot +0 -0
  79. data/assets/revealjs/lib/font/league-gothic/league-gothic.ttf +0 -0
  80. data/assets/revealjs/lib/font/league-gothic/league-gothic.woff +0 -0
  81. data/assets/revealjs/lib/font/source-sans-pro/LICENSE +45 -0
  82. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
  83. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.ttf +0 -0
  84. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
  85. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
  86. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.ttf +0 -0
  87. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
  88. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
  89. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.ttf +0 -0
  90. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
  91. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot +0 -0
  92. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf +0 -0
  93. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff +0 -0
  94. data/assets/revealjs/lib/font/source-sans-pro/source-sans-pro.css +39 -0
  95. data/assets/revealjs/lib/js/classList.js +2 -0
  96. data/assets/revealjs/lib/js/head.min.js +9 -0
  97. data/assets/revealjs/lib/js/html5shiv.js +7 -0
  98. data/assets/revealjs/package.json +43 -0
  99. data/assets/revealjs/plugin/highlight/highlight.js +77 -0
  100. data/assets/revealjs/plugin/markdown/markdown.js +412 -0
  101. data/assets/revealjs/plugin/markdown/marked.js +6 -0
  102. data/assets/revealjs/plugin/math/math.js +67 -0
  103. data/assets/revealjs/plugin/multiplex/client.js +13 -0
  104. data/assets/revealjs/plugin/multiplex/index.js +64 -0
  105. data/assets/revealjs/plugin/multiplex/master.js +34 -0
  106. data/assets/revealjs/plugin/multiplex/package.json +19 -0
  107. data/assets/revealjs/plugin/notes/notes.html +759 -0
  108. data/assets/revealjs/plugin/notes/notes.js +155 -0
  109. data/assets/revealjs/plugin/notes-server/client.js +65 -0
  110. data/assets/revealjs/plugin/notes-server/index.js +69 -0
  111. data/assets/revealjs/plugin/notes-server/notes.html +585 -0
  112. data/assets/revealjs/plugin/print-pdf/print-pdf.js +69 -0
  113. data/assets/revealjs/plugin/search/search.js +206 -0
  114. data/assets/revealjs/plugin/zoom-js/zoom.js +272 -0
  115. data/assets/revealjs/test/examples/assets/image1.png +0 -0
  116. data/assets/revealjs/test/examples/assets/image2.png +0 -0
  117. data/assets/revealjs/test/examples/barebones.html +41 -0
  118. data/assets/revealjs/test/examples/embedded-media.html +49 -0
  119. data/assets/revealjs/test/examples/math.html +185 -0
  120. data/assets/revealjs/test/examples/slide-backgrounds.html +144 -0
  121. data/assets/revealjs/test/examples/slide-transitions.html +101 -0
  122. data/assets/revealjs/test/qunit-1.12.0.css +244 -0
  123. data/assets/revealjs/test/qunit-1.12.0.js +2212 -0
  124. data/assets/revealjs/test/test-markdown-element-attributes.html +134 -0
  125. data/assets/revealjs/test/test-markdown-element-attributes.js +46 -0
  126. data/assets/revealjs/test/test-markdown-external.html +36 -0
  127. data/assets/revealjs/test/test-markdown-external.js +24 -0
  128. data/assets/revealjs/test/test-markdown-options.html +41 -0
  129. data/assets/revealjs/test/test-markdown-options.js +26 -0
  130. data/assets/revealjs/test/test-markdown-slide-attributes.html +128 -0
  131. data/assets/revealjs/test/test-markdown-slide-attributes.js +47 -0
  132. data/assets/revealjs/test/test-markdown.html +52 -0
  133. data/assets/revealjs/test/test-markdown.js +15 -0
  134. data/assets/revealjs/test/test-pdf.html +83 -0
  135. data/assets/revealjs/test/test-pdf.js +15 -0
  136. data/assets/revealjs/test/test.html +86 -0
  137. data/assets/revealjs/test/test.js +597 -0
  138. data/assets/social-github.svg +14 -0
  139. data/assets/social-twitter.png +0 -0
  140. data/assets/social-twitter.svg +12 -0
  141. data/assets/style.scss +4 -0
  142. metadata +226 -0
@@ -0,0 +1,1717 @@
1
+ /*!
2
+ * reveal.js
3
+ * http://revealjs.com
4
+ * MIT licensed
5
+ *
6
+ * Copyright (C) 2017 Hakim El Hattab, http://hakim.se
7
+ */
8
+
9
+
10
+ /*********************************************
11
+ * RESET STYLES
12
+ *********************************************/
13
+
14
+ html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe,
15
+ .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre,
16
+ .reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code,
17
+ .reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp,
18
+ .reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var,
19
+ .reveal b, .reveal u, .reveal center,
20
+ .reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li,
21
+ .reveal fieldset, .reveal form, .reveal label, .reveal legend,
22
+ .reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td,
23
+ .reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed,
24
+ .reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup,
25
+ .reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary,
26
+ .reveal time, .reveal mark, .reveal audio, .reveal video {
27
+ margin: 0;
28
+ padding: 0;
29
+ border: 0;
30
+ font-size: 100%;
31
+ font: inherit;
32
+ vertical-align: baseline;
33
+ }
34
+
35
+ .reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure,
36
+ .reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section {
37
+ display: block;
38
+ }
39
+
40
+
41
+ /*********************************************
42
+ * GLOBAL STYLES
43
+ *********************************************/
44
+
45
+ html,
46
+ body {
47
+ width: 100%;
48
+ height: 100%;
49
+ overflow: hidden;
50
+ }
51
+
52
+ body {
53
+ position: relative;
54
+ line-height: 1;
55
+
56
+ background-color: #fff;
57
+ color: #000;
58
+ }
59
+
60
+
61
+ /*********************************************
62
+ * VIEW FRAGMENTS
63
+ *********************************************/
64
+
65
+ .reveal .slides section .fragment {
66
+ opacity: 0;
67
+ visibility: hidden;
68
+ transition: all .2s ease;
69
+
70
+ &.visible {
71
+ opacity: 1;
72
+ visibility: inherit;
73
+ }
74
+ }
75
+
76
+ .reveal .slides section .fragment.grow {
77
+ opacity: 1;
78
+ visibility: inherit;
79
+
80
+ &.visible {
81
+ transform: scale( 1.3 );
82
+ }
83
+ }
84
+
85
+ .reveal .slides section .fragment.shrink {
86
+ opacity: 1;
87
+ visibility: inherit;
88
+
89
+ &.visible {
90
+ transform: scale( 0.7 );
91
+ }
92
+ }
93
+
94
+ .reveal .slides section .fragment.zoom-in {
95
+ transform: scale( 0.1 );
96
+
97
+ &.visible {
98
+ transform: none;
99
+ }
100
+ }
101
+
102
+ .reveal .slides section .fragment.fade-out {
103
+ opacity: 1;
104
+ visibility: inherit;
105
+
106
+ &.visible {
107
+ opacity: 0;
108
+ visibility: hidden;
109
+ }
110
+ }
111
+
112
+ .reveal .slides section .fragment.semi-fade-out {
113
+ opacity: 1;
114
+ visibility: inherit;
115
+
116
+ &.visible {
117
+ opacity: 0.5;
118
+ visibility: inherit;
119
+ }
120
+ }
121
+
122
+ .reveal .slides section .fragment.strike {
123
+ opacity: 1;
124
+ visibility: inherit;
125
+
126
+ &.visible {
127
+ text-decoration: line-through;
128
+ }
129
+ }
130
+
131
+ .reveal .slides section .fragment.fade-up {
132
+ transform: translate(0, 20%);
133
+
134
+ &.visible {
135
+ transform: translate(0, 0);
136
+ }
137
+ }
138
+
139
+ .reveal .slides section .fragment.fade-down {
140
+ transform: translate(0, -20%);
141
+
142
+ &.visible {
143
+ transform: translate(0, 0);
144
+ }
145
+ }
146
+
147
+ .reveal .slides section .fragment.fade-right {
148
+ transform: translate(-20%, 0);
149
+
150
+ &.visible {
151
+ transform: translate(0, 0);
152
+ }
153
+ }
154
+
155
+ .reveal .slides section .fragment.fade-left {
156
+ transform: translate(20%, 0);
157
+
158
+ &.visible {
159
+ transform: translate(0, 0);
160
+ }
161
+ }
162
+
163
+ .reveal .slides section .fragment.current-visible {
164
+ opacity: 0;
165
+ visibility: hidden;
166
+
167
+ &.current-fragment {
168
+ opacity: 1;
169
+ visibility: inherit;
170
+ }
171
+ }
172
+
173
+ .reveal .slides section .fragment.highlight-red,
174
+ .reveal .slides section .fragment.highlight-current-red,
175
+ .reveal .slides section .fragment.highlight-green,
176
+ .reveal .slides section .fragment.highlight-current-green,
177
+ .reveal .slides section .fragment.highlight-blue,
178
+ .reveal .slides section .fragment.highlight-current-blue {
179
+ opacity: 1;
180
+ visibility: inherit;
181
+ }
182
+ .reveal .slides section .fragment.highlight-red.visible {
183
+ color: #ff2c2d
184
+ }
185
+ .reveal .slides section .fragment.highlight-green.visible {
186
+ color: #17ff2e;
187
+ }
188
+ .reveal .slides section .fragment.highlight-blue.visible {
189
+ color: #1b91ff;
190
+ }
191
+
192
+ .reveal .slides section .fragment.highlight-current-red.current-fragment {
193
+ color: #ff2c2d
194
+ }
195
+ .reveal .slides section .fragment.highlight-current-green.current-fragment {
196
+ color: #17ff2e;
197
+ }
198
+ .reveal .slides section .fragment.highlight-current-blue.current-fragment {
199
+ color: #1b91ff;
200
+ }
201
+
202
+
203
+ /*********************************************
204
+ * DEFAULT ELEMENT STYLES
205
+ *********************************************/
206
+
207
+ /* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */
208
+ .reveal:after {
209
+ content: '';
210
+ font-style: italic;
211
+ }
212
+
213
+ .reveal iframe {
214
+ z-index: 1;
215
+ }
216
+
217
+ /** Prevents layering issues in certain browser/transition combinations */
218
+ .reveal a {
219
+ position: relative;
220
+ }
221
+
222
+ .reveal .stretch {
223
+ max-width: none;
224
+ max-height: none;
225
+ }
226
+
227
+ .reveal pre.stretch code {
228
+ height: 100%;
229
+ max-height: 100%;
230
+ box-sizing: border-box;
231
+ }
232
+
233
+
234
+ /*********************************************
235
+ * CONTROLS
236
+ *********************************************/
237
+
238
+ @keyframes bounce-right {
239
+ 0%, 10%, 25%, 40%, 50% {transform: translateX(0);}
240
+ 20% {transform: translateX(10px);}
241
+ 30% {transform: translateX(-5px);}
242
+ }
243
+
244
+ @keyframes bounce-down {
245
+ 0%, 10%, 25%, 40%, 50% {transform: translateY(0);}
246
+ 20% {transform: translateY(10px);}
247
+ 30% {transform: translateY(-5px);}
248
+ }
249
+
250
+ $controlArrowSize: 3.6em;
251
+ $controlArrowSpacing: 1.4em;
252
+ $controlArrowLength: 2.6em;
253
+ $controlArrowThickness: 0.5em;
254
+ $controlsArrowAngle: 45deg;
255
+ $controlsArrowAngleHover: 40deg;
256
+ $controlsArrowAngleActive: 36deg;
257
+
258
+ @mixin controlsArrowTransform( $angle ) {
259
+ &:before {
260
+ transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( $angle );
261
+ }
262
+
263
+ &:after {
264
+ transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( -$angle );
265
+ }
266
+ }
267
+
268
+ .reveal .controls {
269
+ $spacing: 12px;
270
+
271
+ display: none;
272
+ position: absolute;
273
+ top: auto;
274
+ bottom: $spacing;
275
+ right: $spacing;
276
+ left: auto;
277
+ z-index: 1;
278
+ color: #000;
279
+ pointer-events: none;
280
+ font-size: 10px;
281
+
282
+ button {
283
+ position: absolute;
284
+ padding: 0;
285
+ background-color: transparent;
286
+ border: 0;
287
+ outline: 0;
288
+ cursor: pointer;
289
+ color: currentColor;
290
+ transform: scale(.9999);
291
+ transition: color 0.2s ease,
292
+ opacity 0.2s ease,
293
+ transform 0.2s ease;
294
+ z-index: 2; // above slides
295
+ pointer-events: auto;
296
+ font-size: inherit;
297
+
298
+ visibility: hidden;
299
+ opacity: 0;
300
+
301
+ -webkit-appearance: none;
302
+ -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
303
+ }
304
+
305
+ .controls-arrow:before,
306
+ .controls-arrow:after {
307
+ content: '';
308
+ position: absolute;
309
+ top: 0;
310
+ left: 0;
311
+ width: $controlArrowLength;
312
+ height: $controlArrowThickness;
313
+ border-radius: $controlArrowThickness/2;
314
+ background-color: currentColor;
315
+
316
+ transition: all 0.15s ease, background-color 0.8s ease;
317
+ transform-origin: floor(($controlArrowThickness/2)*10)/10 50%;
318
+ will-change: transform;
319
+ }
320
+
321
+ .controls-arrow {
322
+ position: relative;
323
+ width: $controlArrowSize;
324
+ height: $controlArrowSize;
325
+
326
+ @include controlsArrowTransform( $controlsArrowAngle );
327
+
328
+ &:hover {
329
+ @include controlsArrowTransform( $controlsArrowAngleHover );
330
+ }
331
+
332
+ &:active {
333
+ @include controlsArrowTransform( $controlsArrowAngleActive );
334
+ }
335
+ }
336
+
337
+ .navigate-left {
338
+ right: $controlArrowSize + $controlArrowSpacing*2;
339
+ bottom: $controlArrowSpacing + $controlArrowSize/2;
340
+ transform: translateX( -10px );
341
+ }
342
+
343
+ .navigate-right {
344
+ right: 0;
345
+ bottom: $controlArrowSpacing + $controlArrowSize/2;
346
+ transform: translateX( 10px );
347
+
348
+ .controls-arrow {
349
+ transform: rotate( 180deg );
350
+ }
351
+
352
+ &.highlight {
353
+ animation: bounce-right 2s 50 both ease-out;
354
+ }
355
+ }
356
+
357
+ .navigate-up {
358
+ right: $controlArrowSpacing + $controlArrowSize/2;
359
+ bottom: $controlArrowSpacing*2 + $controlArrowSize;
360
+ transform: translateY( -10px );
361
+
362
+ .controls-arrow {
363
+ transform: rotate( 90deg );
364
+ }
365
+ }
366
+
367
+ .navigate-down {
368
+ right: $controlArrowSpacing + $controlArrowSize/2;
369
+ bottom: 0;
370
+ transform: translateY( 10px );
371
+
372
+ .controls-arrow {
373
+ transform: rotate( -90deg );
374
+ }
375
+
376
+ &.highlight {
377
+ animation: bounce-down 2s 50 both ease-out;
378
+ }
379
+ }
380
+
381
+ // Back arrow style: "faded":
382
+ // Deemphasize backwards navigation arrows in favor of drawing
383
+ // attention to forwards navigation
384
+ &[data-controls-back-arrows="faded"] .navigate-left.enabled,
385
+ &[data-controls-back-arrows="faded"] .navigate-up.enabled {
386
+ opacity: 0.3;
387
+
388
+ &:hover {
389
+ opacity: 1;
390
+ }
391
+ }
392
+
393
+ // Back arrow style: "hidden":
394
+ // Never show arrows for backwards navigation
395
+ &[data-controls-back-arrows="hidden"] .navigate-left.enabled,
396
+ &[data-controls-back-arrows="hidden"] .navigate-up.enabled {
397
+ opacity: 0;
398
+ visibility: hidden;
399
+ }
400
+
401
+ // Any control button that can be clicked is "enabled"
402
+ .enabled {
403
+ visibility: visible;
404
+ opacity: 0.9;
405
+ cursor: pointer;
406
+ transform: none;
407
+ }
408
+
409
+ // Any control button that leads to showing or hiding
410
+ // a fragment
411
+ .enabled.fragmented {
412
+ opacity: 0.5;
413
+ }
414
+
415
+ .enabled:hover,
416
+ .enabled.fragmented:hover {
417
+ opacity: 1;
418
+ }
419
+ }
420
+
421
+ // Adjust the layout when there are no vertical slides
422
+ .reveal:not(.has-vertical-slides) .controls .navigate-left {
423
+ bottom: $controlArrowSpacing;
424
+ right: 0.5em + $controlArrowSpacing + $controlArrowSize;
425
+ }
426
+
427
+ .reveal:not(.has-vertical-slides) .controls .navigate-right {
428
+ bottom: $controlArrowSpacing;
429
+ right: 0.5em;
430
+ }
431
+
432
+ // Adjust the layout when there are no horizontal slides
433
+ .reveal:not(.has-horizontal-slides) .controls .navigate-up {
434
+ right: $controlArrowSpacing;
435
+ bottom: $controlArrowSpacing + $controlArrowSize;
436
+ }
437
+ .reveal:not(.has-horizontal-slides) .controls .navigate-down {
438
+ right: $controlArrowSpacing;
439
+ bottom: 0.5em;
440
+ }
441
+
442
+ // Invert arrows based on background color
443
+ .reveal.has-dark-background .controls {
444
+ color: #fff;
445
+ }
446
+ .reveal.has-light-background .controls {
447
+ color: #000;
448
+ }
449
+
450
+ // Disable active states on touch devices
451
+ .reveal.no-hover .controls .controls-arrow:hover,
452
+ .reveal.no-hover .controls .controls-arrow:active {
453
+ @include controlsArrowTransform( $controlsArrowAngle );
454
+ }
455
+
456
+ // Edge aligned controls layout
457
+ @media screen and (min-width: 500px) {
458
+
459
+ $spacing: 8px;
460
+
461
+ .reveal .controls[data-controls-layout="edges"] {
462
+ & {
463
+ top: 0;
464
+ right: 0;
465
+ bottom: 0;
466
+ left: 0;
467
+ }
468
+
469
+ .navigate-left,
470
+ .navigate-right,
471
+ .navigate-up,
472
+ .navigate-down {
473
+ bottom: auto;
474
+ right: auto;
475
+ }
476
+
477
+ .navigate-left {
478
+ top: 50%;
479
+ left: $spacing;
480
+ margin-top: -$controlArrowSize/2;
481
+ }
482
+
483
+ .navigate-right {
484
+ top: 50%;
485
+ right: $spacing;
486
+ margin-top: -$controlArrowSize/2;
487
+ }
488
+
489
+ .navigate-up {
490
+ top: $spacing;
491
+ left: 50%;
492
+ margin-left: -$controlArrowSize/2;
493
+ }
494
+
495
+ .navigate-down {
496
+ bottom: $spacing;
497
+ left: 50%;
498
+ margin-left: -$controlArrowSize/2;
499
+ }
500
+ }
501
+
502
+ }
503
+
504
+
505
+ /*********************************************
506
+ * PROGRESS BAR
507
+ *********************************************/
508
+
509
+ .reveal .progress {
510
+ position: absolute;
511
+ display: none;
512
+ height: 3px;
513
+ width: 100%;
514
+ bottom: 0;
515
+ left: 0;
516
+ z-index: 10;
517
+
518
+ background-color: rgba( 0, 0, 0, 0.2 );
519
+ color: #fff;
520
+ }
521
+ .reveal .progress:after {
522
+ content: '';
523
+ display: block;
524
+ position: absolute;
525
+ height: 10px;
526
+ width: 100%;
527
+ top: -10px;
528
+ }
529
+ .reveal .progress span {
530
+ display: block;
531
+ height: 100%;
532
+ width: 0px;
533
+
534
+ background-color: currentColor;
535
+ transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
536
+ }
537
+
538
+ /*********************************************
539
+ * SLIDE NUMBER
540
+ *********************************************/
541
+
542
+ .reveal .slide-number {
543
+ position: fixed;
544
+ display: block;
545
+ right: 8px;
546
+ bottom: 8px;
547
+ z-index: 31;
548
+ font-family: Helvetica, sans-serif;
549
+ font-size: 12px;
550
+ line-height: 1;
551
+ color: #fff;
552
+ background-color: rgba( 0, 0, 0, 0.4 );
553
+ padding: 5px;
554
+ }
555
+
556
+ .reveal .slide-number-delimiter {
557
+ margin: 0 3px;
558
+ }
559
+
560
+ /*********************************************
561
+ * SLIDES
562
+ *********************************************/
563
+
564
+ .reveal {
565
+ position: relative;
566
+ width: 100%;
567
+ height: 100%;
568
+ overflow: hidden;
569
+ touch-action: none;
570
+ }
571
+
572
+ // Mobile Safari sometimes overlays a header at the top
573
+ // of the page when in landscape mode. Using fixed
574
+ // positioning ensures that reveal.js reduces its height
575
+ // when this header is visible.
576
+ @media only screen and (orientation : landscape) {
577
+ .reveal.ua-iphone {
578
+ position: fixed;
579
+ }
580
+ }
581
+
582
+ .reveal .slides {
583
+ position: absolute;
584
+ width: 100%;
585
+ height: 100%;
586
+ top: 0;
587
+ right: 0;
588
+ bottom: 0;
589
+ left: 0;
590
+ margin: auto;
591
+ pointer-events: none;
592
+
593
+ overflow: visible;
594
+ z-index: 1;
595
+ text-align: center;
596
+ perspective: 600px;
597
+ perspective-origin: 50% 40%;
598
+ }
599
+
600
+ .reveal .slides>section {
601
+ -ms-perspective: 600px;
602
+ }
603
+
604
+ .reveal .slides>section,
605
+ .reveal .slides>section>section {
606
+ display: none;
607
+ position: absolute;
608
+ width: 100%;
609
+ padding: 20px 0px;
610
+ pointer-events: auto;
611
+
612
+ z-index: 10;
613
+ transform-style: flat;
614
+ transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
615
+ transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
616
+ visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
617
+ opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
618
+ }
619
+
620
+ /* Global transition speed settings */
621
+ .reveal[data-transition-speed="fast"] .slides section {
622
+ transition-duration: 400ms;
623
+ }
624
+ .reveal[data-transition-speed="slow"] .slides section {
625
+ transition-duration: 1200ms;
626
+ }
627
+
628
+ /* Slide-specific transition speed overrides */
629
+ .reveal .slides section[data-transition-speed="fast"] {
630
+ transition-duration: 400ms;
631
+ }
632
+ .reveal .slides section[data-transition-speed="slow"] {
633
+ transition-duration: 1200ms;
634
+ }
635
+
636
+ .reveal .slides>section.stack {
637
+ padding-top: 0;
638
+ padding-bottom: 0;
639
+ }
640
+
641
+ .reveal .slides>section.present,
642
+ .reveal .slides>section>section.present {
643
+ display: block;
644
+ z-index: 11;
645
+ opacity: 1;
646
+ }
647
+
648
+ .reveal .slides>section:empty,
649
+ .reveal .slides>section>section:empty,
650
+ .reveal .slides>section[data-background-interactive],
651
+ .reveal .slides>section>section[data-background-interactive] {
652
+ pointer-events: none;
653
+ }
654
+
655
+ .reveal.center,
656
+ .reveal.center .slides,
657
+ .reveal.center .slides section {
658
+ min-height: 0 !important;
659
+ }
660
+
661
+ /* Don't allow interaction with invisible slides */
662
+ .reveal .slides>section.future,
663
+ .reveal .slides>section>section.future,
664
+ .reveal .slides>section.past,
665
+ .reveal .slides>section>section.past {
666
+ pointer-events: none;
667
+ }
668
+
669
+ .reveal.overview .slides>section,
670
+ .reveal.overview .slides>section>section {
671
+ pointer-events: auto;
672
+ }
673
+
674
+ .reveal .slides>section.past,
675
+ .reveal .slides>section.future,
676
+ .reveal .slides>section>section.past,
677
+ .reveal .slides>section>section.future {
678
+ opacity: 0;
679
+ }
680
+
681
+
682
+ /*********************************************
683
+ * Mixins for readability of transitions
684
+ *********************************************/
685
+
686
+ @mixin transition-global($style) {
687
+ .reveal .slides section[data-transition=#{$style}],
688
+ .reveal.#{$style} .slides section:not([data-transition]) {
689
+ @content;
690
+ }
691
+ }
692
+ @mixin transition-stack($style) {
693
+ .reveal .slides section[data-transition=#{$style}].stack,
694
+ .reveal.#{$style} .slides section.stack {
695
+ @content;
696
+ }
697
+ }
698
+ @mixin transition-horizontal-past($style) {
699
+ .reveal .slides>section[data-transition=#{$style}].past,
700
+ .reveal .slides>section[data-transition~=#{$style}-out].past,
701
+ .reveal.#{$style} .slides>section:not([data-transition]).past {
702
+ @content;
703
+ }
704
+ }
705
+ @mixin transition-horizontal-future($style) {
706
+ .reveal .slides>section[data-transition=#{$style}].future,
707
+ .reveal .slides>section[data-transition~=#{$style}-in].future,
708
+ .reveal.#{$style} .slides>section:not([data-transition]).future {
709
+ @content;
710
+ }
711
+ }
712
+
713
+ @mixin transition-vertical-past($style) {
714
+ .reveal .slides>section>section[data-transition=#{$style}].past,
715
+ .reveal .slides>section>section[data-transition~=#{$style}-out].past,
716
+ .reveal.#{$style} .slides>section>section:not([data-transition]).past {
717
+ @content;
718
+ }
719
+ }
720
+ @mixin transition-vertical-future($style) {
721
+ .reveal .slides>section>section[data-transition=#{$style}].future,
722
+ .reveal .slides>section>section[data-transition~=#{$style}-in].future,
723
+ .reveal.#{$style} .slides>section>section:not([data-transition]).future {
724
+ @content;
725
+ }
726
+ }
727
+
728
+ /*********************************************
729
+ * SLIDE TRANSITION
730
+ * Aliased 'linear' for backwards compatibility
731
+ *********************************************/
732
+
733
+ @each $stylename in slide, linear {
734
+ .reveal.#{$stylename} section {
735
+ backface-visibility: hidden;
736
+ }
737
+ @include transition-horizontal-past(#{$stylename}) {
738
+ transform: translate(-150%, 0);
739
+ }
740
+ @include transition-horizontal-future(#{$stylename}) {
741
+ transform: translate(150%, 0);
742
+ }
743
+ @include transition-vertical-past(#{$stylename}) {
744
+ transform: translate(0, -150%);
745
+ }
746
+ @include transition-vertical-future(#{$stylename}) {
747
+ transform: translate(0, 150%);
748
+ }
749
+ }
750
+
751
+ /*********************************************
752
+ * CONVEX TRANSITION
753
+ * Aliased 'default' for backwards compatibility
754
+ *********************************************/
755
+
756
+ @each $stylename in default, convex {
757
+ @include transition-stack(#{$stylename}) {
758
+ transform-style: preserve-3d;
759
+ }
760
+
761
+ @include transition-horizontal-past(#{$stylename}) {
762
+ transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
763
+ }
764
+ @include transition-horizontal-future(#{$stylename}) {
765
+ transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
766
+ }
767
+ @include transition-vertical-past(#{$stylename}) {
768
+ transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
769
+ }
770
+ @include transition-vertical-future(#{$stylename}) {
771
+ transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
772
+ }
773
+ }
774
+
775
+ /*********************************************
776
+ * CONCAVE TRANSITION
777
+ *********************************************/
778
+
779
+ @include transition-stack(concave) {
780
+ transform-style: preserve-3d;
781
+ }
782
+
783
+ @include transition-horizontal-past(concave) {
784
+ transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
785
+ }
786
+ @include transition-horizontal-future(concave) {
787
+ transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
788
+ }
789
+ @include transition-vertical-past(concave) {
790
+ transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
791
+ }
792
+ @include transition-vertical-future(concave) {
793
+ transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
794
+ }
795
+
796
+
797
+ /*********************************************
798
+ * ZOOM TRANSITION
799
+ *********************************************/
800
+
801
+ @include transition-global(zoom) {
802
+ transition-timing-function: ease;
803
+ }
804
+ @include transition-horizontal-past(zoom) {
805
+ visibility: hidden;
806
+ transform: scale(16);
807
+ }
808
+ @include transition-horizontal-future(zoom) {
809
+ visibility: hidden;
810
+ transform: scale(0.2);
811
+ }
812
+ @include transition-vertical-past(zoom) {
813
+ transform: translate(0, -150%);
814
+ }
815
+ @include transition-vertical-future(zoom) {
816
+ transform: translate(0, 150%);
817
+ }
818
+
819
+
820
+ /*********************************************
821
+ * CUBE TRANSITION
822
+ *
823
+ * WARNING:
824
+ * this is deprecated and will be removed in a
825
+ * future version.
826
+ *********************************************/
827
+
828
+ .reveal.cube .slides {
829
+ perspective: 1300px;
830
+ }
831
+
832
+ .reveal.cube .slides section {
833
+ padding: 30px;
834
+ min-height: 700px;
835
+ backface-visibility: hidden;
836
+ box-sizing: border-box;
837
+ transform-style: preserve-3d;
838
+ }
839
+ .reveal.center.cube .slides section {
840
+ min-height: 0;
841
+ }
842
+ .reveal.cube .slides section:not(.stack):before {
843
+ content: '';
844
+ position: absolute;
845
+ display: block;
846
+ width: 100%;
847
+ height: 100%;
848
+ left: 0;
849
+ top: 0;
850
+ background: rgba(0,0,0,0.1);
851
+ border-radius: 4px;
852
+ transform: translateZ( -20px );
853
+ }
854
+ .reveal.cube .slides section:not(.stack):after {
855
+ content: '';
856
+ position: absolute;
857
+ display: block;
858
+ width: 90%;
859
+ height: 30px;
860
+ left: 5%;
861
+ bottom: 0;
862
+ background: none;
863
+ z-index: 1;
864
+
865
+ border-radius: 4px;
866
+ box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
867
+ transform: translateZ(-90px) rotateX( 65deg );
868
+ }
869
+
870
+ .reveal.cube .slides>section.stack {
871
+ padding: 0;
872
+ background: none;
873
+ }
874
+
875
+ .reveal.cube .slides>section.past {
876
+ transform-origin: 100% 0%;
877
+ transform: translate3d(-100%, 0, 0) rotateY(-90deg);
878
+ }
879
+
880
+ .reveal.cube .slides>section.future {
881
+ transform-origin: 0% 0%;
882
+ transform: translate3d(100%, 0, 0) rotateY(90deg);
883
+ }
884
+
885
+ .reveal.cube .slides>section>section.past {
886
+ transform-origin: 0% 100%;
887
+ transform: translate3d(0, -100%, 0) rotateX(90deg);
888
+ }
889
+
890
+ .reveal.cube .slides>section>section.future {
891
+ transform-origin: 0% 0%;
892
+ transform: translate3d(0, 100%, 0) rotateX(-90deg);
893
+ }
894
+
895
+
896
+ /*********************************************
897
+ * PAGE TRANSITION
898
+ *
899
+ * WARNING:
900
+ * this is deprecated and will be removed in a
901
+ * future version.
902
+ *********************************************/
903
+
904
+ .reveal.page .slides {
905
+ perspective-origin: 0% 50%;
906
+ perspective: 3000px;
907
+ }
908
+
909
+ .reveal.page .slides section {
910
+ padding: 30px;
911
+ min-height: 700px;
912
+ box-sizing: border-box;
913
+ transform-style: preserve-3d;
914
+ }
915
+ .reveal.page .slides section.past {
916
+ z-index: 12;
917
+ }
918
+ .reveal.page .slides section:not(.stack):before {
919
+ content: '';
920
+ position: absolute;
921
+ display: block;
922
+ width: 100%;
923
+ height: 100%;
924
+ left: 0;
925
+ top: 0;
926
+ background: rgba(0,0,0,0.1);
927
+ transform: translateZ( -20px );
928
+ }
929
+ .reveal.page .slides section:not(.stack):after {
930
+ content: '';
931
+ position: absolute;
932
+ display: block;
933
+ width: 90%;
934
+ height: 30px;
935
+ left: 5%;
936
+ bottom: 0;
937
+ background: none;
938
+ z-index: 1;
939
+
940
+ border-radius: 4px;
941
+ box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
942
+
943
+ -webkit-transform: translateZ(-90px) rotateX( 65deg );
944
+ }
945
+
946
+ .reveal.page .slides>section.stack {
947
+ padding: 0;
948
+ background: none;
949
+ }
950
+
951
+ .reveal.page .slides>section.past {
952
+ transform-origin: 0% 0%;
953
+ transform: translate3d(-40%, 0, 0) rotateY(-80deg);
954
+ }
955
+
956
+ .reveal.page .slides>section.future {
957
+ transform-origin: 100% 0%;
958
+ transform: translate3d(0, 0, 0);
959
+ }
960
+
961
+ .reveal.page .slides>section>section.past {
962
+ transform-origin: 0% 0%;
963
+ transform: translate3d(0, -40%, 0) rotateX(80deg);
964
+ }
965
+
966
+ .reveal.page .slides>section>section.future {
967
+ transform-origin: 0% 100%;
968
+ transform: translate3d(0, 0, 0);
969
+ }
970
+
971
+
972
+ /*********************************************
973
+ * FADE TRANSITION
974
+ *********************************************/
975
+
976
+ .reveal .slides section[data-transition=fade],
977
+ .reveal.fade .slides section:not([data-transition]),
978
+ .reveal.fade .slides>section>section:not([data-transition]) {
979
+ transform: none;
980
+ transition: opacity 0.5s;
981
+ }
982
+
983
+
984
+ .reveal.fade.overview .slides section,
985
+ .reveal.fade.overview .slides>section>section {
986
+ transition: none;
987
+ }
988
+
989
+
990
+ /*********************************************
991
+ * NO TRANSITION
992
+ *********************************************/
993
+
994
+ @include transition-global(none) {
995
+ transform: none;
996
+ transition: none;
997
+ }
998
+
999
+
1000
+ /*********************************************
1001
+ * PAUSED MODE
1002
+ *********************************************/
1003
+
1004
+ .reveal .pause-overlay {
1005
+ position: absolute;
1006
+ top: 0;
1007
+ left: 0;
1008
+ width: 100%;
1009
+ height: 100%;
1010
+ background: black;
1011
+ visibility: hidden;
1012
+ opacity: 0;
1013
+ z-index: 100;
1014
+ transition: all 1s ease;
1015
+ }
1016
+ .reveal.paused .pause-overlay {
1017
+ visibility: visible;
1018
+ opacity: 1;
1019
+ }
1020
+
1021
+
1022
+ /*********************************************
1023
+ * FALLBACK
1024
+ *********************************************/
1025
+
1026
+ .no-transforms {
1027
+ overflow-y: auto;
1028
+ }
1029
+
1030
+ .no-transforms .reveal .slides {
1031
+ position: relative;
1032
+ width: 80%;
1033
+ height: auto !important;
1034
+ top: 0;
1035
+ left: 50%;
1036
+ margin: 0;
1037
+ text-align: center;
1038
+ }
1039
+
1040
+ .no-transforms .reveal .controls,
1041
+ .no-transforms .reveal .progress {
1042
+ display: none !important;
1043
+ }
1044
+
1045
+ .no-transforms .reveal .slides section {
1046
+ display: block !important;
1047
+ opacity: 1 !important;
1048
+ position: relative !important;
1049
+ height: auto;
1050
+ min-height: 0;
1051
+ top: 0;
1052
+ left: -50%;
1053
+ margin: 70px 0;
1054
+ transform: none;
1055
+ }
1056
+
1057
+ .no-transforms .reveal .slides section section {
1058
+ left: 0;
1059
+ }
1060
+
1061
+ .reveal .no-transition,
1062
+ .reveal .no-transition * {
1063
+ transition: none !important;
1064
+ }
1065
+
1066
+
1067
+ /*********************************************
1068
+ * PER-SLIDE BACKGROUNDS
1069
+ *********************************************/
1070
+
1071
+ .reveal .backgrounds {
1072
+ position: absolute;
1073
+ width: 100%;
1074
+ height: 100%;
1075
+ top: 0;
1076
+ left: 0;
1077
+ perspective: 600px;
1078
+ }
1079
+ .reveal .slide-background {
1080
+ display: none;
1081
+ position: absolute;
1082
+ width: 100%;
1083
+ height: 100%;
1084
+ opacity: 0;
1085
+ visibility: hidden;
1086
+ overflow: hidden;
1087
+
1088
+ background-color: rgba( 0, 0, 0, 0 );
1089
+ background-position: 50% 50%;
1090
+ background-repeat: no-repeat;
1091
+ background-size: cover;
1092
+
1093
+ transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1094
+ }
1095
+
1096
+ .reveal .slide-background.stack {
1097
+ display: block;
1098
+ }
1099
+
1100
+ .reveal .slide-background.present {
1101
+ opacity: 1;
1102
+ visibility: visible;
1103
+ z-index: 2;
1104
+ }
1105
+
1106
+ .print-pdf .reveal .slide-background {
1107
+ opacity: 1 !important;
1108
+ visibility: visible !important;
1109
+ }
1110
+
1111
+ /* Video backgrounds */
1112
+ .reveal .slide-background video {
1113
+ position: absolute;
1114
+ width: 100%;
1115
+ height: 100%;
1116
+ max-width: none;
1117
+ max-height: none;
1118
+ top: 0;
1119
+ left: 0;
1120
+ object-fit: cover;
1121
+ }
1122
+ .reveal .slide-background[data-background-size="contain"] video {
1123
+ object-fit: contain;
1124
+ }
1125
+
1126
+ /* Immediate transition style */
1127
+ .reveal[data-background-transition=none]>.backgrounds .slide-background,
1128
+ .reveal>.backgrounds .slide-background[data-background-transition=none] {
1129
+ transition: none;
1130
+ }
1131
+
1132
+ /* Slide */
1133
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background,
1134
+ .reveal>.backgrounds .slide-background[data-background-transition=slide] {
1135
+ opacity: 1;
1136
+ backface-visibility: hidden;
1137
+ }
1138
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background.past,
1139
+ .reveal>.backgrounds .slide-background.past[data-background-transition=slide] {
1140
+ transform: translate(-100%, 0);
1141
+ }
1142
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background.future,
1143
+ .reveal>.backgrounds .slide-background.future[data-background-transition=slide] {
1144
+ transform: translate(100%, 0);
1145
+ }
1146
+
1147
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,
1148
+ .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] {
1149
+ transform: translate(0, -100%);
1150
+ }
1151
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,
1152
+ .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] {
1153
+ transform: translate(0, 100%);
1154
+ }
1155
+
1156
+
1157
+ /* Convex */
1158
+ .reveal[data-background-transition=convex]>.backgrounds .slide-background.past,
1159
+ .reveal>.backgrounds .slide-background.past[data-background-transition=convex] {
1160
+ opacity: 0;
1161
+ transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
1162
+ }
1163
+ .reveal[data-background-transition=convex]>.backgrounds .slide-background.future,
1164
+ .reveal>.backgrounds .slide-background.future[data-background-transition=convex] {
1165
+ opacity: 0;
1166
+ transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
1167
+ }
1168
+
1169
+ .reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past,
1170
+ .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] {
1171
+ opacity: 0;
1172
+ transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
1173
+ }
1174
+ .reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future,
1175
+ .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] {
1176
+ opacity: 0;
1177
+ transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
1178
+ }
1179
+
1180
+
1181
+ /* Concave */
1182
+ .reveal[data-background-transition=concave]>.backgrounds .slide-background.past,
1183
+ .reveal>.backgrounds .slide-background.past[data-background-transition=concave] {
1184
+ opacity: 0;
1185
+ transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
1186
+ }
1187
+ .reveal[data-background-transition=concave]>.backgrounds .slide-background.future,
1188
+ .reveal>.backgrounds .slide-background.future[data-background-transition=concave] {
1189
+ opacity: 0;
1190
+ transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
1191
+ }
1192
+
1193
+ .reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past,
1194
+ .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] {
1195
+ opacity: 0;
1196
+ transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
1197
+ }
1198
+ .reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future,
1199
+ .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] {
1200
+ opacity: 0;
1201
+ transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
1202
+ }
1203
+
1204
+ /* Zoom */
1205
+ .reveal[data-background-transition=zoom]>.backgrounds .slide-background,
1206
+ .reveal>.backgrounds .slide-background[data-background-transition=zoom] {
1207
+ transition-timing-function: ease;
1208
+ }
1209
+
1210
+ .reveal[data-background-transition=zoom]>.backgrounds .slide-background.past,
1211
+ .reveal>.backgrounds .slide-background.past[data-background-transition=zoom] {
1212
+ opacity: 0;
1213
+ visibility: hidden;
1214
+ transform: scale(16);
1215
+ }
1216
+ .reveal[data-background-transition=zoom]>.backgrounds .slide-background.future,
1217
+ .reveal>.backgrounds .slide-background.future[data-background-transition=zoom] {
1218
+ opacity: 0;
1219
+ visibility: hidden;
1220
+ transform: scale(0.2);
1221
+ }
1222
+
1223
+ .reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past,
1224
+ .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] {
1225
+ opacity: 0;
1226
+ visibility: hidden;
1227
+ transform: scale(16);
1228
+ }
1229
+ .reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future,
1230
+ .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] {
1231
+ opacity: 0;
1232
+ visibility: hidden;
1233
+ transform: scale(0.2);
1234
+ }
1235
+
1236
+
1237
+ /* Global transition speed settings */
1238
+ .reveal[data-transition-speed="fast"]>.backgrounds .slide-background {
1239
+ transition-duration: 400ms;
1240
+ }
1241
+ .reveal[data-transition-speed="slow"]>.backgrounds .slide-background {
1242
+ transition-duration: 1200ms;
1243
+ }
1244
+
1245
+
1246
+ /*********************************************
1247
+ * OVERVIEW
1248
+ *********************************************/
1249
+
1250
+ .reveal.overview {
1251
+ perspective-origin: 50% 50%;
1252
+ perspective: 700px;
1253
+
1254
+ .slides {
1255
+ // Fixes overview rendering errors in FF48+, not applied to
1256
+ // other browsers since it degrades performance
1257
+ -moz-transform-style: preserve-3d;
1258
+ }
1259
+
1260
+ .slides section {
1261
+ height: 100%;
1262
+ top: 0 !important;
1263
+ opacity: 1 !important;
1264
+ overflow: hidden;
1265
+ visibility: visible !important;
1266
+ cursor: pointer;
1267
+ box-sizing: border-box;
1268
+ }
1269
+ .slides section:hover,
1270
+ .slides section.present {
1271
+ outline: 10px solid rgba(150,150,150,0.4);
1272
+ outline-offset: 10px;
1273
+ }
1274
+ .slides section .fragment {
1275
+ opacity: 1;
1276
+ transition: none;
1277
+ }
1278
+ .slides section:after,
1279
+ .slides section:before {
1280
+ display: none !important;
1281
+ }
1282
+ .slides>section.stack {
1283
+ padding: 0;
1284
+ top: 0 !important;
1285
+ background: none;
1286
+ outline: none;
1287
+ overflow: visible;
1288
+ }
1289
+
1290
+ .backgrounds {
1291
+ perspective: inherit;
1292
+
1293
+ // Fixes overview rendering errors in FF48+, not applied to
1294
+ // other browsers since it degrades performance
1295
+ -moz-transform-style: preserve-3d;
1296
+ }
1297
+
1298
+ .backgrounds .slide-background {
1299
+ opacity: 1;
1300
+ visibility: visible;
1301
+
1302
+ // This can't be applied to the slide itself in Safari
1303
+ outline: 10px solid rgba(150,150,150,0.1);
1304
+ outline-offset: 10px;
1305
+ }
1306
+
1307
+ .backgrounds .slide-background.stack {
1308
+ overflow: visible;
1309
+ }
1310
+ }
1311
+
1312
+ // Disable transitions transitions while we're activating
1313
+ // or deactivating the overview mode.
1314
+ .reveal.overview .slides section,
1315
+ .reveal.overview-deactivating .slides section {
1316
+ transition: none;
1317
+ }
1318
+
1319
+ .reveal.overview .backgrounds .slide-background,
1320
+ .reveal.overview-deactivating .backgrounds .slide-background {
1321
+ transition: none;
1322
+ }
1323
+
1324
+
1325
+ /*********************************************
1326
+ * RTL SUPPORT
1327
+ *********************************************/
1328
+
1329
+ .reveal.rtl .slides,
1330
+ .reveal.rtl .slides h1,
1331
+ .reveal.rtl .slides h2,
1332
+ .reveal.rtl .slides h3,
1333
+ .reveal.rtl .slides h4,
1334
+ .reveal.rtl .slides h5,
1335
+ .reveal.rtl .slides h6 {
1336
+ direction: rtl;
1337
+ font-family: sans-serif;
1338
+ }
1339
+
1340
+ .reveal.rtl pre,
1341
+ .reveal.rtl code {
1342
+ direction: ltr;
1343
+ }
1344
+
1345
+ .reveal.rtl ol,
1346
+ .reveal.rtl ul {
1347
+ text-align: right;
1348
+ }
1349
+
1350
+ .reveal.rtl .progress span {
1351
+ float: right
1352
+ }
1353
+
1354
+ /*********************************************
1355
+ * PARALLAX BACKGROUND
1356
+ *********************************************/
1357
+
1358
+ .reveal.has-parallax-background .backgrounds {
1359
+ transition: all 0.8s ease;
1360
+ }
1361
+
1362
+ /* Global transition speed settings */
1363
+ .reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds {
1364
+ transition-duration: 400ms;
1365
+ }
1366
+ .reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds {
1367
+ transition-duration: 1200ms;
1368
+ }
1369
+
1370
+
1371
+ /*********************************************
1372
+ * LINK PREVIEW OVERLAY
1373
+ *********************************************/
1374
+
1375
+ .reveal .overlay {
1376
+ position: absolute;
1377
+ top: 0;
1378
+ left: 0;
1379
+ width: 100%;
1380
+ height: 100%;
1381
+ z-index: 1000;
1382
+ background: rgba( 0, 0, 0, 0.9 );
1383
+ opacity: 0;
1384
+ visibility: hidden;
1385
+ transition: all 0.3s ease;
1386
+ }
1387
+ .reveal .overlay.visible {
1388
+ opacity: 1;
1389
+ visibility: visible;
1390
+ }
1391
+
1392
+ .reveal .overlay .spinner {
1393
+ position: absolute;
1394
+ display: block;
1395
+ top: 50%;
1396
+ left: 50%;
1397
+ width: 32px;
1398
+ height: 32px;
1399
+ margin: -16px 0 0 -16px;
1400
+ z-index: 10;
1401
+ background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);
1402
+
1403
+ visibility: visible;
1404
+ opacity: 0.6;
1405
+ transition: all 0.3s ease;
1406
+ }
1407
+
1408
+ .reveal .overlay header {
1409
+ position: absolute;
1410
+ left: 0;
1411
+ top: 0;
1412
+ width: 100%;
1413
+ height: 40px;
1414
+ z-index: 2;
1415
+ border-bottom: 1px solid #222;
1416
+ }
1417
+ .reveal .overlay header a {
1418
+ display: inline-block;
1419
+ width: 40px;
1420
+ height: 40px;
1421
+ line-height: 36px;
1422
+ padding: 0 10px;
1423
+ float: right;
1424
+ opacity: 0.6;
1425
+
1426
+ box-sizing: border-box;
1427
+ }
1428
+ .reveal .overlay header a:hover {
1429
+ opacity: 1;
1430
+ }
1431
+ .reveal .overlay header a .icon {
1432
+ display: inline-block;
1433
+ width: 20px;
1434
+ height: 20px;
1435
+
1436
+ background-position: 50% 50%;
1437
+ background-size: 100%;
1438
+ background-repeat: no-repeat;
1439
+ }
1440
+ .reveal .overlay header a.close .icon {
1441
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
1442
+ }
1443
+ .reveal .overlay header a.external .icon {
1444
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
1445
+ }
1446
+
1447
+ .reveal .overlay .viewport {
1448
+ position: absolute;
1449
+ display: flex;
1450
+ top: 40px;
1451
+ right: 0;
1452
+ bottom: 0;
1453
+ left: 0;
1454
+ }
1455
+
1456
+ .reveal .overlay.overlay-preview .viewport iframe {
1457
+ width: 100%;
1458
+ height: 100%;
1459
+ max-width: 100%;
1460
+ max-height: 100%;
1461
+ border: 0;
1462
+
1463
+ opacity: 0;
1464
+ visibility: hidden;
1465
+ transition: all 0.3s ease;
1466
+ }
1467
+
1468
+ .reveal .overlay.overlay-preview.loaded .viewport iframe {
1469
+ opacity: 1;
1470
+ visibility: visible;
1471
+ }
1472
+
1473
+ .reveal .overlay.overlay-preview.loaded .viewport-inner {
1474
+ position: absolute;
1475
+ z-index: -1;
1476
+ left: 0;
1477
+ top: 45%;
1478
+ width: 100%;
1479
+ text-align: center;
1480
+ letter-spacing: normal;
1481
+ }
1482
+ .reveal .overlay.overlay-preview .x-frame-error {
1483
+ opacity: 0;
1484
+ transition: opacity 0.3s ease 0.3s;
1485
+ }
1486
+ .reveal .overlay.overlay-preview.loaded .x-frame-error {
1487
+ opacity: 1;
1488
+ }
1489
+
1490
+ .reveal .overlay.overlay-preview.loaded .spinner {
1491
+ opacity: 0;
1492
+ visibility: hidden;
1493
+ transform: scale(0.2);
1494
+ }
1495
+
1496
+ .reveal .overlay.overlay-help .viewport {
1497
+ overflow: auto;
1498
+ color: #fff;
1499
+ }
1500
+
1501
+ .reveal .overlay.overlay-help .viewport .viewport-inner {
1502
+ width: 600px;
1503
+ margin: auto;
1504
+ padding: 20px 20px 80px 20px;
1505
+ text-align: center;
1506
+ letter-spacing: normal;
1507
+ }
1508
+
1509
+ .reveal .overlay.overlay-help .viewport .viewport-inner .title {
1510
+ font-size: 20px;
1511
+ }
1512
+
1513
+ .reveal .overlay.overlay-help .viewport .viewport-inner table {
1514
+ border: 1px solid #fff;
1515
+ border-collapse: collapse;
1516
+ font-size: 16px;
1517
+ }
1518
+
1519
+ .reveal .overlay.overlay-help .viewport .viewport-inner table th,
1520
+ .reveal .overlay.overlay-help .viewport .viewport-inner table td {
1521
+ width: 200px;
1522
+ padding: 14px;
1523
+ border: 1px solid #fff;
1524
+ vertical-align: middle;
1525
+ }
1526
+
1527
+ .reveal .overlay.overlay-help .viewport .viewport-inner table th {
1528
+ padding-top: 20px;
1529
+ padding-bottom: 20px;
1530
+ }
1531
+
1532
+
1533
+
1534
+ /*********************************************
1535
+ * PLAYBACK COMPONENT
1536
+ *********************************************/
1537
+
1538
+ .reveal .playback {
1539
+ position: absolute;
1540
+ left: 15px;
1541
+ bottom: 20px;
1542
+ z-index: 30;
1543
+ cursor: pointer;
1544
+ transition: all 400ms ease;
1545
+ -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
1546
+ }
1547
+
1548
+ .reveal.overview .playback {
1549
+ opacity: 0;
1550
+ visibility: hidden;
1551
+ }
1552
+
1553
+
1554
+ /*********************************************
1555
+ * ROLLING LINKS
1556
+ *********************************************/
1557
+
1558
+ .reveal .roll {
1559
+ display: inline-block;
1560
+ line-height: 1.2;
1561
+ overflow: hidden;
1562
+
1563
+ vertical-align: top;
1564
+ perspective: 400px;
1565
+ perspective-origin: 50% 50%;
1566
+ }
1567
+ .reveal .roll:hover {
1568
+ background: none;
1569
+ text-shadow: none;
1570
+ }
1571
+ .reveal .roll span {
1572
+ display: block;
1573
+ position: relative;
1574
+ padding: 0 2px;
1575
+
1576
+ pointer-events: none;
1577
+ transition: all 400ms ease;
1578
+ transform-origin: 50% 0%;
1579
+ transform-style: preserve-3d;
1580
+ backface-visibility: hidden;
1581
+ }
1582
+ .reveal .roll:hover span {
1583
+ background: rgba(0,0,0,0.5);
1584
+ transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
1585
+ }
1586
+ .reveal .roll span:after {
1587
+ content: attr(data-title);
1588
+
1589
+ display: block;
1590
+ position: absolute;
1591
+ left: 0;
1592
+ top: 0;
1593
+ padding: 0 2px;
1594
+ backface-visibility: hidden;
1595
+ transform-origin: 50% 0%;
1596
+ transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
1597
+ }
1598
+
1599
+
1600
+ /*********************************************
1601
+ * SPEAKER NOTES
1602
+ *********************************************/
1603
+
1604
+ // Hide on-page notes
1605
+ .reveal aside.notes {
1606
+ display: none;
1607
+ }
1608
+
1609
+ // An interface element that can optionally be used to show the
1610
+ // speaker notes to all viewers, on top of the presentation
1611
+ .reveal .speaker-notes {
1612
+ display: none;
1613
+ position: absolute;
1614
+ width: 25vw;
1615
+ height: 100%;
1616
+ top: 0;
1617
+ left: 100%;
1618
+ padding: 14px 18px 14px 18px;
1619
+ z-index: 1;
1620
+ font-size: 18px;
1621
+ line-height: 1.4;
1622
+ border: 1px solid rgba( 0, 0, 0, 0.05 );
1623
+ color: #222;
1624
+ background-color: #f5f5f5;
1625
+ overflow: auto;
1626
+ box-sizing: border-box;
1627
+ text-align: left;
1628
+ font-family: Helvetica, sans-serif;
1629
+ -webkit-overflow-scrolling: touch;
1630
+
1631
+ .notes-placeholder {
1632
+ color: #ccc;
1633
+ font-style: italic;
1634
+ }
1635
+
1636
+ &:focus {
1637
+ outline: none;
1638
+ }
1639
+
1640
+ &:before {
1641
+ content: 'Speaker notes';
1642
+ display: block;
1643
+ margin-bottom: 10px;
1644
+ opacity: 0.5;
1645
+ }
1646
+ }
1647
+
1648
+
1649
+ .reveal.show-notes {
1650
+ max-width: 75vw;
1651
+ overflow: visible;
1652
+ }
1653
+
1654
+ .reveal.show-notes .speaker-notes {
1655
+ display: block;
1656
+ }
1657
+
1658
+ @media screen and (min-width: 1600px) {
1659
+ .reveal .speaker-notes {
1660
+ font-size: 20px;
1661
+ }
1662
+ }
1663
+
1664
+ @media screen and (max-width: 1024px) {
1665
+ .reveal.show-notes {
1666
+ border-left: 0;
1667
+ max-width: none;
1668
+ max-height: 70%;
1669
+ overflow: visible;
1670
+ }
1671
+
1672
+ .reveal.show-notes .speaker-notes {
1673
+ top: 100%;
1674
+ left: 0;
1675
+ width: 100%;
1676
+ height: (30/0.7)*1%;
1677
+ }
1678
+ }
1679
+
1680
+ @media screen and (max-width: 600px) {
1681
+ .reveal.show-notes {
1682
+ max-height: 60%;
1683
+ }
1684
+
1685
+ .reveal.show-notes .speaker-notes {
1686
+ top: 100%;
1687
+ height: (40/0.6)*1%;
1688
+ }
1689
+
1690
+ .reveal .speaker-notes {
1691
+ font-size: 14px;
1692
+ }
1693
+ }
1694
+
1695
+
1696
+ /*********************************************
1697
+ * ZOOM PLUGIN
1698
+ *********************************************/
1699
+
1700
+ .zoomed .reveal *,
1701
+ .zoomed .reveal *:before,
1702
+ .zoomed .reveal *:after {
1703
+ backface-visibility: visible !important;
1704
+ }
1705
+
1706
+ .zoomed .reveal .progress,
1707
+ .zoomed .reveal .controls {
1708
+ opacity: 0;
1709
+ }
1710
+
1711
+ .zoomed .reveal .roll span {
1712
+ background: none;
1713
+ }
1714
+
1715
+ .zoomed .reveal .roll span:after {
1716
+ visibility: hidden;
1717
+ }