5 * http://lab.hakim.se/reveal-js
8 * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
12 /*********************************************
14 *********************************************/
16 html, body, div, span, applet, object, iframe,
17 h1, h2, h3, h4, h5, h6, p, blockquote, pre,
18 a, abbr, acronym, address, big, cite, code,
19 del, dfn, em, img, ins, kbd, q, s, samp,
20 small, strike, strong, sub, sup, tt, var,
22 dl, dt, dd, ol, ul, li,
23 fieldset, form, label, legend,
24 table, caption, tbody, tfoot, thead, tr, th, td,
25 article, aside, canvas, details, embed,
26 figure, figcaption, footer, header, hgroup,
27 menu, nav, output, ruby, section, summary,
28 time, mark, audio, video {
34 vertical-align: baseline;
37 article, aside, details, figcaption, figure,
38 footer, header, hgroup, menu, nav, section {
43 /*********************************************
45 *********************************************/
62 @media screen and (max-width: 900px) {
74 /*********************************************
76 *********************************************/
78 .reveal h1 { font-size: 3.77em; }
79 .reveal h2 { font-size: 2.11em; }
80 .reveal h3 { font-size: 1.55em; }
81 .reveal h4 { font-size: 1em; }
84 /*********************************************
86 *********************************************/
88 .reveal .slides section .fragment {
91 -webkit-transition: all .2s ease;
92 -moz-transition: all .2s ease;
93 -ms-transition: all .2s ease;
94 -o-transition: all .2s ease;
95 transition: all .2s ease;
97 .reveal .slides section .fragment.visible {
102 /*********************************************
103 * DEFAULT ELEMENT STYLES
104 *********************************************/
106 .reveal .slides section {
112 /* preserve aspect ratio and scale image so it's bound within the section */
129 display: inline-block;
136 list-style-type: decimal;
140 list-style-type: disc;
144 list-style-type: square;
148 list-style-type: circle;
177 background: rgba(255, 255, 255, 0.05);
178 box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
180 .reveal blockquote:before {
183 .reveal blockquote:after {
205 font-family: monospace;
208 word-wrap: break-word;
210 box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
214 font-family: monospace;
226 text-shadow: rgb(255,255,255) 1px 1px 2px;
230 vertical-align: super;
237 display: inline-block;
248 /*********************************************
250 *********************************************/
263 .reveal .controls a {
269 .reveal .controls a.enabled {
272 .reveal .controls a.enabled:active {
276 .reveal .controls .left {
280 .reveal .controls .right {
285 .reveal .controls .up {
289 .reveal .controls .down {
295 /*********************************************
297 *********************************************/
308 .reveal .progress span {
313 -webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
314 -moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
315 -ms-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
316 -o-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
317 transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
321 /*********************************************
323 *********************************************/
326 display: inline-block;
332 -webkit-perspective: 400px;
333 -moz-perspective: 400px;
334 -ms-perspective: 400px;
337 -webkit-perspective-origin: 50% 50%;
338 -moz-perspective-origin: 50% 50%;
339 -ms-perspective-origin: 50% 50%;
340 perspective-origin: 50% 50%;
342 .reveal .roll:hover {
351 pointer-events: none;
353 -webkit-transition: all 400ms ease;
354 -moz-transition: all 400ms ease;
355 -ms-transition: all 400ms ease;
356 transition: all 400ms ease;
358 -webkit-transform-origin: 50% 0%;
359 -moz-transform-origin: 50% 0%;
360 -ms-transform-origin: 50% 0%;
361 transform-origin: 50% 0%;
363 -webkit-transform-style: preserve-3d;
364 -moz-transform-style: preserve-3d;
365 -ms-transform-style: preserve-3d;
366 transform-style: preserve-3d;
368 -webkit-backface-visibility: hidden;
369 -moz-backface-visibility: hidden;
370 backface-visibility: hidden;
372 .reveal .roll:hover span {
373 background: rgba(0,0,0,0.5);
375 -webkit-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
376 -moz-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
377 -ms-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
378 transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
380 .reveal .roll span:after {
381 content: attr(data-title);
389 -webkit-transform-origin: 50% 0%;
390 -moz-transform-origin: 50% 0%;
391 -ms-transform-origin: 50% 0%;
392 transform-origin: 50% 0%;
394 -webkit-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
395 -moz-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
396 -ms-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
397 transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
401 /*********************************************
403 *********************************************/
418 -webkit-transition: -webkit-perspective .4s ease;
419 -moz-transition: -moz-perspective .4s ease;
420 -ms-transition: -ms-perspective .4s ease;
421 -o-transition: -o-perspective .4s ease;
422 transition: perspective .4s ease;
424 -webkit-perspective: 600px;
425 -moz-perspective: 600px;
426 -ms-perspective: 600px;
429 -webkit-perspective-origin: 0% 25%;
430 -moz-perspective-origin: 0% 25%;
431 -ms-perspective-origin: 0% 25%;
432 perspective-origin: 0% 25%;
435 .reveal .slides>section,
436 .reveal .slides>section>section {
444 -webkit-transform-style: preserve-3d;
445 -moz-transform-style: preserve-3d;
446 -ms-transform-style: preserve-3d;
447 transform-style: preserve-3d;
449 -webkit-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
450 -moz-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
451 -ms-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
452 -o-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
453 transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
456 .reveal .slides>section.present {
462 .reveal .slides>section {
467 /*********************************************
469 *********************************************/
471 .reveal .slides>section.past {
475 -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
476 -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
477 -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
478 transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
480 .reveal .slides>section.future {
484 -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
485 -moz-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
486 -ms-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
487 transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
490 .reveal .slides>section>section.past {
494 -webkit-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
495 -moz-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
496 -ms-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
497 transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
499 .reveal .slides>section>section.future {
503 -webkit-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
504 -moz-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
505 -ms-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
506 transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
510 /*********************************************
512 *********************************************/
514 .reveal.concave .slides>section.past {
515 -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
516 -moz-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
517 -ms-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
518 transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
520 .reveal.concave .slides>section.future {
521 -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
522 -moz-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
523 -ms-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
524 transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
527 .reveal.concave .slides>section>section.past {
528 -webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
529 -moz-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
530 -ms-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
531 transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
533 .reveal.concave .slides>section>section.future {
534 -webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
535 -moz-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
536 -ms-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
537 transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
541 /*********************************************
543 *********************************************/
545 .reveal.linear .slides>section.past {
546 -webkit-transform: translate(-150%, 0);
547 -moz-transform: translate(-150%, 0);
548 -ms-transform: translate(-150%, 0);
549 -o-transform: translate(-150%, 0);
550 transform: translate(-150%, 0);
552 .reveal.linear .slides>section.future {
553 -webkit-transform: translate(150%, 0);
554 -moz-transform: translate(150%, 0);
555 -ms-transform: translate(150%, 0);
556 -o-transform: translate(150%, 0);
557 transform: translate(150%, 0);
560 .reveal.linear .slides>section>section.past {
561 -webkit-transform: translate(0, -150%);
562 -moz-transform: translate(0, -150%);
563 -ms-transform: translate(0, -150%);
564 -o-transform: translate(0, -150%);
565 transform: translate(0, -150%);
567 .reveal.linear .slides>section>section.future {
568 -webkit-transform: translate(0, 150%);
569 -moz-transform: translate(0, 150%);
570 -ms-transform: translate(0, 150%);
571 -o-transform: translate(0, 150%);
572 transform: translate(0, 150%);
576 /*********************************************
578 *********************************************/
580 .reveal.cube .slides {
583 -webkit-perspective-origin: 50% 25%;
584 -moz-perspective-origin: 50% 25%;
585 -ms-perspective-origin: 50% 25%;
586 perspective-origin: 50% 25%;
588 -webkit-perspective: 1300px;
589 -moz-perspective: 1300px;
590 -ms-perspective: 1300px;
594 .reveal.cube .slides section {
597 -webkit-backface-visibility: hidden;
598 -moz-backface-visibility: hidden;
599 -ms-backface-visibility: hidden;
600 backface-visibility: hidden;
602 -webkit-box-sizing: border-box;
603 -moz-box-sizing: border-box;
604 box-sizing: border-box;
606 .reveal.cube .slides section:not(.stack):before {
617 -webkit-transform: translateZ( -20px );
618 -moz-transform: translateZ( -20px );
619 -ms-transform: translateZ( -20px );
620 -o-transform: translateZ( -20px );
621 transform: translateZ( -20px );
623 .reveal.cube .slides section:not(.stack):after {
635 box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
637 -webkit-transform: translateZ(-90px) rotateX( 65deg );
638 -moz-transform: translateZ(-90px) rotateX( 65deg );
639 -ms-transform: translateZ(-90px) rotateX( 65deg );
640 -o-transform: translateZ(-90px) rotateX( 65deg );
641 transform: translateZ(-90px) rotateX( 65deg );
644 .reveal.cube .slides>section.stack {
649 .reveal.cube .slides>section.past {
650 -webkit-transform-origin: 100% 0%;
651 -moz-transform-origin: 100% 0%;
652 -ms-transform-origin: 100% 0%;
653 transform-origin: 100% 0%;
655 -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
656 -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
657 -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
658 transform: translate3d(-100%, 0, 0) rotateY(-90deg);
661 .reveal.cube .slides>section.future {
662 -webkit-transform-origin: 0% 0%;
663 -moz-transform-origin: 0% 0%;
664 -ms-transform-origin: 0% 0%;
665 transform-origin: 0% 0%;
667 -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg);
668 -moz-transform: translate3d(100%, 0, 0) rotateY(90deg);
669 -ms-transform: translate3d(100%, 0, 0) rotateY(90deg);
670 transform: translate3d(100%, 0, 0) rotateY(90deg);
673 .reveal.cube .slides>section>section.past {
674 -webkit-transform-origin: 0% 100%;
675 -moz-transform-origin: 0% 100%;
676 -ms-transform-origin: 0% 100%;
677 transform-origin: 0% 100%;
679 -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg);
680 -moz-transform: translate3d(0, -100%, 0) rotateX(90deg);
681 -ms-transform: translate3d(0, -100%, 0) rotateX(90deg);
682 transform: translate3d(0, -100%, 0) rotateX(90deg);
685 .reveal.cube .slides>section>section.future {
686 -webkit-transform-origin: 0% 0%;
687 -moz-transform-origin: 0% 0%;
688 -ms-transform-origin: 0% 0%;
689 transform-origin: 0% 0%;
691 -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg);
692 -moz-transform: translate3d(0, 100%, 0) rotateX(-90deg);
693 -ms-transform: translate3d(0, 100%, 0) rotateX(-90deg);
694 transform: translate3d(0, 100%, 0) rotateX(-90deg);
698 /*********************************************
700 *********************************************/
702 .reveal.page .slides {
705 -webkit-perspective-origin: 50% 50%;
706 -moz-perspective-origin: 50% 50%;
707 -ms-perspective-origin: 50% 50%;
708 perspective-origin: 50% 50%;
710 -webkit-perspective: 3000px;
711 -moz-perspective: 3000px;
712 -ms-perspective: 3000px;
716 .reveal.page .slides section {
719 -webkit-box-sizing: border-box;
720 -moz-box-sizing: border-box;
721 box-sizing: border-box;
723 .reveal.page .slides section.past {
726 .reveal.page .slides section:not(.stack):before {
734 background: rgba(0,0,0,0.2);
736 -webkit-transform: translateZ( -20px );
737 -moz-transform: translateZ( -20px );
738 -ms-transform: translateZ( -20px );
739 -o-transform: translateZ( -20px );
740 transform: translateZ( -20px );
742 .reveal.page .slides section:not(.stack):after {
754 box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
756 -webkit-transform: translateZ(-90px) rotateX( 65deg );
759 .reveal.page .slides>section.stack {
764 .reveal.page .slides>section.past {
765 -webkit-transform-origin: 0% 0%;
766 -moz-transform-origin: 0% 0%;
767 -ms-transform-origin: 0% 0%;
768 transform-origin: 0% 0%;
770 -webkit-transform: translate3d(-40%, 0, 0) rotateY(-80deg);
771 -moz-transform: translate3d(-40%, 0, 0) rotateY(-80deg);
772 -ms-transform: translate3d(-40%, 0, 0) rotateY(-80deg);
773 transform: translate3d(-40%, 0, 0) rotateY(-80deg);
776 .reveal.page .slides>section.future {
777 -webkit-transform-origin: 100% 0%;
778 -moz-transform-origin: 100% 0%;
779 -ms-transform-origin: 100% 0%;
780 transform-origin: 100% 0%;
782 -webkit-transform: translate3d(0, 0, 0);
783 -moz-transform: translate3d(0, 0, 0);
784 -ms-transform: translate3d(0, 0, 0);
785 transform: translate3d(0, 0, 0);
788 .reveal.page .slides>section>section.past {
789 -webkit-transform-origin: 0% 0%;
790 -moz-transform-origin: 0% 0%;
791 -ms-transform-origin: 0% 0%;
792 transform-origin: 0% 0%;
794 -webkit-transform: translate3d(0, -40%, 0) rotateX(80deg);
795 -moz-transform: translate3d(0, -40%, 0) rotateX(80deg);
796 -ms-transform: translate3d(0, -40%, 0) rotateX(80deg);
797 transform: translate3d(0, -40%, 0) rotateX(80deg);
800 .reveal.page .slides>section>section.future {
801 -webkit-transform-origin: 0% 100%;
802 -moz-transform-origin: 0% 100%;
803 -ms-transform-origin: 0% 100%;
804 transform-origin: 0% 100%;
806 -webkit-transform: translate3d(0, 0, 0);
807 -moz-transform: translate3d(0, 0, 0);
808 -ms-transform: translate3d(0, 0, 0);
809 transform: translate3d(0, 0, 0);
813 /*********************************************
814 * TILE-FLIP TRANSITION (CSS shader)
815 *********************************************/
817 .reveal.tileflip .slides section.present {
818 -webkit-transform: none;
819 -webkit-transition-duration: 800ms;
821 -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg),
822 amount 0, randomness 0, flipAxis 0 1 0, tileOutline 1
826 .reveal.tileflip .slides section.past {
827 -webkit-transform: none;
828 -webkit-transition-duration: 800ms;
830 -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg),
831 amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1
835 .reveal.tileflip .slides section.future {
836 -webkit-transform: none;
837 -webkit-transition-duration: 800ms;
839 -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg),
840 amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1
844 .reveal.tileflip .slides>section>section.present {
845 -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg),
846 amount 0, randomness 2, flipAxis 1 0 0, tileOutline 1
850 .reveal.tileflip .slides>section>section.past {
851 -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg),
852 amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1
856 .reveal.tileflip .slides>section>section.future {
857 -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg),
858 amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1
863 /*********************************************
865 *********************************************/
867 .reveal.none .slides section {
868 -webkit-transform: none;
869 -moz-transform: none;
874 -webkit-transition: none;
875 -moz-transition: none;
876 -ms-transition: none;
882 /*********************************************
884 *********************************************/
886 .reveal.overview .slides {
887 -webkit-perspective: 700px;
888 -moz-perspective: 700px;
889 -ms-perspective: 700px;
893 .reveal.overview .slides section {
899 background: rgba(0,0,0,0.1);
901 .reveal.overview .slides section .fragment {
904 .reveal.overview .slides section:after,
905 .reveal.overview .slides section:before {
906 display: none !important;
908 .reveal.overview .slides section>section {
912 .reveal.overview .slides section:hover {
913 background: rgba(0,0,0,0.3);
916 .reveal.overview .slides section.present {
917 background: rgba(0,0,0,0.3);
919 .reveal.overview .slides>section.stack {
926 /*********************************************
928 *********************************************/
934 .no-transforms .slides section {
935 display: block!important;
936 opacity: 1!important;
937 position: relative!important;
940 margin-bottom: 100px;
942 -webkit-transform: none;
943 -moz-transform: none;
949 /*********************************************
951 *********************************************/
957 background: rgba( 0, 0, 0, 0 );
959 -webkit-transition: background 800ms ease;
960 -moz-transition: background 800ms ease;
961 -ms-transition: background 800ms ease;
962 -o-transition: background 800ms ease;
963 transition: background 800ms ease;
965 .alert .state-background {
966 background: rgba( 200, 50, 30, 0.6 );
968 .soothe .state-background {
969 background: rgba( 50, 200, 90, 0.4 );
971 .blackout .state-background {
972 background: rgba( 0, 0, 0, 0.6 );
976 /*********************************************
978 *********************************************/
980 .reveal aside.notes {