summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md5
-rw-r--r--css/reveal.css77
-rw-r--r--index.html1
-rw-r--r--js/reveal.js57
-rw-r--r--js/reveal.min.js151
5 files changed, 188 insertions, 103 deletions
diff --git a/README.md b/README.md
index 6457969..4cb15eb 100644
--- a/README.md
+++ b/README.md
@@ -71,6 +71,9 @@ Reveal.initialize({
// Enable the slide overview mode
overview: true,
+ // Vertical centering of slides
+ center: false,
+
// Loop the presentation
loop: false,
@@ -205,7 +208,7 @@ The default fragment style is to start out invisible and fade in. This style can
### Overview mode
-Just press "Esc" key to toggle on and off the overview mode. While you're in this mode, you still can navigate between slides,
+Press "Esc" key to toggle the overview mode on and off. While you're in this mode, you can still navigate between slides,
as if you were at 1,000 feet above your presentation.
### Fragment events
diff --git a/css/reveal.css b/css/reveal.css
index 412e8ec..5f6a023 100644
--- a/css/reveal.css
+++ b/css/reveal.css
@@ -48,7 +48,6 @@ html,
body {
width: 100%;
height: 100%;
- min-height: 600px;
overflow: hidden;
}
@@ -164,11 +163,6 @@ body {
* DEFAULT ELEMENT STYLES
*********************************************/
-.reveal .slides section {
- line-height: 1.2em;
- font-weight: normal;
-}
-
.reveal img {
/* preserve aspect ratio and scale image so it's bound within the section */
max-width: 100%;
@@ -495,18 +489,24 @@ body {
* SLIDES
*********************************************/
+.reveal {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ min-height: 640px; /* min height + 40 to account for padding */
+}
+
.reveal .slides {
position: absolute;
max-width: 900px;
+ min-height: 600px;
width: 80%;
- height: 60%;
left: 50%;
top: 50%;
- margin-top: -320px;
padding: 20px 0px;
+
overflow: visible;
z-index: 1;
-
text-align: center;
-webkit-transition: -webkit-perspective .4s ease;
@@ -520,41 +520,60 @@ body {
-ms-perspective: 600px;
perspective: 600px;
- -webkit-perspective-origin: 0% 25%;
- -moz-perspective-origin: 0% 25%;
- -ms-perspective-origin: 0% 25%;
- perspective-origin: 0% 25%;
+ -webkit-perspective-origin: 0% -25%;
+ -moz-perspective-origin: 0% -25%;
+ -ms-perspective-origin: 0% -25%;
+ perspective-origin: 0% -25%;
}
.reveal .slides>section,
.reveal .slides>section>section {
- display: none;
+ visibility: hidden;
position: absolute;
width: 100%;
- min-height: 600px;
z-index: 10;
+ line-height: 1.2em;
+ font-weight: normal;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
- -webkit-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
- -moz-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
- -ms-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
- -o-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
- transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
-}
-
-.reveal .slides>section.present {
- display: block;
+ -webkit-transition: -webkit-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);
+ -moz-transition: -moz-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);
+ -ms-transition: -ms-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);
+ -o-transition: -o-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);
+ transition: 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);
+}
+
+.reveal .slides>section.present,
+.reveal .slides>section>section.present {
+ visibility: visible;
z-index: 11;
opacity: 1;
}
.reveal .slides>section {
- margin-left: -50%;
+ left: -50%;
+ top: -50%;
+}
+
+.reveal.center,
+.reveal.center .slides {
+ min-height: auto;
+ padding: 0;
}
@@ -1113,6 +1132,14 @@ body {
transform: none;
}
+.no-transition {
+ -webkit-transition: none;
+ -moz-transition: none;
+ -ms-transition: none;
+ -o-transition: none;
+ transition: none;
+}
+
/*********************************************
* BACKGROUND STATES
diff --git a/index.html b/index.html
index de0637c..82570f3 100644
--- a/index.html
+++ b/index.html
@@ -350,6 +350,7 @@ function linkify( selector ) {
controls: true,
progress: true,
history: true,
+ center: true,
theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/none
diff --git a/js/reveal.js b/js/reveal.js
index d92ee76..564c863 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -1,5 +1,5 @@
/*!
- * reveal.js 2.1 r37
+ * reveal.js 2.2 r38
* http://lab.hakim.se/reveal-js
* MIT licensed
*
@@ -29,6 +29,9 @@ var Reveal = (function(){
// Enable the slide overview mode
overview: true,
+ // Vertical centering of slides
+ center: false,
+
// Loop the presentation
loop: false,
@@ -264,6 +267,10 @@ var Reveal = (function(){
// Updates the presentation to match the current configuration values
configure();
+ // Force an initial layout, will thereafter be invoked as the window
+ // is resized
+ layout();
+
// Read the initial hash
readURL();
@@ -301,6 +308,10 @@ var Reveal = (function(){
dom.wrapper.classList.add( config.transition );
}
+ if( config.center ) {
+ dom.wrapper.classList.add( 'center' );
+ }
+
if( config.mouseWheel ) {
document.addEventListener( 'DOMMouseScroll', onDocumentMouseScroll, false ); // FF
document.addEventListener( 'mousewheel', onDocumentMouseScroll, false );
@@ -332,6 +343,7 @@ var Reveal = (function(){
document.addEventListener( 'touchmove', onDocumentTouchMove, false );
document.addEventListener( 'touchend', onDocumentTouchEnd, false );
window.addEventListener( 'hashchange', onWindowHashChange, false );
+ window.addEventListener( 'resize', onWindowResize, false );
if( config.keyboard ) {
document.addEventListener( 'keydown', onDocumentKeyDown, false );
@@ -358,6 +370,7 @@ var Reveal = (function(){
document.removeEventListener( 'touchmove', onDocumentTouchMove, false );
document.removeEventListener( 'touchend', onDocumentTouchEnd, false );
window.removeEventListener( 'hashchange', onWindowHashChange, false );
+ window.removeEventListener( 'resize', onWindowResize, false );
if ( config.progress && dom.progress ) {
dom.progress.removeEventListener( 'click', preventAndForward( onProgressClick ), false );
@@ -449,6 +462,37 @@ var Reveal = (function(){
}
/**
+ * Applies JavaScript-controlled layout rules to the
+ * presentation.
+ */
+ function layout() {
+
+ if( config.center ) {
+
+ // Select all slides, vertical and horizontal
+ var slides = Array.prototype.slice.call( document.querySelectorAll( '.reveal .slides section' ) );
+
+ // Determine the minimum top offset for slides
+ var minTop = -dom.wrapper.offsetHeight / 2;
+
+ for( var i = 0, len = slides.length; i < len; i++ ) {
+ var slide = slides[ i ];
+
+ // Vertical stacks are not centered since their section
+ // children will be
+ if( slide.classList.contains( 'stack' ) ) {
+ slide.style.top = 0;
+ }
+ else {
+ slide.style.top = Math.max( - ( slide.offsetHeight / 2 ) - 20, minTop ) + 'px';
+ }
+ }
+
+ }
+
+ }
+
+ /**
* Displays the overview of slides (quick nav) by
* scaling down and arranging all slide elements.
*
@@ -643,6 +687,8 @@ var Reveal = (function(){
indexh = updateSlides( HORIZONTAL_SLIDES_SELECTOR, h === undefined ? indexh : h );
indexv = updateSlides( VERTICAL_SLIDES_SELECTOR, v === undefined ? indexv : v );
+ layout();
+
// Apply the new state
stateLoop: for( var i = 0, len = state.length; i < len; i++ ) {
// Check if this state existed on the previous slide. If it
@@ -1284,14 +1330,19 @@ var Reveal = (function(){
/**
* Handler for the window level 'hashchange' event.
- *
- * @param {Object} event
*/
function onWindowHashChange( event ) {
readURL();
}
/**
+ * Handler for the window level 'resize' event.
+ */
+ function onWindowResize( event ) {
+ layout();
+ }
+
+ /**
* Invoked when a slide is and we're in the overview.
*/
function onOverviewSlideClicked( event ) {
diff --git a/js/reveal.min.js b/js/reveal.min.js
index e31d807..3167665 100644
--- a/js/reveal.min.js
+++ b/js/reveal.min.js
@@ -1,83 +1,86 @@
/*!
- * reveal.js 2.1 r37
+ * reveal.js 2.2 r38
* http://lab.hakim.se/reveal-js
* MIT licensed
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
-var Reveal=(function(){var l=".reveal .slides>section",b=".reveal .slides>section.present>section",R={controls:true,progress:true,history:false,keyboard:true,overview:true,loop:false,autoSlide:0,mouseWheel:true,rollingLinks:true,theme:null,transition:"default",dependencies:[]},Y=R.autoSlide,m=0,e=0,y,G,ak=[],f={},T="WebkitPerspective" in document.body.style||"MozPerspective" in document.body.style||"msPerspective" in document.body.style||"OPerspective" in document.body.style||"perspective" in document.body.style,n="WebkitTransform" in document.body.style||"MozTransform" in document.body.style||"msTransform" in document.body.style||"OTransform" in document.body.style||"transform" in document.body.style,z=0,k=0,D=0,ac={startX:0,startY:0,startSpan:0,startCount:0,handled:false,threshold:80};
-function i(al){if((!n&&!T)){document.body.setAttribute("class","no-transforms");return;}t(R,al);d();V();}function P(){f.theme=document.querySelector("#theme");
-f.wrapper=document.querySelector(".reveal");if(!f.wrapper.querySelector(".progress")&&R.progress){var ao=document.createElement("div");ao.classList.add("progress");
-ao.innerHTML="<span></span>";f.wrapper.appendChild(ao);}if(!f.wrapper.querySelector(".controls")&&R.controls){var an=document.createElement("aside");an.classList.add("controls");
-an.innerHTML='<div class="left"></div><div class="right"></div><div class="up"></div><div class="down"></div>';f.wrapper.appendChild(an);}if(!f.wrapper.querySelector(".state-background")){var am=document.createElement("div");
-am.classList.add("state-background");f.wrapper.appendChild(am);}if(!f.wrapper.querySelector(".pause-overlay")){var al=document.createElement("div");al.classList.add("pause-overlay");
-f.wrapper.appendChild(al);}f.progress=document.querySelector(".reveal .progress");f.progressbar=document.querySelector(".reveal .progress span");if(R.controls){f.controls=document.querySelector(".reveal .controls");
+var Reveal=(function(){var m=".reveal .slides>section",b=".reveal .slides>section.present>section",T={controls:true,progress:true,history:false,keyboard:true,overview:true,center:false,loop:false,autoSlide:0,mouseWheel:true,rollingLinks:true,theme:null,transition:"default",dependencies:[]},aa=T.autoSlide,n=0,e=0,z,H,am=[],f={},V="WebkitPerspective" in document.body.style||"MozPerspective" in document.body.style||"msPerspective" in document.body.style||"OPerspective" in document.body.style||"perspective" in document.body.style,o="WebkitTransform" in document.body.style||"MozTransform" in document.body.style||"msTransform" in document.body.style||"OTransform" in document.body.style||"transform" in document.body.style,A=0,l=0,E=0,ae={startX:0,startY:0,startSpan:0,startCount:0,handled:false,threshold:80};
+function j(an){if((!o&&!V)){document.body.setAttribute("class","no-transforms");return;}u(T,an);d();X();}function Q(){f.theme=document.querySelector("#theme");
+f.wrapper=document.querySelector(".reveal");if(!f.wrapper.querySelector(".progress")&&T.progress){var aq=document.createElement("div");aq.classList.add("progress");
+aq.innerHTML="<span></span>";f.wrapper.appendChild(aq);}if(!f.wrapper.querySelector(".controls")&&T.controls){var ap=document.createElement("aside");ap.classList.add("controls");
+ap.innerHTML='<div class="left"></div><div class="right"></div><div class="up"></div><div class="down"></div>';f.wrapper.appendChild(ap);}if(!f.wrapper.querySelector(".state-background")){var ao=document.createElement("div");
+ao.classList.add("state-background");f.wrapper.appendChild(ao);}if(!f.wrapper.querySelector(".pause-overlay")){var an=document.createElement("div");an.classList.add("pause-overlay");
+f.wrapper.appendChild(an);}f.progress=document.querySelector(".reveal .progress");f.progressbar=document.querySelector(".reveal .progress span");if(T.controls){f.controls=document.querySelector(".reveal .controls");
f.controlsLeft=document.querySelector(".reveal .controls .left");f.controlsRight=document.querySelector(".reveal .controls .right");f.controlsUp=document.querySelector(".reveal .controls .up");
f.controlsDown=document.querySelector(".reveal .controls .down");}}function d(){if(navigator.userAgent.match(/(iphone|ipod|android)/i)){document.documentElement.style.overflow="scroll";
-document.body.style.height="120%";window.addEventListener("load",ad,false);window.addEventListener("orientationchange",ad,false);}}function V(){var am=[],aq=[];
-for(var an=0,al=R.dependencies.length;an<al;an++){var ao=R.dependencies[an];if(!ao.condition||ao.condition()){if(ao.async){aq.push(ao.src);}else{am.push(ao.src);
-}if(typeof ao.callback==="function"){head.ready(ao.src.match(/([\w\d_\-]*)\.?[^\\\/]*$/i)[0],ao.callback);}}}function ap(){if(aq.length){head.js.apply(null,aq);
-}H();}if(am.length){head.ready(ap);head.js.apply(null,am);}else{ap();}}function H(){P();E();K();J();O();setTimeout(function(){r("ready",{indexh:m,indexv:e,currentSlide:G});
-},1);}function K(){if(T===false){R.transition="linear";}if(R.controls&&f.controls){f.controls.style.display="block";}if(R.progress&&f.progress){f.progress.style.display="block";
-}if(R.transition!=="default"){f.wrapper.classList.add(R.transition);}if(R.mouseWheel){document.addEventListener("DOMMouseScroll",o,false);document.addEventListener("mousewheel",o,false);
-}if(R.rollingLinks){N();}if(R.theme&&f.theme){var an=f.theme.getAttribute("href");var al=/[^\/]*?(?=\.css)/;var am=an.match(al)[0];if(R.theme!==am){an=an.replace(al,R.theme);
-f.theme.setAttribute("href",an);}}}function E(){document.addEventListener("touchstart",A,false);document.addEventListener("touchmove",af,false);document.addEventListener("touchend",W,false);
-window.addEventListener("hashchange",w,false);if(R.keyboard){document.addEventListener("keydown",ah,false);}if(R.progress&&f.progress){f.progress.addEventListener("click",q(ai),false);
-}if(R.controls&&f.controls){f.controlsLeft.addEventListener("click",q(B),false);f.controlsRight.addEventListener("click",q(j),false);f.controlsUp.addEventListener("click",q(u),false);
-f.controlsDown.addEventListener("click",q(F),false);}}function U(){document.removeEventListener("keydown",ah,false);document.removeEventListener("touchstart",A,false);
-document.removeEventListener("touchmove",af,false);document.removeEventListener("touchend",W,false);window.removeEventListener("hashchange",w,false);if(R.progress&&f.progress){f.progress.removeEventListener("click",q(ai),false);
-}if(R.controls&&f.controls){f.controlsLeft.removeEventListener("click",q(B),false);f.controlsRight.removeEventListener("click",q(j),false);f.controlsUp.removeEventListener("click",q(u),false);
-f.controlsDown.removeEventListener("click",q(F),false);}}function t(am,al){for(var an in al){am[an]=al[an];}}function S(an,al){var ao=an.x-al.x,am=an.y-al.y;
-return Math.sqrt(ao*ao+am*am);}function q(al){return function(am){am.preventDefault();al.call(null,am);};}function ad(){setTimeout(function(){window.scrollTo(0,1);
-},0);}function r(am,al){var an=document.createEvent("HTMLEvents",1,2);an.initEvent(am,true,true);t(an,al);f.wrapper.dispatchEvent(an);}function N(){if(T&&!("msPerspective" in document.body.style)){var am=document.querySelectorAll(".reveal .slides section a:not(.image)");
-for(var an=0,al=am.length;an<al;an++){var ao=am[an];if(ao.textContent&&!ao.querySelector("img")&&(!ao.className||!ao.classList.contains(ao,"roll"))){ao.classList.add("roll");
-ao.innerHTML='<span data-title="'+ao.text+'">'+ao.innerHTML+"</span>";}}}}function I(){if(R.overview){f.wrapper.classList.add("overview");var al=document.querySelectorAll(l);
-for(var aq=0,ao=al.length;aq<ao;aq++){var an=al[aq],av="translateZ(-2500px) translate("+((aq-m)*105)+"%, 0%)";an.setAttribute("data-index-h",aq);an.style.display="block";
-an.style.WebkitTransform=av;an.style.MozTransform=av;an.style.msTransform=av;an.style.OTransform=av;an.style.transform=av;if(!an.classList.contains("stack")){an.addEventListener("click",C,true);
-}var au=an.querySelectorAll("section");for(var ap=0,am=au.length;ap<am;ap++){var at=au[ap],ar="translate(0%, "+((ap-(aq===m?e:0))*105)+"%)";at.setAttribute("data-index-h",aq);
-at.setAttribute("data-index-v",ap);at.style.display="block";at.style.WebkitTransform=ar;at.style.MozTransform=ar;at.style.msTransform=ar;at.style.OTransform=ar;
-at.style.transform=ar;at.addEventListener("click",C,true);}}}}function ae(){if(R.overview){f.wrapper.classList.remove("overview");var ao=Array.prototype.slice.call(document.querySelectorAll(".reveal .slides section"));
-for(var an=0,al=ao.length;an<al;an++){var am=ao[an];am.style.WebkitTransform="";am.style.MozTransform="";am.style.msTransform="";am.style.OTransform="";
-am.style.transform="";am.removeEventListener("click",C);}a();}}function X(al){if(typeof al==="boolean"){al?I():ae();}else{L()?ae():I();}}function L(){return f.wrapper.classList.contains("overview");
-}function ab(){var al=document.body;var am=al.requestFullScreen||al.webkitRequestFullScreen||al.mozRequestFullScreen||al.msRequestFullScreen;if(am){am.apply(al);
-}}function c(){f.wrapper.classList.add("paused");}function p(){f.wrapper.classList.remove("paused");}function aa(){if(ag()){p();}else{c();}}function ag(){return f.wrapper.classList.contains("paused");
-}function a(ar,aw){y=G;var ao=ak.concat();ak.length=0;var av=m,am=e;m=aj(l,ar===undefined?m:ar);e=aj(b,aw===undefined?e:aw);stateLoop:for(var ap=0,at=ak.length;
-ap<at;ap++){for(var an=0;an<ao.length;an++){if(ao[an]===ak[ap]){ao.splice(an,1);continue stateLoop;}}document.documentElement.classList.add(ak[ap]);r(ak[ap]);
-}while(ao.length){document.documentElement.classList.remove(ao.pop());}if(R.progress&&f.progress){f.progressbar.style.width=(m/(document.querySelectorAll(l).length-1))*window.innerWidth+"px";
-}if(L()){I();}s();clearTimeout(D);D=setTimeout(h,1500);var al=document.querySelectorAll(l);var au=al[m],aq=au.querySelectorAll("section");G=aq[e]||au;if(m!==av||e!==am){r("slidechanged",{indexh:m,indexv:e,previousSlide:y,currentSlide:G});
-}else{y=null;}if(y){y.classList.remove("present");}}function aj(ao,au){var am=Array.prototype.slice.call(document.querySelectorAll(ao)),at=am.length;if(at){if(R.loop){au%=at;
-if(au<0){au=at+au;}}au=Math.max(Math.min(au,at-1),0);for(var aq=0;aq<at;aq++){var ar=am[aq];if(L()===false){var al=Math.abs((au-aq)%(at-3))||0;ar.style.display=al>3?"none":"block";
-}am[aq].classList.remove("past");am[aq].classList.remove("present");am[aq].classList.remove("future");if(aq<au){am[aq].classList.add("past");}else{if(aq>au){am[aq].classList.add("future");
-}}if(ar.querySelector("section")){am[aq].classList.add("stack");}}am[au].classList.add("present");var an=am[au].getAttribute("data-state");if(an){ak=ak.concat(an.split(" "));
-}var ap=am[au].getAttribute("data-autoslide");if(ap){Y=parseInt(ap);}else{Y=R.autoSlide;}}else{au=0;}return au;}function s(){if(R.controls&&f.controls){var al=g();
-[f.controlsLeft,f.controlsRight,f.controlsUp,f.controlsDown].forEach(function(am){am.classList.remove("enabled");});if(al.left){f.controlsLeft.classList.add("enabled");
-}if(al.right){f.controlsRight.classList.add("enabled");}if(al.up){f.controlsUp.classList.add("enabled");}if(al.down){f.controlsDown.classList.add("enabled");
-}}}function g(){var al=document.querySelectorAll(l),am=document.querySelectorAll(b);return{left:m>0,right:m<al.length-1,up:e>0,down:e<am.length-1};}function J(){var aq=window.location.hash;
-var ap=aq.slice(2).split("/"),am=aq.replace(/#|\//gi,"");if(isNaN(parseInt(ap[0],10))&&am.length){var an=document.querySelector("#"+am);if(an){var ar=Reveal.getIndices(an);
-a(ar.h,ar.v);}else{a(m,e);}}else{var ao=parseInt(ap[0],10)||0,al=parseInt(ap[1],10)||0;a(ao,al);}}function h(){if(R.history){var al="/";if(m>0||e>0){al+=m;
-}if(e>0){al+="/"+e;}window.location.hash=al;}}function M(al){var ap=m,an=e;if(al){var aq=!!al.parentNode.nodeName.match(/section/gi);var ao=aq?al.parentNode:al;
-var am=Array.prototype.slice.call(document.querySelectorAll(l));ap=Math.max(am.indexOf(ao),0);if(aq){an=Math.max(Array.prototype.slice.call(al.parentNode.children).indexOf(al),0);
-}}return{h:ap,v:an};}function v(){if(document.querySelector(b+".present")){var am=document.querySelectorAll(b+".present .fragment:not(.visible)");if(am.length){am[0].classList.add("visible");
-r("fragmentshown",{fragment:am[0]});return true;}}else{var al=document.querySelectorAll(l+".present .fragment:not(.visible)");if(al.length){al[0].classList.add("visible");
-r("fragmentshown",{fragment:al[0]});return true;}}return false;}function Q(){if(document.querySelector(b+".present")){var am=document.querySelectorAll(b+".present .fragment.visible");
-if(am.length){am[am.length-1].classList.remove("visible");r("fragmenthidden",{fragment:am[am.length-1]});return true;}}else{var al=document.querySelectorAll(l+".present .fragment.visible");
-if(al.length){al[al.length-1].classList.remove("visible");r("fragmenthidden",{fragment:al[al.length-1]});return true;}}return false;}function O(){clearTimeout(k);
-if(Y){k=setTimeout(x,Y);}}function B(){if(g().left&&(L()||Q()===false)){a(m-1,0);}}function j(){if(g().right&&(L()||v()===false)){a(m+1,0);}}function u(){if(g().up&&(L()||Q()===false)){a(m,e-1);
-}}function F(){if(g().down&&(L()||v()===false)){a(m,e+1);}}function Z(){if(Q()===false){if(g().up){u();}else{var al=document.querySelector(".reveal .slides>section.past:nth-child("+m+")");
-if(al){e=(al.querySelectorAll("section").length+1)||0;m--;a();}}}}function x(){if(v()===false){g().down?F():j();}O();}function ah(an){var am=document.activeElement;
-var ao=!!(document.activeElement&&(document.activeElement.type||document.activeElement.href||document.activeElement.contentEditable!=="inherit"));if(ao||an.shiftKey||an.altKey||an.ctrlKey||an.metaKey){return;
-}var al=true;switch(an.keyCode){case 80:case 33:Z();break;case 78:case 34:x();break;case 72:case 37:B();break;case 76:case 39:j();break;case 75:case 38:u();
-break;case 74:case 40:F();break;case 36:a(0);break;case 35:a(Number.MAX_VALUE);break;case 32:L()?ae():x();break;case 13:L()?ae():al=false;break;case 66:case 190:aa();
-break;case 70:ab();break;default:al=false;}if(al){an.preventDefault();}else{if(an.keyCode===27&&T){X();an.preventDefault();}}O();}function A(al){ac.startX=al.touches[0].clientX;
-ac.startY=al.touches[0].clientY;ac.startCount=al.touches.length;if(al.touches.length===2&&R.overview){ac.startSpan=S({x:al.touches[1].clientX,y:al.touches[1].clientY},{x:ac.startX,y:ac.startY});
-}}function af(aq){if(!ac.handled){var ao=aq.touches[0].clientX;var an=aq.touches[0].clientY;if(aq.touches.length===2&&ac.startCount===2&&R.overview){var ap=S({x:aq.touches[1].clientX,y:aq.touches[1].clientY},{x:ac.startX,y:ac.startY});
-if(Math.abs(ac.startSpan-ap)>ac.threshold){ac.handled=true;if(ap<ac.startSpan){I();}else{ae();}}aq.preventDefault();}else{if(aq.touches.length===1&&ac.startCount!==2){var am=ao-ac.startX,al=an-ac.startY;
-if(am>ac.threshold&&Math.abs(am)>Math.abs(al)){ac.handled=true;B();}else{if(am<-ac.threshold&&Math.abs(am)>Math.abs(al)){ac.handled=true;j();}else{if(al>ac.threshold){ac.handled=true;
-u();}else{if(al<-ac.threshold){ac.handled=true;F();}}}}aq.preventDefault();}}}else{if(navigator.userAgent.match(/android/gi)){aq.preventDefault();}}}function W(al){ac.handled=false;
-}function o(al){clearTimeout(z);z=setTimeout(function(){var am=al.detail||-al.wheelDelta;if(am>0){x();}else{Z();}},100);}function ai(am){var al=Array.prototype.slice.call(document.querySelectorAll(l)).length;
-var an=Math.floor((am.clientX/f.wrapper.offsetWidth)*al);a(an);}function w(al){J();}function C(al){if(L()){al.preventDefault();ae();m=this.getAttribute("data-index-h");
-e=this.getAttribute("data-index-v");a();}}return{initialize:i,slide:a,left:B,right:j,up:u,down:F,prev:Z,next:x,prevFragment:Q,nextFragment:v,navigateTo:a,navigateLeft:B,navigateRight:j,navigateUp:u,navigateDown:F,navigatePrev:Z,navigateNext:x,toggleOverview:X,addEventListeners:E,removeEventListeners:U,getIndices:M,getPreviousSlide:function(){return y;
-},getCurrentSlide:function(){return G;},getQueryHash:function(){var al={};location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(am){al[am.split("=").shift()]=am.split("=").pop();
-});return al;},addEventListener:function(am,an,al){if("addEventListener" in window){(f.wrapper||document.querySelector(".reveal")).addEventListener(am,an,al);
-}},removeEventListener:function(am,an,al){if("addEventListener" in window){(f.wrapper||document.querySelector(".reveal")).removeEventListener(am,an,al);
+document.body.style.height="120%";window.addEventListener("load",af,false);window.addEventListener("orientationchange",af,false);}}function X(){var ao=[],at=[];
+for(var ap=0,an=T.dependencies.length;ap<an;ap++){var aq=T.dependencies[ap];if(!aq.condition||aq.condition()){if(aq.async){at.push(aq.src);}else{ao.push(aq.src);
+}if(typeof aq.callback==="function"){head.ready(aq.src.match(/([\w\d_\-]*)\.?[^\\\/]*$/i)[0],aq.callback);}}}function ar(){if(at.length){head.js.apply(null,at);
+}I();}if(ao.length){head.ready(ar);head.js.apply(null,ao);}else{ar();}}function I(){Q();F();L();R();K();P();setTimeout(function(){s("ready",{indexh:n,indexv:e,currentSlide:H});
+},1);}function L(){if(V===false){T.transition="linear";}if(T.controls&&f.controls){f.controls.style.display="block";}if(T.progress&&f.progress){f.progress.style.display="block";
+}if(T.transition!=="default"){f.wrapper.classList.add(T.transition);}if(T.center){f.wrapper.classList.add("center");}if(T.mouseWheel){document.addEventListener("DOMMouseScroll",p,false);
+document.addEventListener("mousewheel",p,false);}if(T.rollingLinks){O();}if(T.theme&&f.theme){var ap=f.theme.getAttribute("href");var an=/[^\/]*?(?=\.css)/;
+var ao=ap.match(an)[0];if(T.theme!==ao){ap=ap.replace(an,T.theme);f.theme.setAttribute("href",ap);}}}function F(){document.addEventListener("touchstart",B,false);
+document.addEventListener("touchmove",ah,false);document.addEventListener("touchend",Y,false);window.addEventListener("hashchange",x,false);window.addEventListener("resize",g,false);
+if(T.keyboard){document.addEventListener("keydown",aj,false);}if(T.progress&&f.progress){f.progress.addEventListener("click",r(ak),false);}if(T.controls&&f.controls){f.controlsLeft.addEventListener("click",r(C),false);
+f.controlsRight.addEventListener("click",r(k),false);f.controlsUp.addEventListener("click",r(v),false);f.controlsDown.addEventListener("click",r(G),false);
+}}function W(){document.removeEventListener("keydown",aj,false);document.removeEventListener("touchstart",B,false);document.removeEventListener("touchmove",ah,false);
+document.removeEventListener("touchend",Y,false);window.removeEventListener("hashchange",x,false);window.removeEventListener("resize",g,false);if(T.progress&&f.progress){f.progress.removeEventListener("click",r(ak),false);
+}if(T.controls&&f.controls){f.controlsLeft.removeEventListener("click",r(C),false);f.controlsRight.removeEventListener("click",r(k),false);f.controlsUp.removeEventListener("click",r(v),false);
+f.controlsDown.removeEventListener("click",r(G),false);}}function u(ao,an){for(var ap in an){ao[ap]=an[ap];}}function U(ap,an){var aq=ap.x-an.x,ao=ap.y-an.y;
+return Math.sqrt(aq*aq+ao*ao);}function r(an){return function(ao){ao.preventDefault();an.call(null,ao);};}function af(){setTimeout(function(){window.scrollTo(0,1);
+},0);}function s(ao,an){var ap=document.createEvent("HTMLEvents",1,2);ap.initEvent(ao,true,true);u(ap,an);f.wrapper.dispatchEvent(ap);}function O(){if(V&&!("msPerspective" in document.body.style)){var ao=document.querySelectorAll(".reveal .slides section a:not(.image)");
+for(var ap=0,an=ao.length;ap<an;ap++){var aq=ao[ap];if(aq.textContent&&!aq.querySelector("img")&&(!aq.className||!aq.classList.contains(aq,"roll"))){aq.classList.add("roll");
+aq.innerHTML='<span data-title="'+aq.text+'">'+aq.innerHTML+"</span>";}}}}function R(){if(T.center){var aq=Array.prototype.slice.call(document.querySelectorAll(".reveal .slides section"));
+var ar=-f.wrapper.offsetHeight/2;for(var ap=0,ao=aq.length;ap<ao;ap++){var an=aq[ap];if(an.classList.contains("stack")){an.style.top=0;}else{an.style.top=Math.max(-(an.offsetHeight/2)-20,ar)+"px";
+}}}}function J(){if(T.overview){f.wrapper.classList.add("overview");var an=document.querySelectorAll(m);for(var at=0,aq=an.length;at<aq;at++){var ap=an[at],ax="translateZ(-2500px) translate("+((at-n)*105)+"%, 0%)";
+ap.setAttribute("data-index-h",at);ap.style.display="block";ap.style.WebkitTransform=ax;ap.style.MozTransform=ax;ap.style.msTransform=ax;ap.style.OTransform=ax;
+ap.style.transform=ax;if(!ap.classList.contains("stack")){ap.addEventListener("click",D,true);}var aw=ap.querySelectorAll("section");for(var ar=0,ao=aw.length;
+ar<ao;ar++){var av=aw[ar],au="translate(0%, "+((ar-(at===n?e:0))*105)+"%)";av.setAttribute("data-index-h",at);av.setAttribute("data-index-v",ar);av.style.display="block";
+av.style.WebkitTransform=au;av.style.MozTransform=au;av.style.msTransform=au;av.style.OTransform=au;av.style.transform=au;av.addEventListener("click",D,true);
+}}}}function ag(){if(T.overview){f.wrapper.classList.remove("overview");var aq=Array.prototype.slice.call(document.querySelectorAll(".reveal .slides section"));
+for(var ap=0,an=aq.length;ap<an;ap++){var ao=aq[ap];ao.style.WebkitTransform="";ao.style.MozTransform="";ao.style.msTransform="";ao.style.OTransform="";
+ao.style.transform="";ao.removeEventListener("click",D);}a();}}function Z(an){if(typeof an==="boolean"){an?J():ag();}else{M()?ag():J();}}function M(){return f.wrapper.classList.contains("overview");
+}function ad(){var an=document.body;var ao=an.requestFullScreen||an.webkitRequestFullScreen||an.mozRequestFullScreen||an.msRequestFullScreen;if(ao){ao.apply(an);
+}}function c(){f.wrapper.classList.add("paused");}function q(){f.wrapper.classList.remove("paused");}function ac(){if(ai()){q();}else{c();}}function ai(){return f.wrapper.classList.contains("paused");
+}function a(au,ay){z=H;var aq=am.concat();am.length=0;var ax=n,ao=e;n=al(m,au===undefined?n:au);e=al(b,ay===undefined?e:ay);R();stateLoop:for(var ar=0,av=am.length;
+ar<av;ar++){for(var ap=0;ap<aq.length;ap++){if(aq[ap]===am[ar]){aq.splice(ap,1);continue stateLoop;}}document.documentElement.classList.add(am[ar]);s(am[ar]);
+}while(aq.length){document.documentElement.classList.remove(aq.pop());}if(T.progress&&f.progress){f.progressbar.style.width=(n/(document.querySelectorAll(m).length-1))*window.innerWidth+"px";
+}if(M()){J();}t();clearTimeout(E);E=setTimeout(i,1500);var an=document.querySelectorAll(m);var aw=an[n],at=aw.querySelectorAll("section");H=at[e]||aw;if(n!==ax||e!==ao){s("slidechanged",{indexh:n,indexv:e,previousSlide:z,currentSlide:H});
+}else{z=null;}if(z){z.classList.remove("present");}}function al(aq,aw){var ao=Array.prototype.slice.call(document.querySelectorAll(aq)),av=ao.length;if(av){if(T.loop){aw%=av;
+if(aw<0){aw=av+aw;}}aw=Math.max(Math.min(aw,av-1),0);for(var at=0;at<av;at++){var au=ao[at];if(M()===false){var an=Math.abs((aw-at)%(av-3))||0;au.style.display=an>3?"none":"block";
+}ao[at].classList.remove("past");ao[at].classList.remove("present");ao[at].classList.remove("future");if(at<aw){ao[at].classList.add("past");}else{if(at>aw){ao[at].classList.add("future");
+}}if(au.querySelector("section")){ao[at].classList.add("stack");}}ao[aw].classList.add("present");var ap=ao[aw].getAttribute("data-state");if(ap){am=am.concat(ap.split(" "));
+}var ar=ao[aw].getAttribute("data-autoslide");if(ar){aa=parseInt(ar);}else{aa=T.autoSlide;}}else{aw=0;}return aw;}function t(){if(T.controls&&f.controls){var an=h();
+[f.controlsLeft,f.controlsRight,f.controlsUp,f.controlsDown].forEach(function(ao){ao.classList.remove("enabled");});if(an.left){f.controlsLeft.classList.add("enabled");
+}if(an.right){f.controlsRight.classList.add("enabled");}if(an.up){f.controlsUp.classList.add("enabled");}if(an.down){f.controlsDown.classList.add("enabled");
+}}}function h(){var an=document.querySelectorAll(m),ao=document.querySelectorAll(b);return{left:n>0,right:n<an.length-1,up:e>0,down:e<ao.length-1};}function K(){var at=window.location.hash;
+var ar=at.slice(2).split("/"),ao=at.replace(/#|\//gi,"");if(isNaN(parseInt(ar[0],10))&&ao.length){var ap=document.querySelector("#"+ao);if(ap){var au=Reveal.getIndices(ap);
+a(au.h,au.v);}else{a(n,e);}}else{var aq=parseInt(ar[0],10)||0,an=parseInt(ar[1],10)||0;a(aq,an);}}function i(){if(T.history){var an="/";if(n>0||e>0){an+=n;
+}if(e>0){an+="/"+e;}window.location.hash=an;}}function N(an){var ar=n,ap=e;if(an){var at=!!an.parentNode.nodeName.match(/section/gi);var aq=at?an.parentNode:an;
+var ao=Array.prototype.slice.call(document.querySelectorAll(m));ar=Math.max(ao.indexOf(aq),0);if(at){ap=Math.max(Array.prototype.slice.call(an.parentNode.children).indexOf(an),0);
+}}return{h:ar,v:ap};}function w(){if(document.querySelector(b+".present")){var ao=document.querySelectorAll(b+".present .fragment:not(.visible)");if(ao.length){ao[0].classList.add("visible");
+s("fragmentshown",{fragment:ao[0]});return true;}}else{var an=document.querySelectorAll(m+".present .fragment:not(.visible)");if(an.length){an[0].classList.add("visible");
+s("fragmentshown",{fragment:an[0]});return true;}}return false;}function S(){if(document.querySelector(b+".present")){var ao=document.querySelectorAll(b+".present .fragment.visible");
+if(ao.length){ao[ao.length-1].classList.remove("visible");s("fragmenthidden",{fragment:ao[ao.length-1]});return true;}}else{var an=document.querySelectorAll(m+".present .fragment.visible");
+if(an.length){an[an.length-1].classList.remove("visible");s("fragmenthidden",{fragment:an[an.length-1]});return true;}}return false;}function P(){clearTimeout(l);
+if(aa){l=setTimeout(y,aa);}}function C(){if(h().left&&(M()||S()===false)){a(n-1,0);}}function k(){if(h().right&&(M()||w()===false)){a(n+1,0);}}function v(){if(h().up&&(M()||S()===false)){a(n,e-1);
+}}function G(){if(h().down&&(M()||w()===false)){a(n,e+1);}}function ab(){if(S()===false){if(h().up){v();}else{var an=document.querySelector(".reveal .slides>section.past:nth-child("+n+")");
+if(an){e=(an.querySelectorAll("section").length+1)||0;n--;a();}}}}function y(){if(w()===false){h().down?G():k();}P();}function aj(ap){var ao=document.activeElement;
+var aq=!!(document.activeElement&&(document.activeElement.type||document.activeElement.href||document.activeElement.contentEditable!=="inherit"));if(aq||ap.shiftKey||ap.altKey||ap.ctrlKey||ap.metaKey){return;
+}var an=true;switch(ap.keyCode){case 80:case 33:ab();break;case 78:case 34:y();break;case 72:case 37:C();break;case 76:case 39:k();break;case 75:case 38:v();
+break;case 74:case 40:G();break;case 36:a(0);break;case 35:a(Number.MAX_VALUE);break;case 32:M()?ag():y();break;case 13:M()?ag():an=false;break;case 66:case 190:ac();
+break;case 70:ad();break;default:an=false;}if(an){ap.preventDefault();}else{if(ap.keyCode===27&&V){Z();ap.preventDefault();}}P();}function B(an){ae.startX=an.touches[0].clientX;
+ae.startY=an.touches[0].clientY;ae.startCount=an.touches.length;if(an.touches.length===2&&T.overview){ae.startSpan=U({x:an.touches[1].clientX,y:an.touches[1].clientY},{x:ae.startX,y:ae.startY});
+}}function ah(at){if(!ae.handled){var aq=at.touches[0].clientX;var ap=at.touches[0].clientY;if(at.touches.length===2&&ae.startCount===2&&T.overview){var ar=U({x:at.touches[1].clientX,y:at.touches[1].clientY},{x:ae.startX,y:ae.startY});
+if(Math.abs(ae.startSpan-ar)>ae.threshold){ae.handled=true;if(ar<ae.startSpan){J();}else{ag();}}at.preventDefault();}else{if(at.touches.length===1&&ae.startCount!==2){var ao=aq-ae.startX,an=ap-ae.startY;
+if(ao>ae.threshold&&Math.abs(ao)>Math.abs(an)){ae.handled=true;C();}else{if(ao<-ae.threshold&&Math.abs(ao)>Math.abs(an)){ae.handled=true;k();}else{if(an>ae.threshold){ae.handled=true;
+v();}else{if(an<-ae.threshold){ae.handled=true;G();}}}}at.preventDefault();}}}else{if(navigator.userAgent.match(/android/gi)){at.preventDefault();}}}function Y(an){ae.handled=false;
+}function p(an){clearTimeout(A);A=setTimeout(function(){var ao=an.detail||-an.wheelDelta;if(ao>0){y();}else{ab();}},100);}function ak(ao){var an=Array.prototype.slice.call(document.querySelectorAll(m)).length;
+var ap=Math.floor((ao.clientX/f.wrapper.offsetWidth)*an);a(ap);}function x(an){K();}function g(an){R();}function D(an){if(M()){an.preventDefault();ag();
+n=this.getAttribute("data-index-h");e=this.getAttribute("data-index-v");a();}}return{initialize:j,slide:a,left:C,right:k,up:v,down:G,prev:ab,next:y,prevFragment:S,nextFragment:w,navigateTo:a,navigateLeft:C,navigateRight:k,navigateUp:v,navigateDown:G,navigatePrev:ab,navigateNext:y,toggleOverview:Z,addEventListeners:F,removeEventListeners:W,getIndices:N,getPreviousSlide:function(){return z;
+},getCurrentSlide:function(){return H;},getQueryHash:function(){var an={};location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(ao){an[ao.split("=").shift()]=ao.split("=").pop();
+});return an;},addEventListener:function(ao,ap,an){if("addEventListener" in window){(f.wrapper||document.querySelector(".reveal")).addEventListener(ao,ap,an);
+}},removeEventListener:function(ao,ap,an){if("addEventListener" in window){(f.wrapper||document.querySelector(".reveal")).removeEventListener(ao,ap,an);
}}};})(); \ No newline at end of file