reveal-jekyll 0.0.1

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