reveal-ck 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +13 -0
  3. data/bin/reveal-ck +23 -8
  4. data/lib/reveal-ck.rb +6 -0
  5. data/lib/reveal-ck/build_task.rb +14 -0
  6. data/lib/reveal-ck/builder.rb +21 -0
  7. data/lib/reveal-ck/config.rb +43 -0
  8. data/lib/reveal-ck/file_slicer.rb +19 -17
  9. data/lib/reveal-ck/file_splicer.rb +30 -28
  10. data/lib/reveal-ck/file_string_replacer.rb +17 -0
  11. data/lib/reveal-ck/haml_processor.rb +17 -15
  12. data/lib/reveal-ck/presentation_builder.rb +69 -0
  13. data/lib/reveal-ck/slide_builder.rb +66 -0
  14. data/lib/reveal-ck/version.rb +1 -1
  15. data/rakelib/cucumber.rake +14 -1
  16. data/reveal.js/Gruntfile.js +132 -0
  17. data/reveal.js/LICENSE +1 -1
  18. data/reveal.js/README.md +362 -50
  19. data/reveal.js/css/print/paper.css +14 -14
  20. data/reveal.js/css/print/pdf.css +60 -30
  21. data/reveal.js/css/reveal.css +444 -149
  22. data/reveal.js/css/reveal.min.css +2 -2
  23. data/reveal.js/css/theme/README.md +8 -10
  24. data/reveal.js/css/theme/beige.css +24 -45
  25. data/reveal.js/css/theme/default.css +24 -45
  26. data/reveal.js/css/theme/moon.css +142 -0
  27. data/reveal.js/css/theme/night.css +24 -44
  28. data/reveal.js/css/theme/serif.css +27 -45
  29. data/reveal.js/css/theme/simple.css +25 -45
  30. data/reveal.js/css/theme/sky.css +26 -43
  31. data/reveal.js/css/theme/solarized.css +142 -0
  32. data/reveal.js/css/theme/source/beige.scss +2 -2
  33. data/reveal.js/css/theme/source/default.scss +2 -2
  34. data/reveal.js/css/theme/source/moon.scss +68 -0
  35. data/reveal.js/css/theme/source/night.scss +4 -4
  36. data/reveal.js/css/theme/source/serif.scss +8 -6
  37. data/reveal.js/css/theme/source/simple.scss +5 -5
  38. data/reveal.js/css/theme/source/sky.scss +9 -4
  39. data/reveal.js/css/theme/source/solarized.scss +74 -0
  40. data/reveal.js/css/theme/template/settings.scss +2 -2
  41. data/reveal.js/examples/assets/image1.png +0 -0
  42. data/reveal.js/examples/assets/image2.png +0 -0
  43. data/reveal.js/examples/barebones.html +42 -0
  44. data/reveal.js/examples/embedded-media.html +49 -0
  45. data/reveal.js/examples/slide-backgrounds.html +101 -0
  46. data/reveal.js/index.html +63 -56
  47. data/reveal.js/js/reveal.js +997 -216
  48. data/reveal.js/js/reveal.min.js +3 -3
  49. data/reveal.js/package.json +43 -29
  50. data/reveal.js/plugin/highlight/highlight.js +28 -6
  51. data/reveal.js/plugin/markdown/example.html +97 -0
  52. data/reveal.js/plugin/markdown/example.md +29 -0
  53. data/reveal.js/plugin/markdown/markdown.js +164 -11
  54. data/reveal.js/plugin/markdown/marked.js +37 -0
  55. data/reveal.js/plugin/multiplex/client.js +13 -0
  56. data/reveal.js/plugin/multiplex/index.js +56 -0
  57. data/reveal.js/plugin/multiplex/master.js +50 -0
  58. data/reveal.js/plugin/notes-server/index.js +1 -0
  59. data/reveal.js/plugin/notes-server/notes.html +8 -5
  60. data/reveal.js/plugin/notes/notes.html +133 -44
  61. data/reveal.js/plugin/notes/notes.js +3 -1
  62. data/reveal.js/plugin/print-pdf/print-pdf.js +8 -3
  63. data/reveal.js/plugin/remotes/remotes.js +13 -4
  64. data/reveal.js/plugin/search/search.js +196 -0
  65. data/reveal.js/plugin/zoom-js/zoom.js +26 -21
  66. data/spec/data/config/config.toml +6 -0
  67. data/spec/data/string_replacer/after_replace +4 -0
  68. data/spec/data/string_replacer/before_replace +4 -0
  69. data/spec/lib/reveal-ck/config_spec.rb +50 -0
  70. data/spec/lib/reveal-ck/file_slicer_spec.rb +29 -27
  71. data/spec/lib/reveal-ck/file_splicer_spec.rb +28 -26
  72. data/spec/lib/reveal-ck/file_string_replacer_spec.rb +32 -0
  73. data/spec/lib/reveal-ck/haml_processor_spec.rb +28 -26
  74. metadata +82 -27
  75. data/rakelib/presentation.rake +0 -41
  76. data/rakelib/reveal.rake +0 -15
  77. data/reveal.js/css/shaders/tile-flip.fs +0 -64
  78. data/reveal.js/css/shaders/tile-flip.vs +0 -141
  79. data/reveal.js/grunt.js +0 -84
  80. data/reveal.js/plugin/markdown/showdown.js +0 -62
@@ -2,12 +2,12 @@
2
2
  by Rob Glazebrook of CSSnewbie.com
3
3
  Last Updated: June 4, 2008
4
4
 
5
- Feel free (nay, compelled) to edit, append, and
5
+ Feel free (nay, compelled) to edit, append, and
6
6
  manipulate this file as you see fit. */
7
7
 
8
8
 
9
9
  /* SECTION 1: Set default width, margin, float, and
10
- background. This prevents elements from extending
10
+ background. This prevents elements from extending
11
11
  beyond the edge of the printed page, and prevents
12
12
  unnecessary background images from printing */
13
13
  body {
@@ -28,11 +28,11 @@ html {
28
28
  overflow: visible;
29
29
  }
30
30
 
31
- /* SECTION 2: Remove any elements not needed in print.
31
+ /* SECTION 2: Remove any elements not needed in print.
32
32
  This would include navigation, ads, sidebars, etc. */
33
- .nestedarrow,
34
- .controls,
35
- .reveal .progress,
33
+ .nestedarrow,
34
+ .controls,
35
+ .reveal .progress,
36
36
  .reveal.overview,
37
37
  .fork-reveal,
38
38
  .share-reveal,
@@ -45,7 +45,7 @@ html {
45
45
  body, p, td, li, div, a {
46
46
  font-size: 16pt!important;
47
47
  font-family: Georgia, "Times New Roman", Times, serif !important;
48
- color: #000;
48
+ color: #000;
49
49
  }
50
50
 
51
51
  /* SECTION 4: Set heading font face, sizes, and color.
@@ -71,14 +71,14 @@ h6 { font-size: 18pt !important; font-style: italic; }
71
71
  /* SECTION 5: Make hyperlinks more usable.
72
72
  Ensure links are underlined, and consider appending
73
73
  the URL to the end of the link for usability. */
74
- a:link,
74
+ a:link,
75
75
  a:visited {
76
76
  color: #000 !important;
77
77
  font-weight: bold;
78
78
  text-decoration: underline;
79
79
  }
80
80
  /*
81
- .reveal a:link:after,
81
+ .reveal a:link:after,
82
82
  .reveal a:visited:after {
83
83
  content: " (" attr(href) ") ";
84
84
  color: #222 !important;
@@ -123,9 +123,9 @@ ul, ol, div, p {
123
123
  -ms-perspective-origin: 50% 50%;
124
124
  perspective-origin: 50% 50%;
125
125
  }
126
- .reveal .slides>section,
126
+ .reveal .slides>section,
127
127
  .reveal .slides>section>section {
128
-
128
+
129
129
  visibility: visible !important;
130
130
  position: static !important;
131
131
  width: 90% !important;
@@ -152,20 +152,20 @@ ul, ol, div, p {
152
152
  transform: none !important;
153
153
  }
154
154
  .reveal section {
155
- page-break-after: always !important;
155
+ page-break-after: always !important;
156
156
  display: block !important;
157
157
  }
158
158
  .reveal section .fragment {
159
159
  opacity: 1 !important;
160
160
  visibility: visible !important;
161
-
161
+
162
162
  -webkit-transform: none !important;
163
163
  -moz-transform: none !important;
164
164
  -ms-transform: none !important;
165
165
  transform: none !important;
166
166
  }
167
167
  .reveal section:last-of-type {
168
- page-break-after: avoid !important;
168
+ page-break-after: avoid !important;
169
169
  }
170
170
  .reveal section img {
171
171
  display: block;
@@ -2,41 +2,46 @@
2
2
  by Rob Glazebrook of CSSnewbie.com
3
3
  Last Updated: June 4, 2008
4
4
 
5
- Feel free (nay, compelled) to edit, append, and
5
+ Feel free (nay, compelled) to edit, append, and
6
6
  manipulate this file as you see fit. */
7
7
 
8
8
 
9
9
  /* SECTION 1: Set default width, margin, float, and
10
- background. This prevents elements from extending
10
+ background. This prevents elements from extending
11
11
  beyond the edge of the printed page, and prevents
12
12
  unnecessary background images from printing */
13
+
13
14
  * {
14
- -webkit-print-color-adjust: exact;
15
+ -webkit-print-color-adjust: exact;
15
16
  }
16
17
 
17
18
  body {
18
19
  font-size: 18pt;
19
- width: auto;
20
- height: auto;
20
+ width: 297mm;
21
+ height: 229mm;
22
+ margin: 0 auto !important;
21
23
  border: 0;
22
- margin: 0 5%;
23
24
  padding: 0;
24
25
  float: none !important;
25
26
  overflow: visible;
26
- background-image: none !important;
27
27
  }
28
28
 
29
29
  html {
30
- width: auto;
31
- height: auto;
30
+ width: 100%;
31
+ height: 100%;
32
32
  overflow: visible;
33
33
  }
34
34
 
35
- /* SECTION 2: Remove any elements not needed in print.
35
+ @page {
36
+ size: letter landscape;
37
+ margin: 0;
38
+ }
39
+
40
+ /* SECTION 2: Remove any elements not needed in print.
36
41
  This would include navigation, ads, sidebars, etc. */
37
- .nestedarrow,
38
- .controls,
39
- .reveal .progress,
42
+ .nestedarrow,
43
+ .controls,
44
+ .reveal .progress,
40
45
  .reveal.overview,
41
46
  .fork-reveal,
42
47
  .share-reveal,
@@ -60,12 +65,17 @@ h1,h2,h3,h4,h5,h6 {
60
65
  /* SECTION 5: Make hyperlinks more usable.
61
66
  Ensure links are underlined, and consider appending
62
67
  the URL to the end of the link for usability. */
63
- a:link,
68
+ a:link,
64
69
  a:visited {
65
70
  font-weight: bold;
66
71
  text-decoration: underline;
67
72
  }
68
73
 
74
+ .reveal pre code {
75
+ overflow: hidden !important;
76
+ font-family: monospace !important;
77
+ }
78
+
69
79
 
70
80
  /* SECTION 6: more reveal.js specific additions by @skypanther */
71
81
  ul, ol, div, p {
@@ -77,6 +87,11 @@ ul, ol, div, p {
77
87
  overflow: visible;
78
88
  margin: auto;
79
89
  }
90
+ .reveal {
91
+ width: auto !important;
92
+ height: auto !important;
93
+ overflow: hidden !important;
94
+ }
80
95
  .reveal .slides {
81
96
  position: static;
82
97
  width: 100%;
@@ -84,10 +99,8 @@ ul, ol, div, p {
84
99
 
85
100
  left: auto;
86
101
  top: auto;
87
- margin-left: auto;
88
- margin-right: auto;
89
- margin-top: auto;
90
- padding: auto;
102
+ margin: 0 !important;
103
+ padding: 0 !important;
91
104
 
92
105
  overflow: visible;
93
106
  display: block;
@@ -106,21 +119,21 @@ ul, ol, div, p {
106
119
  }
107
120
  .reveal .slides section {
108
121
 
109
- page-break-after: always !important;
122
+ page-break-after: always !important;
110
123
 
111
124
  visibility: visible !important;
112
- position: static !important;
125
+ position: relative !important;
113
126
  width: 100% !important;
114
- height: auto !important;
115
- min-height: initial !important;
127
+ height: 229mm !important;
128
+ min-height: 229mm !important;
116
129
  display: block !important;
117
- overflow: visible !important;
130
+ overflow: hidden !important;
118
131
 
119
132
  left: 0 !important;
120
133
  top: 0 !important;
121
- margin-left: 0px !important;
122
- margin-top: 50px !important;
123
- padding: 20px 0px !important;
134
+ margin: 0 !important;
135
+ padding: 2cm 2cm 0 2cm !important;
136
+ box-sizing: border-box !important;
124
137
 
125
138
  opacity: 1 !important;
126
139
 
@@ -135,19 +148,36 @@ ul, ol, div, p {
135
148
  transform: none !important;
136
149
  }
137
150
  .reveal section.stack {
138
- margin: 0px !important;
139
- padding: 0px !important;
140
- page-break-after: avoid !important;
151
+ margin: 0 !important;
152
+ padding: 0 !important;
153
+ page-break-after: avoid !important;
154
+ height: auto !important;
155
+ min-height: auto !important;
156
+ }
157
+ .reveal .absolute-element {
158
+ margin-left: 2.2cm;
159
+ margin-top: 1.8cm;
141
160
  }
142
161
  .reveal section .fragment {
143
162
  opacity: 1 !important;
144
163
  visibility: visible !important;
145
-
164
+
146
165
  -webkit-transform: none !important;
147
166
  -moz-transform: none !important;
148
167
  -ms-transform: none !important;
149
168
  transform: none !important;
150
169
  }
170
+ .reveal section .slide-background {
171
+ position: absolute;
172
+ top: 0;
173
+ left: 0;
174
+ width: 100%;
175
+ z-index: 0;
176
+ }
177
+ .reveal section>* {
178
+ position: relative;
179
+ z-index: 1;
180
+ }
151
181
  .reveal img {
152
182
  box-shadow: none;
153
183
  }
@@ -5,7 +5,7 @@
5
5
  * http://lab.hakim.se/reveal-js
6
6
  * MIT licensed
7
7
  *
8
- * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
8
+ * Copyright (C) 2013 Hakim El Hattab, http://hakim.se
9
9
  */
10
10
 
11
11
 
@@ -62,17 +62,6 @@ body {
62
62
  text-shadow: none;
63
63
  }
64
64
 
65
- @media screen and (max-width: 900px), (max-height: 600px) {
66
- .reveal .slides {
67
- font-size: 0.82em;
68
- }
69
- }
70
-
71
- @media screen and (max-width: 700px), (max-height: 400px) {
72
- .reveal .slides {
73
- font-size: 0.66em;
74
- }
75
- }
76
65
 
77
66
  /*********************************************
78
67
  * HEADERS
@@ -88,8 +77,8 @@ body {
88
77
  -moz-hyphens: auto;
89
78
  hyphens: auto;
90
79
 
91
- word-break: break-all;
92
- word-break: break-word;
80
+ word-wrap: break-word;
81
+ line-height: 1;
93
82
  }
94
83
 
95
84
  .reveal h1 { font-size: 3.77em; }
@@ -137,6 +126,26 @@ body {
137
126
  transform: scale( 0.7 );
138
127
  }
139
128
 
129
+ .reveal .slides section .fragment.zoom-in {
130
+ opacity: 0;
131
+
132
+ -webkit-transform: scale( 0.1 );
133
+ -moz-transform: scale( 0.1 );
134
+ -ms-transform: scale( 0.1 );
135
+ -o-transform: scale( 0.1 );
136
+ transform: scale( 0.1 );
137
+ }
138
+
139
+ .reveal .slides section .fragment.zoom-in.visible {
140
+ opacity: 1;
141
+
142
+ -webkit-transform: scale( 1 );
143
+ -moz-transform: scale( 1 );
144
+ -ms-transform: scale( 1 );
145
+ -o-transform: scale( 1 );
146
+ transform: scale( 1 );
147
+ }
148
+
140
149
  .reveal .slides section .fragment.roll-in {
141
150
  opacity: 0;
142
151
 
@@ -163,6 +172,13 @@ body {
163
172
  opacity: 0;
164
173
  }
165
174
 
175
+ .reveal .slides section .fragment.semi-fade-out {
176
+ opacity: 1;
177
+ }
178
+ .reveal .slides section .fragment.semi-fade-out.visible {
179
+ opacity: 0.5;
180
+ }
181
+
166
182
  .reveal .slides section .fragment.highlight-red,
167
183
  .reveal .slides section .fragment.highlight-green,
168
184
  .reveal .slides section .fragment.highlight-blue {
@@ -193,8 +209,13 @@ body {
193
209
  .reveal img,
194
210
  .reveal video,
195
211
  .reveal iframe {
196
- max-width: 100%;
197
- max-height: 100%;
212
+ max-width: 95%;
213
+ max-height: 95%;
214
+ }
215
+
216
+ /** Prevents layering issues in certain browser/transition combinations */
217
+ .reveal a {
218
+ position: relative;
198
219
  }
199
220
 
200
221
  .reveal strong,
@@ -264,22 +285,10 @@ body {
264
285
  .reveal blockquote p:last-child {
265
286
  display: inline-block;
266
287
  }
267
- .reveal blockquote:before {
268
- content: '\201C';
269
- }
270
- .reveal blockquote:after {
271
- content: '\201D';
272
- }
273
288
 
274
289
  .reveal q {
275
290
  font-style: italic;
276
291
  }
277
- .reveal q:before {
278
- content: '\201C';
279
- }
280
- .reveal q:after {
281
- content: '\201D';
282
- }
283
292
 
284
293
  .reveal pre {
285
294
  display: block;
@@ -296,14 +305,14 @@ body {
296
305
 
297
306
  box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
298
307
  }
299
- .reveal pre code {
300
- padding: 5px;
301
- }
302
-
303
308
  .reveal code {
304
309
  font-family: monospace;
310
+ }
311
+ .reveal pre code {
312
+ padding: 5px;
305
313
  overflow: auto;
306
314
  max-height: 400px;
315
+ word-wrap: normal;
307
316
  }
308
317
 
309
318
  .reveal table th,
@@ -351,20 +360,22 @@ body {
351
360
 
352
361
  .reveal .controls div {
353
362
  position: absolute;
354
- opacity: 0.1;
355
- width: 0;
356
- height: 0;
363
+ opacity: 0.05;
364
+ width: 0;
365
+ height: 0;
357
366
  border: 12px solid transparent;
358
367
 
359
- -webkit-transition: opacity 0.2s ease;
360
- -moz-transition: opacity 0.2s ease;
361
- -ms-transition: opacity 0.2s ease;
362
- -o-transition: opacity 0.2s ease;
363
- transition: opacity 0.2s ease;
368
+ -moz-transform: scale(.9999);
369
+
370
+ -webkit-transition: all 0.2s ease;
371
+ -moz-transition: all 0.2s ease;
372
+ -ms-transition: all 0.2s ease;
373
+ -o-transition: all 0.2s ease;
374
+ transition: all 0.2s ease;
364
375
  }
365
376
 
366
377
  .reveal .controls div.enabled {
367
- opacity: 0.6;
378
+ opacity: 0.7;
368
379
  cursor: pointer;
369
380
  }
370
381
 
@@ -372,35 +383,47 @@ body {
372
383
  margin-top: 1px;
373
384
  }
374
385
 
375
- .reveal .controls div.navigate-left {
376
- top: 42px;
386
+ .reveal .controls div.navigate-left {
387
+ top: 42px;
377
388
 
378
- border-right-width: 22px;
379
- border-right-color: #eee;
380
- }
389
+ border-right-width: 22px;
390
+ border-right-color: #eee;
391
+ }
392
+ .reveal .controls div.navigate-left.fragmented {
393
+ opacity: 0.3;
394
+ }
381
395
 
382
- .reveal .controls div.navigate-right {
383
- left: 74px;
384
- top: 42px;
396
+ .reveal .controls div.navigate-right {
397
+ left: 74px;
398
+ top: 42px;
385
399
 
386
- border-left-width: 22px;
387
- border-left-color: #eee;
388
- }
400
+ border-left-width: 22px;
401
+ border-left-color: #eee;
402
+ }
403
+ .reveal .controls div.navigate-right.fragmented {
404
+ opacity: 0.3;
405
+ }
389
406
 
390
- .reveal .controls div.navigate-up {
391
- left: 42px;
407
+ .reveal .controls div.navigate-up {
408
+ left: 42px;
392
409
 
393
- border-bottom-width: 22px;
394
- border-bottom-color: #eee;
395
- }
410
+ border-bottom-width: 22px;
411
+ border-bottom-color: #eee;
412
+ }
413
+ .reveal .controls div.navigate-up.fragmented {
414
+ opacity: 0.3;
415
+ }
396
416
 
397
- .reveal .controls div.navigate-down {
398
- left: 42px;
399
- top: 74px;
417
+ .reveal .controls div.navigate-down {
418
+ left: 42px;
419
+ top: 74px;
400
420
 
401
- border-top-width: 22px;
402
- border-top-color: #eee;
403
- }
421
+ border-top-width: 22px;
422
+ border-top-color: #eee;
423
+ }
424
+ .reveal .controls div.navigate-down.fragmented {
425
+ opacity: 0.3;
426
+ }
404
427
 
405
428
 
406
429
  /*********************************************
@@ -505,6 +528,10 @@ body {
505
528
  top: 0;
506
529
  padding: 0 2px;
507
530
 
531
+ -webkit-backface-visibility: hidden;
532
+ -moz-backface-visibility: hidden;
533
+ backface-visibility: hidden;
534
+
508
535
  -webkit-transform-origin: 50% 0%;
509
536
  -moz-transform-origin: 50% 0%;
510
537
  -ms-transform-origin: 50% 0%;
@@ -525,17 +552,17 @@ body {
525
552
  position: relative;
526
553
  width: 100%;
527
554
  height: 100%;
528
- min-height: 640px; /* min height + 40 to account for padding */
555
+
556
+ -ms-touch-action: none;
529
557
  }
530
558
 
531
559
  .reveal .slides {
532
560
  position: absolute;
533
- max-width: 900px;
534
- min-height: 600px;
535
- width: 80%;
561
+ width: 100%;
562
+ height: 100%;
536
563
  left: 50%;
537
564
  top: 50%;
538
-
565
+
539
566
  overflow: visible;
540
567
  z-index: 1;
541
568
  text-align: center;
@@ -575,24 +602,52 @@ body {
575
602
 
576
603
  -webkit-transition: -webkit-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
577
604
  -webkit-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
578
- visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
579
- opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
605
+ visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
606
+ opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
580
607
  -moz-transition: -moz-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
581
- -moz-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
582
- visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
583
- opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
608
+ -moz-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
609
+ visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
610
+ opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
584
611
  -ms-transition: -ms-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
585
- -ms-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
586
- visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
587
- opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
612
+ -ms-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
613
+ visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
614
+ opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
588
615
  -o-transition: -o-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
589
- -o-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
590
- visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
591
- opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
616
+ -o-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
617
+ visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
618
+ opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
592
619
  transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
593
- transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
594
- visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
595
- opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
620
+ transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
621
+ visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
622
+ opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
623
+ }
624
+
625
+ /* Global transition speed settings */
626
+ .reveal[data-transition-speed="fast"] .slides section {
627
+ -webkit-transition-duration: 400ms;
628
+ -moz-transition-duration: 400ms;
629
+ -ms-transition-duration: 400ms;
630
+ transition-duration: 400ms;
631
+ }
632
+ .reveal[data-transition-speed="slow"] .slides section {
633
+ -webkit-transition-duration: 1200ms;
634
+ -moz-transition-duration: 1200ms;
635
+ -ms-transition-duration: 1200ms;
636
+ transition-duration: 1200ms;
637
+ }
638
+
639
+ /* Slide-specific transition speed overrides */
640
+ .reveal .slides section[data-transition-speed="fast"] {
641
+ -webkit-transition-duration: 400ms;
642
+ -moz-transition-duration: 400ms;
643
+ -ms-transition-duration: 400ms;
644
+ transition-duration: 400ms;
645
+ }
646
+ .reveal .slides section[data-transition-speed="slow"] {
647
+ -webkit-transition-duration: 1200ms;
648
+ -moz-transition-duration: 1200ms;
649
+ -ms-transition-duration: 1200ms;
650
+ transition-duration: 1200ms;
596
651
  }
597
652
 
598
653
  .reveal .slides>section {
@@ -600,6 +655,11 @@ body {
600
655
  top: -50%;
601
656
  }
602
657
 
658
+ .reveal .slides>section.stack {
659
+ padding-top: 0;
660
+ padding-bottom: 0;
661
+ }
662
+
603
663
  .reveal .slides>section.present,
604
664
  .reveal .slides>section>section.present {
605
665
  display: block;
@@ -619,6 +679,7 @@ body {
619
679
  * DEFAULT TRANSITION
620
680
  *********************************************/
621
681
 
682
+ .reveal .slides>section[data-transition=default].past,
622
683
  .reveal .slides>section.past {
623
684
  display: block;
624
685
  opacity: 0;
@@ -628,6 +689,7 @@ body {
628
689
  -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
629
690
  transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
630
691
  }
692
+ .reveal .slides>section[data-transition=default].future,
631
693
  .reveal .slides>section.future {
632
694
  display: block;
633
695
  opacity: 0;
@@ -638,6 +700,7 @@ body {
638
700
  transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
639
701
  }
640
702
 
703
+ .reveal .slides>section>section[data-transition=default].past,
641
704
  .reveal .slides>section>section.past {
642
705
  display: block;
643
706
  opacity: 0;
@@ -647,6 +710,7 @@ body {
647
710
  -ms-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
648
711
  transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
649
712
  }
713
+ .reveal .slides>section>section[data-transition=default].future,
650
714
  .reveal .slides>section>section.future {
651
715
  display: block;
652
716
  opacity: 0;
@@ -662,26 +726,30 @@ body {
662
726
  * CONCAVE TRANSITION
663
727
  *********************************************/
664
728
 
729
+ .reveal .slides>section[data-transition=concave].past,
665
730
  .reveal.concave .slides>section.past {
666
731
  -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
667
732
  -moz-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
668
733
  -ms-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
669
734
  transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
670
735
  }
671
- .reveal.concave .slides>section.future {
736
+ .reveal .slides>section[data-transition=concave].future,
737
+ .reveal.concave .slides>section.future {
672
738
  -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
673
739
  -moz-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
674
740
  -ms-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
675
741
  transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
676
742
  }
677
743
 
678
- .reveal.concave .slides>section>section.past {
744
+ .reveal .slides>section>section[data-transition=concave].past,
745
+ .reveal.concave .slides>section>section.past {
679
746
  -webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
680
747
  -moz-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
681
748
  -ms-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
682
749
  transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
683
750
  }
684
- .reveal.concave .slides>section>section.future {
751
+ .reveal .slides>section>section[data-transition=concave].future,
752
+ .reveal.concave .slides>section>section.future {
685
753
  -webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
686
754
  -moz-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
687
755
  -ms-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
@@ -693,6 +761,7 @@ body {
693
761
  * ZOOM TRANSITION
694
762
  *********************************************/
695
763
 
764
+ .reveal .slides>section[data-transition=zoom].past,
696
765
  .reveal.zoom .slides>section.past {
697
766
  opacity: 0;
698
767
  visibility: hidden;
@@ -703,6 +772,7 @@ body {
703
772
  -o-transform: scale(16);
704
773
  transform: scale(16);
705
774
  }
775
+ .reveal .slides>section[data-transition=zoom].future,
706
776
  .reveal.zoom .slides>section.future {
707
777
  opacity: 0;
708
778
  visibility: hidden;
@@ -714,6 +784,7 @@ body {
714
784
  transform: scale(0.2);
715
785
  }
716
786
 
787
+ .reveal .slides>section>section[data-transition=zoom].past,
717
788
  .reveal.zoom .slides>section>section.past {
718
789
  -webkit-transform: translate(0, -150%);
719
790
  -moz-transform: translate(0, -150%);
@@ -721,6 +792,7 @@ body {
721
792
  -o-transform: translate(0, -150%);
722
793
  transform: translate(0, -150%);
723
794
  }
795
+ .reveal .slides>section>section[data-transition=zoom].future,
724
796
  .reveal.zoom .slides>section>section.future {
725
797
  -webkit-transform: translate(0, 150%);
726
798
  -moz-transform: translate(0, 150%);
@@ -734,6 +806,14 @@ body {
734
806
  * LINEAR TRANSITION
735
807
  *********************************************/
736
808
 
809
+ .reveal.linear section {
810
+ -webkit-backface-visibility: hidden;
811
+ -moz-backface-visibility: hidden;
812
+ -ms-backface-visibility: hidden;
813
+ backface-visibility: hidden;
814
+ }
815
+
816
+ .reveal .slides>section[data-transition=linear].past,
737
817
  .reveal.linear .slides>section.past {
738
818
  -webkit-transform: translate(-150%, 0);
739
819
  -moz-transform: translate(-150%, 0);
@@ -741,6 +821,7 @@ body {
741
821
  -o-transform: translate(-150%, 0);
742
822
  transform: translate(-150%, 0);
743
823
  }
824
+ .reveal .slides>section[data-transition=linear].future,
744
825
  .reveal.linear .slides>section.future {
745
826
  -webkit-transform: translate(150%, 0);
746
827
  -moz-transform: translate(150%, 0);
@@ -749,6 +830,7 @@ body {
749
830
  transform: translate(150%, 0);
750
831
  }
751
832
 
833
+ .reveal .slides>section>section[data-transition=linear].past,
752
834
  .reveal.linear .slides>section>section.past {
753
835
  -webkit-transform: translate(0, -150%);
754
836
  -moz-transform: translate(0, -150%);
@@ -756,6 +838,7 @@ body {
756
838
  -o-transform: translate(0, -150%);
757
839
  transform: translate(0, -150%);
758
840
  }
841
+ .reveal .slides>section>section[data-transition=linear].future,
759
842
  .reveal.linear .slides>section>section.future {
760
843
  -webkit-transform: translate(0, 150%);
761
844
  -moz-transform: translate(0, 150%);
@@ -778,7 +861,7 @@ body {
778
861
 
779
862
  .reveal.cube .slides section {
780
863
  padding: 30px;
781
- min-height: 600px;
864
+ min-height: 700px;
782
865
 
783
866
  -webkit-backface-visibility: hidden;
784
867
  -moz-backface-visibility: hidden;
@@ -902,7 +985,7 @@ body {
902
985
 
903
986
  .reveal.page .slides section {
904
987
  padding: 30px;
905
- min-height: 600px;
988
+ min-height: 700px;
906
989
 
907
990
  -webkit-box-sizing: border-box;
908
991
  -moz-box-sizing: border-box;
@@ -998,59 +1081,11 @@ body {
998
1081
  }
999
1082
 
1000
1083
 
1001
- /*********************************************
1002
- * TILE-FLIP TRANSITION (CSS shader)
1003
- *********************************************/
1004
-
1005
- .reveal.tileflip .slides section.present {
1006
- -webkit-transform: none;
1007
- -webkit-transition-duration: 800ms;
1008
-
1009
- -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),
1010
- amount 0, randomness 0, flipAxis 0 1 0, tileOutline 1
1011
- );
1012
- }
1013
-
1014
- .reveal.tileflip .slides section.past {
1015
- -webkit-transform: none;
1016
- -webkit-transition-duration: 800ms;
1017
-
1018
- -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),
1019
- amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1
1020
- );
1021
- }
1022
-
1023
- .reveal.tileflip .slides section.future {
1024
- -webkit-transform: none;
1025
- -webkit-transition-duration: 800ms;
1026
-
1027
- -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),
1028
- amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1
1029
- );
1030
- }
1031
-
1032
- .reveal.tileflip .slides>section>section.present {
1033
- -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),
1034
- amount 0, randomness 2, flipAxis 1 0 0, tileOutline 1
1035
- );
1036
- }
1037
-
1038
- .reveal.tileflip .slides>section>section.past {
1039
- -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),
1040
- amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1
1041
- );
1042
- }
1043
-
1044
- .reveal.tileflip .slides>section>section.future {
1045
- -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),
1046
- amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1
1047
- );
1048
- }
1049
-
1050
1084
  /*********************************************
1051
1085
  * FADE TRANSITION
1052
1086
  *********************************************/
1053
1087
 
1088
+ .reveal .slides section[data-transition=fade],
1054
1089
  .reveal.fade .slides section,
1055
1090
  .reveal.fade .slides>section>section {
1056
1091
  -webkit-transform: none;
@@ -1078,10 +1113,12 @@ body {
1078
1113
  transition: none;
1079
1114
  }
1080
1115
 
1116
+
1081
1117
  /*********************************************
1082
1118
  * NO TRANSITION
1083
1119
  *********************************************/
1084
1120
 
1121
+ .reveal .slides section[data-transition=none],
1085
1122
  .reveal.none .slides section {
1086
1123
  -webkit-transform: none;
1087
1124
  -moz-transform: none;
@@ -1180,17 +1217,25 @@ body {
1180
1217
  overflow-y: auto;
1181
1218
  }
1182
1219
 
1183
- .no-transforms .slides {
1220
+ .no-transforms .reveal .slides {
1221
+ position: relative;
1222
+ width: 80%;
1223
+ height: auto !important;
1184
1224
  top: 0;
1185
1225
  left: 50%;
1186
1226
  margin: 0;
1187
1227
  text-align: center;
1188
1228
  }
1189
1229
 
1190
- .no-transforms .slides section {
1191
- display: block!important;
1192
- opacity: 1!important;
1193
- position: relative!important;
1230
+ .no-transforms .reveal .controls,
1231
+ .no-transforms .reveal .progress {
1232
+ display: none !important;
1233
+ }
1234
+
1235
+ .no-transforms .reveal .slides section {
1236
+ display: block !important;
1237
+ opacity: 1 !important;
1238
+ position: relative !important;
1194
1239
  height: auto;
1195
1240
  min-height: auto;
1196
1241
  top: 0;
@@ -1200,24 +1245,26 @@ body {
1200
1245
  -webkit-transform: none;
1201
1246
  -moz-transform: none;
1202
1247
  -ms-transform: none;
1248
+ -o-transform: none;
1203
1249
  transform: none;
1204
1250
  }
1205
1251
 
1206
- .no-transforms .slides section section {
1252
+ .no-transforms .reveal .slides section section {
1207
1253
  left: 0;
1208
1254
  }
1209
1255
 
1210
- .no-transition {
1211
- -webkit-transition: none;
1212
- -moz-transition: none;
1213
- -ms-transition: none;
1214
- -o-transition: none;
1215
- transition: none;
1256
+ .reveal .no-transition,
1257
+ .reveal .no-transition * {
1258
+ -webkit-transition: none !important;
1259
+ -moz-transition: none !important;
1260
+ -ms-transition: none !important;
1261
+ -o-transition: none !important;
1262
+ transition: none !important;
1216
1263
  }
1217
1264
 
1218
1265
 
1219
1266
  /*********************************************
1220
- * BACKGROUND STATES
1267
+ * BACKGROUND STATES [DEPRECATED]
1221
1268
  *********************************************/
1222
1269
 
1223
1270
  .reveal .state-background {
@@ -1241,6 +1288,127 @@ body {
1241
1288
  .blackout .reveal .state-background {
1242
1289
  background: rgba( 0, 0, 0, 0.6 );
1243
1290
  }
1291
+ .whiteout .reveal .state-background {
1292
+ background: rgba( 255, 255, 255, 0.6 );
1293
+ }
1294
+ .cobalt .reveal .state-background {
1295
+ background: rgba( 22, 152, 213, 0.6 );
1296
+ }
1297
+ .mint .reveal .state-background {
1298
+ background: rgba( 22, 213, 75, 0.6 );
1299
+ }
1300
+ .submerge .reveal .state-background {
1301
+ background: rgba( 12, 25, 77, 0.6);
1302
+ }
1303
+ .lila .reveal .state-background {
1304
+ background: rgba( 180, 50, 140, 0.6 );
1305
+ }
1306
+ .sunset .reveal .state-background {
1307
+ background: rgba( 255, 122, 0, 0.6 );
1308
+ }
1309
+
1310
+
1311
+ /*********************************************
1312
+ * PER-SLIDE BACKGROUNDS
1313
+ *********************************************/
1314
+
1315
+ .reveal>.backgrounds {
1316
+ position: absolute;
1317
+ width: 100%;
1318
+ height: 100%;
1319
+ }
1320
+ .reveal .slide-background {
1321
+ position: absolute;
1322
+ width: 100%;
1323
+ height: 100%;
1324
+ opacity: 0;
1325
+ visibility: hidden;
1326
+
1327
+ background-color: rgba( 0, 0, 0, 0 );
1328
+ background-position: 50% 50%;
1329
+ background-repeat: no-repeat;
1330
+ background-size: cover;
1331
+
1332
+ -webkit-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1333
+ -moz-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1334
+ -ms-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1335
+ -o-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1336
+ transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1337
+ }
1338
+ .reveal .slide-background.present {
1339
+ opacity: 1;
1340
+ visibility: visible;
1341
+ }
1342
+
1343
+ .print-pdf .reveal .slide-background {
1344
+ opacity: 1 !important;
1345
+ visibility: visible !important;
1346
+ }
1347
+
1348
+ /* Linear sliding transition style */
1349
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background,
1350
+ .reveal>.backgrounds .slide-background[data-background-transition=slide] {
1351
+ opacity: 1;
1352
+
1353
+ -webkit-backface-visibility: hidden;
1354
+ -moz-backface-visibility: hidden;
1355
+ -ms-backface-visibility: hidden;
1356
+ backface-visibility: hidden;
1357
+
1358
+ -webkit-transition-duration: 800ms;
1359
+ -moz-transition-duration: 800ms;
1360
+ -ms-transition-duration: 800ms;
1361
+ -o-transition-duration: 800ms;
1362
+ transition-duration: 800ms;
1363
+ }
1364
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background.past,
1365
+ .reveal>.backgrounds .slide-background.past[data-background-transition=slide] {
1366
+ -webkit-transform: translate(-100%, 0);
1367
+ -moz-transform: translate(-100%, 0);
1368
+ -ms-transform: translate(-100%, 0);
1369
+ -o-transform: translate(-100%, 0);
1370
+ transform: translate(-100%, 0);
1371
+ }
1372
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background.future,
1373
+ .reveal>.backgrounds .slide-background.future[data-background-transition=slide] {
1374
+ -webkit-transform: translate(100%, 0);
1375
+ -moz-transform: translate(100%, 0);
1376
+ -ms-transform: translate(100%, 0);
1377
+ -o-transform: translate(100%, 0);
1378
+ transform: translate(100%, 0);
1379
+ }
1380
+
1381
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,
1382
+ .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] {
1383
+ -webkit-transform: translate(0, -100%);
1384
+ -moz-transform: translate(0, -100%);
1385
+ -ms-transform: translate(0, -100%);
1386
+ -o-transform: translate(0, -100%);
1387
+ transform: translate(0, -100%);
1388
+ }
1389
+ .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,
1390
+ .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] {
1391
+ -webkit-transform: translate(0, 100%);
1392
+ -moz-transform: translate(0, 100%);
1393
+ -ms-transform: translate(0, 100%);
1394
+ -o-transform: translate(0, 100%);
1395
+ transform: translate(0, 100%);
1396
+ }
1397
+
1398
+
1399
+ /* Global transition speed settings */
1400
+ .reveal[data-transition-speed="fast"]>.backgrounds .slide-background {
1401
+ -webkit-transition-duration: 400ms;
1402
+ -moz-transition-duration: 400ms;
1403
+ -ms-transition-duration: 400ms;
1404
+ transition-duration: 400ms;
1405
+ }
1406
+ .reveal[data-transition-speed="slow"]>.backgrounds .slide-background {
1407
+ -webkit-transition-duration: 1200ms;
1408
+ -moz-transition-duration: 1200ms;
1409
+ -ms-transition-duration: 1200ms;
1410
+ transition-duration: 1200ms;
1411
+ }
1244
1412
 
1245
1413
 
1246
1414
  /*********************************************
@@ -1268,6 +1436,133 @@ body {
1268
1436
  text-align: right;
1269
1437
  }
1270
1438
 
1439
+ .reveal.rtl .progress span {
1440
+ float: right
1441
+ }
1442
+
1443
+
1444
+ /*********************************************
1445
+ * LINK PREVIEW OVERLAY
1446
+ *********************************************/
1447
+
1448
+ .reveal .preview-link-overlay {
1449
+ position: absolute;
1450
+ top: 0;
1451
+ left: 0;
1452
+ width: 100%;
1453
+ height: 100%;
1454
+ z-index: 1000;
1455
+ background: rgba( 0, 0, 0, 0.9 );
1456
+ opacity: 0;
1457
+ visibility: hidden;
1458
+
1459
+ -webkit-transition: all 0.3s ease;
1460
+ -moz-transition: all 0.3s ease;
1461
+ -ms-transition: all 0.3s ease;
1462
+ transition: all 0.3s ease;
1463
+ }
1464
+ .reveal .preview-link-overlay.visible {
1465
+ opacity: 1;
1466
+ visibility: visible;
1467
+ }
1468
+
1469
+ .reveal .preview-link-overlay .spinner {
1470
+ position: absolute;
1471
+ display: block;
1472
+ top: 50%;
1473
+ left: 50%;
1474
+ width: 32px;
1475
+ height: 32px;
1476
+ margin: -16px 0 0 -16px;
1477
+ z-index: 10;
1478
+ 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);
1479
+
1480
+ visibility: visible;
1481
+ opacity: 0.6;
1482
+
1483
+ -webkit-transition: all 0.3s ease;
1484
+ -moz-transition: all 0.3s ease;
1485
+ -ms-transition: all 0.3s ease;
1486
+ transition: all 0.3s ease;
1487
+ }
1488
+
1489
+ .reveal .preview-link-overlay header {
1490
+ position: absolute;
1491
+ left: 0;
1492
+ top: 0;
1493
+ width: 100%;
1494
+ height: 40px;
1495
+ z-index: 2;
1496
+ border-bottom: 1px solid #222;
1497
+ }
1498
+ .reveal .preview-link-overlay header a {
1499
+ display: inline-block;
1500
+ width: 40px;
1501
+ height: 40px;
1502
+ padding: 0 10px;
1503
+ float: right;
1504
+ opacity: 0.6;
1505
+
1506
+ box-sizing: border-box;
1507
+ }
1508
+ .reveal .preview-link-overlay header a:hover {
1509
+ opacity: 1;
1510
+ }
1511
+ .reveal .preview-link-overlay header a .icon {
1512
+ display: inline-block;
1513
+ width: 20px;
1514
+ height: 20px;
1515
+
1516
+ background-position: 50% 50%;
1517
+ background-size: 100%;
1518
+ background-repeat: no-repeat;
1519
+ }
1520
+ .reveal .preview-link-overlay header a.close .icon {
1521
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
1522
+ }
1523
+ .reveal .preview-link-overlay header a.external .icon {
1524
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
1525
+ }
1526
+
1527
+ .reveal .preview-link-overlay .viewport {
1528
+ position: absolute;
1529
+ top: 40px;
1530
+ right: 0;
1531
+ bottom: 0;
1532
+ left: 0;
1533
+ }
1534
+
1535
+ .reveal .preview-link-overlay .viewport iframe {
1536
+ width: 100%;
1537
+ height: 100%;
1538
+ max-width: 100%;
1539
+ max-height: 100%;
1540
+ border: 0;
1541
+
1542
+ opacity: 0;
1543
+ visibility: hidden;
1544
+
1545
+ -webkit-transition: all 0.3s ease;
1546
+ -moz-transition: all 0.3s ease;
1547
+ -ms-transition: all 0.3s ease;
1548
+ transition: all 0.3s ease;
1549
+ }
1550
+
1551
+ .reveal .preview-link-overlay.loaded .viewport iframe {
1552
+ opacity: 1;
1553
+ visibility: visible;
1554
+ }
1555
+
1556
+ .reveal .preview-link-overlay.loaded .spinner {
1557
+ opacity: 0;
1558
+ visibility: hidden;
1559
+
1560
+ -webkit-transform: scale(0.2);
1561
+ -moz-transform: scale(0.2);
1562
+ -ms-transform: scale(0.2);
1563
+ transform: scale(0.2);
1564
+ }
1565
+
1271
1566
 
1272
1567
  /*********************************************
1273
1568
  * SPEAKER NOTES