reveal.css 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984
  1. @charset "UTF-8";
  2. /**
  3. * reveal.js
  4. * http://lab.hakim.se/reveal-js
  5. * MIT licensed
  6. *
  7. * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
  8. */
  9. /*********************************************
  10. * RESET STYLES
  11. *********************************************/
  12. html, body, div, span, applet, object, iframe,
  13. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  14. a, abbr, acronym, address, big, cite, code,
  15. del, dfn, em, img, ins, kbd, q, s, samp,
  16. small, strike, strong, sub, sup, tt, var,
  17. b, u, i, center,
  18. dl, dt, dd, ol, ul, li,
  19. fieldset, form, label, legend,
  20. table, caption, tbody, tfoot, thead, tr, th, td,
  21. article, aside, canvas, details, embed,
  22. figure, figcaption, footer, header, hgroup,
  23. menu, nav, output, ruby, section, summary,
  24. time, mark, audio, video {
  25. margin: 0;
  26. padding: 0;
  27. border: 0;
  28. font-size: 100%;
  29. font: inherit;
  30. vertical-align: baseline;
  31. }
  32. article, aside, details, figcaption, figure,
  33. footer, header, hgroup, menu, nav, section {
  34. display: block;
  35. }
  36. /*********************************************
  37. * GLOBAL STYLES
  38. *********************************************/
  39. html,
  40. body {
  41. padding: 0;
  42. margin: 0;
  43. width: 100%;
  44. height: 100%;
  45. min-height: 600px;
  46. overflow: hidden;
  47. }
  48. body {
  49. position: relative;
  50. line-height: 1;
  51. }
  52. @media screen and (max-width: 900px) {
  53. body {
  54. font-size: 30px;
  55. }
  56. }
  57. ::selection {
  58. background:#FF5E99;
  59. color:#fff;
  60. text-shadow: none;
  61. }
  62. /*********************************************
  63. * HEADERS
  64. *********************************************/
  65. .reveal h1 { font-size: 3.77em; }
  66. .reveal h2 { font-size: 2.11em; }
  67. .reveal h3 { font-size: 1.55em; }
  68. .reveal h4 { font-size: 1em; }
  69. /*********************************************
  70. * VIEW FRAGMENTS
  71. *********************************************/
  72. .reveal .slides section .fragment {
  73. opacity: 0;
  74. -webkit-transition: all .2s ease;
  75. -moz-transition: all .2s ease;
  76. -ms-transition: all .2s ease;
  77. -o-transition: all .2s ease;
  78. transition: all .2s ease;
  79. }
  80. .reveal .slides section .fragment.visible {
  81. opacity: 1;
  82. }
  83. /*********************************************
  84. * DEFAULT ELEMENT STYLES
  85. *********************************************/
  86. .reveal .slides section {
  87. line-height: 1.2em;
  88. font-weight: normal;
  89. }
  90. .reveal img {
  91. /* preserve aspect ratio and scale image so it's bound within the section */
  92. max-width: 100%;
  93. max-height: 100%;
  94. }
  95. .reveal strong,
  96. .reveal b {
  97. font-weight: bold;
  98. }
  99. .reveal em,
  100. .reveal i {
  101. font-style: italic;
  102. }
  103. .reveal ol,
  104. .reveal ul {
  105. display: inline-block;
  106. text-align: left;
  107. margin: 0 0 0 1em;
  108. }
  109. .reveal ol {
  110. list-style-type: decimal;
  111. }
  112. .reveal ul {
  113. list-style-type: disc;
  114. }
  115. .reveal ul ul {
  116. list-style-type: square;
  117. }
  118. .reveal ul ul ul {
  119. list-style-type: circle;
  120. }
  121. .reveal ul ul,
  122. .reveal ul ol,
  123. .reveal ol ol,
  124. .reveal ol ul {
  125. display: block;
  126. margin-left: 40px;
  127. }
  128. .reveal p {
  129. margin-bottom: 10px;
  130. line-height: 1.2em;
  131. }
  132. .reveal q,
  133. .reveal blockquote {
  134. quotes: none;
  135. }
  136. .reveal blockquote {
  137. display: block;
  138. position: relative;
  139. width: 70%;
  140. margin: 5px auto;
  141. padding: 5px;
  142. font-style: italic;
  143. background: rgba(255, 255, 255, 0.05);
  144. box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
  145. }
  146. .reveal blockquote:before {
  147. content: '“';
  148. }
  149. .reveal blockquote:after {
  150. content: '”';
  151. }
  152. .reveal q {
  153. font-style: italic;
  154. }
  155. .reveal q:before {
  156. content: '“';
  157. }
  158. .reveal q:after {
  159. content: '”';
  160. }
  161. .reveal pre {
  162. display: block;
  163. position: relative;
  164. width: 90%;
  165. margin: 10px auto;
  166. text-align: left;
  167. font-size: 0.55em;
  168. font-family: monospace;
  169. line-height: 1.2em;
  170. word-wrap: break-word;
  171. box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
  172. }
  173. .reveal code {
  174. font-family: monospace;
  175. overflow: auto;
  176. max-height: 400px;
  177. }
  178. .reveal table th,
  179. .reveal table td {
  180. text-align: left;
  181. padding-right: .3em;
  182. }
  183. .reveal table th {
  184. text-shadow: rgb(255,255,255) 1px 1px 2px;
  185. }
  186. .reveal sup {
  187. vertical-align: super;
  188. }
  189. .reveal sub {
  190. vertical-align: sub;
  191. }
  192. .reveal small {
  193. display: inline-block;
  194. font-size: 0.6em;
  195. line-height: 1.2em;
  196. vertical-align: top;
  197. }
  198. .reveal small * {
  199. vertical-align: top;
  200. }
  201. /*********************************************
  202. * CONTROLS
  203. *********************************************/
  204. .reveal .controls {
  205. display: none;
  206. position: fixed;
  207. width: 100px;
  208. height: 100px;
  209. z-index: 30;
  210. right: 0;
  211. bottom: 0;
  212. }
  213. .reveal .controls a {
  214. font-family: Arial;
  215. font-size: 0.83em;
  216. position: absolute;
  217. opacity: 0.1;
  218. }
  219. .reveal .controls a.enabled {
  220. opacity: 0.6;
  221. }
  222. .reveal .controls a.enabled:active {
  223. margin-top: 1px;
  224. }
  225. .reveal .controls .left {
  226. top: 30px;
  227. }
  228. .reveal .controls .right {
  229. left: 60px;
  230. top: 30px;
  231. }
  232. .reveal .controls .up {
  233. left: 30px;
  234. }
  235. .reveal .controls .down {
  236. left: 30px;
  237. top: 60px;
  238. }
  239. /*********************************************
  240. * PROGRESS BAR
  241. *********************************************/
  242. .reveal .progress {
  243. position: fixed;
  244. display: none;
  245. height: 3px;
  246. width: 100%;
  247. bottom: 0;
  248. left: 0;
  249. }
  250. .reveal .progress span {
  251. display: block;
  252. height: 100%;
  253. width: 0px;
  254. -webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  255. -moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  256. -ms-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  257. -o-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  258. transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  259. }
  260. /*********************************************
  261. * ROLLING LINKS
  262. *********************************************/
  263. .reveal .roll {
  264. display: inline-block;
  265. line-height: 1.2;
  266. overflow: hidden;
  267. vertical-align: top;
  268. -webkit-perspective: 400px;
  269. -moz-perspective: 400px;
  270. -ms-perspective: 400px;
  271. perspective: 400px;
  272. -webkit-perspective-origin: 50% 50%;
  273. -moz-perspective-origin: 50% 50%;
  274. -ms-perspective-origin: 50% 50%;
  275. perspective-origin: 50% 50%;
  276. }
  277. .reveal .roll:hover {
  278. background: none;
  279. text-shadow: none;
  280. }
  281. .reveal .roll span {
  282. display: block;
  283. position: relative;
  284. padding: 0 2px;
  285. pointer-events: none;
  286. -webkit-transition: all 400ms ease;
  287. -moz-transition: all 400ms ease;
  288. -ms-transition: all 400ms ease;
  289. transition: all 400ms ease;
  290. -webkit-transform-origin: 50% 0%;
  291. -moz-transform-origin: 50% 0%;
  292. -ms-transform-origin: 50% 0%;
  293. transform-origin: 50% 0%;
  294. -webkit-transform-style: preserve-3d;
  295. -moz-transform-style: preserve-3d;
  296. -ms-transform-style: preserve-3d;
  297. transform-style: preserve-3d;
  298. -webkit-backface-visibility: hidden;
  299. -moz-backface-visibility: hidden;
  300. backface-visibility: hidden;
  301. }
  302. .reveal .roll:hover span {
  303. background: rgba(0,0,0,0.5);
  304. -webkit-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
  305. -moz-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
  306. -ms-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
  307. transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
  308. }
  309. .reveal .roll span:after {
  310. content: attr(data-title);
  311. display: block;
  312. position: absolute;
  313. left: 0;
  314. top: 0;
  315. padding: 0 2px;
  316. -webkit-transform-origin: 50% 0%;
  317. -moz-transform-origin: 50% 0%;
  318. -ms-transform-origin: 50% 0%;
  319. transform-origin: 50% 0%;
  320. -webkit-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
  321. -moz-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
  322. -ms-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
  323. transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
  324. }
  325. /*********************************************
  326. * SLIDES
  327. *********************************************/
  328. .reveal .slides {
  329. position: absolute;
  330. max-width: 900px;
  331. width: 80%;
  332. height: 60%;
  333. left: 50%;
  334. top: 50%;
  335. margin-top: -320px;
  336. padding: 20px 0px;
  337. overflow: visible;
  338. text-align: center;
  339. -webkit-transition: -webkit-perspective .4s ease;
  340. -moz-transition: -moz-perspective .4s ease;
  341. -ms-transition: -ms-perspective .4s ease;
  342. -o-transition: -o-perspective .4s ease;
  343. transition: perspective .4s ease;
  344. -webkit-perspective: 600px;
  345. -moz-perspective: 600px;
  346. -ms-perspective: 600px;
  347. perspective: 600px;
  348. -webkit-perspective-origin: 0% 25%;
  349. -moz-perspective-origin: 0% 25%;
  350. -ms-perspective-origin: 0% 25%;
  351. perspective-origin: 0% 25%;
  352. }
  353. .reveal .slides>section,
  354. .reveal .slides>section>section {
  355. display: none;
  356. position: absolute;
  357. width: 100%;
  358. min-height: 600px;
  359. z-index: 10;
  360. -webkit-transform-style: preserve-3d;
  361. -moz-transform-style: preserve-3d;
  362. -ms-transform-style: preserve-3d;
  363. transform-style: preserve-3d;
  364. -webkit-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  365. -moz-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  366. -ms-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  367. -o-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  368. transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  369. }
  370. .reveal .slides>section.present {
  371. display: block;
  372. z-index: 11;
  373. opacity: 1;
  374. }
  375. .reveal .slides>section {
  376. margin-left: -50%;
  377. }
  378. /*********************************************
  379. * DEFAULT TRANSITION
  380. *********************************************/
  381. .reveal .slides>section.past {
  382. display: block;
  383. opacity: 0;
  384. -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
  385. -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
  386. -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
  387. transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
  388. }
  389. .reveal .slides>section.future {
  390. display: block;
  391. opacity: 0;
  392. -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
  393. -moz-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
  394. -ms-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
  395. transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
  396. }
  397. .reveal .slides>section>section.past {
  398. display: block;
  399. opacity: 0;
  400. -webkit-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
  401. -moz-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
  402. -ms-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
  403. transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
  404. }
  405. .reveal .slides>section>section.future {
  406. display: block;
  407. opacity: 0;
  408. -webkit-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
  409. -moz-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
  410. -ms-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
  411. transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
  412. }
  413. /*********************************************
  414. * CONCAVE TRANSITION
  415. *********************************************/
  416. .reveal.concave .slides>section.past {
  417. -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
  418. -moz-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
  419. -ms-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
  420. transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
  421. }
  422. .reveal.concave .slides>section.future {
  423. -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
  424. -moz-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
  425. -ms-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
  426. transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
  427. }
  428. .reveal.concave .slides>section>section.past {
  429. -webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
  430. -moz-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
  431. -ms-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
  432. transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
  433. }
  434. .reveal.concave .slides>section>section.future {
  435. -webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
  436. -moz-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
  437. -ms-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
  438. transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
  439. }
  440. /*********************************************
  441. * LINEAR TRANSITION
  442. *********************************************/
  443. .reveal.linear .slides>section.past {
  444. -webkit-transform: translate(-150%, 0);
  445. -moz-transform: translate(-150%, 0);
  446. -ms-transform: translate(-150%, 0);
  447. -o-transform: translate(-150%, 0);
  448. transform: translate(-150%, 0);
  449. }
  450. .reveal.linear .slides>section.future {
  451. -webkit-transform: translate(150%, 0);
  452. -moz-transform: translate(150%, 0);
  453. -ms-transform: translate(150%, 0);
  454. -o-transform: translate(150%, 0);
  455. transform: translate(150%, 0);
  456. }
  457. .reveal.linear .slides>section>section.past {
  458. -webkit-transform: translate(0, -150%);
  459. -moz-transform: translate(0, -150%);
  460. -ms-transform: translate(0, -150%);
  461. -o-transform: translate(0, -150%);
  462. transform: translate(0, -150%);
  463. }
  464. .reveal.linear .slides>section>section.future {
  465. -webkit-transform: translate(0, 150%);
  466. -moz-transform: translate(0, 150%);
  467. -ms-transform: translate(0, 150%);
  468. -o-transform: translate(0, 150%);
  469. transform: translate(0, 150%);
  470. }
  471. /*********************************************
  472. * CUBE TRANSITION
  473. *********************************************/
  474. .reveal.cube .slides {
  475. margin-top: -350px;
  476. -webkit-perspective-origin: 50% 25%;
  477. -moz-perspective-origin: 50% 25%;
  478. -ms-perspective-origin: 50% 25%;
  479. perspective-origin: 50% 25%;
  480. -webkit-perspective: 1300px;
  481. -moz-perspective: 1300px;
  482. -ms-perspective: 1300px;
  483. perspective: 1300px;
  484. }
  485. .reveal.cube .slides section {
  486. padding: 30px;
  487. -webkit-backface-visibility: hidden;
  488. -moz-backface-visibility: hidden;
  489. -ms-backface-visibility: hidden;
  490. backface-visibility: hidden;
  491. -webkit-box-sizing: border-box;
  492. -moz-box-sizing: border-box;
  493. box-sizing: border-box;
  494. }
  495. .reveal.cube .slides section:not(.stack):before {
  496. content: '';
  497. position: absolute;
  498. display: block;
  499. width: 100%;
  500. height: 100%;
  501. left: 0;
  502. top: 0;
  503. background: #232628;
  504. border-radius: 4px;
  505. -webkit-transform: translateZ( -20px );
  506. -moz-transform: translateZ( -20px );
  507. -ms-transform: translateZ( -20px );
  508. -o-transform: translateZ( -20px );
  509. transform: translateZ( -20px );
  510. }
  511. .reveal.cube .slides section:not(.stack):after {
  512. content: '';
  513. position: absolute;
  514. display: block;
  515. width: 90%;
  516. height: 30px;
  517. left: 5%;
  518. bottom: 0;
  519. background: none;
  520. z-index: 1;
  521. border-radius: 4px;
  522. box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
  523. -webkit-transform: translateZ(-90px) rotateX( 65deg );
  524. -moz-transform: translateZ(-90px) rotateX( 65deg );
  525. -ms-transform: translateZ(-90px) rotateX( 65deg );
  526. -o-transform: translateZ(-90px) rotateX( 65deg );
  527. transform: translateZ(-90px) rotateX( 65deg );
  528. }
  529. .reveal.cube .slides>section.stack {
  530. padding: 0;
  531. background: none;
  532. }
  533. .reveal.cube .slides>section.past {
  534. -webkit-transform-origin: 100% 0%;
  535. -moz-transform-origin: 100% 0%;
  536. -ms-transform-origin: 100% 0%;
  537. transform-origin: 100% 0%;
  538. -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
  539. -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
  540. -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
  541. transform: translate3d(-100%, 0, 0) rotateY(-90deg);
  542. }
  543. .reveal.cube .slides>section.future {
  544. -webkit-transform-origin: 0% 0%;
  545. -moz-transform-origin: 0% 0%;
  546. -ms-transform-origin: 0% 0%;
  547. transform-origin: 0% 0%;
  548. -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg);
  549. -moz-transform: translate3d(100%, 0, 0) rotateY(90deg);
  550. -ms-transform: translate3d(100%, 0, 0) rotateY(90deg);
  551. transform: translate3d(100%, 0, 0) rotateY(90deg);
  552. }
  553. .reveal.cube .slides>section>section.past {
  554. -webkit-transform-origin: 0% 100%;
  555. -moz-transform-origin: 0% 100%;
  556. -ms-transform-origin: 0% 100%;
  557. transform-origin: 0% 100%;
  558. -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg);
  559. -moz-transform: translate3d(0, -100%, 0) rotateX(90deg);
  560. -ms-transform: translate3d(0, -100%, 0) rotateX(90deg);
  561. transform: translate3d(0, -100%, 0) rotateX(90deg);
  562. }
  563. .reveal.cube .slides>section>section.future {
  564. -webkit-transform-origin: 0% 0%;
  565. -moz-transform-origin: 0% 0%;
  566. -ms-transform-origin: 0% 0%;
  567. transform-origin: 0% 0%;
  568. -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg);
  569. -moz-transform: translate3d(0, 100%, 0) rotateX(-90deg);
  570. -ms-transform: translate3d(0, 100%, 0) rotateX(-90deg);
  571. transform: translate3d(0, 100%, 0) rotateX(-90deg);
  572. }
  573. /*********************************************
  574. * PAGE TRANSITION
  575. *********************************************/
  576. .reveal.page .slides {
  577. margin-top: -350px;
  578. -webkit-perspective-origin: 50% 50%;
  579. -moz-perspective-origin: 50% 50%;
  580. -ms-perspective-origin: 50% 50%;
  581. perspective-origin: 50% 50%;
  582. -webkit-perspective: 3000px;
  583. -moz-perspective: 3000px;
  584. -ms-perspective: 3000px;
  585. perspective: 3000px;
  586. }
  587. .reveal.page .slides section {
  588. padding: 30px;
  589. -webkit-box-sizing: border-box;
  590. -moz-box-sizing: border-box;
  591. box-sizing: border-box;
  592. }
  593. .reveal.page .slides section.past {
  594. z-index: 12;
  595. }
  596. .reveal.page .slides section:not(.stack):before {
  597. content: '';
  598. position: absolute;
  599. display: block;
  600. width: 100%;
  601. height: 100%;
  602. left: 0;
  603. top: 0;
  604. background: rgba(0,0,0,0.2);
  605. -webkit-transform: translateZ( -20px );
  606. -moz-transform: translateZ( -20px );
  607. -ms-transform: translateZ( -20px );
  608. -o-transform: translateZ( -20px );
  609. transform: translateZ( -20px );
  610. }
  611. .reveal.page .slides section:not(.stack):after {
  612. content: '';
  613. position: absolute;
  614. display: block;
  615. width: 90%;
  616. height: 30px;
  617. left: 5%;
  618. bottom: 0;
  619. background: none;
  620. z-index: 1;
  621. border-radius: 4px;
  622. box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
  623. -webkit-transform: translateZ(-90px) rotateX( 65deg );
  624. }
  625. .reveal.page .slides>section.stack {
  626. padding: 0;
  627. background: none;
  628. }
  629. .reveal.page .slides>section.past {
  630. -webkit-transform-origin: 0% 0%;
  631. -moz-transform-origin: 0% 0%;
  632. -ms-transform-origin: 0% 0%;
  633. transform-origin: 0% 0%;
  634. -webkit-transform: translate3d(-40%, 0, 0) rotateY(-80deg);
  635. -moz-transform: translate3d(-40%, 0, 0) rotateY(-80deg);
  636. -ms-transform: translate3d(-40%, 0, 0) rotateY(-80deg);
  637. transform: translate3d(-40%, 0, 0) rotateY(-80deg);
  638. }
  639. .reveal.page .slides>section.future {
  640. -webkit-transform-origin: 100% 0%;
  641. -moz-transform-origin: 100% 0%;
  642. -ms-transform-origin: 100% 0%;
  643. transform-origin: 100% 0%;
  644. -webkit-transform: translate3d(0, 0, 0);
  645. -moz-transform: translate3d(0, 0, 0);
  646. -ms-transform: translate3d(0, 0, 0);
  647. transform: translate3d(0, 0, 0);
  648. }
  649. .reveal.page .slides>section>section.past {
  650. -webkit-transform-origin: 0% 0%;
  651. -moz-transform-origin: 0% 0%;
  652. -ms-transform-origin: 0% 0%;
  653. transform-origin: 0% 0%;
  654. -webkit-transform: translate3d(0, -40%, 0) rotateX(80deg);
  655. -moz-transform: translate3d(0, -40%, 0) rotateX(80deg);
  656. -ms-transform: translate3d(0, -40%, 0) rotateX(80deg);
  657. transform: translate3d(0, -40%, 0) rotateX(80deg);
  658. }
  659. .reveal.page .slides>section>section.future {
  660. -webkit-transform-origin: 0% 100%;
  661. -moz-transform-origin: 0% 100%;
  662. -ms-transform-origin: 0% 100%;
  663. transform-origin: 0% 100%;
  664. -webkit-transform: translate3d(0, 0, 0);
  665. -moz-transform: translate3d(0, 0, 0);
  666. -ms-transform: translate3d(0, 0, 0);
  667. transform: translate3d(0, 0, 0);
  668. }
  669. /*********************************************
  670. * TILE-FLIP TRANSITION (CSS shader)
  671. *********************************************/
  672. .reveal.tileflip .slides section.present {
  673. -webkit-transform: none;
  674. -webkit-transition-duration: 800ms;
  675. -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),
  676. amount 0, randomness 0, flipAxis 0 1 0, tileOutline 1
  677. );
  678. }
  679. .reveal.tileflip .slides section.past {
  680. -webkit-transform: none;
  681. -webkit-transition-duration: 800ms;
  682. -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),
  683. amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1
  684. );
  685. }
  686. .reveal.tileflip .slides section.future {
  687. -webkit-transform: none;
  688. -webkit-transition-duration: 800ms;
  689. -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),
  690. amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1
  691. );
  692. }
  693. .reveal.tileflip .slides>section>section.present {
  694. -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),
  695. amount 0, randomness 2, flipAxis 1 0 0, tileOutline 1
  696. );
  697. }
  698. .reveal.tileflip .slides>section>section.past {
  699. -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),
  700. amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1
  701. );
  702. }
  703. .reveal.tileflip .slides>section>section.future {
  704. -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),
  705. amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1
  706. );
  707. }
  708. /*********************************************
  709. * NO TRANSITION
  710. *********************************************/
  711. .reveal.none .slides section {
  712. -webkit-transform: none;
  713. -moz-transform: none;
  714. -ms-transform: none;
  715. -o-transform: none;
  716. transform: none;
  717. -webkit-transition: none;
  718. -moz-transition: none;
  719. -ms-transition: none;
  720. -o-transition: none;
  721. transition: none;
  722. }
  723. /*********************************************
  724. * OVERVIEW
  725. *********************************************/
  726. .reveal.overview .slides {
  727. -webkit-perspective: 700px;
  728. -moz-perspective: 700px;
  729. -ms-perspective: 700px;
  730. perspective: 700px;
  731. }
  732. .reveal.overview .slides section {
  733. padding: 20px 0;
  734. max-height: 600px;
  735. overflow: hidden;
  736. opacity: 1;
  737. cursor: pointer;
  738. background: rgba(0,0,0,0.1);
  739. }
  740. .reveal.overview .slides section .fragment {
  741. opacity: 1;
  742. }
  743. .reveal.overview .slides section:after,
  744. .reveal.overview .slides section:before {
  745. display: none !important;
  746. }
  747. .reveal.overview .slides section>section {
  748. opacity: 1;
  749. cursor: pointer;
  750. }
  751. .reveal.overview .slides section:hover {
  752. background: rgba(0,0,0,0.3);
  753. }
  754. .reveal.overview .slides section.present {
  755. background: rgba(0,0,0,0.3);
  756. }
  757. .reveal.overview .slides>section.stack {
  758. background: none;
  759. padding: 0;
  760. overflow: visible;
  761. }
  762. /*********************************************
  763. * FALLBACK
  764. *********************************************/
  765. .no-transforms {
  766. overflow-y: auto;
  767. }
  768. .no-transforms .slides section {
  769. display: block!important;
  770. opacity: 1!important;
  771. position: relative!important;
  772. height: auto;
  773. min-height: auto;
  774. margin-bottom: 100px;
  775. -webkit-transform: none;
  776. -moz-transform: none;
  777. -ms-transform: none;
  778. transform: none;
  779. }
  780. /*********************************************
  781. * DEFAULT STATES
  782. *********************************************/
  783. .state-background {
  784. position: absolute;
  785. width: 100%;
  786. height: 100%;
  787. background: rgba( 0, 0, 0, 0 );
  788. -webkit-transition: background 800ms ease;
  789. -moz-transition: background 800ms ease;
  790. -ms-transition: background 800ms ease;
  791. -o-transition: background 800ms ease;
  792. transition: background 800ms ease;
  793. }
  794. .alert .state-background {
  795. background: rgba( 200, 50, 30, 0.6 );
  796. }
  797. .soothe .state-background {
  798. background: rgba( 50, 200, 90, 0.4 );
  799. }
  800. .blackout .state-background {
  801. background: rgba( 0, 0, 0, 0.6 );
  802. }
  803. /*********************************************
  804. * SPEAKER NOTES
  805. *********************************************/
  806. .reveal aside.notes {
  807. display: none;
  808. }