blob: 6eb7caa44d8cff681b95ee4a14d4b5491de9d2f2 [file] [log] [blame]
Christophe Dervieux8afae132021-12-06 15:16:42 +01001@use "sass:math";
2
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02003/**
JJ Allaireefa6ad42016-01-30 13:12:05 -05004 * reveal.js
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02005 * http://revealjs.com
JJ Allaireefa6ad42016-01-30 13:12:05 -05006 * MIT licensed
7 *
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02008 * Copyright (C) Hakim El Hattab, https://hakim.se
JJ Allaireefa6ad42016-01-30 13:12:05 -05009 */
10
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020011@import 'layout';
JJ Allaireefa6ad42016-01-30 13:12:05 -050012
13/*********************************************
14 * GLOBAL STYLES
15 *********************************************/
16
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020017html.reveal-full-page {
JJ Allaireefa6ad42016-01-30 13:12:05 -050018 width: 100%;
19 height: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020020 height: 100vh;
21 height: calc( var(--vh, 1vh) * 100 );
JJ Allaireefa6ad42016-01-30 13:12:05 -050022 overflow: hidden;
23}
24
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020025.reveal-viewport {
26 height: 100%;
27 overflow: hidden;
JJ Allaireefa6ad42016-01-30 13:12:05 -050028 position: relative;
29 line-height: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020030 margin: 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -050031
32 background-color: #fff;
33 color: #000;
34}
35
Marc Kupietz09b75752023-10-07 09:32:19 +020036// Force the presentation to cover the full viewport when we
37// enter fullscreen mode. Fixes sizing issues in Safari.
38.reveal-viewport:fullscreen {
39 top: 0 !important;
40 left: 0 !important;
41 width: 100% !important;
42 height: 100% !important;
43 transform: none !important;
44}
45
JJ Allaireefa6ad42016-01-30 13:12:05 -050046
47/*********************************************
48 * VIEW FRAGMENTS
49 *********************************************/
50
Marc Kupietz09b75752023-10-07 09:32:19 +020051.reveal .fragment {
JJ Allaireefa6ad42016-01-30 13:12:05 -050052 transition: all .2s ease;
Marc Kupietz09b75752023-10-07 09:32:19 +020053
54 &:not(.custom) {
55 opacity: 0;
56 visibility: hidden;
57 will-change: opacity;
58 }
JJ Allaireefa6ad42016-01-30 13:12:05 -050059
60 &.visible {
61 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020062 visibility: inherit;
63 }
64
65 &.disabled {
66 transition: none;
JJ Allaireefa6ad42016-01-30 13:12:05 -050067 }
68}
69
Marc Kupietz09b75752023-10-07 09:32:19 +020070.reveal .fragment.grow {
JJ Allaireefa6ad42016-01-30 13:12:05 -050071 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020072 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050073
74 &.visible {
75 transform: scale( 1.3 );
76 }
77}
78
Marc Kupietz09b75752023-10-07 09:32:19 +020079.reveal .fragment.shrink {
JJ Allaireefa6ad42016-01-30 13:12:05 -050080 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020081 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050082
83 &.visible {
84 transform: scale( 0.7 );
85 }
86}
87
Marc Kupietz09b75752023-10-07 09:32:19 +020088.reveal .fragment.zoom-in {
JJ Allaireefa6ad42016-01-30 13:12:05 -050089 transform: scale( 0.1 );
90
91 &.visible {
92 transform: none;
93 }
94}
95
Marc Kupietz09b75752023-10-07 09:32:19 +020096.reveal .fragment.fade-out {
JJ Allaireefa6ad42016-01-30 13:12:05 -050097 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020098 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -050099
100 &.visible {
101 opacity: 0;
102 visibility: hidden;
103 }
104}
105
Marc Kupietz09b75752023-10-07 09:32:19 +0200106.reveal .fragment.semi-fade-out {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500107 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200108 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500109
110 &.visible {
111 opacity: 0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200112 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500113 }
114}
115
Marc Kupietz09b75752023-10-07 09:32:19 +0200116.reveal .fragment.strike {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500117 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200118 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500119
120 &.visible {
121 text-decoration: line-through;
122 }
123}
124
Marc Kupietz09b75752023-10-07 09:32:19 +0200125.reveal .fragment.fade-up {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200126 transform: translate(0, 40px);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800127
128 &.visible {
129 transform: translate(0, 0);
130 }
131}
132
Marc Kupietz09b75752023-10-07 09:32:19 +0200133.reveal .fragment.fade-down {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200134 transform: translate(0, -40px);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800135
136 &.visible {
137 transform: translate(0, 0);
138 }
139}
140
Marc Kupietz09b75752023-10-07 09:32:19 +0200141.reveal .fragment.fade-right {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200142 transform: translate(-40px, 0);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800143
144 &.visible {
145 transform: translate(0, 0);
146 }
147}
148
Marc Kupietz09b75752023-10-07 09:32:19 +0200149.reveal .fragment.fade-left {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200150 transform: translate(40px, 0);
Bruce's Thinkpad72710882016-07-14 01:12:07 +0800151
152 &.visible {
153 transform: translate(0, 0);
154 }
155}
156
Marc Kupietz09b75752023-10-07 09:32:19 +0200157.reveal .fragment.fade-in-then-out,
158.reveal .fragment.current-visible {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500159 opacity: 0;
160 visibility: hidden;
161
162 &.current-fragment {
163 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200164 visibility: inherit;
165 }
166}
167
Marc Kupietz09b75752023-10-07 09:32:19 +0200168.reveal .fragment.fade-in-then-semi-out {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200169 opacity: 0;
170 visibility: hidden;
171
172 &.visible {
173 opacity: 0.5;
174 visibility: inherit;
175 }
176
177 &.current-fragment {
178 opacity: 1;
179 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500180 }
181}
182
Marc Kupietz09b75752023-10-07 09:32:19 +0200183.reveal .fragment.highlight-red,
184.reveal .fragment.highlight-current-red,
185.reveal .fragment.highlight-green,
186.reveal .fragment.highlight-current-green,
187.reveal .fragment.highlight-blue,
188.reveal .fragment.highlight-current-blue {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500189 opacity: 1;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200190 visibility: inherit;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500191}
Marc Kupietz09b75752023-10-07 09:32:19 +0200192 .reveal .fragment.highlight-red.visible {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500193 color: #ff2c2d
194 }
Marc Kupietz09b75752023-10-07 09:32:19 +0200195 .reveal .fragment.highlight-green.visible {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500196 color: #17ff2e;
197 }
Marc Kupietz09b75752023-10-07 09:32:19 +0200198 .reveal .fragment.highlight-blue.visible {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500199 color: #1b91ff;
200 }
201
Marc Kupietz09b75752023-10-07 09:32:19 +0200202.reveal .fragment.highlight-current-red.current-fragment {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500203 color: #ff2c2d
204}
Marc Kupietz09b75752023-10-07 09:32:19 +0200205.reveal .fragment.highlight-current-green.current-fragment {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500206 color: #17ff2e;
207}
Marc Kupietz09b75752023-10-07 09:32:19 +0200208.reveal .fragment.highlight-current-blue.current-fragment {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500209 color: #1b91ff;
210}
211
212
213/*********************************************
214 * DEFAULT ELEMENT STYLES
215 *********************************************/
216
217/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */
218.reveal:after {
219 content: '';
220 font-style: italic;
221}
222
223.reveal iframe {
224 z-index: 1;
225}
226
227/** Prevents layering issues in certain browser/transition combinations */
228.reveal a {
229 position: relative;
230}
231
JJ Allaireefa6ad42016-01-30 13:12:05 -0500232
233/*********************************************
234 * CONTROLS
235 *********************************************/
236
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200237@keyframes bounce-right {
238 0%, 10%, 25%, 40%, 50% {transform: translateX(0);}
239 20% {transform: translateX(10px);}
240 30% {transform: translateX(-5px);}
241}
242
243@keyframes bounce-left {
244 0%, 10%, 25%, 40%, 50% {transform: translateX(0);}
245 20% {transform: translateX(-10px);}
246 30% {transform: translateX(5px);}
247}
248
249@keyframes bounce-down {
250 0%, 10%, 25%, 40%, 50% {transform: translateY(0);}
251 20% {transform: translateY(10px);}
252 30% {transform: translateY(-5px);}
253}
254
255$controlArrowSize: 3.6em;
256$controlArrowSpacing: 1.4em;
257$controlArrowLength: 2.6em;
258$controlArrowThickness: 0.5em;
259$controlsArrowAngle: 45deg;
260$controlsArrowAngleHover: 40deg;
261$controlsArrowAngleActive: 36deg;
262
263@mixin controlsArrowTransform( $angle ) {
264 &:before {
Christophe Dervieux8afae132021-12-06 15:16:42 +0100265 transform: translateX(($controlArrowSize - $controlArrowLength)*0.5) translateY(($controlArrowSize - $controlArrowThickness)*0.5) rotate( $angle );
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200266 }
267
268 &:after {
Christophe Dervieux8afae132021-12-06 15:16:42 +0100269 transform: translateX(($controlArrowSize - $controlArrowLength)*0.5) translateY(($controlArrowSize - $controlArrowThickness)*0.5) rotate( -$angle );
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200270 }
271}
272
JJ Allaireefa6ad42016-01-30 13:12:05 -0500273.reveal .controls {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200274 $spacing: 12px;
275
JJ Allaireefa6ad42016-01-30 13:12:05 -0500276 display: none;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500277 position: absolute;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200278 top: auto;
279 bottom: $spacing;
280 right: $spacing;
281 left: auto;
282 z-index: 11;
283 color: #000;
284 pointer-events: none;
285 font-size: 10px;
286
287 button {
288 position: absolute;
289 padding: 0;
290 background-color: transparent;
291 border: 0;
292 outline: 0;
293 cursor: pointer;
294 color: currentColor;
295 transform: scale(.9999);
296 transition: color 0.2s ease,
297 opacity 0.2s ease,
298 transform 0.2s ease;
299 z-index: 2; // above slides
300 pointer-events: auto;
301 font-size: inherit;
302
303 visibility: hidden;
304 opacity: 0;
305
306 -webkit-appearance: none;
307 -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
308 }
309
310 .controls-arrow:before,
311 .controls-arrow:after {
312 content: '';
313 position: absolute;
314 top: 0;
315 left: 0;
316 width: $controlArrowLength;
317 height: $controlArrowThickness;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100318 border-radius: $controlArrowThickness*0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200319 background-color: currentColor;
320
321 transition: all 0.15s ease, background-color 0.8s ease;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100322 transform-origin: math.div(floor(($controlArrowThickness*0.5)*10), 10) 50%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200323 will-change: transform;
324 }
325
326 .controls-arrow {
327 position: relative;
328 width: $controlArrowSize;
329 height: $controlArrowSize;
330
331 @include controlsArrowTransform( $controlsArrowAngle );
332
333 &:hover {
334 @include controlsArrowTransform( $controlsArrowAngleHover );
335 }
336
337 &:active {
338 @include controlsArrowTransform( $controlsArrowAngleActive );
339 }
340 }
341
342 .navigate-left {
343 right: $controlArrowSize + $controlArrowSpacing*2;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100344 bottom: $controlArrowSpacing + $controlArrowSize*0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200345 transform: translateX( -10px );
346
347 &.highlight {
348 animation: bounce-left 2s 50 both ease-out;
349 }
350 }
351
352 .navigate-right {
353 right: 0;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100354 bottom: $controlArrowSpacing + $controlArrowSize*0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200355 transform: translateX( 10px );
356
357 .controls-arrow {
358 transform: rotate( 180deg );
359 }
360
361 &.highlight {
362 animation: bounce-right 2s 50 both ease-out;
363 }
364 }
365
366 .navigate-up {
Christophe Dervieux8afae132021-12-06 15:16:42 +0100367 right: $controlArrowSpacing + $controlArrowSize*0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200368 bottom: $controlArrowSpacing*2 + $controlArrowSize;
369 transform: translateY( -10px );
370
371 .controls-arrow {
372 transform: rotate( 90deg );
373 }
374 }
375
376 .navigate-down {
Christophe Dervieux8afae132021-12-06 15:16:42 +0100377 right: $controlArrowSpacing + $controlArrowSize*0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200378 bottom: -$controlArrowSpacing;
379 padding-bottom: $controlArrowSpacing;
380 transform: translateY( 10px );
381
382 .controls-arrow {
383 transform: rotate( -90deg );
384 }
385
386 &.highlight {
387 animation: bounce-down 2s 50 both ease-out;
388 }
389 }
390
391 // Back arrow style: "faded":
392 // Deemphasize backwards navigation arrows in favor of drawing
393 // attention to forwards navigation
394 &[data-controls-back-arrows="faded"] .navigate-up.enabled {
395 opacity: 0.3;
396
397 &:hover {
398 opacity: 1;
399 }
400 }
401
402 // Back arrow style: "hidden":
403 // Never show arrows for backwards navigation
404 &[data-controls-back-arrows="hidden"] .navigate-up.enabled {
405 opacity: 0;
406 visibility: hidden;
407 }
408
409 // Any control button that can be clicked is "enabled"
410 .enabled {
411 visibility: visible;
412 opacity: 0.9;
413 cursor: pointer;
414 transform: none;
415 }
416
417 // Any control button that leads to showing or hiding
418 // a fragment
419 .enabled.fragmented {
420 opacity: 0.5;
421 }
422
423 .enabled:hover,
424 .enabled.fragmented:hover {
425 opacity: 1;
426 }
JJ Allaireefa6ad42016-01-30 13:12:05 -0500427}
428
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200429.reveal:not(.rtl) .controls {
430 // Back arrow style: "faded":
431 // Deemphasize left arrow
432 &[data-controls-back-arrows="faded"] .navigate-left.enabled {
433 opacity: 0.3;
434
435 &:hover {
436 opacity: 1;
437 }
438 }
439
440 // Back arrow style: "hidden":
441 // Never show left arrow
442 &[data-controls-back-arrows="hidden"] .navigate-left.enabled {
443 opacity: 0;
444 visibility: hidden;
445 }
JJ Allaireefa6ad42016-01-30 13:12:05 -0500446}
447
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200448.reveal.rtl .controls {
449 // Back arrow style: "faded":
450 // Deemphasize right arrow in RTL mode
451 &[data-controls-back-arrows="faded"] .navigate-right.enabled {
452 opacity: 0.3;
453
454 &:hover {
455 opacity: 1;
456 }
457 }
458
459 // Back arrow style: "hidden":
460 // Never show right arrow in RTL mode
461 &[data-controls-back-arrows="hidden"] .navigate-right.enabled {
462 opacity: 0;
463 visibility: hidden;
464 }
JJ Allaireefa6ad42016-01-30 13:12:05 -0500465}
466
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200467.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-up,
468.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-down {
469 display: none;
470}
JJ Allaireefa6ad42016-01-30 13:12:05 -0500471
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200472// Adjust the layout when there are no vertical slides
473.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-left,
474.reveal:not(.has-vertical-slides) .controls .navigate-left {
475 bottom: $controlArrowSpacing;
476 right: 0.5em + $controlArrowSpacing + $controlArrowSize;
477}
478
479.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-right,
480.reveal:not(.has-vertical-slides) .controls .navigate-right {
481 bottom: $controlArrowSpacing;
482 right: 0.5em;
483}
484
485// Adjust the layout when there are no horizontal slides
486.reveal:not(.has-horizontal-slides) .controls .navigate-up {
487 right: $controlArrowSpacing;
488 bottom: $controlArrowSpacing + $controlArrowSize;
489}
490.reveal:not(.has-horizontal-slides) .controls .navigate-down {
491 right: $controlArrowSpacing;
492 bottom: 0.5em;
493}
494
495// Invert arrows based on background color
496.reveal.has-dark-background .controls {
497 color: #fff;
498}
499.reveal.has-light-background .controls {
500 color: #000;
501}
502
503// Disable active states on touch devices
504.reveal.no-hover .controls .controls-arrow:hover,
505.reveal.no-hover .controls .controls-arrow:active {
506 @include controlsArrowTransform( $controlsArrowAngle );
507}
508
509// Edge aligned controls layout
510@media screen and (min-width: 500px) {
511
512 $spacing: 0.8em;
513
514 .reveal .controls[data-controls-layout="edges"] {
515 & {
516 top: 0;
517 right: 0;
518 bottom: 0;
519 left: 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500520 }
521
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200522 .navigate-left,
523 .navigate-right,
524 .navigate-up,
525 .navigate-down {
526 bottom: auto;
527 right: auto;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500528 }
529
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200530 .navigate-left {
531 top: 50%;
532 left: $spacing;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100533 margin-top: -$controlArrowSize*0.5;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500534 }
535
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200536 .navigate-right {
537 top: 50%;
538 right: $spacing;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100539 margin-top: -$controlArrowSize*0.5;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500540 }
541
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200542 .navigate-up {
543 top: $spacing;
544 left: 50%;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100545 margin-left: -$controlArrowSize*0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200546 }
547
548 .navigate-down {
549 bottom: $spacing - $controlArrowSpacing + 0.3em;
550 left: 50%;
Christophe Dervieux8afae132021-12-06 15:16:42 +0100551 margin-left: -$controlArrowSize*0.5;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200552 }
553 }
554
555}
556
JJ Allaireefa6ad42016-01-30 13:12:05 -0500557
558/*********************************************
559 * PROGRESS BAR
560 *********************************************/
561
562.reveal .progress {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200563 position: absolute;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500564 display: none;
565 height: 3px;
566 width: 100%;
567 bottom: 0;
568 left: 0;
569 z-index: 10;
570
571 background-color: rgba( 0, 0, 0, 0.2 );
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200572 color: #fff;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500573}
574 .reveal .progress:after {
575 content: '';
576 display: block;
577 position: absolute;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200578 height: 10px;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500579 width: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200580 top: -10px;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500581 }
582 .reveal .progress span {
583 display: block;
584 height: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200585 width: 100%;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500586
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200587 background-color: currentColor;
588 transition: transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
589 transform-origin: 0 0;
590 transform: scaleX(0);
JJ Allaireefa6ad42016-01-30 13:12:05 -0500591 }
592
593/*********************************************
594 * SLIDE NUMBER
595 *********************************************/
596
597.reveal .slide-number {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200598 position: absolute;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500599 display: block;
600 right: 8px;
601 bottom: 8px;
602 z-index: 31;
603 font-family: Helvetica, sans-serif;
604 font-size: 12px;
605 line-height: 1;
606 color: #fff;
607 background-color: rgba( 0, 0, 0, 0.4 );
608 padding: 5px;
609}
610
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200611.reveal .slide-number a {
612 color: currentColor;
613}
614
JJ Allaireefa6ad42016-01-30 13:12:05 -0500615.reveal .slide-number-delimiter {
616 margin: 0 3px;
617}
618
619/*********************************************
620 * SLIDES
621 *********************************************/
622
623.reveal {
624 position: relative;
625 width: 100%;
626 height: 100%;
627 overflow: hidden;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200628 touch-action: pinch-zoom;
629}
630
631// Swiping on an embedded deck should not block page scrolling
632.reveal.embedded {
633 touch-action: pan-y;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500634}
635
636.reveal .slides {
637 position: absolute;
638 width: 100%;
639 height: 100%;
640 top: 0;
641 right: 0;
642 bottom: 0;
643 left: 0;
644 margin: auto;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200645 pointer-events: none;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500646
647 overflow: visible;
648 z-index: 1;
649 text-align: center;
650 perspective: 600px;
651 perspective-origin: 50% 40%;
652}
653
654.reveal .slides>section {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200655 perspective: 600px;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500656}
657
658.reveal .slides>section,
659.reveal .slides>section>section {
660 display: none;
661 position: absolute;
662 width: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200663 pointer-events: auto;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500664
665 z-index: 10;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200666 transform-style: flat;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500667 transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
668 transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
669 visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
670 opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
671}
672
673/* Global transition speed settings */
674.reveal[data-transition-speed="fast"] .slides section {
675 transition-duration: 400ms;
676}
677.reveal[data-transition-speed="slow"] .slides section {
678 transition-duration: 1200ms;
679}
680
681/* Slide-specific transition speed overrides */
682.reveal .slides section[data-transition-speed="fast"] {
683 transition-duration: 400ms;
684}
685.reveal .slides section[data-transition-speed="slow"] {
686 transition-duration: 1200ms;
687}
688
689.reveal .slides>section.stack {
690 padding-top: 0;
691 padding-bottom: 0;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200692 pointer-events: none;
693 height: 100%;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500694}
695
696.reveal .slides>section.present,
697.reveal .slides>section>section.present {
698 display: block;
699 z-index: 11;
700 opacity: 1;
701}
702
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200703.reveal .slides>section:empty,
704.reveal .slides>section>section:empty,
705.reveal .slides>section[data-background-interactive],
706.reveal .slides>section>section[data-background-interactive] {
707 pointer-events: none;
708}
709
JJ Allaireefa6ad42016-01-30 13:12:05 -0500710.reveal.center,
711.reveal.center .slides,
712.reveal.center .slides section {
713 min-height: 0 !important;
714}
715
716/* Don't allow interaction with invisible slides */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200717.reveal .slides>section:not(.present),
718.reveal .slides>section>section:not(.present) {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500719 pointer-events: none;
720}
721
722.reveal.overview .slides>section,
723.reveal.overview .slides>section>section {
724 pointer-events: auto;
725}
726
727.reveal .slides>section.past,
728.reveal .slides>section.future,
Marc Kupietz09b75752023-10-07 09:32:19 +0200729.reveal .slides>section.past>section,
730.reveal .slides>section.future>section,
JJ Allaireefa6ad42016-01-30 13:12:05 -0500731.reveal .slides>section>section.past,
732.reveal .slides>section>section.future {
733 opacity: 0;
734}
735
736
737/*********************************************
738 * Mixins for readability of transitions
739 *********************************************/
740
741@mixin transition-global($style) {
742 .reveal .slides section[data-transition=#{$style}],
743 .reveal.#{$style} .slides section:not([data-transition]) {
744 @content;
745 }
746}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200747@mixin transition-stack($style) {
748 .reveal .slides section[data-transition=#{$style}].stack,
749 .reveal.#{$style} .slides section.stack {
750 @content;
751 }
752}
JJ Allaireefa6ad42016-01-30 13:12:05 -0500753@mixin transition-horizontal-past($style) {
754 .reveal .slides>section[data-transition=#{$style}].past,
755 .reveal .slides>section[data-transition~=#{$style}-out].past,
756 .reveal.#{$style} .slides>section:not([data-transition]).past {
757 @content;
758 }
759}
760@mixin transition-horizontal-future($style) {
761 .reveal .slides>section[data-transition=#{$style}].future,
762 .reveal .slides>section[data-transition~=#{$style}-in].future,
763 .reveal.#{$style} .slides>section:not([data-transition]).future {
764 @content;
765 }
766}
767
768@mixin transition-vertical-past($style) {
769 .reveal .slides>section>section[data-transition=#{$style}].past,
770 .reveal .slides>section>section[data-transition~=#{$style}-out].past,
771 .reveal.#{$style} .slides>section>section:not([data-transition]).past {
772 @content;
773 }
774}
775@mixin transition-vertical-future($style) {
776 .reveal .slides>section>section[data-transition=#{$style}].future,
777 .reveal .slides>section>section[data-transition~=#{$style}-in].future,
778 .reveal.#{$style} .slides>section>section:not([data-transition]).future {
779 @content;
780 }
781}
782
783/*********************************************
784 * SLIDE TRANSITION
785 * Aliased 'linear' for backwards compatibility
786 *********************************************/
787
788@each $stylename in slide, linear {
JJ Allaireefa6ad42016-01-30 13:12:05 -0500789 @include transition-horizontal-past(#{$stylename}) {
790 transform: translate(-150%, 0);
791 }
792 @include transition-horizontal-future(#{$stylename}) {
793 transform: translate(150%, 0);
794 }
795 @include transition-vertical-past(#{$stylename}) {
796 transform: translate(0, -150%);
797 }
798 @include transition-vertical-future(#{$stylename}) {
799 transform: translate(0, 150%);
800 }
801}
802
803/*********************************************
804 * CONVEX TRANSITION
805 * Aliased 'default' for backwards compatibility
806 *********************************************/
807
808@each $stylename in default, convex {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200809 @include transition-stack(#{$stylename}) {
810 transform-style: preserve-3d;
811 }
812
JJ Allaireefa6ad42016-01-30 13:12:05 -0500813 @include transition-horizontal-past(#{$stylename}) {
814 transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
815 }
816 @include transition-horizontal-future(#{$stylename}) {
817 transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
818 }
819 @include transition-vertical-past(#{$stylename}) {
820 transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
821 }
822 @include transition-vertical-future(#{$stylename}) {
823 transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
824 }
825}
826
827/*********************************************
828 * CONCAVE TRANSITION
829 *********************************************/
830
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200831@include transition-stack(concave) {
832 transform-style: preserve-3d;
833}
834
JJ Allaireefa6ad42016-01-30 13:12:05 -0500835@include transition-horizontal-past(concave) {
836 transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
837}
838@include transition-horizontal-future(concave) {
839 transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
840}
841@include transition-vertical-past(concave) {
842 transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
843}
844@include transition-vertical-future(concave) {
845 transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
846}
847
848
849/*********************************************
850 * ZOOM TRANSITION
851 *********************************************/
852
853@include transition-global(zoom) {
854 transition-timing-function: ease;
855}
856@include transition-horizontal-past(zoom) {
857 visibility: hidden;
858 transform: scale(16);
859}
860@include transition-horizontal-future(zoom) {
861 visibility: hidden;
862 transform: scale(0.2);
863}
864@include transition-vertical-past(zoom) {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200865 transform: scale(16);
JJ Allaireefa6ad42016-01-30 13:12:05 -0500866}
867@include transition-vertical-future(zoom) {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200868 transform: scale(0.2);
JJ Allaireefa6ad42016-01-30 13:12:05 -0500869}
870
871
872/*********************************************
873 * CUBE TRANSITION
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200874 *
875 * WARNING:
876 * this is deprecated and will be removed in a
877 * future version.
JJ Allaireefa6ad42016-01-30 13:12:05 -0500878 *********************************************/
879
880.reveal.cube .slides {
881 perspective: 1300px;
882}
883
884.reveal.cube .slides section {
885 padding: 30px;
886 min-height: 700px;
887 backface-visibility: hidden;
888 box-sizing: border-box;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200889 transform-style: preserve-3d;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500890}
891 .reveal.center.cube .slides section {
892 min-height: 0;
893 }
894 .reveal.cube .slides section:not(.stack):before {
895 content: '';
896 position: absolute;
897 display: block;
898 width: 100%;
899 height: 100%;
900 left: 0;
901 top: 0;
902 background: rgba(0,0,0,0.1);
903 border-radius: 4px;
904 transform: translateZ( -20px );
905 }
906 .reveal.cube .slides section:not(.stack):after {
907 content: '';
908 position: absolute;
909 display: block;
910 width: 90%;
911 height: 30px;
912 left: 5%;
913 bottom: 0;
914 background: none;
915 z-index: 1;
916
917 border-radius: 4px;
918 box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
919 transform: translateZ(-90px) rotateX( 65deg );
920 }
921
922.reveal.cube .slides>section.stack {
923 padding: 0;
924 background: none;
925}
926
927.reveal.cube .slides>section.past {
928 transform-origin: 100% 0%;
929 transform: translate3d(-100%, 0, 0) rotateY(-90deg);
930}
931
932.reveal.cube .slides>section.future {
933 transform-origin: 0% 0%;
934 transform: translate3d(100%, 0, 0) rotateY(90deg);
935}
936
937.reveal.cube .slides>section>section.past {
938 transform-origin: 0% 100%;
939 transform: translate3d(0, -100%, 0) rotateX(90deg);
940}
941
942.reveal.cube .slides>section>section.future {
943 transform-origin: 0% 0%;
944 transform: translate3d(0, 100%, 0) rotateX(-90deg);
945}
946
947
948/*********************************************
949 * PAGE TRANSITION
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200950 *
951 * WARNING:
952 * this is deprecated and will be removed in a
953 * future version.
JJ Allaireefa6ad42016-01-30 13:12:05 -0500954 *********************************************/
955
956.reveal.page .slides {
957 perspective-origin: 0% 50%;
958 perspective: 3000px;
959}
960
961.reveal.page .slides section {
962 padding: 30px;
963 min-height: 700px;
964 box-sizing: border-box;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200965 transform-style: preserve-3d;
JJ Allaireefa6ad42016-01-30 13:12:05 -0500966}
967 .reveal.page .slides section.past {
968 z-index: 12;
969 }
970 .reveal.page .slides section:not(.stack):before {
971 content: '';
972 position: absolute;
973 display: block;
974 width: 100%;
975 height: 100%;
976 left: 0;
977 top: 0;
978 background: rgba(0,0,0,0.1);
979 transform: translateZ( -20px );
980 }
981 .reveal.page .slides section:not(.stack):after {
982 content: '';
983 position: absolute;
984 display: block;
985 width: 90%;
986 height: 30px;
987 left: 5%;
988 bottom: 0;
989 background: none;
990 z-index: 1;
991
992 border-radius: 4px;
993 box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
994
995 -webkit-transform: translateZ(-90px) rotateX( 65deg );
996 }
997
998.reveal.page .slides>section.stack {
999 padding: 0;
1000 background: none;
1001}
1002
1003.reveal.page .slides>section.past {
1004 transform-origin: 0% 0%;
1005 transform: translate3d(-40%, 0, 0) rotateY(-80deg);
1006}
1007
1008.reveal.page .slides>section.future {
1009 transform-origin: 100% 0%;
1010 transform: translate3d(0, 0, 0);
1011}
1012
1013.reveal.page .slides>section>section.past {
1014 transform-origin: 0% 0%;
1015 transform: translate3d(0, -40%, 0) rotateX(80deg);
1016}
1017
1018.reveal.page .slides>section>section.future {
1019 transform-origin: 0% 100%;
1020 transform: translate3d(0, 0, 0);
1021}
1022
1023
1024/*********************************************
1025 * FADE TRANSITION
1026 *********************************************/
1027
1028.reveal .slides section[data-transition=fade],
1029.reveal.fade .slides section:not([data-transition]),
1030.reveal.fade .slides>section>section:not([data-transition]) {
1031 transform: none;
1032 transition: opacity 0.5s;
1033}
1034
1035
1036.reveal.fade.overview .slides section,
1037.reveal.fade.overview .slides>section>section {
1038 transition: none;
1039}
1040
1041
1042/*********************************************
1043 * NO TRANSITION
1044 *********************************************/
1045
1046@include transition-global(none) {
1047 transform: none;
1048 transition: none;
1049}
1050
1051
1052/*********************************************
1053 * PAUSED MODE
1054 *********************************************/
1055
1056.reveal .pause-overlay {
1057 position: absolute;
1058 top: 0;
1059 left: 0;
1060 width: 100%;
1061 height: 100%;
1062 background: black;
1063 visibility: hidden;
1064 opacity: 0;
1065 z-index: 100;
1066 transition: all 1s ease;
1067}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001068
1069.reveal .pause-overlay .resume-button {
1070 position: absolute;
1071 bottom: 20px;
1072 right: 20px;
1073 color: #ccc;
1074 border-radius: 2px;
1075 padding: 6px 14px;
1076 border: 2px solid #ccc;
1077 font-size: 16px;
1078 background: transparent;
1079 cursor: pointer;
1080
1081 &:hover {
1082 color: #fff;
1083 border-color: #fff;
1084 }
1085}
1086
JJ Allaireefa6ad42016-01-30 13:12:05 -05001087.reveal.paused .pause-overlay {
1088 visibility: visible;
1089 opacity: 1;
1090}
1091
1092
1093/*********************************************
1094 * FALLBACK
1095 *********************************************/
1096
JJ Allaireefa6ad42016-01-30 13:12:05 -05001097.reveal .no-transition,
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001098.reveal .no-transition *,
1099.reveal .slides.disable-slide-transitions section {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001100 transition: none !important;
1101}
1102
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001103.reveal .slides.disable-slide-transitions section {
1104 transform: none !important;
1105}
1106
JJ Allaireefa6ad42016-01-30 13:12:05 -05001107
1108/*********************************************
1109 * PER-SLIDE BACKGROUNDS
1110 *********************************************/
1111
1112.reveal .backgrounds {
1113 position: absolute;
1114 width: 100%;
1115 height: 100%;
1116 top: 0;
1117 left: 0;
1118 perspective: 600px;
1119}
1120 .reveal .slide-background {
1121 display: none;
1122 position: absolute;
1123 width: 100%;
1124 height: 100%;
1125 opacity: 0;
1126 visibility: hidden;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001127 overflow: hidden;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001128
1129 background-color: rgba( 0, 0, 0, 0 );
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001130
1131 transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1132 }
1133
1134 .reveal .slide-background-content {
1135 position: absolute;
1136 width: 100%;
1137 height: 100%;
1138
JJ Allaireefa6ad42016-01-30 13:12:05 -05001139 background-position: 50% 50%;
1140 background-repeat: no-repeat;
1141 background-size: cover;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001142 }
1143
1144 .reveal .slide-background.stack {
1145 display: block;
1146 }
1147
1148 .reveal .slide-background.present {
1149 opacity: 1;
1150 visibility: visible;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001151 z-index: 2;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001152 }
1153
1154 .print-pdf .reveal .slide-background {
1155 opacity: 1 !important;
1156 visibility: visible !important;
1157 }
1158
1159/* Video backgrounds */
1160.reveal .slide-background video {
1161 position: absolute;
1162 width: 100%;
1163 height: 100%;
1164 max-width: none;
1165 max-height: none;
1166 top: 0;
1167 left: 0;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001168 object-fit: cover;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001169}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001170 .reveal .slide-background[data-background-size="contain"] video {
1171 object-fit: contain;
1172 }
JJ Allaireefa6ad42016-01-30 13:12:05 -05001173
1174/* Immediate transition style */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001175.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001176.reveal>.backgrounds .slide-background[data-background-transition=none] {
1177 transition: none;
1178}
1179
1180/* Slide */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001181.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001182.reveal>.backgrounds .slide-background[data-background-transition=slide] {
1183 opacity: 1;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001184}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001185 .reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001186 .reveal>.backgrounds .slide-background.past[data-background-transition=slide] {
1187 transform: translate(-100%, 0);
1188 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001189 .reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001190 .reveal>.backgrounds .slide-background.future[data-background-transition=slide] {
1191 transform: translate(100%, 0);
1192 }
1193
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001194 .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001195 .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] {
1196 transform: translate(0, -100%);
1197 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001198 .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001199 .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] {
1200 transform: translate(0, 100%);
1201 }
1202
1203
1204/* Convex */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001205.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001206.reveal>.backgrounds .slide-background.past[data-background-transition=convex] {
1207 opacity: 0;
1208 transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
1209}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001210.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001211.reveal>.backgrounds .slide-background.future[data-background-transition=convex] {
1212 opacity: 0;
1213 transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
1214}
1215
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001216.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001217.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] {
1218 opacity: 0;
1219 transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
1220}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001221.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001222.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] {
1223 opacity: 0;
1224 transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
1225}
1226
1227
1228/* Concave */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001229.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001230.reveal>.backgrounds .slide-background.past[data-background-transition=concave] {
1231 opacity: 0;
1232 transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
1233}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001234.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001235.reveal>.backgrounds .slide-background.future[data-background-transition=concave] {
1236 opacity: 0;
1237 transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
1238}
1239
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001240.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001241.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] {
1242 opacity: 0;
1243 transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
1244}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001245.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001246.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] {
1247 opacity: 0;
1248 transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
1249}
1250
1251/* Zoom */
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001252.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001253.reveal>.backgrounds .slide-background[data-background-transition=zoom] {
1254 transition-timing-function: ease;
1255}
1256
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001257.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001258.reveal>.backgrounds .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.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001264.reveal>.backgrounds .slide-background.future[data-background-transition=zoom] {
1265 opacity: 0;
1266 visibility: hidden;
1267 transform: scale(0.2);
1268}
1269
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001270.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001271.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] {
1272 opacity: 0;
1273 visibility: hidden;
1274 transform: scale(16);
1275}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001276.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),
JJ Allaireefa6ad42016-01-30 13:12:05 -05001277.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] {
1278 opacity: 0;
1279 visibility: hidden;
1280 transform: scale(0.2);
1281}
1282
1283
1284/* Global transition speed settings */
1285.reveal[data-transition-speed="fast"]>.backgrounds .slide-background {
1286 transition-duration: 400ms;
1287}
1288.reveal[data-transition-speed="slow"]>.backgrounds .slide-background {
1289 transition-duration: 1200ms;
1290}
1291
1292
1293/*********************************************
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001294 * AUTO ANIMATE
1295 *********************************************/
1296
1297.reveal [data-auto-animate-target^="unmatched"] {
1298 will-change: opacity;
1299}
1300
1301.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate="running"]) [data-auto-animate-target^="unmatched"] {
1302 opacity: 0;
1303}
1304
1305
1306/*********************************************
JJ Allaireefa6ad42016-01-30 13:12:05 -05001307 * OVERVIEW
1308 *********************************************/
1309
1310.reveal.overview {
1311 perspective-origin: 50% 50%;
1312 perspective: 700px;
1313
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001314 .slides {
1315 // Fixes overview rendering errors in FF48+, not applied to
1316 // other browsers since it degrades performance
1317 -moz-transform-style: preserve-3d;
1318 }
1319
JJ Allaireefa6ad42016-01-30 13:12:05 -05001320 .slides section {
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001321 height: 100%;
1322 top: 0 !important;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001323 opacity: 1 !important;
1324 overflow: hidden;
1325 visibility: visible !important;
1326 cursor: pointer;
1327 box-sizing: border-box;
1328 }
1329 .slides section:hover,
1330 .slides section.present {
1331 outline: 10px solid rgba(150,150,150,0.4);
1332 outline-offset: 10px;
1333 }
1334 .slides section .fragment {
1335 opacity: 1;
1336 transition: none;
1337 }
1338 .slides section:after,
1339 .slides section:before {
1340 display: none !important;
1341 }
1342 .slides>section.stack {
1343 padding: 0;
1344 top: 0 !important;
1345 background: none;
1346 outline: none;
1347 overflow: visible;
1348 }
1349
1350 .backgrounds {
1351 perspective: inherit;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001352
1353 // Fixes overview rendering errors in FF48+, not applied to
1354 // other browsers since it degrades performance
1355 -moz-transform-style: preserve-3d;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001356 }
1357
1358 .backgrounds .slide-background {
1359 opacity: 1;
1360 visibility: visible;
1361
1362 // This can't be applied to the slide itself in Safari
1363 outline: 10px solid rgba(150,150,150,0.1);
1364 outline-offset: 10px;
1365 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001366
1367 .backgrounds .slide-background.stack {
1368 overflow: visible;
1369 }
JJ Allaireefa6ad42016-01-30 13:12:05 -05001370}
1371
1372// Disable transitions transitions while we're activating
1373// or deactivating the overview mode.
1374.reveal.overview .slides section,
1375.reveal.overview-deactivating .slides section {
1376 transition: none;
1377}
1378
1379.reveal.overview .backgrounds .slide-background,
1380.reveal.overview-deactivating .backgrounds .slide-background {
1381 transition: none;
1382}
1383
JJ Allaireefa6ad42016-01-30 13:12:05 -05001384
1385/*********************************************
1386 * RTL SUPPORT
1387 *********************************************/
1388
1389.reveal.rtl .slides,
1390.reveal.rtl .slides h1,
1391.reveal.rtl .slides h2,
1392.reveal.rtl .slides h3,
1393.reveal.rtl .slides h4,
1394.reveal.rtl .slides h5,
1395.reveal.rtl .slides h6 {
1396 direction: rtl;
1397 font-family: sans-serif;
1398}
1399
1400.reveal.rtl pre,
1401.reveal.rtl code {
1402 direction: ltr;
1403}
1404
1405.reveal.rtl ol,
1406.reveal.rtl ul {
1407 text-align: right;
1408}
1409
1410.reveal.rtl .progress span {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001411 transform-origin: 100% 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001412}
1413
1414/*********************************************
1415 * PARALLAX BACKGROUND
1416 *********************************************/
1417
1418.reveal.has-parallax-background .backgrounds {
1419 transition: all 0.8s ease;
1420}
1421
1422/* Global transition speed settings */
1423.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds {
1424 transition-duration: 400ms;
1425}
1426.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds {
1427 transition-duration: 1200ms;
1428}
1429
1430
1431/*********************************************
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001432 * OVERLAY FOR LINK PREVIEWS AND HELP
JJ Allaireefa6ad42016-01-30 13:12:05 -05001433 *********************************************/
1434
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001435$overlayHeaderHeight: 40px;
1436$overlayHeaderPadding: 5px;
1437
1438.reveal > .overlay {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001439 position: absolute;
1440 top: 0;
1441 left: 0;
1442 width: 100%;
1443 height: 100%;
1444 z-index: 1000;
1445 background: rgba( 0, 0, 0, 0.9 );
JJ Allaireefa6ad42016-01-30 13:12:05 -05001446 transition: all 0.3s ease;
1447}
JJ Allaireefa6ad42016-01-30 13:12:05 -05001448
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001449 .reveal > .overlay .spinner {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001450 position: absolute;
1451 display: block;
1452 top: 50%;
1453 left: 50%;
1454 width: 32px;
1455 height: 32px;
1456 margin: -16px 0 0 -16px;
1457 z-index: 10;
1458 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);
1459
1460 visibility: visible;
1461 opacity: 0.6;
1462 transition: all 0.3s ease;
1463 }
1464
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001465 .reveal > .overlay header {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001466 position: absolute;
1467 left: 0;
1468 top: 0;
1469 width: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001470 padding: $overlayHeaderPadding;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001471 z-index: 2;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001472 box-sizing: border-box;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001473 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001474 .reveal > .overlay header a {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001475 display: inline-block;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001476 width: $overlayHeaderHeight;
1477 height: $overlayHeaderHeight;
1478 line-height: 36px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001479 padding: 0 10px;
1480 float: right;
1481 opacity: 0.6;
1482
1483 box-sizing: border-box;
1484 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001485 .reveal > .overlay header a:hover {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001486 opacity: 1;
1487 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001488 .reveal > .overlay header a .icon {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001489 display: inline-block;
1490 width: 20px;
1491 height: 20px;
1492
1493 background-position: 50% 50%;
1494 background-size: 100%;
1495 background-repeat: no-repeat;
1496 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001497 .reveal > .overlay header a.close .icon {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001498 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
1499 }
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001500 .reveal > .overlay header a.external .icon {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001501 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
1502 }
1503
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001504 .reveal > .overlay .viewport {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001505 position: absolute;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001506 display: flex;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001507 top: $overlayHeaderHeight + $overlayHeaderPadding*2;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001508 right: 0;
1509 bottom: 0;
1510 left: 0;
1511 }
1512
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001513 .reveal > .overlay.overlay-preview .viewport iframe {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001514 width: 100%;
1515 height: 100%;
1516 max-width: 100%;
1517 max-height: 100%;
1518 border: 0;
1519
1520 opacity: 0;
1521 visibility: hidden;
1522 transition: all 0.3s ease;
1523 }
1524
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001525 .reveal > .overlay.overlay-preview.loaded .viewport iframe {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001526 opacity: 1;
1527 visibility: visible;
1528 }
1529
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001530 .reveal > .overlay.overlay-preview.loaded .viewport-inner {
1531 position: absolute;
1532 z-index: -1;
1533 left: 0;
1534 top: 45%;
1535 width: 100%;
1536 text-align: center;
1537 letter-spacing: normal;
1538 }
1539 .reveal > .overlay.overlay-preview .x-frame-error {
1540 opacity: 0;
1541 transition: opacity 0.3s ease 0.3s;
1542 }
1543 .reveal > .overlay.overlay-preview.loaded .x-frame-error {
1544 opacity: 1;
1545 }
1546
1547 .reveal > .overlay.overlay-preview.loaded .spinner {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001548 opacity: 0;
1549 visibility: hidden;
1550 transform: scale(0.2);
1551 }
1552
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001553 .reveal > .overlay.overlay-help .viewport {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001554 overflow: auto;
1555 color: #fff;
1556 }
1557
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001558 .reveal > .overlay.overlay-help .viewport .viewport-inner {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001559 width: 600px;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001560 margin: auto;
1561 padding: 20px 20px 80px 20px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001562 text-align: center;
1563 letter-spacing: normal;
1564 }
1565
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001566 .reveal > .overlay.overlay-help .viewport .viewport-inner .title {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001567 font-size: 20px;
1568 }
1569
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001570 .reveal > .overlay.overlay-help .viewport .viewport-inner table {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001571 border: 1px solid #fff;
1572 border-collapse: collapse;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001573 font-size: 16px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001574 }
1575
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001576 .reveal > .overlay.overlay-help .viewport .viewport-inner table th,
1577 .reveal > .overlay.overlay-help .viewport .viewport-inner table td {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001578 width: 200px;
Bruce's Thinkpad72710882016-07-14 01:12:07 +08001579 padding: 14px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001580 border: 1px solid #fff;
1581 vertical-align: middle;
1582 }
1583
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001584 .reveal > .overlay.overlay-help .viewport .viewport-inner table th {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001585 padding-top: 20px;
1586 padding-bottom: 20px;
1587 }
1588
1589
JJ Allaireefa6ad42016-01-30 13:12:05 -05001590/*********************************************
1591 * PLAYBACK COMPONENT
1592 *********************************************/
1593
1594.reveal .playback {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001595 position: absolute;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001596 left: 15px;
1597 bottom: 20px;
1598 z-index: 30;
1599 cursor: pointer;
1600 transition: all 400ms ease;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001601 -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
JJ Allaireefa6ad42016-01-30 13:12:05 -05001602}
1603
1604.reveal.overview .playback {
1605 opacity: 0;
1606 visibility: hidden;
1607}
1608
1609
1610/*********************************************
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001611 * CODE HIGHLGIHTING
1612 *********************************************/
1613
1614.reveal .hljs {
1615 min-height: 100%;
1616}
1617
1618.reveal .hljs table {
1619 margin: initial;
1620}
1621
1622.reveal .hljs-ln-code,
1623.reveal .hljs-ln-numbers {
1624 padding: 0;
1625 border: 0;
1626}
1627
1628.reveal .hljs-ln-numbers {
1629 opacity: 0.6;
1630 padding-right: 0.75em;
1631 text-align: right;
1632 vertical-align: top;
1633}
1634
1635.reveal .hljs.has-highlights tr:not(.highlight-line) {
1636 opacity: 0.4;
1637}
1638
Marc Kupietz09b75752023-10-07 09:32:19 +02001639.reveal .hljs.has-highlights.fragment {
1640 transition: all .2s ease;
1641}
1642
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001643.reveal .hljs:not(:first-child).fragment {
1644 position: absolute;
1645 top: 0;
1646 left: 0;
1647 width: 100%;
1648 box-sizing: border-box;
1649}
1650
1651.reveal pre[data-auto-animate-target] {
1652 overflow: hidden;
1653}
1654.reveal pre[data-auto-animate-target] code {
1655 height: 100%;
1656}
1657
1658
1659/*********************************************
JJ Allaireefa6ad42016-01-30 13:12:05 -05001660 * ROLLING LINKS
1661 *********************************************/
1662
1663.reveal .roll {
1664 display: inline-block;
1665 line-height: 1.2;
1666 overflow: hidden;
1667
1668 vertical-align: top;
1669 perspective: 400px;
1670 perspective-origin: 50% 50%;
1671}
1672 .reveal .roll:hover {
1673 background: none;
1674 text-shadow: none;
1675 }
1676.reveal .roll span {
1677 display: block;
1678 position: relative;
1679 padding: 0 2px;
1680
1681 pointer-events: none;
1682 transition: all 400ms ease;
1683 transform-origin: 50% 0%;
1684 transform-style: preserve-3d;
1685 backface-visibility: hidden;
1686}
1687 .reveal .roll:hover span {
1688 background: rgba(0,0,0,0.5);
1689 transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
1690 }
1691.reveal .roll span:after {
1692 content: attr(data-title);
1693
1694 display: block;
1695 position: absolute;
1696 left: 0;
1697 top: 0;
1698 padding: 0 2px;
1699 backface-visibility: hidden;
1700 transform-origin: 50% 0%;
1701 transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
1702}
1703
1704
1705/*********************************************
1706 * SPEAKER NOTES
1707 *********************************************/
1708
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001709$notesWidthPercent: 25%;
1710
JJ Allaireefa6ad42016-01-30 13:12:05 -05001711// Hide on-page notes
1712.reveal aside.notes {
1713 display: none;
1714}
1715
1716// An interface element that can optionally be used to show the
1717// speaker notes to all viewers, on top of the presentation
1718.reveal .speaker-notes {
1719 display: none;
1720 position: absolute;
Christophe Dervieux8afae132021-12-06 15:16:42 +01001721 width: math.div($notesWidthPercent, (1 - math.div($notesWidthPercent,100))) * 1%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001722 height: 100%;
1723 top: 0;
1724 left: 100%;
1725 padding: 14px 18px 14px 18px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001726 z-index: 1;
1727 font-size: 18px;
1728 line-height: 1.4;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001729 border: 1px solid rgba( 0, 0, 0, 0.05 );
1730 color: #222;
1731 background-color: #f5f5f5;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001732 overflow: auto;
1733 box-sizing: border-box;
1734 text-align: left;
1735 font-family: Helvetica, sans-serif;
1736 -webkit-overflow-scrolling: touch;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001737
1738 .notes-placeholder {
1739 color: #ccc;
1740 font-style: italic;
1741 }
1742
1743 &:focus {
1744 outline: none;
1745 }
1746
1747 &:before {
1748 content: 'Speaker notes';
1749 display: block;
1750 margin-bottom: 10px;
1751 opacity: 0.5;
1752 }
JJ Allaireefa6ad42016-01-30 13:12:05 -05001753}
1754
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001755
1756.reveal.show-notes {
1757 max-width: 100% - $notesWidthPercent;
1758 overflow: visible;
1759}
1760
1761.reveal.show-notes .speaker-notes {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001762 display: block;
1763}
1764
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001765@media screen and (min-width: 1600px) {
JJ Allaireefa6ad42016-01-30 13:12:05 -05001766 .reveal .speaker-notes {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001767 font-size: 20px;
1768 }
1769}
1770
1771@media screen and (max-width: 1024px) {
1772 .reveal.show-notes {
1773 border-left: 0;
1774 max-width: none;
1775 max-height: 70%;
1776 max-height: 70vh;
1777 overflow: visible;
1778 }
1779
1780 .reveal.show-notes .speaker-notes {
1781 top: 100%;
1782 left: 0;
1783 width: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001784 height: 30vh;
1785 border: 0;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001786 }
1787}
1788
1789@media screen and (max-width: 600px) {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001790 .reveal.show-notes {
1791 max-height: 60%;
1792 max-height: 60vh;
1793 }
1794
1795 .reveal.show-notes .speaker-notes {
1796 top: 100%;
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001797 height: 40vh;
1798 }
1799
JJ Allaireefa6ad42016-01-30 13:12:05 -05001800 .reveal .speaker-notes {
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001801 font-size: 14px;
JJ Allaireefa6ad42016-01-30 13:12:05 -05001802 }
1803}
1804
1805
1806/*********************************************
Marc Kupietz09b75752023-10-07 09:32:19 +02001807 * JUMP-TO-SLIDE COMPONENT
1808 *********************************************/
1809
1810 .reveal .jump-to-slide {
1811 position: absolute;
1812 top: 15px;
1813 left: 15px;
1814 z-index: 30;
1815 font-size: 32px;
1816 -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
1817}
1818
1819.reveal .jump-to-slide-input {
1820 background: transparent;
1821 padding: 8px;
1822 font-size: inherit;
1823 color: currentColor;
1824 border: 0;
1825}
1826.reveal .jump-to-slide-input::placeholder {
1827 color: currentColor;
1828 opacity: 0.5;
1829}
1830
1831.reveal.has-dark-background .jump-to-slide-input {
1832 color: #fff;
1833}
1834.reveal.has-light-background .jump-to-slide-input {
1835 color: #222;
1836}
1837
1838.reveal .jump-to-slide-input:focus {
1839 outline: none;
1840}
1841
1842
1843/*********************************************
JJ Allaireefa6ad42016-01-30 13:12:05 -05001844 * ZOOM PLUGIN
1845 *********************************************/
1846
1847.zoomed .reveal *,
1848.zoomed .reveal *:before,
1849.zoomed .reveal *:after {
1850 backface-visibility: visible !important;
1851}
1852
1853.zoomed .reveal .progress,
1854.zoomed .reveal .controls {
1855 opacity: 0;
1856}
1857
1858.zoomed .reveal .roll span {
1859 background: none;
1860}
1861
1862.zoomed .reveal .roll span:after {
1863 visibility: hidden;
1864}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001865
1866
1867/*********************************************
1868 * PRINT STYLES
1869 *********************************************/
1870
1871@import 'print/pdf.scss';
1872@import 'print/paper.scss';
1873