blob: 9071734d7264eda66bee02292a4a61a1535d1c55 [file] [log] [blame]
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001/**
JJ Allaireefa6ad42016-01-30 13:12:05 -05002 * reveal.js
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02003 * http://revealjs.com
JJ Allaireefa6ad42016-01-30 13:12:05 -05004 * MIT licensed
5 *
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02006 * Copyright (C) Hakim El Hattab, https://hakim.se
JJ Allaireefa6ad42016-01-30 13:12:05 -05007 */
8
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02009@import 'layout';
JJ Allaireefa6ad42016-01-30 13:12:05 -050010
11/*********************************************
12 * GLOBAL STYLES
13 *********************************************/
14
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020015html.reveal-full-page {
JJ Allaireefa6ad42016-01-30 13:12:05 -050016 width: 100%;
17 height: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020018 height: 100vh;
19 height: calc( var(--vh, 1vh) * 100 );
JJ Allaireefa6ad42016-01-30 13:12:05 -050020 overflow: hidden;
21}
22
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020023.reveal-viewport {
24 height: 100%;
25 overflow: hidden;
JJ Allaireefa6ad42016-01-30 13:12:05 -050026 position: relative;
27 line-height: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020028 margin: 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -050029
30 background-color: #fff;
31 color: #000;
32}
33
JJ Allaireefa6ad42016-01-30 13:12:05 -050034
35/*********************************************
36 * VIEW FRAGMENTS
37 *********************************************/
38
39.reveal .slides section .fragment {
40 opacity: 0;
41 visibility: hidden;
42 transition: all .2s ease;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020043 will-change: opacity;
JJ Allaireefa6ad42016-01-30 13:12:05 -050044
45 &.visible {
46 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020047 visibility: inherit;
48 }
49
50 &.disabled {
51 transition: none;
JJ Allaireefa6ad42016-01-30 13:12:05 -050052 }
53}
54
55.reveal .slides section .fragment.grow {
56 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020057 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050058
59 &.visible {
60 transform: scale( 1.3 );
61 }
62}
63
64.reveal .slides section .fragment.shrink {
65 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020066 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050067
68 &.visible {
69 transform: scale( 0.7 );
70 }
71}
72
73.reveal .slides section .fragment.zoom-in {
74 transform: scale( 0.1 );
75
76 &.visible {
77 transform: none;
78 }
79}
80
81.reveal .slides section .fragment.fade-out {
82 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020083 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050084
85 &.visible {
86 opacity: 0;
87 visibility: hidden;
88 }
89}
90
91.reveal .slides section .fragment.semi-fade-out {
92 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020093 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050094
95 &.visible {
96 opacity: 0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020097 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050098 }
99}
100
101.reveal .slides section .fragment.strike {
102 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200103 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500104
105 &.visible {
106 text-decoration: line-through;
107 }
108}
109
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800110.reveal .slides section .fragment.fade-up {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200111 transform: translate(0, 40px);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800112
113 &.visible {
114 transform: translate(0, 0);
115 }
116}
117
118.reveal .slides section .fragment.fade-down {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200119 transform: translate(0, -40px);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800120
121 &.visible {
122 transform: translate(0, 0);
123 }
124}
125
126.reveal .slides section .fragment.fade-right {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200127 transform: translate(-40px, 0);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800128
129 &.visible {
130 transform: translate(0, 0);
131 }
132}
133
134.reveal .slides section .fragment.fade-left {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200135 transform: translate(40px, 0);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800136
137 &.visible {
138 transform: translate(0, 0);
139 }
140}
141
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200142.reveal .slides section .fragment.fade-in-then-out,
JJ Allaireefa6ad42016-01-30 13:12:05 -0500143.reveal .slides section .fragment.current-visible {
144 opacity: 0;
145 visibility: hidden;
146
147 &.current-fragment {
148 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200149 visibility: inherit;
150 }
151}
152
153.reveal .slides section .fragment.fade-in-then-semi-out {
154 opacity: 0;
155 visibility: hidden;
156
157 &.visible {
158 opacity: 0.5;
159 visibility: inherit;
160 }
161
162 &.current-fragment {
163 opacity: 1;
164 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500165 }
166}
167
168.reveal .slides section .fragment.highlight-red,
169.reveal .slides section .fragment.highlight-current-red,
170.reveal .slides section .fragment.highlight-green,
171.reveal .slides section .fragment.highlight-current-green,
172.reveal .slides section .fragment.highlight-blue,
173.reveal .slides section .fragment.highlight-current-blue {
174 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200175 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500176}
177 .reveal .slides section .fragment.highlight-red.visible {
178 color: #ff2c2d
179 }
180 .reveal .slides section .fragment.highlight-green.visible {
181 color: #17ff2e;
182 }
183 .reveal .slides section .fragment.highlight-blue.visible {
184 color: #1b91ff;
185 }
186
187.reveal .slides section .fragment.highlight-current-red.current-fragment {
188 color: #ff2c2d
189}
190.reveal .slides section .fragment.highlight-current-green.current-fragment {
191 color: #17ff2e;
192}
193.reveal .slides section .fragment.highlight-current-blue.current-fragment {
194 color: #1b91ff;
195}
196
197
198/*********************************************
199 * DEFAULT ELEMENT STYLES
200 *********************************************/
201
202/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */
203.reveal:after {
204 content: '';
205 font-style: italic;
206}
207
208.reveal iframe {
209 z-index: 1;
210}
211
212/** Prevents layering issues in certain browser/transition combinations */
213.reveal a {
214 position: relative;
215}
216
JJ Allaireefa6ad42016-01-30 13:12:05 -0500217
218/*********************************************
219 * CONTROLS
220 *********************************************/
221
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200222@keyframes bounce-right {
223 0%, 10%, 25%, 40%, 50% {transform: translateX(0);}
224 20% {transform: translateX(10px);}
225 30% {transform: translateX(-5px);}
226}
227
228@keyframes bounce-left {
229 0%, 10%, 25%, 40%, 50% {transform: translateX(0);}
230 20% {transform: translateX(-10px);}
231 30% {transform: translateX(5px);}
232}
233
234@keyframes bounce-down {
235 0%, 10%, 25%, 40%, 50% {transform: translateY(0);}
236 20% {transform: translateY(10px);}
237 30% {transform: translateY(-5px);}
238}
239
240$controlArrowSize: 3.6em;
241$controlArrowSpacing: 1.4em;
242$controlArrowLength: 2.6em;
243$controlArrowThickness: 0.5em;
244$controlsArrowAngle: 45deg;
245$controlsArrowAngleHover: 40deg;
246$controlsArrowAngleActive: 36deg;
247
248@mixin controlsArrowTransform( $angle ) {
249 &:before {
250 transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( $angle );
251 }
252
253 &:after {
254 transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( -$angle );
255 }
256}
257
JJ Allaireefa6ad42016-01-30 13:12:05 -0500258.reveal .controls {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200259 $spacing: 12px;
260
JJ Allaireefa6ad42016-01-30 13:12:05 -0500261 display: none;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500262 position: absolute;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200263 top: auto;
264 bottom: $spacing;
265 right: $spacing;
266 left: auto;
267 z-index: 11;
268 color: #000;
269 pointer-events: none;
270 font-size: 10px;
271
272 button {
273 position: absolute;
274 padding: 0;
275 background-color: transparent;
276 border: 0;
277 outline: 0;
278 cursor: pointer;
279 color: currentColor;
280 transform: scale(.9999);
281 transition: color 0.2s ease,
282 opacity 0.2s ease,
283 transform 0.2s ease;
284 z-index: 2; // above slides
285 pointer-events: auto;
286 font-size: inherit;
287
288 visibility: hidden;
289 opacity: 0;
290
291 -webkit-appearance: none;
292 -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
293 }
294
295 .controls-arrow:before,
296 .controls-arrow:after {
297 content: '';
298 position: absolute;
299 top: 0;
300 left: 0;
301 width: $controlArrowLength;
302 height: $controlArrowThickness;
303 border-radius: $controlArrowThickness/2;
304 background-color: currentColor;
305
306 transition: all 0.15s ease, background-color 0.8s ease;
307 transform-origin: floor(($controlArrowThickness/2)*10)/10 50%;
308 will-change: transform;
309 }
310
311 .controls-arrow {
312 position: relative;
313 width: $controlArrowSize;
314 height: $controlArrowSize;
315
316 @include controlsArrowTransform( $controlsArrowAngle );
317
318 &:hover {
319 @include controlsArrowTransform( $controlsArrowAngleHover );
320 }
321
322 &:active {
323 @include controlsArrowTransform( $controlsArrowAngleActive );
324 }
325 }
326
327 .navigate-left {
328 right: $controlArrowSize + $controlArrowSpacing*2;
329 bottom: $controlArrowSpacing + $controlArrowSize/2;
330 transform: translateX( -10px );
331
332 &.highlight {
333 animation: bounce-left 2s 50 both ease-out;
334 }
335 }
336
337 .navigate-right {
338 right: 0;
339 bottom: $controlArrowSpacing + $controlArrowSize/2;
340 transform: translateX( 10px );
341
342 .controls-arrow {
343 transform: rotate( 180deg );
344 }
345
346 &.highlight {
347 animation: bounce-right 2s 50 both ease-out;
348 }
349 }
350
351 .navigate-up {
352 right: $controlArrowSpacing + $controlArrowSize/2;
353 bottom: $controlArrowSpacing*2 + $controlArrowSize;
354 transform: translateY( -10px );
355
356 .controls-arrow {
357 transform: rotate( 90deg );
358 }
359 }
360
361 .navigate-down {
362 right: $controlArrowSpacing + $controlArrowSize/2;
363 bottom: -$controlArrowSpacing;
364 padding-bottom: $controlArrowSpacing;
365 transform: translateY( 10px );
366
367 .controls-arrow {
368 transform: rotate( -90deg );
369 }
370
371 &.highlight {
372 animation: bounce-down 2s 50 both ease-out;
373 }
374 }
375
376 // Back arrow style: "faded":
377 // Deemphasize backwards navigation arrows in favor of drawing
378 // attention to forwards navigation
379 &[data-controls-back-arrows="faded"] .navigate-up.enabled {
380 opacity: 0.3;
381
382 &:hover {
383 opacity: 1;
384 }
385 }
386
387 // Back arrow style: "hidden":
388 // Never show arrows for backwards navigation
389 &[data-controls-back-arrows="hidden"] .navigate-up.enabled {
390 opacity: 0;
391 visibility: hidden;
392 }
393
394 // Any control button that can be clicked is "enabled"
395 .enabled {
396 visibility: visible;
397 opacity: 0.9;
398 cursor: pointer;
399 transform: none;
400 }
401
402 // Any control button that leads to showing or hiding
403 // a fragment
404 .enabled.fragmented {
405 opacity: 0.5;
406 }
407
408 .enabled:hover,
409 .enabled.fragmented:hover {
410 opacity: 1;
411 }
JJ Allaireefa6ad42016-01-30 13:12:05 -0500412}
413
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200414.reveal:not(.rtl) .controls {
415 // Back arrow style: "faded":
416 // Deemphasize left arrow
417 &[data-controls-back-arrows="faded"] .navigate-left.enabled {
418 opacity: 0.3;
419
420 &:hover {
421 opacity: 1;
422 }
423 }
424
425 // Back arrow style: "hidden":
426 // Never show left arrow
427 &[data-controls-back-arrows="hidden"] .navigate-left.enabled {
428 opacity: 0;
429 visibility: hidden;
430 }
JJ Allaireefa6ad42016-01-30 13:12:05 -0500431}
432
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200433.reveal.rtl .controls {
434 // Back arrow style: "faded":
435 // Deemphasize right arrow in RTL mode
436 &[data-controls-back-arrows="faded"] .navigate-right.enabled {
437 opacity: 0.3;
438
439 &:hover {
440 opacity: 1;
441 }
442 }
443
444 // Back arrow style: "hidden":
445 // Never show right arrow in RTL mode
446 &[data-controls-back-arrows="hidden"] .navigate-right.enabled {
447 opacity: 0;
448 visibility: hidden;
449 }
JJ Allaireefa6ad42016-01-30 13:12:05 -0500450}
451
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200452.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-up,
453.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-down {
454 display: none;
455}
JJ Allaireefa6ad42016-01-30 13:12:05 -0500456
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200457// Adjust the layout when there are no vertical slides
458.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-left,
459.reveal:not(.has-vertical-slides) .controls .navigate-left {
460 bottom: $controlArrowSpacing;
461 right: 0.5em + $controlArrowSpacing + $controlArrowSize;
462}
463
464.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-right,
465.reveal:not(.has-vertical-slides) .controls .navigate-right {
466 bottom: $controlArrowSpacing;
467 right: 0.5em;
468}
469
470// Adjust the layout when there are no horizontal slides
471.reveal:not(.has-horizontal-slides) .controls .navigate-up {
472 right: $controlArrowSpacing;
473 bottom: $controlArrowSpacing + $controlArrowSize;
474}
475.reveal:not(.has-horizontal-slides) .controls .navigate-down {
476 right: $controlArrowSpacing;
477 bottom: 0.5em;
478}
479
480// Invert arrows based on background color
481.reveal.has-dark-background .controls {
482 color: #fff;
483}
484.reveal.has-light-background .controls {
485 color: #000;
486}
487
488// Disable active states on touch devices
489.reveal.no-hover .controls .controls-arrow:hover,
490.reveal.no-hover .controls .controls-arrow:active {
491 @include controlsArrowTransform( $controlsArrowAngle );
492}
493
494// Edge aligned controls layout
495@media screen and (min-width: 500px) {
496
497 $spacing: 0.8em;
498
499 .reveal .controls[data-controls-layout="edges"] {
500 & {
501 top: 0;
502 right: 0;
503 bottom: 0;
504 left: 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500505 }
506
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200507 .navigate-left,
508 .navigate-right,
509 .navigate-up,
510 .navigate-down {
511 bottom: auto;
512 right: auto;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500513 }
514
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200515 .navigate-left {
516 top: 50%;
517 left: $spacing;
518 margin-top: -$controlArrowSize/2;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500519 }
520
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200521 .navigate-right {
522 top: 50%;
523 right: $spacing;
524 margin-top: -$controlArrowSize/2;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500525 }
526
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200527 .navigate-up {
528 top: $spacing;
529 left: 50%;
530 margin-left: -$controlArrowSize/2;
531 }
532
533 .navigate-down {
534 bottom: $spacing - $controlArrowSpacing + 0.3em;
535 left: 50%;
536 margin-left: -$controlArrowSize/2;
537 }
538 }
539
540}
541
JJ Allaireefa6ad42016-01-30 13:12:05 -0500542
543/*********************************************
544 * PROGRESS BAR
545 *********************************************/
546
547.reveal .progress {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200548 position: absolute;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500549 display: none;
550 height: 3px;
551 width: 100%;
552 bottom: 0;
553 left: 0;
554 z-index: 10;
555
556 background-color: rgba( 0, 0, 0, 0.2 );
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200557 color: #fff;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500558}
559 .reveal .progress:after {
560 content: '';
561 display: block;
562 position: absolute;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200563 height: 10px;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500564 width: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200565 top: -10px;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500566 }
567 .reveal .progress span {
568 display: block;
569 height: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200570 width: 100%;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500571
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200572 background-color: currentColor;
573 transition: transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
574 transform-origin: 0 0;
575 transform: scaleX(0);
JJ Allaireefa6ad42016-01-30 13:12:05 -0500576 }
577
578/*********************************************
579 * SLIDE NUMBER
580 *********************************************/
581
582.reveal .slide-number {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200583 position: absolute;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500584 display: block;
585 right: 8px;
586 bottom: 8px;
587 z-index: 31;
588 font-family: Helvetica, sans-serif;
589 font-size: 12px;
590 line-height: 1;
591 color: #fff;
592 background-color: rgba( 0, 0, 0, 0.4 );
593 padding: 5px;
594}
595
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200596.reveal .slide-number a {
597 color: currentColor;
598}
599
JJ Allaireefa6ad42016-01-30 13:12:05 -0500600.reveal .slide-number-delimiter {
601 margin: 0 3px;
602}
603
604/*********************************************
605 * SLIDES
606 *********************************************/
607
608.reveal {
609 position: relative;
610 width: 100%;
611 height: 100%;
612 overflow: hidden;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200613 touch-action: pinch-zoom;
614}
615
616// Swiping on an embedded deck should not block page scrolling
617.reveal.embedded {
618 touch-action: pan-y;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500619}
620
621.reveal .slides {
622 position: absolute;
623 width: 100%;
624 height: 100%;
625 top: 0;
626 right: 0;
627 bottom: 0;
628 left: 0;
629 margin: auto;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200630 pointer-events: none;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500631
632 overflow: visible;
633 z-index: 1;
634 text-align: center;
635 perspective: 600px;
636 perspective-origin: 50% 40%;
637}
638
639.reveal .slides>section {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200640 perspective: 600px;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500641}
642
643.reveal .slides>section,
644.reveal .slides>section>section {
645 display: none;
646 position: absolute;
647 width: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200648 pointer-events: auto;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500649
650 z-index: 10;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200651 transform-style: flat;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500652 transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
653 transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
654 visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
655 opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
656}
657
658/* Global transition speed settings */
659.reveal[data-transition-speed="fast"] .slides section {
660 transition-duration: 400ms;
661}
662.reveal[data-transition-speed="slow"] .slides section {
663 transition-duration: 1200ms;
664}
665
666/* Slide-specific transition speed overrides */
667.reveal .slides section[data-transition-speed="fast"] {
668 transition-duration: 400ms;
669}
670.reveal .slides section[data-transition-speed="slow"] {
671 transition-duration: 1200ms;
672}
673
674.reveal .slides>section.stack {
675 padding-top: 0;
676 padding-bottom: 0;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200677 pointer-events: none;
678 height: 100%;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500679}
680
681.reveal .slides>section.present,
682.reveal .slides>section>section.present {
683 display: block;
684 z-index: 11;
685 opacity: 1;
686}
687
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200688.reveal .slides>section:empty,
689.reveal .slides>section>section:empty,
690.reveal .slides>section[data-background-interactive],
691.reveal .slides>section>section[data-background-interactive] {
692 pointer-events: none;
693}
694
JJ Allaireefa6ad42016-01-30 13:12:05 -0500695.reveal.center,
696.reveal.center .slides,
697.reveal.center .slides section {
698 min-height: 0 !important;
699}
700
701/* Don't allow interaction with invisible slides */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200702.reveal .slides>section:not(.present),
703.reveal .slides>section>section:not(.present) {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500704 pointer-events: none;
705}
706
707.reveal.overview .slides>section,
708.reveal.overview .slides>section>section {
709 pointer-events: auto;
710}
711
712.reveal .slides>section.past,
713.reveal .slides>section.future,
714.reveal .slides>section>section.past,
715.reveal .slides>section>section.future {
716 opacity: 0;
717}
718
719
720/*********************************************
721 * Mixins for readability of transitions
722 *********************************************/
723
724@mixin transition-global($style) {
725 .reveal .slides section[data-transition=#{$style}],
726 .reveal.#{$style} .slides section:not([data-transition]) {
727 @content;
728 }
729}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200730@mixin transition-stack($style) {
731 .reveal .slides section[data-transition=#{$style}].stack,
732 .reveal.#{$style} .slides section.stack {
733 @content;
734 }
735}
JJ Allaireefa6ad42016-01-30 13:12:05 -0500736@mixin transition-horizontal-past($style) {
737 .reveal .slides>section[data-transition=#{$style}].past,
738 .reveal .slides>section[data-transition~=#{$style}-out].past,
739 .reveal.#{$style} .slides>section:not([data-transition]).past {
740 @content;
741 }
742}
743@mixin transition-horizontal-future($style) {
744 .reveal .slides>section[data-transition=#{$style}].future,
745 .reveal .slides>section[data-transition~=#{$style}-in].future,
746 .reveal.#{$style} .slides>section:not([data-transition]).future {
747 @content;
748 }
749}
750
751@mixin transition-vertical-past($style) {
752 .reveal .slides>section>section[data-transition=#{$style}].past,
753 .reveal .slides>section>section[data-transition~=#{$style}-out].past,
754 .reveal.#{$style} .slides>section>section:not([data-transition]).past {
755 @content;
756 }
757}
758@mixin transition-vertical-future($style) {
759 .reveal .slides>section>section[data-transition=#{$style}].future,
760 .reveal .slides>section>section[data-transition~=#{$style}-in].future,
761 .reveal.#{$style} .slides>section>section:not([data-transition]).future {
762 @content;
763 }
764}
765
766/*********************************************
767 * SLIDE TRANSITION
768 * Aliased 'linear' for backwards compatibility
769 *********************************************/
770
771@each $stylename in slide, linear {
772 .reveal.#{$stylename} section {
773 backface-visibility: hidden;
774 }
775 @include transition-horizontal-past(#{$stylename}) {
776 transform: translate(-150%, 0);
777 }
778 @include transition-horizontal-future(#{$stylename}) {
779 transform: translate(150%, 0);
780 }
781 @include transition-vertical-past(#{$stylename}) {
782 transform: translate(0, -150%);
783 }
784 @include transition-vertical-future(#{$stylename}) {
785 transform: translate(0, 150%);
786 }
787}
788
789/*********************************************
790 * CONVEX TRANSITION
791 * Aliased 'default' for backwards compatibility
792 *********************************************/
793
794@each $stylename in default, convex {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200795 @include transition-stack(#{$stylename}) {
796 transform-style: preserve-3d;
797 }
798
JJ Allaireefa6ad42016-01-30 13:12:05 -0500799 @include transition-horizontal-past(#{$stylename}) {
800 transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
801 }
802 @include transition-horizontal-future(#{$stylename}) {
803 transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
804 }
805 @include transition-vertical-past(#{$stylename}) {
806 transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
807 }
808 @include transition-vertical-future(#{$stylename}) {
809 transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
810 }
811}
812
813/*********************************************
814 * CONCAVE TRANSITION
815 *********************************************/
816
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200817@include transition-stack(concave) {
818 transform-style: preserve-3d;
819}
820
JJ Allaireefa6ad42016-01-30 13:12:05 -0500821@include transition-horizontal-past(concave) {
822 transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
823}
824@include transition-horizontal-future(concave) {
825 transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
826}
827@include transition-vertical-past(concave) {
828 transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
829}
830@include transition-vertical-future(concave) {
831 transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
832}
833
834
835/*********************************************
836 * ZOOM TRANSITION
837 *********************************************/
838
839@include transition-global(zoom) {
840 transition-timing-function: ease;
841}
842@include transition-horizontal-past(zoom) {
843 visibility: hidden;
844 transform: scale(16);
845}
846@include transition-horizontal-future(zoom) {
847 visibility: hidden;
848 transform: scale(0.2);
849}
850@include transition-vertical-past(zoom) {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200851 transform: scale(16);
JJ Allaireefa6ad42016-01-30 13:12:05 -0500852}
853@include transition-vertical-future(zoom) {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200854 transform: scale(0.2);
JJ Allaireefa6ad42016-01-30 13:12:05 -0500855}
856
857
858/*********************************************
859 * CUBE TRANSITION
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200860 *
861 * WARNING:
862 * this is deprecated and will be removed in a
863 * future version.
JJ Allaireefa6ad42016-01-30 13:12:05 -0500864 *********************************************/
865
866.reveal.cube .slides {
867 perspective: 1300px;
868}
869
870.reveal.cube .slides section {
871 padding: 30px;
872 min-height: 700px;
873 backface-visibility: hidden;
874 box-sizing: border-box;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200875 transform-style: preserve-3d;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500876}
877 .reveal.center.cube .slides section {
878 min-height: 0;
879 }
880 .reveal.cube .slides section:not(.stack):before {
881 content: '';
882 position: absolute;
883 display: block;
884 width: 100%;
885 height: 100%;
886 left: 0;
887 top: 0;
888 background: rgba(0,0,0,0.1);
889 border-radius: 4px;
890 transform: translateZ( -20px );
891 }
892 .reveal.cube .slides section:not(.stack):after {
893 content: '';
894 position: absolute;
895 display: block;
896 width: 90%;
897 height: 30px;
898 left: 5%;
899 bottom: 0;
900 background: none;
901 z-index: 1;
902
903 border-radius: 4px;
904 box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
905 transform: translateZ(-90px) rotateX( 65deg );
906 }
907
908.reveal.cube .slides>section.stack {
909 padding: 0;
910 background: none;
911}
912
913.reveal.cube .slides>section.past {
914 transform-origin: 100% 0%;
915 transform: translate3d(-100%, 0, 0) rotateY(-90deg);
916}
917
918.reveal.cube .slides>section.future {
919 transform-origin: 0% 0%;
920 transform: translate3d(100%, 0, 0) rotateY(90deg);
921}
922
923.reveal.cube .slides>section>section.past {
924 transform-origin: 0% 100%;
925 transform: translate3d(0, -100%, 0) rotateX(90deg);
926}
927
928.reveal.cube .slides>section>section.future {
929 transform-origin: 0% 0%;
930 transform: translate3d(0, 100%, 0) rotateX(-90deg);
931}
932
933
934/*********************************************
935 * PAGE TRANSITION
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200936 *
937 * WARNING:
938 * this is deprecated and will be removed in a
939 * future version.
JJ Allaireefa6ad42016-01-30 13:12:05 -0500940 *********************************************/
941
942.reveal.page .slides {
943 perspective-origin: 0% 50%;
944 perspective: 3000px;
945}
946
947.reveal.page .slides section {
948 padding: 30px;
949 min-height: 700px;
950 box-sizing: border-box;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200951 transform-style: preserve-3d;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500952}
953 .reveal.page .slides section.past {
954 z-index: 12;
955 }
956 .reveal.page .slides section:not(.stack):before {
957 content: '';
958 position: absolute;
959 display: block;
960 width: 100%;
961 height: 100%;
962 left: 0;
963 top: 0;
964 background: rgba(0,0,0,0.1);
965 transform: translateZ( -20px );
966 }
967 .reveal.page .slides section:not(.stack):after {
968 content: '';
969 position: absolute;
970 display: block;
971 width: 90%;
972 height: 30px;
973 left: 5%;
974 bottom: 0;
975 background: none;
976 z-index: 1;
977
978 border-radius: 4px;
979 box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
980
981 -webkit-transform: translateZ(-90px) rotateX( 65deg );
982 }
983
984.reveal.page .slides>section.stack {
985 padding: 0;
986 background: none;
987}
988
989.reveal.page .slides>section.past {
990 transform-origin: 0% 0%;
991 transform: translate3d(-40%, 0, 0) rotateY(-80deg);
992}
993
994.reveal.page .slides>section.future {
995 transform-origin: 100% 0%;
996 transform: translate3d(0, 0, 0);
997}
998
999.reveal.page .slides>section>section.past {
1000 transform-origin: 0% 0%;
1001 transform: translate3d(0, -40%, 0) rotateX(80deg);
1002}
1003
1004.reveal.page .slides>section>section.future {
1005 transform-origin: 0% 100%;
1006 transform: translate3d(0, 0, 0);
1007}
1008
1009
1010/*********************************************
1011 * FADE TRANSITION
1012 *********************************************/
1013
1014.reveal .slides section[data-transition=fade],
1015.reveal.fade .slides section:not([data-transition]),
1016.reveal.fade .slides>section>section:not([data-transition]) {
1017 transform: none;
1018 transition: opacity 0.5s;
1019}
1020
1021
1022.reveal.fade.overview .slides section,
1023.reveal.fade.overview .slides>section>section {
1024 transition: none;
1025}
1026
1027
1028/*********************************************
1029 * NO TRANSITION
1030 *********************************************/
1031
1032@include transition-global(none) {
1033 transform: none;
1034 transition: none;
1035}
1036
1037
1038/*********************************************
1039 * PAUSED MODE
1040 *********************************************/
1041
1042.reveal .pause-overlay {
1043 position: absolute;
1044 top: 0;
1045 left: 0;
1046 width: 100%;
1047 height: 100%;
1048 background: black;
1049 visibility: hidden;
1050 opacity: 0;
1051 z-index: 100;
1052 transition: all 1s ease;
1053}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001054
1055.reveal .pause-overlay .resume-button {
1056 position: absolute;
1057 bottom: 20px;
1058 right: 20px;
1059 color: #ccc;
1060 border-radius: 2px;
1061 padding: 6px 14px;
1062 border: 2px solid #ccc;
1063 font-size: 16px;
1064 background: transparent;
1065 cursor: pointer;
1066
1067 &:hover {
1068 color: #fff;
1069 border-color: #fff;
1070 }
1071}
1072
JJ Allaireefa6ad42016-01-30 13:12:05 -05001073.reveal.paused .pause-overlay {
1074 visibility: visible;
1075 opacity: 1;
1076}
1077
1078
1079/*********************************************
1080 * FALLBACK
1081 *********************************************/
1082
JJ Allaireefa6ad42016-01-30 13:12:05 -05001083.reveal .no-transition,
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001084.reveal .no-transition *,
1085.reveal .slides.disable-slide-transitions section {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001086 transition: none !important;
1087}
1088
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001089.reveal .slides.disable-slide-transitions section {
1090 transform: none !important;
1091}
1092
JJ Allaireefa6ad42016-01-30 13:12:05 -05001093
1094/*********************************************
1095 * PER-SLIDE BACKGROUNDS
1096 *********************************************/
1097
1098.reveal .backgrounds {
1099 position: absolute;
1100 width: 100%;
1101 height: 100%;
1102 top: 0;
1103 left: 0;
1104 perspective: 600px;
1105}
1106 .reveal .slide-background {
1107 display: none;
1108 position: absolute;
1109 width: 100%;
1110 height: 100%;
1111 opacity: 0;
1112 visibility: hidden;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001113 overflow: hidden;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001114
1115 background-color: rgba( 0, 0, 0, 0 );
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001116
1117 transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1118 }
1119
1120 .reveal .slide-background-content {
1121 position: absolute;
1122 width: 100%;
1123 height: 100%;
1124
JJ Allaireefa6ad42016-01-30 13:12:05 -05001125 background-position: 50% 50%;
1126 background-repeat: no-repeat;
1127 background-size: cover;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001128 }
1129
1130 .reveal .slide-background.stack {
1131 display: block;
1132 }
1133
1134 .reveal .slide-background.present {
1135 opacity: 1;
1136 visibility: visible;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001137 z-index: 2;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001138 }
1139
1140 .print-pdf .reveal .slide-background {
1141 opacity: 1 !important;
1142 visibility: visible !important;
1143 }
1144
1145/* Video backgrounds */
1146.reveal .slide-background video {
1147 position: absolute;
1148 width: 100%;
1149 height: 100%;
1150 max-width: none;
1151 max-height: none;
1152 top: 0;
1153 left: 0;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001154 object-fit: cover;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001155}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001156 .reveal .slide-background[data-background-size="contain"] video {
1157 object-fit: contain;
1158 }
JJ Allaireefa6ad42016-01-30 13:12:05 -05001159
1160/* Immediate transition style */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001161.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001162.reveal>.backgrounds .slide-background[data-background-transition=none] {
1163 transition: none;
1164}
1165
1166/* Slide */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001167.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001168.reveal>.backgrounds .slide-background[data-background-transition=slide] {
1169 opacity: 1;
1170 backface-visibility: hidden;
1171}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001172 .reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001173 .reveal>.backgrounds .slide-background.past[data-background-transition=slide] {
1174 transform: translate(-100%, 0);
1175 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001176 .reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001177 .reveal>.backgrounds .slide-background.future[data-background-transition=slide] {
1178 transform: translate(100%, 0);
1179 }
1180
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001181 .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001182 .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] {
1183 transform: translate(0, -100%);
1184 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001185 .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001186 .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] {
1187 transform: translate(0, 100%);
1188 }
1189
1190
1191/* Convex */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001192.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001193.reveal>.backgrounds .slide-background.past[data-background-transition=convex] {
1194 opacity: 0;
1195 transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
1196}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001197.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001198.reveal>.backgrounds .slide-background.future[data-background-transition=convex] {
1199 opacity: 0;
1200 transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
1201}
1202
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001203.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001204.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] {
1205 opacity: 0;
1206 transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
1207}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001208.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001209.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] {
1210 opacity: 0;
1211 transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
1212}
1213
1214
1215/* Concave */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001216.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001217.reveal>.backgrounds .slide-background.past[data-background-transition=concave] {
1218 opacity: 0;
1219 transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
1220}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001221.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001222.reveal>.backgrounds .slide-background.future[data-background-transition=concave] {
1223 opacity: 0;
1224 transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
1225}
1226
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001227.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001228.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] {
1229 opacity: 0;
1230 transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
1231}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001232.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001233.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] {
1234 opacity: 0;
1235 transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
1236}
1237
1238/* Zoom */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001239.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001240.reveal>.backgrounds .slide-background[data-background-transition=zoom] {
1241 transition-timing-function: ease;
1242}
1243
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001244.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001245.reveal>.backgrounds .slide-background.past[data-background-transition=zoom] {
1246 opacity: 0;
1247 visibility: hidden;
1248 transform: scale(16);
1249}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001250.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001251.reveal>.backgrounds .slide-background.future[data-background-transition=zoom] {
1252 opacity: 0;
1253 visibility: hidden;
1254 transform: scale(0.2);
1255}
1256
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001257.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001258.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] {
1259 opacity: 0;
1260 visibility: hidden;
1261 transform: scale(16);
1262}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001263.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001264.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] {
1265 opacity: 0;
1266 visibility: hidden;
1267 transform: scale(0.2);
1268}
1269
1270
1271/* Global transition speed settings */
1272.reveal[data-transition-speed="fast"]>.backgrounds .slide-background {
1273 transition-duration: 400ms;
1274}
1275.reveal[data-transition-speed="slow"]>.backgrounds .slide-background {
1276 transition-duration: 1200ms;
1277}
1278
1279
1280/*********************************************
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001281 * AUTO ANIMATE
1282 *********************************************/
1283
1284.reveal [data-auto-animate-target^="unmatched"] {
1285 will-change: opacity;
1286}
1287
1288.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate="running"]) [data-auto-animate-target^="unmatched"] {
1289 opacity: 0;
1290}
1291
1292
1293/*********************************************
JJ Allaireefa6ad42016-01-30 13:12:05 -05001294 * OVERVIEW
1295 *********************************************/
1296
1297.reveal.overview {
1298 perspective-origin: 50% 50%;
1299 perspective: 700px;
1300
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001301 .slides {
1302 // Fixes overview rendering errors in FF48+, not applied to
1303 // other browsers since it degrades performance
1304 -moz-transform-style: preserve-3d;
1305 }
1306
JJ Allaireefa6ad42016-01-30 13:12:05 -05001307 .slides section {
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001308 height: 100%;
1309 top: 0 !important;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001310 opacity: 1 !important;
1311 overflow: hidden;
1312 visibility: visible !important;
1313 cursor: pointer;
1314 box-sizing: border-box;
1315 }
1316 .slides section:hover,
1317 .slides section.present {
1318 outline: 10px solid rgba(150,150,150,0.4);
1319 outline-offset: 10px;
1320 }
1321 .slides section .fragment {
1322 opacity: 1;
1323 transition: none;
1324 }
1325 .slides section:after,
1326 .slides section:before {
1327 display: none !important;
1328 }
1329 .slides>section.stack {
1330 padding: 0;
1331 top: 0 !important;
1332 background: none;
1333 outline: none;
1334 overflow: visible;
1335 }
1336
1337 .backgrounds {
1338 perspective: inherit;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001339
1340 // Fixes overview rendering errors in FF48+, not applied to
1341 // other browsers since it degrades performance
1342 -moz-transform-style: preserve-3d;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001343 }
1344
1345 .backgrounds .slide-background {
1346 opacity: 1;
1347 visibility: visible;
1348
1349 // This can't be applied to the slide itself in Safari
1350 outline: 10px solid rgba(150,150,150,0.1);
1351 outline-offset: 10px;
1352 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001353
1354 .backgrounds .slide-background.stack {
1355 overflow: visible;
1356 }
JJ Allaireefa6ad42016-01-30 13:12:05 -05001357}
1358
1359// Disable transitions transitions while we're activating
1360// or deactivating the overview mode.
1361.reveal.overview .slides section,
1362.reveal.overview-deactivating .slides section {
1363 transition: none;
1364}
1365
1366.reveal.overview .backgrounds .slide-background,
1367.reveal.overview-deactivating .backgrounds .slide-background {
1368 transition: none;
1369}
1370
JJ Allaireefa6ad42016-01-30 13:12:05 -05001371
1372/*********************************************
1373 * RTL SUPPORT
1374 *********************************************/
1375
1376.reveal.rtl .slides,
1377.reveal.rtl .slides h1,
1378.reveal.rtl .slides h2,
1379.reveal.rtl .slides h3,
1380.reveal.rtl .slides h4,
1381.reveal.rtl .slides h5,
1382.reveal.rtl .slides h6 {
1383 direction: rtl;
1384 font-family: sans-serif;
1385}
1386
1387.reveal.rtl pre,
1388.reveal.rtl code {
1389 direction: ltr;
1390}
1391
1392.reveal.rtl ol,
1393.reveal.rtl ul {
1394 text-align: right;
1395}
1396
1397.reveal.rtl .progress span {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001398 transform-origin: 100% 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001399}
1400
1401/*********************************************
1402 * PARALLAX BACKGROUND
1403 *********************************************/
1404
1405.reveal.has-parallax-background .backgrounds {
1406 transition: all 0.8s ease;
1407}
1408
1409/* Global transition speed settings */
1410.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds {
1411 transition-duration: 400ms;
1412}
1413.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds {
1414 transition-duration: 1200ms;
1415}
1416
1417
1418/*********************************************
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001419 * OVERLAY FOR LINK PREVIEWS AND HELP
JJ Allaireefa6ad42016-01-30 13:12:05 -05001420 *********************************************/
1421
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001422$overlayHeaderHeight: 40px;
1423$overlayHeaderPadding: 5px;
1424
1425.reveal > .overlay {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001426 position: absolute;
1427 top: 0;
1428 left: 0;
1429 width: 100%;
1430 height: 100%;
1431 z-index: 1000;
1432 background: rgba( 0, 0, 0, 0.9 );
JJ Allaireefa6ad42016-01-30 13:12:05 -05001433 transition: all 0.3s ease;
1434}
JJ Allaireefa6ad42016-01-30 13:12:05 -05001435
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001436 .reveal > .overlay .spinner {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001437 position: absolute;
1438 display: block;
1439 top: 50%;
1440 left: 50%;
1441 width: 32px;
1442 height: 32px;
1443 margin: -16px 0 0 -16px;
1444 z-index: 10;
1445 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);
1446
1447 visibility: visible;
1448 opacity: 0.6;
1449 transition: all 0.3s ease;
1450 }
1451
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001452 .reveal > .overlay header {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001453 position: absolute;
1454 left: 0;
1455 top: 0;
1456 width: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001457 padding: $overlayHeaderPadding;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001458 z-index: 2;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001459 box-sizing: border-box;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001460 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001461 .reveal > .overlay header a {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001462 display: inline-block;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001463 width: $overlayHeaderHeight;
1464 height: $overlayHeaderHeight;
1465 line-height: 36px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001466 padding: 0 10px;
1467 float: right;
1468 opacity: 0.6;
1469
1470 box-sizing: border-box;
1471 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001472 .reveal > .overlay header a:hover {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001473 opacity: 1;
1474 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001475 .reveal > .overlay header a .icon {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001476 display: inline-block;
1477 width: 20px;
1478 height: 20px;
1479
1480 background-position: 50% 50%;
1481 background-size: 100%;
1482 background-repeat: no-repeat;
1483 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001484 .reveal > .overlay header a.close .icon {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001485 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
1486 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001487 .reveal > .overlay header a.external .icon {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001488 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
1489 }
1490
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001491 .reveal > .overlay .viewport {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001492 position: absolute;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001493 display: flex;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001494 top: $overlayHeaderHeight + $overlayHeaderPadding*2;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001495 right: 0;
1496 bottom: 0;
1497 left: 0;
1498 }
1499
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001500 .reveal > .overlay.overlay-preview .viewport iframe {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001501 width: 100%;
1502 height: 100%;
1503 max-width: 100%;
1504 max-height: 100%;
1505 border: 0;
1506
1507 opacity: 0;
1508 visibility: hidden;
1509 transition: all 0.3s ease;
1510 }
1511
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001512 .reveal > .overlay.overlay-preview.loaded .viewport iframe {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001513 opacity: 1;
1514 visibility: visible;
1515 }
1516
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001517 .reveal > .overlay.overlay-preview.loaded .viewport-inner {
1518 position: absolute;
1519 z-index: -1;
1520 left: 0;
1521 top: 45%;
1522 width: 100%;
1523 text-align: center;
1524 letter-spacing: normal;
1525 }
1526 .reveal > .overlay.overlay-preview .x-frame-error {
1527 opacity: 0;
1528 transition: opacity 0.3s ease 0.3s;
1529 }
1530 .reveal > .overlay.overlay-preview.loaded .x-frame-error {
1531 opacity: 1;
1532 }
1533
1534 .reveal > .overlay.overlay-preview.loaded .spinner {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001535 opacity: 0;
1536 visibility: hidden;
1537 transform: scale(0.2);
1538 }
1539
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001540 .reveal > .overlay.overlay-help .viewport {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001541 overflow: auto;
1542 color: #fff;
1543 }
1544
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001545 .reveal > .overlay.overlay-help .viewport .viewport-inner {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001546 width: 600px;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001547 margin: auto;
1548 padding: 20px 20px 80px 20px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001549 text-align: center;
1550 letter-spacing: normal;
1551 }
1552
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001553 .reveal > .overlay.overlay-help .viewport .viewport-inner .title {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001554 font-size: 20px;
1555 }
1556
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001557 .reveal > .overlay.overlay-help .viewport .viewport-inner table {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001558 border: 1px solid #fff;
1559 border-collapse: collapse;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001560 font-size: 16px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001561 }
1562
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001563 .reveal > .overlay.overlay-help .viewport .viewport-inner table th,
1564 .reveal > .overlay.overlay-help .viewport .viewport-inner table td {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001565 width: 200px;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001566 padding: 14px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001567 border: 1px solid #fff;
1568 vertical-align: middle;
1569 }
1570
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001571 .reveal > .overlay.overlay-help .viewport .viewport-inner table th {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001572 padding-top: 20px;
1573 padding-bottom: 20px;
1574 }
1575
1576
JJ Allaireefa6ad42016-01-30 13:12:05 -05001577/*********************************************
1578 * PLAYBACK COMPONENT
1579 *********************************************/
1580
1581.reveal .playback {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001582 position: absolute;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001583 left: 15px;
1584 bottom: 20px;
1585 z-index: 30;
1586 cursor: pointer;
1587 transition: all 400ms ease;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001588 -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
JJ Allaireefa6ad42016-01-30 13:12:05 -05001589}
1590
1591.reveal.overview .playback {
1592 opacity: 0;
1593 visibility: hidden;
1594}
1595
1596
1597/*********************************************
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001598 * CODE HIGHLGIHTING
1599 *********************************************/
1600
1601.reveal .hljs {
1602 min-height: 100%;
1603}
1604
1605.reveal .hljs table {
1606 margin: initial;
1607}
1608
1609.reveal .hljs-ln-code,
1610.reveal .hljs-ln-numbers {
1611 padding: 0;
1612 border: 0;
1613}
1614
1615.reveal .hljs-ln-numbers {
1616 opacity: 0.6;
1617 padding-right: 0.75em;
1618 text-align: right;
1619 vertical-align: top;
1620}
1621
1622.reveal .hljs.has-highlights tr:not(.highlight-line) {
1623 opacity: 0.4;
1624}
1625
1626.reveal .hljs:not(:first-child).fragment {
1627 position: absolute;
1628 top: 0;
1629 left: 0;
1630 width: 100%;
1631 box-sizing: border-box;
1632}
1633
1634.reveal pre[data-auto-animate-target] {
1635 overflow: hidden;
1636}
1637.reveal pre[data-auto-animate-target] code {
1638 height: 100%;
1639}
1640
1641
1642/*********************************************
JJ Allaireefa6ad42016-01-30 13:12:05 -05001643 * ROLLING LINKS
1644 *********************************************/
1645
1646.reveal .roll {
1647 display: inline-block;
1648 line-height: 1.2;
1649 overflow: hidden;
1650
1651 vertical-align: top;
1652 perspective: 400px;
1653 perspective-origin: 50% 50%;
1654}
1655 .reveal .roll:hover {
1656 background: none;
1657 text-shadow: none;
1658 }
1659.reveal .roll span {
1660 display: block;
1661 position: relative;
1662 padding: 0 2px;
1663
1664 pointer-events: none;
1665 transition: all 400ms ease;
1666 transform-origin: 50% 0%;
1667 transform-style: preserve-3d;
1668 backface-visibility: hidden;
1669}
1670 .reveal .roll:hover span {
1671 background: rgba(0,0,0,0.5);
1672 transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
1673 }
1674.reveal .roll span:after {
1675 content: attr(data-title);
1676
1677 display: block;
1678 position: absolute;
1679 left: 0;
1680 top: 0;
1681 padding: 0 2px;
1682 backface-visibility: hidden;
1683 transform-origin: 50% 0%;
1684 transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
1685}
1686
1687
1688/*********************************************
1689 * SPEAKER NOTES
1690 *********************************************/
1691
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001692$notesWidthPercent: 25%;
1693
JJ Allaireefa6ad42016-01-30 13:12:05 -05001694// Hide on-page notes
1695.reveal aside.notes {
1696 display: none;
1697}
1698
1699// An interface element that can optionally be used to show the
1700// speaker notes to all viewers, on top of the presentation
1701.reveal .speaker-notes {
1702 display: none;
1703 position: absolute;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001704 width: $notesWidthPercent / (1-$notesWidthPercent/100) * 1%;
1705 height: 100%;
1706 top: 0;
1707 left: 100%;
1708 padding: 14px 18px 14px 18px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001709 z-index: 1;
1710 font-size: 18px;
1711 line-height: 1.4;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001712 border: 1px solid rgba( 0, 0, 0, 0.05 );
1713 color: #222;
1714 background-color: #f5f5f5;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001715 overflow: auto;
1716 box-sizing: border-box;
1717 text-align: left;
1718 font-family: Helvetica, sans-serif;
1719 -webkit-overflow-scrolling: touch;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001720
1721 .notes-placeholder {
1722 color: #ccc;
1723 font-style: italic;
1724 }
1725
1726 &:focus {
1727 outline: none;
1728 }
1729
1730 &:before {
1731 content: 'Speaker notes';
1732 display: block;
1733 margin-bottom: 10px;
1734 opacity: 0.5;
1735 }
JJ Allaireefa6ad42016-01-30 13:12:05 -05001736}
1737
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001738
1739.reveal.show-notes {
1740 max-width: 100% - $notesWidthPercent;
1741 overflow: visible;
1742}
1743
1744.reveal.show-notes .speaker-notes {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001745 display: block;
1746}
1747
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001748@media screen and (min-width: 1600px) {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001749 .reveal .speaker-notes {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001750 font-size: 20px;
1751 }
1752}
1753
1754@media screen and (max-width: 1024px) {
1755 .reveal.show-notes {
1756 border-left: 0;
1757 max-width: none;
1758 max-height: 70%;
1759 max-height: 70vh;
1760 overflow: visible;
1761 }
1762
1763 .reveal.show-notes .speaker-notes {
1764 top: 100%;
1765 left: 0;
1766 width: 100%;
1767 height: (30/0.7)*1%;
1768 height: 30vh;
1769 border: 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001770 }
1771}
1772
1773@media screen and (max-width: 600px) {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001774 .reveal.show-notes {
1775 max-height: 60%;
1776 max-height: 60vh;
1777 }
1778
1779 .reveal.show-notes .speaker-notes {
1780 top: 100%;
1781 height: (40/0.6)*1%;
1782 height: 40vh;
1783 }
1784
JJ Allaireefa6ad42016-01-30 13:12:05 -05001785 .reveal .speaker-notes {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001786 font-size: 14px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001787 }
1788}
1789
1790
1791/*********************************************
1792 * ZOOM PLUGIN
1793 *********************************************/
1794
1795.zoomed .reveal *,
1796.zoomed .reveal *:before,
1797.zoomed .reveal *:after {
1798 backface-visibility: visible !important;
1799}
1800
1801.zoomed .reveal .progress,
1802.zoomed .reveal .controls {
1803 opacity: 0;
1804}
1805
1806.zoomed .reveal .roll span {
1807 background: none;
1808}
1809
1810.zoomed .reveal .roll span:after {
1811 visibility: hidden;
1812}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001813
1814
1815/*********************************************
1816 * PRINT STYLES
1817 *********************************************/
1818
1819@import 'print/pdf.scss';
1820@import 'print/paper.scss';
1821