Skip to content
Snippets Groups Projects
reveal.scss 36.4 KiB
Newer Older
/*!
 * reveal.js
 * http://lab.hakim.se/reveal-js
 * MIT licensed
 *
 * Copyright (C) 2014 Hakim El Hattab, http://hakim.se
 */


/*********************************************
 * RESET STYLES
 *********************************************/

html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe,
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre,
.reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code,
.reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp,
.reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var,
Yves Delley's avatar
Yves Delley committed
.reveal b, .reveal u, .reveal center,
.reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li,
.reveal fieldset, .reveal form, .reveal label, .reveal legend,
.reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td,
.reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed,
.reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup,
.reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary,
.reveal time, .reveal mark, .reveal audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

.reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure,
.reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section {
	display: block;
}


/*********************************************
 * GLOBAL STYLES
 *********************************************/

html,
body {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

body {
	position: relative;
	line-height: 1;
Yves Delley's avatar
Yves Delley committed

	background-color: #fff;
	color: #000;
::-moz-selection {
	background: #FF5E99;
	color: #fff;
	text-shadow: none;
}

::selection {
	background: #FF5E99;
	color: #fff;
	text-shadow: none;
}


/*********************************************
 * VIEW FRAGMENTS
 *********************************************/

.reveal .slides section .fragment {
	opacity: 0;
Yves Delley's avatar
Yves Delley committed
	visibility: hidden;
Yves Delley's avatar
Yves Delley committed
		visibility: visible;

.reveal .slides section .fragment.grow {
	opacity: 1;
Yves Delley's avatar
Yves Delley committed
	visibility: visible;

.reveal .slides section .fragment.shrink {
	opacity: 1;
Yves Delley's avatar
Yves Delley committed
	visibility: visible;

.reveal .slides section .fragment.zoom-in {
	&.visible {

.reveal .slides section .fragment.roll-in {

.reveal .slides section .fragment.fade-out {
	opacity: 1;
Yves Delley's avatar
Yves Delley committed
	visibility: visible;
Yves Delley's avatar
Yves Delley committed
		visibility: hidden;

.reveal .slides section .fragment.semi-fade-out {
	opacity: 1;
Yves Delley's avatar
Yves Delley committed
	visibility: visible;
Yves Delley's avatar
Yves Delley committed
		visibility: visible;
}

.reveal .slides section .fragment.strike {
	opacity: 1;

	&.visible {
		text-decoration: line-through;
	}
}

.reveal .slides section .fragment.current-visible {
Yves Delley's avatar
Yves Delley committed
	opacity: 0;
	visibility: hidden;

	&.current-fragment {
Yves Delley's avatar
Yves Delley committed
		opacity: 1;
		visibility: visible;
	}

.reveal .slides section .fragment.highlight-red,
.reveal .slides section .fragment.highlight-current-red,
.reveal .slides section .fragment.highlight-green,
.reveal .slides section .fragment.highlight-current-green,
.reveal .slides section .fragment.highlight-blue,
.reveal .slides section .fragment.highlight-current-blue {
	opacity: 1;
Yves Delley's avatar
Yves Delley committed
	visibility: visible;
}
	.reveal .slides section .fragment.highlight-red.visible {
		color: #ff2c2d
	}
	.reveal .slides section .fragment.highlight-green.visible {
		color: #17ff2e;
	}
	.reveal .slides section .fragment.highlight-blue.visible {
		color: #1b91ff;
	}

.reveal .slides section .fragment.highlight-current-red.current-fragment {
	color: #ff2c2d
}
.reveal .slides section .fragment.highlight-current-green.current-fragment {
	color: #17ff2e;
}
.reveal .slides section .fragment.highlight-current-blue.current-fragment {
	color: #1b91ff;
}


/*********************************************
 * DEFAULT ELEMENT STYLES
 *********************************************/

/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */
.reveal:after {
  content: '';
  font-style: italic;
}

.reveal iframe {
	z-index: 1;
}

/** Prevents layering issues in certain browser/transition combinations */
.reveal a {
	position: relative;
}

Yves Delley's avatar
Yves Delley committed
.reveal .stretch {
	max-width: none;
	max-height: none;
}

.reveal pre.stretch code {
	height: 100%;
	max-height: 100%;
}


/*********************************************
 * CONTROLS
 *********************************************/

.reveal .controls {
	display: none;
	position: fixed;
	width: 110px;
	height: 110px;
	z-index: 30;
	right: 10px;
	bottom: 10px;
Yves Delley's avatar
Yves Delley committed

	-webkit-user-select: none;
}

.reveal .controls div {
	position: absolute;
	opacity: 0.05;
	width: 0;
	height: 0;
	border: 12px solid transparent;
	transform: scale(.9999);
	transition: all 0.2s ease;
Yves Delley's avatar
Yves Delley committed
	-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
}

.reveal .controls div.enabled {
	opacity: 0.7;
	cursor: pointer;
}

.reveal .controls div.enabled:active {
	margin-top: 1px;
}

	.reveal .controls div.navigate-left {
		top: 42px;

		border-right-width: 22px;
Yves Delley's avatar
Yves Delley committed
		border-right-color: #000;
	}
		.reveal .controls div.navigate-left.fragmented {
			opacity: 0.3;
		}

	.reveal .controls div.navigate-right {
		left: 74px;
		top: 42px;

		border-left-width: 22px;
Yves Delley's avatar
Yves Delley committed
		border-left-color: #000;
	}
		.reveal .controls div.navigate-right.fragmented {
			opacity: 0.3;
		}

	.reveal .controls div.navigate-up {
		left: 42px;

		border-bottom-width: 22px;
Yves Delley's avatar
Yves Delley committed
		border-bottom-color: #000;
	}
		.reveal .controls div.navigate-up.fragmented {
			opacity: 0.3;
		}

	.reveal .controls div.navigate-down {
		left: 42px;
		top: 74px;

		border-top-width: 22px;
Yves Delley's avatar
Yves Delley committed
		border-top-color: #000;
	}
		.reveal .controls div.navigate-down.fragmented {
			opacity: 0.3;
		}


/*********************************************
 * PROGRESS BAR
 *********************************************/

.reveal .progress {
	position: fixed;
	display: none;
	height: 3px;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 10;
Yves Delley's avatar
Yves Delley committed

	background-color: rgba( 0, 0, 0, 0.2 );
}
	.reveal .progress:after {
		content: '';
Yves Delley's avatar
Yves Delley committed
		display: block;
		position: absolute;
		height: 20px;
		width: 100%;
		top: -20px;
	}
	.reveal .progress span {
		display: block;
		height: 100%;
		width: 0px;
Yves Delley's avatar
Yves Delley committed

		background-color: #000;
		transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
	}

/*********************************************
 * SLIDE NUMBER
 *********************************************/

.reveal .slide-number {
	position: fixed;
	display: block;
	right: 15px;
	bottom: 15px;
	opacity: 0.5;
	z-index: 31;
	font-size: 12px;
}

/*********************************************
 * SLIDES
 *********************************************/

.reveal {
	position: relative;
	width: 100%;
	height: 100%;
Yves Delley's avatar
Yves Delley committed
	touch-action: none;
}

.reveal .slides {
	position: absolute;
	width: 100%;
	height: 100%;
Yves Delley's avatar
Yves Delley committed
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;

	overflow: visible;
	z-index: 1;
	text-align: center;
	perspective: 600px;
	perspective-origin: 50% 40%;
}

.reveal .slides>section {
	-ms-perspective: 600px;
}

.reveal .slides>section,
.reveal .slides>section>section {
	display: none;
	position: absolute;
	width: 100%;
	padding: 20px 0px;

	z-index: 10;
	transform-style: preserve-3d;
	transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
				transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
				visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
				opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
}

/* Global transition speed settings */
.reveal[data-transition-speed="fast"] .slides section {
}
.reveal[data-transition-speed="slow"] .slides section {
}

/* Slide-specific transition speed overrides */
.reveal .slides section[data-transition-speed="fast"] {
}
.reveal .slides section[data-transition-speed="slow"] {
}

.reveal .slides>section.stack {
	padding-top: 0;
	padding-bottom: 0;
}

.reveal .slides>section.present,
.reveal .slides>section>section.present {
	display: block;
	z-index: 11;
	opacity: 1;
}

.reveal.center,
.reveal.center .slides,
.reveal.center .slides section {
	min-height: 0 !important;
}

/* Don't allow interaction with invisible slides */
.reveal .slides>section.future,
.reveal .slides>section>section.future,
.reveal .slides>section.past,
.reveal .slides>section>section.past {
	pointer-events: none;
}

.reveal.overview .slides>section,
.reveal.overview .slides>section>section {
	pointer-events: auto;
}

Yves Delley's avatar
Yves Delley committed
.reveal .slides>section.past,
.reveal .slides>section.future,
.reveal .slides>section>section.past,
.reveal .slides>section>section.future {
	opacity: 0;
}


/*********************************************
Yves Delley's avatar
Yves Delley committed
 * SLIDE TRANSITION
 * Aliased 'linear' for backwards compatibility
 *********************************************/

.reveal.slide section,
.reveal.linear section {
	backface-visibility: hidden;
Yves Delley's avatar
Yves Delley committed
}

.reveal .slides>section[data-transition=slide].past,
.reveal.slide .slides>section:not([data-transition]).past,
.reveal .slides>section[data-transition=linear].past,
.reveal.linear .slides>section:not([data-transition]).past {
	transform: translate(-150%, 0);
}
.reveal .slides>section[data-transition=slide].future,
.reveal.slide .slides>section:not([data-transition]).future,
.reveal .slides>section[data-transition=linear].future,
.reveal.linear .slides>section:not([data-transition]).future {
	transform: translate(150%, 0);
}

.reveal .slides>section>section[data-transition=slide].past,
.reveal.slide .slides>section>section:not([data-transition]).past,
.reveal .slides>section>section[data-transition=linear].past,
.reveal.linear .slides>section>section:not([data-transition]).past {
	transform: translate(0, -150%);
}
.reveal .slides>section>section[data-transition=slide].future,
.reveal.slide .slides>section>section:not([data-transition]).future,
.reveal .slides>section>section[data-transition=linear].future,
.reveal.linear .slides>section>section:not([data-transition]).future {
	transform: translate(0, 150%);
}


/*********************************************
 * CONVEX TRANSITION
 * Aliased 'default' for backwards compatibility
 *********************************************/

.reveal .slides>section[data-transition=default].past,
Yves Delley's avatar
Yves Delley committed
.reveal.default .slides>section:not([data-transition]).past,
.reveal .slides>section[data-transition=convex].past,
.reveal.convex .slides>section:not([data-transition]).past {
	transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
}
.reveal .slides>section[data-transition=default].future,
Yves Delley's avatar
Yves Delley committed
.reveal.default .slides>section:not([data-transition]).future,
.reveal .slides>section[data-transition=convex].future,
.reveal.convex .slides>section:not([data-transition]).future {
	transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}

.reveal .slides>section>section[data-transition=default].past,
Yves Delley's avatar
Yves Delley committed
.reveal.default .slides>section>section:not([data-transition]).past,
.reveal .slides>section>section[data-transition=convex].past,
.reveal.convex .slides>section>section:not([data-transition]).past {
	transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
}
.reveal .slides>section>section[data-transition=default].future,
Yves Delley's avatar
Yves Delley committed
.reveal.default .slides>section>section:not([data-transition]).future,
.reveal .slides>section>section[data-transition=convex].future,
.reveal.convex .slides>section>section:not([data-transition]).future {
	transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
}


/*********************************************
 * CONCAVE TRANSITION
 *********************************************/

.reveal .slides>section[data-transition=concave].past,
Yves Delley's avatar
Yves Delley committed
.reveal.concave .slides>section:not([data-transition]).past {
	transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
}
.reveal .slides>section[data-transition=concave].future,
Yves Delley's avatar
Yves Delley committed
.reveal.concave .slides>section:not([data-transition]).future {
	transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
}

.reveal .slides>section>section[data-transition=concave].past,
Yves Delley's avatar
Yves Delley committed
.reveal.concave .slides>section>section:not([data-transition]).past {
	transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
}
.reveal .slides>section>section[data-transition=concave].future,
Yves Delley's avatar
Yves Delley committed
.reveal.concave .slides>section>section:not([data-transition]).future {
	transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
}


/*********************************************
 * ZOOM TRANSITION
 *********************************************/

.reveal .slides>section[data-transition=zoom],
Yves Delley's avatar
Yves Delley committed
.reveal.zoom .slides>section:not([data-transition]) {
}

.reveal .slides>section[data-transition=zoom].past,
Yves Delley's avatar
Yves Delley committed
.reveal.zoom .slides>section:not([data-transition]).past {
	visibility: hidden;
}
.reveal .slides>section[data-transition=zoom].future,
Yves Delley's avatar
Yves Delley committed
.reveal.zoom .slides>section:not([data-transition]).future {
	visibility: hidden;
}

.reveal .slides>section>section[data-transition=zoom].past,
Yves Delley's avatar
Yves Delley committed
.reveal.zoom .slides>section>section:not([data-transition]).past {
}
.reveal .slides>section>section[data-transition=zoom].future,
Yves Delley's avatar
Yves Delley committed
.reveal.zoom .slides>section>section:not([data-transition]).future {
}


/*********************************************
 * CUBE TRANSITION
 *********************************************/

.reveal.cube .slides {
	perspective: 1300px;
}

.reveal.cube .slides section {
	padding: 30px;
	min-height: 700px;
	backface-visibility: hidden;
}
	.reveal.center.cube .slides section {
	}
	.reveal.cube .slides section:not(.stack):before {
		content: '';
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background: rgba(0,0,0,0.1);
		border-radius: 4px;
	}
	.reveal.cube .slides section:not(.stack):after {
		content: '';
		position: absolute;
		display: block;
		width: 90%;
		height: 30px;
		left: 5%;
		bottom: 0;
		background: none;
		z-index: 1;

		border-radius: 4px;
		box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
		transform: translateZ(-90px) rotateX( 65deg );
	}

.reveal.cube .slides>section.stack {
	padding: 0;
	background: none;
}

.reveal.cube .slides>section.past {
	transform-origin: 100% 0%;
	transform: translate3d(-100%, 0, 0) rotateY(-90deg);
}

.reveal.cube .slides>section.future {
	transform-origin: 0% 0%;
	transform: translate3d(100%, 0, 0) rotateY(90deg);
}

.reveal.cube .slides>section>section.past {
	transform-origin: 0% 100%;
	transform: translate3d(0, -100%, 0) rotateX(90deg);
}

.reveal.cube .slides>section>section.future {
	transform-origin: 0% 0%;
	transform: translate3d(0, 100%, 0) rotateX(-90deg);
}


/*********************************************
 * PAGE TRANSITION
 *********************************************/

.reveal.page .slides {
	perspective-origin: 0% 50%;
	perspective: 3000px;
}

.reveal.page .slides section {
	padding: 30px;
	min-height: 700px;
}
	.reveal.page .slides section.past {
		z-index: 12;
	}
	.reveal.page .slides section:not(.stack):before {
		content: '';
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background: rgba(0,0,0,0.1);
	}
	.reveal.page .slides section:not(.stack):after {
		content: '';
		position: absolute;
		display: block;
		width: 90%;
		height: 30px;
		left: 5%;
		bottom: 0;
		background: none;
		z-index: 1;

		border-radius: 4px;
		box-shadow: 0px 95px 25px rgba(0,0,0,0.2);

		-webkit-transform: translateZ(-90px) rotateX( 65deg );
	}

.reveal.page .slides>section.stack {
	padding: 0;
	background: none;
}

.reveal.page .slides>section.past {
	transform-origin: 0% 0%;
	transform: translate3d(-40%, 0, 0) rotateY(-80deg);
}

.reveal.page .slides>section.future {
	transform-origin: 100% 0%;
	transform: translate3d(0, 0, 0);
}

.reveal.page .slides>section>section.past {
	transform-origin: 0% 0%;
	transform: translate3d(0, -40%, 0) rotateX(80deg);
}

.reveal.page .slides>section>section.future {
	transform-origin: 0% 100%;
	transform: translate3d(0, 0, 0);
}


/*********************************************
 * FADE TRANSITION
 *********************************************/

.reveal .slides section[data-transition=fade],
Yves Delley's avatar
Yves Delley committed
.reveal.fade .slides section:not([data-transition]),
.reveal.fade .slides>section>section:not([data-transition]) {
}


.reveal.fade.overview .slides section,
Yves Delley's avatar
Yves Delley committed
.reveal.fade.overview .slides>section>section {
}


/*********************************************
 * NO TRANSITION
 *********************************************/

.reveal .slides section[data-transition=none],
Yves Delley's avatar
Yves Delley committed
.reveal.none .slides section:not([data-transition]) {
}


/*********************************************
 * OVERVIEW
 *********************************************/

.reveal.overview .slides {
	perspective-origin: 50% 50%;
	perspective: 700px;
}

.reveal.overview .slides section {
Yves Delley's avatar
Yves Delley committed
	height: 700px;
	overflow: hidden;
	opacity: 1 !important;
	visibility: visible !important;
	cursor: pointer;
	background: rgba(0,0,0,0.1);
Yves Delley's avatar
Yves Delley committed
	box-sizing: border-box;
}
.reveal.overview .slides section,
.reveal.overview-deactivating .slides section {
	transition: none !important;
}
.reveal.overview .slides section .fragment {
	opacity: 1;
}
.reveal.overview .slides section:after,
.reveal.overview .slides section:before {
	display: none !important;
}
.reveal.overview .slides section>section {
	opacity: 1;
	cursor: pointer;
}
	.reveal.overview .slides section:hover {
		background: rgba(0,0,0,0.3);
	}
	.reveal.overview .slides section.present {
		background: rgba(0,0,0,0.3);
	}
.reveal.overview .slides>section.stack {
	padding: 0;
	top: 0 !important;
	background: none;
	overflow: visible;
}


/*********************************************
 * PAUSED MODE
 *********************************************/

.reveal .pause-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	visibility: hidden;
	opacity: 0;
	z-index: 100;
}
.reveal.paused .pause-overlay {
	visibility: visible;
	opacity: 1;
}


/*********************************************
 * FALLBACK
 *********************************************/

.no-transforms {
	overflow-y: auto;
}

.no-transforms .reveal .slides {
	position: relative;
	width: 80%;
	height: auto !important;
	top: 0;
	left: 50%;
	margin: 0;
	text-align: center;
}

.no-transforms .reveal .controls,
.no-transforms .reveal .progress {
	display: none !important;
}

.no-transforms .reveal .slides section {
	display: block !important;
	opacity: 1 !important;
	position: relative !important;
	height: auto;
	top: 0;
	left: -50%;
	margin: 70px 0;
}

.no-transforms .reveal .slides section section {
	left: 0;
}

.reveal .no-transition,
.reveal .no-transition * {
}


/*********************************************
 * BACKGROUND STATES [DEPRECATED]
 *********************************************/

.reveal .state-background {
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba( 0, 0, 0, 0 );
}
.alert .reveal .state-background {
	background: rgba( 200, 50, 30, 0.6 );
}
.soothe .reveal .state-background {
	background: rgba( 50, 200, 90, 0.4 );
}
.blackout .reveal .state-background {
	background: rgba( 0, 0, 0, 0.6 );
}
.whiteout .reveal .state-background {
	background: rgba( 255, 255, 255, 0.6 );
}
.cobalt .reveal .state-background {
	background: rgba( 22, 152, 213, 0.6 );
}
.mint .reveal .state-background {
	background: rgba( 22, 213, 75, 0.6 );
}
.submerge .reveal .state-background {
	background: rgba( 12, 25, 77, 0.6);
}
.lila .reveal .state-background {
	background: rgba( 180, 50, 140, 0.6 );
}
.sunset .reveal .state-background {
	background: rgba( 255, 122, 0, 0.6 );
}


/*********************************************
 * PER-SLIDE BACKGROUNDS
 *********************************************/

.reveal>.backgrounds {
	position: absolute;
	width: 100%;
	height: 100%;
Yves Delley's avatar
Yves Delley committed
	top: 0;
	left: 0;
	perspective: 600px;
}
	.reveal .slide-background {
Yves Delley's avatar
Yves Delley committed
		display: none;
		position: absolute;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;

		background-color: rgba( 0, 0, 0, 0 );
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: cover;
		transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
Yves Delley's avatar
Yves Delley committed

	.reveal .slide-background.stack {
		display: block;
	}

	.reveal .slide-background.present {
		opacity: 1;
		visibility: visible;
	}

	.print-pdf .reveal .slide-background {
		opacity: 1 !important;
		visibility: visible !important;
	}

Yves Delley's avatar
Yves Delley committed
/* Video backgrounds */
.reveal .slide-background video {
	position: absolute;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	top: 0;
	left: 0;
}

/* Immediate transition style */
.reveal[data-background-transition=none]>.backgrounds .slide-background,
.reveal>.backgrounds .slide-background[data-background-transition=none] {
Yves Delley's avatar
Yves Delley committed
/* Slide */
.reveal[data-background-transition=slide]>.backgrounds .slide-background,
.reveal>.backgrounds .slide-background[data-background-transition=slide] {
	opacity: 1;
	backface-visibility: hidden;
}
	.reveal[data-background-transition=slide]>.backgrounds .slide-background.past,
	.reveal>.backgrounds .slide-background.past[data-background-transition=slide] {
	}
	.reveal[data-background-transition=slide]>.backgrounds .slide-background.future,
	.reveal>.backgrounds .slide-background.future[data-background-transition=slide] {
	}

	.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,
	.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] {
	}
	.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,
	.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] {
	}


/* Convex */
.reveal[data-background-transition=convex]>.backgrounds .slide-background.past,
.reveal>.backgrounds .slide-background.past[data-background-transition=convex] {
	opacity: 0;
	transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
}
.reveal[data-background-transition=convex]>.backgrounds .slide-background.future,
.reveal>.backgrounds .slide-background.future[data-background-transition=convex] {
	opacity: 0;
	transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}

.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past,
.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] {
	opacity: 0;
	transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
}
.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future,
.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] {
	opacity: 0;
	transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
}


/* Concave */
.reveal[data-background-transition=concave]>.backgrounds .slide-background.past,
.reveal>.backgrounds .slide-background.past[data-background-transition=concave] {
	opacity: 0;
	transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
}
.reveal[data-background-transition=concave]>.backgrounds .slide-background.future,
.reveal>.backgrounds .slide-background.future[data-background-transition=concave] {
	opacity: 0;
	transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
}

.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past,
.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] {
	opacity: 0;
	transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
}
.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future,
.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] {
	opacity: 0;
	transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
}

/* Zoom */
.reveal[data-background-transition=zoom]>.backgrounds .slide-background,
.reveal>.backgrounds .slide-background[data-background-transition=zoom] {
}

.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past,
.reveal>.backgrounds .slide-background.past[data-background-transition=zoom] {
	opacity: 0;
	visibility: hidden;
}
.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future,
.reveal>.backgrounds .slide-background.future[data-background-transition=zoom] {
	opacity: 0;
	visibility: hidden;
}

.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past,
.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] {
	opacity: 0;
		visibility: hidden;
}
.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future,
.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] {
	opacity: 0;
	visibility: hidden;
}


/* Global transition speed settings */
.reveal[data-transition-speed="fast"]>.backgrounds .slide-background {
}
.reveal[data-transition-speed="slow"]>.backgrounds .slide-background {
}


/*********************************************
 * RTL SUPPORT
 *********************************************/

.reveal.rtl .slides,
.reveal.rtl .slides h1,
.reveal.rtl .slides h2,
.reveal.rtl .slides h3,
.reveal.rtl .slides h4,
.reveal.rtl .slides h5,
.reveal.rtl .slides h6 {
	direction: rtl;
	font-family: sans-serif;
}

.reveal.rtl pre,
.reveal.rtl code {
	direction: ltr;
}

.reveal.rtl ol,
.reveal.rtl ul {
	text-align: right;
}

.reveal.rtl .progress span {
	float: right
}

/*********************************************
 * PARALLAX BACKGROUND
 *********************************************/

.reveal.has-parallax-background .backgrounds {
}

/* Global transition speed settings */
.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds {
}
.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds {
}


/*********************************************
 * LINK PREVIEW OVERLAY
 *********************************************/

Yves Delley's avatar
Yves Delley committed
.reveal .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	background: rgba( 0, 0, 0, 0.9 );
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}
	.reveal .overlay.visible {
		opacity: 1;
		visibility: visible;
	}

	.reveal .overlay .spinner {
		position: absolute;
		display: block;
		top: 50%;
		left: 50%;
		width: 32px;
		height: 32px;
		margin: -16px 0 0 -16px;
		z-index: 10;
		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);

		visibility: visible;
		opacity: 0.6;
		transition: all 0.3s ease;
	}

	.reveal .overlay header {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 40px;
		z-index: 2;
		border-bottom: 1px solid #222;
	}
		.reveal .overlay header a {
			display: inline-block;
			width: 40px;
			height: 40px;
			padding: 0 10px;
			float: right;
			opacity: 0.6;

			box-sizing: border-box;
		}
			.reveal .overlay header a:hover {
				opacity: 1;
			}
			.reveal .overlay header a .icon {
				display: inline-block;
				width: 20px;
				height: 20px;

				background-position: 50% 50%;
				background-size: 100%;
				background-repeat: no-repeat;
			}
			.reveal .overlay header a.close .icon {
				background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
			}
			.reveal .overlay header a.external .icon {
				background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
			}

	.reveal .overlay .viewport {
		position: absolute;
		top: 40px;
		right: 0;
		bottom: 0;
		left: 0;
	}

	.reveal .overlay.overlay-preview .viewport iframe {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		border: 0;

		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
	}

	.reveal .overlay.overlay-preview.loaded .viewport iframe {
		opacity: 1;
		visibility: visible;
	}

	.reveal .overlay.overlay-preview.loaded .spinner {
		opacity: 0;
		visibility: hidden;
		transform: scale(0.2);
	}

	.reveal .overlay.overlay-help .viewport {
		overflow: auto;
		color: #fff;
	}

	.reveal .overlay.overlay-help .viewport .viewport-inner {
		width: 600px;
		margin: 0 auto;
		padding: 60px;
		text-align: center;
		letter-spacing: normal;
	}

	.reveal .overlay.overlay-help .viewport .viewport-inner .title {
		font-size: 20px;
	}

	.reveal .overlay.overlay-help .viewport .viewport-inner table {
		border: 1px solid #fff;
		border-collapse: collapse;
		font-size: 14px;
	}

	.reveal .overlay.overlay-help .viewport .viewport-inner table th,
	.reveal .overlay.overlay-help .viewport .viewport-inner table td {
		width: 200px;
		padding: 10px;
		border: 1px solid #fff;
		vertical-align: middle;
	}

	.reveal .overlay.overlay-help .viewport .viewport-inner table th {
		padding-top: 20px;
		padding-bottom: 20px;
	}



/*********************************************
 * PLAYBACK COMPONENT
 *********************************************/

.reveal .playback {
	position: fixed;
	left: 15px;
	bottom: 15px;
	z-index: 30;
	cursor: pointer;
}

.reveal.overview .playback {
	opacity: 0;
	visibility: hidden;
}


/*********************************************
 * ROLLING LINKS
 *********************************************/

.reveal .roll {
	display: inline-block;
	line-height: 1.2;
	overflow: hidden;

	vertical-align: top;
	perspective: 400px;
	perspective-origin: 50% 50%;
}
	.reveal .roll:hover {
		background: none;
		text-shadow: none;
	}
.reveal .roll span {
	display: block;
	position: relative;
	padding: 0 2px;

	pointer-events: none;
	transition: all 400ms ease;
	transform-origin: 50% 0%;
	transform-style: preserve-3d;
}
	.reveal .roll:hover span {
	    background: rgba(0,0,0,0.5);
	    transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
	}
.reveal .roll span:after {
	content: attr(data-title);

	display: block;
	position: absolute;
	left: 0;
	top: 0;
	padding: 0 2px;
	backface-visibility: hidden;
	transform-origin: 50% 0%;
	transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
}


/*********************************************
 * SPEAKER NOTES
 *********************************************/

.reveal aside.notes {
	display: none;
}


/*********************************************
 * ZOOM PLUGIN
 *********************************************/

.zoomed .reveal *,
.zoomed .reveal *:before,
.zoomed .reveal *:after {
	backface-visibility: visible !important;
}

.zoomed .reveal .progress,
.zoomed .reveal .controls {
	opacity: 0;
}

.zoomed .reveal .roll span {
	background: none;
}

.zoomed .reveal .roll span:after {
	visibility: hidden;
}