Browse Source

init with reveal and 2018-05-31 gdpr talk

Simon Lackerbauer 6 months ago
commit
d1498e709f
Signed by: Simon Lackerbauer <simon@lackerbauer.com> GPG Key ID: 2B27C889039C0125
100 changed files with 22111 additions and 0 deletions
  1. 462
    0
      2018-05-31_de__dsgvo_alles_schall_und_rauch.html
  2. 22
    0
      LICENSE
  3. BIN
      imgs/dsgvo_alles_schall_und_rauch/password_strength.png
  4. BIN
      imgs/dsgvo_alles_schall_und_rauch/stargate_command.png
  5. 13
    0
      reveal.js/.gitignore
  6. 7
    0
      reveal.js/.travis.yml
  7. 23
    0
      reveal.js/CONTRIBUTING.md
  8. 192
    0
      reveal.js/Gruntfile.js
  9. 19
    0
      reveal.js/LICENSE
  10. 1264
    0
      reveal.js/README.md
  11. 27
    0
      reveal.js/bower.json
  12. 203
    0
      reveal.js/css/print/paper.css
  13. 178
    0
      reveal.js/css/print/pdf.css
  14. 1555
    0
      reveal.js/css/reveal.css
  15. 1717
    0
      reveal.js/css/reveal.scss
  16. 21
    0
      reveal.js/css/theme/README.md
  17. 268
    0
      reveal.js/css/theme/beige.css
  18. 264
    0
      reveal.js/css/theme/black.css
  19. 287
    0
      reveal.js/css/theme/blood.css
  20. 270
    0
      reveal.js/css/theme/league.css
  21. 268
    0
      reveal.js/css/theme/moon.css
  22. 262
    0
      reveal.js/css/theme/night.css
  23. 264
    0
      reveal.js/css/theme/serif.css
  24. 267
    0
      reveal.js/css/theme/simple.css
  25. 271
    0
      reveal.js/css/theme/sky.css
  26. 268
    0
      reveal.js/css/theme/solarized.css
  27. 39
    0
      reveal.js/css/theme/source/beige.scss
  28. 49
    0
      reveal.js/css/theme/source/black.scss
  29. 78
    0
      reveal.js/css/theme/source/blood.scss
  30. 34
    0
      reveal.js/css/theme/source/league.scss
  31. 57
    0
      reveal.js/css/theme/source/moon.scss
  32. 34
    0
      reveal.js/css/theme/source/night.scss
  33. 35
    0
      reveal.js/css/theme/source/serif.scss
  34. 43
    0
      reveal.js/css/theme/source/simple.scss
  35. 46
    0
      reveal.js/css/theme/source/sky.scss
  36. 63
    0
      reveal.js/css/theme/source/solarized.scss
  37. 49
    0
      reveal.js/css/theme/source/white.scss
  38. 29
    0
      reveal.js/css/theme/template/mixins.scss
  39. 43
    0
      reveal.js/css/theme/template/settings.scss
  40. 316
    0
      reveal.js/css/theme/template/theme.scss
  41. 264
    0
      reveal.js/css/theme/white.css
  42. 410
    0
      reveal.js/demo.html
  43. 404
    0
      reveal.js/index.html
  44. 5241
    0
      reveal.js/js/reveal.js
  45. 80
    0
      reveal.js/lib/css/zenburn.css
  46. 2
    0
      reveal.js/lib/font/league-gothic/LICENSE
  47. 10
    0
      reveal.js/lib/font/league-gothic/league-gothic.css
  48. BIN
      reveal.js/lib/font/league-gothic/league-gothic.eot
  49. BIN
      reveal.js/lib/font/league-gothic/league-gothic.ttf
  50. BIN
      reveal.js/lib/font/league-gothic/league-gothic.woff
  51. 45
    0
      reveal.js/lib/font/source-sans-pro/LICENSE
  52. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.eot
  53. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.ttf
  54. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.woff
  55. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.eot
  56. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.ttf
  57. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.woff
  58. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.eot
  59. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.ttf
  60. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.woff
  61. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot
  62. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf
  63. BIN
      reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff
  64. 39
    0
      reveal.js/lib/font/source-sans-pro/source-sans-pro.css
  65. 2
    0
      reveal.js/lib/js/classList.js
  66. 9
    0
      reveal.js/lib/js/head.min.js
  67. 7
    0
      reveal.js/lib/js/html5shiv.js
  68. 43
    0
      reveal.js/package.json
  69. 77
    0
      reveal.js/plugin/highlight/highlight.js
  70. 136
    0
      reveal.js/plugin/markdown/example.html
  71. 36
    0
      reveal.js/plugin/markdown/example.md
  72. 412
    0
      reveal.js/plugin/markdown/markdown.js
  73. 6
    0
      reveal.js/plugin/markdown/marked.js
  74. 67
    0
      reveal.js/plugin/math/math.js
  75. 13
    0
      reveal.js/plugin/multiplex/client.js
  76. 64
    0
      reveal.js/plugin/multiplex/index.js
  77. 34
    0
      reveal.js/plugin/multiplex/master.js
  78. 19
    0
      reveal.js/plugin/multiplex/package.json
  79. 65
    0
      reveal.js/plugin/notes-server/client.js
  80. 69
    0
      reveal.js/plugin/notes-server/index.js
  81. 585
    0
      reveal.js/plugin/notes-server/notes.html
  82. 759
    0
      reveal.js/plugin/notes/notes.html
  83. 155
    0
      reveal.js/plugin/notes/notes.js
  84. 69
    0
      reveal.js/plugin/print-pdf/print-pdf.js
  85. 206
    0
      reveal.js/plugin/search/search.js
  86. 272
    0
      reveal.js/plugin/zoom-js/zoom.js
  87. BIN
      reveal.js/test/examples/assets/image1.png
  88. BIN
      reveal.js/test/examples/assets/image2.png
  89. 41
    0
      reveal.js/test/examples/barebones.html
  90. 49
    0
      reveal.js/test/examples/embedded-media.html
  91. 185
    0
      reveal.js/test/examples/math.html
  92. 144
    0
      reveal.js/test/examples/slide-backgrounds.html
  93. 101
    0
      reveal.js/test/examples/slide-transitions.html
  94. 244
    0
      reveal.js/test/qunit-1.12.0.css
  95. 2212
    0
      reveal.js/test/qunit-1.12.0.js
  96. 12
    0
      reveal.js/test/simple.md
  97. 134
    0
      reveal.js/test/test-markdown-element-attributes.html
  98. 46
    0
      reveal.js/test/test-markdown-element-attributes.js
  99. 36
    0
      reveal.js/test/test-markdown-external.html
  100. 0
    0
      reveal.js/test/test-markdown-external.js

+ 462
- 0
2018-05-31_de__dsgvo_alles_schall_und_rauch.html View File

@@ -0,0 +1,462 @@
1
+<!doctype html>
2
+<html>
3
+	<head>
4
+		<meta charset="utf-8">
5
+		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
6
+
7
+		<title>DSGVO - Alles Schall und Rauch?</title>
8
+
9
+		<link rel="stylesheet" href="reveal.js/css/reveal.css">
10
+		<link rel="stylesheet" href="reveal.js/css/theme/black.css">
11
+
12
+		<!-- Theme used for syntax highlighting of code -->
13
+		<link rel="stylesheet" href="reveal.js/lib/css/zenburn.css">
14
+
15
+		<!-- Printing and PDF exports -->
16
+		<script>
17
+			var link = document.createElement( 'link' );
18
+			link.rel = 'stylesheet';
19
+			link.type = 'text/css';
20
+			link.href = window.location.search.match( /print-pdf/gi ) ? 'reveal.js/css/print/pdf.css' : 'revealjs/css/print/paper.css';
21
+			document.getElementsByTagName( 'head' )[0].appendChild( link );
22
+		</script>
23
+	</head>
24
+	<body>
25
+		<div class="reveal">
26
+			<div class="slides">
27
+                <section><h2>DSGVO - Alles Schall und Rauch?</h2>
28
+                    <img class="fragment" src="imgs/dsgvo_alles_schall_und_rauch/stargate_command.png">
29
+                </section>
30
+                <section><h3>Speaker</h3>
31
+                    <p><span class="fragment">Name:<span> <span class="fragment">Simon<span> <span class="fragment current-visible">Lackerbauer<span><span class="fragment" /></p>
32
+                    <p class="fragment">Mehr ist mir nicht erlaubt zu sagen, und mehr ist euch nicht erlaubt zu wissen.</p>
33
+                </section>
34
+                <section><h3>Speaker</h3>
35
+                    <p>Simon Lackerbauer
36
+                        <small>
37
+                            <ul>
38
+                                <li>Operations Engineer by trade, jurist when nobody's looking</li>
39
+                                <li>Datenschutzbeauftragter Mayflower GmbH seit 2012</li>
40
+                                <li>Slides und Sonstiges: <a href="https://github.com/ciil">github.com/ciil</a></li>
41
+                            </ul>
42
+						</small>
43
+                    </p>
44
+                </section>
45
+                <section>
46
+                    <section><h3>Rechtliche Grundlagen</h3>
47
+                    </section>
48
+                    <section><h3>Systematische Einordnung</h3>
49
+                        <ul>
50
+                            <li>früher: BDSG (deutsches Bundesgesetz)</li>
51
+                            <li>seit 25.05.2018: Datenschutz-Grundverordnung (DSGVO/GDPR) und BDSG-neu via DSAnpUG-EU<br>
52
+                                <small>voller Name: Verordnung (EU) 2016/679 des Europäischen Parlaments und des Rates vom 27. April 2016 zum Schutz natürlicher Personen bei der Verarbeitung personenbezogener Daten, zum freien Datenverkehr und zur Aufhebung der Richtlinie 95/46/EG</small>
53
+                            </li>
54
+                        </ul>
55
+                    </section>
56
+                    <section><h3>Was ist eine EU-Verordnung?</h3>
57
+                        <ul>
58
+                            <li>Es gibt EU-Richtlinien und EU-Verordnungen</li>
59
+                            <li>Richtlinien sind ... exactly what it says on the tin. Mehr oder weniger grobe Richtlinien, die jeder EU-Mitgliedsstaat selbst implementiert</li>
60
+                            <li>Verordnungen gelten direkt in allen Mitgliedsstaaten (und gem. EWR-Abkommen nach Inkorporierung auch in Island, Liechtenstein und Norwegen)</li>
61
+                            <li>Alle 24 Versionen in den <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679">24 Amtssprachen</a> gelten gleichberechtigt überall (what could possibly go wrong?)</li>
62
+                        </ul>
63
+                    </section>
64
+                    <section><h3>Und deshalb ändert sich jetzt alles?</h3>
65
+                    </section>
66
+                    <section><h3>Antwort: Nein.</h3>
67
+                        <p class="fragment"><small>Ein Großteil des bisherigen Datenschutzrechts gilt im Grundsatz fort. Die allgemeine Aufbruchstimmung rührt mehr daher, dass viele Unternehmen vor Inkrafttreten der DSGVO geltendes Recht verletzt haben, dies aber nicht geahndet wurde. Die allgemeine Befürchtung ist nun, dass Verstöße unter der DSGVO schneller, intensiver und mit Konsequenzen verfolgt werden.</small>
68
+                        <p class="fragment"><small>Weiterhin sind dort, wo sich tatsächlich Änderungen ergeben, diese häufig noch komplex oder schwer interpretierbar. Dadurch entsteht Rechtsunsicherheit.</small></p>
69
+                    </section>
70
+                    <section><h3>Aufbau DSGVO</h3>
71
+                        <ul>
72
+                            <li>Am Anfang stehen 173 sog. "Erwägungsgründe"</li>
73
+                            <li>Dann gibt es 99 Artikel in 11 Kapiteln</li>
74
+                            <li>Die "wichtigsten" Abschnitte für Normalsterbliche: Kapitel 2 ("Grundsätze") und Kapitel 4 ("Verantwortlicher und Auftragsverarbeiter")</li>
75
+                            <li>Eine recht schöne Übersicht über die deutschen und englischen Fassungen der DSGVO gibt es unter <a href="https://dsgvo-gesetz.de">dsgvo-gesetz.de</a></li>
76
+                        </ul>
77
+                    </section>
78
+                    <section><h3>Geltungsbereich</h3>
79
+                        <ul>
80
+                            <li>Datenschutzrecht bezieht sich <b>immer und ausschließlich</b> auf "personenbezogene Daten"</li>
81
+                            <li>Personenbezug liegt aber fast immer vor, wenn zumindest <b>irgendjemand</b> in der Lage ist, ein Datum einer natürlichen Person zuzuordnen (bekanntes Beispiel: IP-Adressen)</li>
82
+                            <li>Gilt für alle Verarbeitungen, die entweder in der EU stattfinden, oder die Daten von EU-Bürgern betreffen.</li>
83
+                        </ul>
84
+                    </section>
85
+                    <section><h3>Und was ändert sich jetzt wirklich?</h3>
86
+                    </section>
87
+                    <section><h3>Verarbeitung</h3>
88
+                        <ul>
89
+                            <li>bezeichnet "[...] das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung"</li>
90
+                            <li>(vgl. BDSG a.F.: Erhebung, Verarbeitung, Nutzung)</li>
91
+                        </ul>
92
+                    </section>
93
+                    <section><h3>Datenschutzbeauftragter</h3>
94
+                        <ul>
95
+                            <li>Für die meisten kleinen und mittleren Unternehmen in Deutschland laut DSGVO nicht mehr vorgesehen</li>
96
+                            <li class="fragment">Aber: BDSG n.F. führt die alten deutschen Regelungen mit mehr als 9 Beschäftigten fort (§ 38 BDSG)</li>
97
+                        </ul>
98
+                    </section>
99
+                    <section><h3>Frage: Muss ich bei meiner App die DSGVO beachten?</h3>
100
+                    </section>
101
+                    <section><h3>Antwort: Ja.</h3>
102
+                        <p class="fragment"><small>Ausnahme: Statischer Content ohne Interaktionsmöglichkeit und keinerlei Logging.</small></p>
103
+                    </section>
104
+                    <section><h3>Frage: Aber was wir entwickeln, wird nur intern von Mitarbeitern des Kunden genutzt. Da gilt die DSGVO also dann nicht?</h3>
105
+                    </section>
106
+                    <section><h3>Antwort: Doch.</h3>
107
+                        <p class="fragment"><small>Mitarbeiterdaten sind personenbezogene Daten. Selbst Kürzel/IDs/etc. sind personebezogene Daten, weil der Kunde sicher irgendwo die Möglichkeit hat, die ID einem Mitarbeiter zuzuordnen.</small></p>
108
+                    </section>
109
+                    <section><h3>Weitere Fragen zum Geltungs-/Anwendungsbereich?</h3>
110
+                    </section>
111
+                </section>
112
+                <section>
113
+                    <section><h3>Grundsätze des Datenschutzrechts</h3>
114
+                    </section>
115
+                    <section><h3>Verbot mit Erlaubnisvorbehalt</h3>
116
+                        <ul>
117
+                            <li>Jede Verarbeitung personenbezogener Daten ist eigentlich verboten.</li>
118
+                            <li>Dieser Grundsatz hat zwei Ausnahmen:
119
+                                <ul>
120
+                                    <li>Die Person hat eingewilligt</li>
121
+                                    <li>Ein Gesetz erlaubt die Verarbeitung</li>
122
+                                </ul>
123
+                            </li>
124
+                            <li>Praktisch keine Änderung zu bisher</li>
125
+                            <li class="fragment">Klassischer Fall der gesetzlichen Erlaubnis: Daten sind nötig zur Vertragserfüllung (Bankdaten, Adresse, etc. bei Versandhandel)</li>
126
+                        </ul>
127
+                    </section>
128
+                    <section><h3>Datenschutzgrundsätze aus Art. 5</h3>
129
+                        <ul>
130
+                            <li>Zweckbindung</li>
131
+                            <li>Transparenz</li>
132
+                            <li>Datenminimierung</li>
133
+                            <li>Richtigkeit</li>
134
+                            <li>Speicherbegrenzung</li>
135
+                            <li>Integrität und Vertraulichkeit</li>
136
+                            <li>Rechenschaftspflicht</li>
137
+                            <li class="fragment">(Kein Direkterhebungsgrundsatz mehr!)</li>
138
+                        </ul>
139
+                    </section>
140
+                    <section><h3>Zweckbindung</h3>
141
+                        <ul>
142
+                            <li><b>Vor</b> dem Sammeln von personenbezogenen Daten muss klar sein, für was die Daten erhoben werden</li>
143
+                            <li>Gilt insbesondere, wenn die Daten aufgrund einer Einwilligung verarbeitet werden</li>
144
+                            <li>Die Zweckbindung gilt aber auch für aufgrund gesetzlicher Erlaubnis erhobene Daten</li>
145
+                            <li>In der Regel nicht Aufgabe des Dienstleisters, darauf zu achten</li>
146
+                        </ul>
147
+                    </section>
148
+                    <section><h3>Transparenz</h3>
149
+                        <ul>
150
+                            <li>Der Grund für die 400 Mails zum Thema, die jeder von uns über die letzten paar Wochen bekommen hat</li>
151
+                            <li>Weiter ausgeführt in Artt. 12ff. DSGVO</li>
152
+                            <li>Man muss vor der Verarbeitung betroffene Personen ausführlich, klar, verständlich, einfach unterrichten</li>
153
+                        </ul>
154
+                    </section>
155
+                    <section><h3>Datenminimierung</h3>
156
+                        <ul>
157
+                            <li>Nur die Daten sammeln, die man unbedingt für die Zweckerfüllung braucht</li>
158
+                            <li>Grober Richtwert der oberen Grenze des Datensammelns selbst mit Einwilligung</li>
159
+                            <li>Ja, das macht Anwendungsbereiche wie ML nicht unbedingt einfacher, wo man anfangs häufig gar nicht weiß, was die interessantesten Komponenten sind</li>
160
+                        </ul>
161
+                    </section>
162
+                    <section><h3>Richtigkeit</h3>
163
+                        <ul>
164
+                            <li>Man könnte denken, dass veraltete Daten auch dem Datenschutz dienen (alte Adressen erschweren das Tracking, etc.)</li>
165
+                            <li>Die DSGVO sieht aber vor, dass personenbezogene Daten, <b>wenn</b> sie rechtmäßig gesammelt werden dürfen, auch richtig und aktuell sein müssen</li>
166
+                            <li>Ergo: schon von User-Seite her die Änderung und Löschen möglichst einfach machen</li>
167
+                            <li>Nicht: "um dieses Feld zu ändern, bitte Mail an Support schreiben"</li>
168
+                        </ul>
169
+                    </section>
170
+                    <section><h3>Speicherbegrenzung</h3>
171
+                        <ul>
172
+                            <li>Nur so lange speichern, wie es für die Zweckerfüllung unbedingt erforderlich ist</li>
173
+                            <li>Wenn in Verbindung stehende Daten darüber hinaus archiviert werden sollen, anonymisieren</li>
174
+                        </ul>
175
+                    </section>
176
+                    <section><h3>Exkurs: anonymisierte Daten</h3>
177
+                        <ul>
178
+                            <li>Zuordnung zu realer Person ist nur mit unverhältnismäßig großem Aufwand/Vorwissen möglich</li>
179
+                            <li>Pseudonymisierung ist keine Anonymisierung</li>
180
+                        </ul>
181
+                    </section>
182
+                    <section><h3>Integrität und Vertraulichkeit</h3>
183
+                        <ul>
184
+                            <li>Das ist der Punkt, welcher durch die "technischen und organisatorischen Maßnahmen" verwirklicht werden kann</li>
185
+                            <li>Angemessener Schutz der datenverarbeitenden Systeme</li>
186
+                            <li>Bei Auftragsverarbeitung: alle vorigen Punkte liegen größtenteils im Bereich des Auftraggebers, <b>hier</b> ist häufig der Auftragnehmer mitverantwortlich!</li>
187
+                        </ul>
188
+                    </section>
189
+                    <section><h3>Rechenschaftspflicht</h3>
190
+                        <ul>
191
+                            <li>Art. 5 Abs. 2: "Der Verantwortliche ist für die Einhaltung des Absatzes 1 verantwortlich und muss dessen Einhaltung nachweisen können"</li>
192
+                            <li>Heißt in der Regel: Dokumentation von Prozessen und deren Einhaltung</li>
193
+                            <li>Je leichter irgendwas technisch nachweisbar ist, desto besser für alle</li>
194
+                            <li>Beispiel: wenn es heißt, dass nur Pubkey-Auth für SSH-Zugänge genutzt wird, dann PW-Auth abschalten. Sowas lässt sich auch einfach testen.</li>
195
+                        </ul>
196
+                    </section>
197
+                </section>
198
+                <section>
199
+                    <section><h3>Integrität und Vertraulichkeit</h3>
200
+                    </section>
201
+                    <section><h3>Moderne Passwortrichtlinien</h3>
202
+                        <img src="imgs/dsgvo_alles_schall_und_rauch/password_strength.png" width="60%"><br />
203
+                        <small><a href="https://www.xkcd.com/936/">XKCD #936: Password Strength (CC BY-NC)</a></small>
204
+                    </section>
205
+                    <section><h3>Moderne Passwortrichtlinien</h3>
206
+                        <ul>
207
+                            <li>Für fast alles: <b>Passwortmanager</b></li>
208
+                            <li>Sonst: ein paar Pass<b>phrasen</b> für Disk-Encryption, GPG-Keys und als Masterpasswort für PW-Manager</li>
209
+                            <li>lieber einfach zu merken und lang als mit vielen Sonderzeichen und kurz</li>
210
+                            <li>2FA für wichtige Services</li>
211
+                        </ul>
212
+                    </section>
213
+                    <section><h3>Display-Sichtschutz für Bahn und Flugzeug</h3>
214
+                        <ul>
215
+                            <li>Streng genommen wäre schon das öffentliche Surfen im internen Wiki ein Datenschutzverstoß, weil da häufig Realnamen drin stehen können</li>
216
+                            <li>Zusätzlich: automatisch und/oder manuell Rechner sperren, sobald man den Platz verlässt</li>
217
+                        </ul>
218
+                    </section>
219
+                    <section><h3>Firmware</h3>
220
+                        <ul>
221
+                            <li>Intel AMT und ähnliches deaktivieren</li>
222
+                            <li>Sich generell im Klaren darüber sein, zu was euer BIOS so in der Lage ist</li>
223
+                        </ul>
224
+                    </section>
225
+                    <section><h3>Betriebssystem und Updates</h3>
226
+                        <ul>
227
+                            <li>Windows und Mac: Aktuell mit Auto-Update</li>
228
+                            <li>Linux: regelmäßig auf aktuellen Stand bringen</li>
229
+                            <li>Alle Zugriffe idR mit normalen User-Rechten, sudo nur wenn nötig</li>
230
+                        </ul>
231
+                    </section>
232
+                    <section><h3>Festplattenverschlüsselung</h3>
233
+                        <ul>
234
+                            <li>Windows Pro: Bitlocker</li>
235
+                            <li>Mac: FileVault</li>
236
+                            <li>Linux: z.B. cryptsetup mit luks</li>
237
+                        </ul>
238
+                    </section>
239
+                    <section><h3>Backup</h3>
240
+                        <ul>
241
+                            <li>gut: vorhanden</li>
242
+                            <li>besser: verschlüsselt und offsite</li>
243
+                        </ul>
244
+                    </section>
245
+                </section>
246
+                <section>
247
+                    <section><h3>Einschätzung des Kunden(projekts)</h3>
248
+                    </section>
249
+                    <section><h3>Datenschutzbeauftragter des Kunden</h3>
250
+                        <ul>
251
+                            <li>Wer ist das und wie erreicht man ihn?</li>
252
+                            <li>Informationen im Intranet bereithalten</li>
253
+                        </ul>
254
+                    </section>
255
+                    <section><h3>Produktiv-Daten</h3>
256
+                        <ul>
257
+                            <li>Wer hat Kontrolle?</li>
258
+                            <li>Wo liegen die Daten?</li>
259
+                            <li>Immer im Hinterkopf behalten: es dreht sich alles weiterhin rein um <b>personenbezogene</b> Daten.</li>
260
+                            <li>(Das bedeutet natürlich nicht, dass man Vertragspflichten zur Geheimhaltung ignorieren kann.)</li>
261
+                        </ul>
262
+                    </section>
263
+                    <section><h3>Berechtigungen des Teams</h3>
264
+                        <ul>
265
+                            <li>Wer vergibt die Berechtigungen?</li>
266
+                            <li>Gibt es innerhalb des Teams ein gemeinsames Verständnis, nach welchem Prozess an die Produktiv-Daten gegangen wird?</li>
267
+                        </ul>
268
+                    </section>
269
+                    <section><h3>Betreibt man als Auftragnehmer irgendwelche Systeme für den Kunden?</h3>
270
+                        <ul>
271
+                            <li>Sind da zB Testdaten drauf? Wie sehen die aus?</li>
272
+                            <li>Betreibt man vielleicht sogar Produktivsysteme für Kunden?</li>
273
+                        </ul>
274
+                    </section>
275
+                    <section><h3>Freelancer im Team?</h3>
276
+                        <ul>
277
+                            <li>Müssen als Unterauftragnehmer in der Regel im Vertrag angegeben sein und müssen mit dem Hauptauftragnehmer wiederrum einen Vertrag über die Auftragsverarbeitung geschlossen haben</li>
278
+                        </ul>
279
+                    </section>
280
+                    <section><h3>Homeoffice?</h3>
281
+                        <ul>
282
+                            <li>Was sagt der AV-Vertrag zu Arbeiten außerhalb von Arbeitgeber- oder Kunden-Offices?</li>
283
+                            <li>(Das deutsche Recht würde ziemlich sicher ein Zugangsrecht des Auftraggebers zu Privatwohnungen verneinen. Aber ein AV-Vertrag kann vorsehen, dass Homeoffice nicht möglich sein soll.)</li>
284
+                        </ul>
285
+                    </section>
286
+                    <section><h3>Allgemein</h3>
287
+                        <ul>
288
+                            <li>AV-Vertrag ins Intranet</li>
289
+                            <li>Das Team sollte sich ein bisschen damit beschäftigt haben (genauso wie mit dem eigentlichen Projektvertrag)</li>
290
+                            <li>TL, SM, PO sollte das ganze ein bisschen genauer gelesen haben</li>
291
+                        </ul>
292
+                    </section>
293
+                </section>
294
+                <section>
295
+                    <section><h3>Technische und organisatorische Maßnahmen</h3>
296
+                    </section>
297
+                    <section><h3>Rechtsgrundlage DSGVO</h3>
298
+                        <ul>
299
+                            <li>Relevante Norm: Art. 32 DSGVO; Inhalt:</li>
300
+                            <ul>
301
+                                <li>Pseudonymisierung und Verschlüsselung personenbezogener Daten (lit a)</li>
302
+                                <li>Vertraulichkeit, Integrität, Verfügbarkeit und Belastbarkeit der Systeme und Dienste (lit b)</li>
303
+                                <li>Backup- und Wiederherstellungsfähigkeit (lit c)</li>
304
+                                <li>regelmäßigen Überprüfung, Bewertung und Evaluierung der Wirksamkeit der Maßnahmen (lit d)</li>
305
+                            </ul>
306
+                        </ul>
307
+                    </section>
308
+                    <section><h3>Verhältnis zu Anlage zu § 9 Satz 1 BDSG-alt</h3>
309
+                        <ul>
310
+                            <li>Zutrittskontrolle (neu: lit b)</li>
311
+                            <li>Zugangskontrolle (neu: lit a, b)</li>
312
+                            <li>Zugriffskontrolle (neu: lit b)</li>
313
+                            <li>Weitergabekontrolle (neu: lit b)</li>
314
+                            <li>Eingabekontrolle (neu: lit b)</li>
315
+                            <li>Auftragskontrolle (neu: Art. 32 Abs. 4)</li>
316
+                            <li>Verfügbarkeitskontrolle (neu: lit c)</li>
317
+                            <li>Trennungsgebot (neu: lit b)</li>
318
+                        </ul>
319
+                    </section>
320
+                    <section><h3>Zutrittskontrolle</h3>
321
+                        <ul>
322
+                            <li>Hier geht es um den physischen Zugang zum Office. Ist abgeschlossen oder, wenn nicht, jemand am Empfang? Ist der Serverraum (sofern da Daten des Auftraggebers lagern) noch extra abgeschlossen?</li>
323
+                        </ul>
324
+                    </section>
325
+                    <section><h3>Zugangskontrolle</h3>
326
+                        <ul>
327
+                            <li>Rechner ist gesperrt, wenn grade keiner dran ist</li>
328
+                            <li>Rechner ist verschlüsselt, wenn er geklaut wird</li>
329
+                        </ul>
330
+                    </section>
331
+                    <section><h3>Zugriffskontrolle</h3>
332
+                        <ul>
333
+                            <li>Hier geht es um <i>berechtigten</i> Zugriff: Wenn jemand schon darf, <b>was</b> darf er dann alles?</li>
334
+                            <li>letztlich: Berechtigungskonzept</li>
335
+                        </ul>
336
+                    </section>
337
+                    <section><h3>Weitergabekontrolle</h3>
338
+                        <ul>
339
+                            <li>Transportweg-Sicherungen: idR geht es hier also um verschlüsselte Verbindung auf Kundensysteme, SSH, VPN, TLS, etc.</li>
340
+                            <li>Im Fall des tatsächlich physischen Transports (zB im Falle, dass ihr Screenshots/Logs aus Produktion lokal gespeichert habt fürs Debugging) greift wieder die Festplatten-Verschlüsselung</li>
341
+                        </ul>
342
+                    </section>
343
+                    <section><h3>Eingabekontrolle</h3>
344
+                        <ul>
345
+                            <li>Wenn ihr grundsätzlich in der Lage seid, personenbezogene Daten beim Kunden auch zu ändern (zB Zugriff auf Produktion), gibt es dann ein Logging dieser Änderungen? Kann also jemand im Nachhinein nachvollziehen, wer und wann irgendwelche Daten geändert hat?</li>
346
+                        </ul>
347
+                    </section>
348
+                    <section><h3>Auftragskontrolle</h3>
349
+                        <ul>
350
+                            <li>Einerseits, auf Auftragnehmer-Seite: sind die Mitarbeiter alle geschult und auf den Datenschutz verpflichtet?</li>
351
+                            <li>Andererseits, im Zusammenspiel mit Auftraggeber: werden Weisungen, die mit der Datenverarbeitung zu tun haben, ordentlich dokumentiert?</li>
352
+                        </ul>
353
+                    </section>
354
+                    <section><h3>Verfügbarkeitskontrolle</h3>
355
+                        <ul>
356
+                            <li>Backup- und Restore-Konzept. Ist für den Auftragnehmer nur interessant, wenn er für den Auftraggeber tatsächlich Systeme bereitstellt, auf denen Produktivdaten verarbeitet werden.</li>
357
+                            <li>(Backups von Geschäftsdaten machen aber grundsätzlich auch ohne DSGVO Sinn.)</li>
358
+                        </ul>
359
+                    </section>
360
+                    <section><h3>Trennungsgebot</h3>
361
+                        <ul>
362
+                            <li>Unterschiedliche Daten (sei es aufgrund von Zweckbindung, besondere Kategorien von Daten etc.) müssen getrennt verarbeitet werden. Es reicht hier bereits eine logische Trennung (gleiche DB, verschiedene Tabellen). Liegt auch idR vollständig im Verantwortungsbereich des Auftraggebers.</li>
363
+                        </ul>
364
+                    </section>
365
+                </section>
366
+                <section><h3>Slides</h3>
367
+                    Die jeweils aktuellen Slides zu diesem Vortrag sind auf GitHub verfügbar: <a href="https://github.com/ciil/talks">github.com/ciil/talks</a>
368
+                </section>
369
+                <section>
370
+                    <section><h3>Bonus-Slides</h3>
371
+                    </section>
372
+                    <section><h3>Kontaktformular ohne Einwilligung?</h3>
373
+                        <ul>
374
+                            <ul>
375
+                                <li>Ich kann Daten natürlich auch aufgrund eines anderen Erlaubnistatbestandes (Art. 6 I lit. b-f) verarbeiten.</li>
376
+                                <li>Unterschied: eine Einwilligung gilt idR erstmal unbegrenzt (bis zum Widerruf)</li>
377
+                                <li>Bei allen Erlaubnistatbeständen: Achtung Zweckbindung</li>
378
+                                <li>Wenn der Zweck wegfällt, unterliegen die Daten auf einmal einer Löschverpflichtung</li>
379
+                            </ul>
380
+                        </ul>
381
+                    </section>
382
+                    <section><h3>Eventanmeldung ohne Einwilligung?</h3>
383
+                        <ul>
384
+                            <ul>
385
+                                <li>Auch hier grundsätzlich braucht man grundsätzlich keine Einwilligung.</li>
386
+                                <li>Lässt sich erstmal schön auf Art. 6 I lit. b stützen</li>
387
+                                <li>Sobald das Event rum ist, müssen theoretisch alle Daten gelöscht sein (sind nicht mehr notwendig für die Durchführung)</li>
388
+                                <li class="fragment">(Eine Abschlussmail mag zulässig sein.)</li>
389
+                            </ul>
390
+                        </ul>
391
+                    </section>
392
+                    <section><h3>Stete Grundsatzfrage: Was will ich denn damit anstellen?</h3>
393
+                        <ul>
394
+                            <ul>
395
+                                <li>Zweckbindung ist das A und O</li>
396
+                                <li>Verhindert immer genau das "Ich hab die Daten ja schon, also kann ich jetzt Werbung machen"</li>
397
+                                <li>Teileinwilligungen sind ... möglich, aber recht schwierig richtig hinzubekommen</li>
398
+                            </ul>
399
+                        </ul>
400
+                    </section>
401
+                    <section><h3>Ist Direktwerbung immer ein berechtigtes Interesse?</h3>
402
+                        <ul>
403
+                            <ul>
404
+                                <li>Erwägungsgründe Nr. 47 S. 7 und Nr. 70 sprechen von "Direktwerbung" als berechtigtem Interesse</li>
405
+                                <li>Extra Widerspruchsrecht für Direktwerbung: Art. 21 II und III</li>
406
+                                <li>Dass nun jegliche Daten gesammelt werden dürften, um damit unerwünschte Werbung an Betroffene zu schicken ist selbstverständlich nicht Intention der DSGVO</li>
407
+                                <li class="fragment">DSGVO ist keine gesetzgeberische Meisterleistung</li>
408
+                            </ul>
409
+                        </ul>
410
+                    </section>
411
+                    <section><h3>Allgemein: Art. 6 I lit. f</h3>
412
+                        <ul>
413
+                            <ul>
414
+                                <li>Zwei Meinungen: 1. Super Auffangtatbestand!! 2. Viel zu weit, eng auszulegen!</li>
415
+                                <li>Bis jetzt eigentlich kein Mittelweg erkennbar</li>
416
+                                <li>Interessenabwägung gerade im werblichen Bereich anders bei Verbrauchern und gewerblichen Kunden?</li>
417
+                                <li>Den Unterschied automatisiert erkennen wahrscheinlich schwierig</li>
418
+                            </ul>
419
+                        </ul>
420
+                    </section>
421
+                    <section><h3>Eventfotographie zu PR-Zwecken</h3>
422
+                        <ul>
423
+                            <ul>
424
+                                <li>Verhältnis zw. KUG und DSGVO gerade Thema heißer Debatten</li>
425
+                                <li>Wohl noch einer der Punkte, an denen Art. 6 I lit. f am ehesten greifen könnten</li>
426
+                                <li>In jedem Fall: zumindest Informationspflichten: bei E-Mail-Bestätigung/Online-Anmeldung auch kein unverhältnismäßig großer Aufwand (EG 62)</li>
427
+                                <li>Widerspruch anders als bei KUG wohl stets möglich</li>
428
+                            </ul>
429
+                        </ul>
430
+                    </section>
431
+                    <section><h3>Eventfotographie zu PR-Zwecken (Teil 2)</h3>
432
+                        <ul>
433
+                            <ul>
434
+                                <li>Je kleiner die Veranstaltung, desto stärker müssen Regelungen beachtet werden</li>
435
+                                <li>Rechte von Personen, die offensichtlich nicht fotographiert werden wollen, beachten</li>
436
+                                <li>Möglichst keine Namensnennung am Foto (Foto trotzdem pers.b. Daten)</li>
437
+                                <li>Situation beachten, keine Fotos von Personen mit Bier in der Hand etc.</li>
438
+                            </ul>
439
+                        </ul>
440
+                    </section>
441
+                </section>
442
+			</div>
443
+		</div>
444
+
445
+		<script src="reveal.js/lib/js/head.min.js"></script>
446
+		<script src="reveal.js/js/reveal.js"></script>
447
+
448
+		<script>
449
+			// More info about config & dependencies:
450
+			// - https://github.com/hakimel/reveal.js#configuration
451
+			// - https://github.com/hakimel/reveal.js#dependencies
452
+			Reveal.initialize({
453
+				dependencies: [
454
+					{ src: 'reveal.js/plugin/markdown/marked.js' },
455
+					{ src: 'reveal.js/plugin/markdown/markdown.js' },
456
+					{ src: 'reveal.js/plugin/notes/notes.js', async: true },
457
+					{ src: 'reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
458
+				]
459
+			});
460
+		</script>
461
+	</body>
462
+</html>

+ 22
- 0
LICENSE View File

@@ -0,0 +1,22 @@
1
+MIT License
2
+
3
+Copyright (c) 2018 Simon Lackerbauer
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.
22
+

BIN
imgs/dsgvo_alles_schall_und_rauch/password_strength.png View File


BIN
imgs/dsgvo_alles_schall_und_rauch/stargate_command.png View File


+ 13
- 0
reveal.js/.gitignore View File

@@ -0,0 +1,13 @@
1
+.idea/
2
+*.iml
3
+*.iws
4
+*.eml
5
+out/
6
+.DS_Store
7
+.svn
8
+log/*.log
9
+tmp/**
10
+node_modules/
11
+.sass-cache
12
+css/reveal.min.css
13
+js/reveal.min.js

+ 7
- 0
reveal.js/.travis.yml View File

@@ -0,0 +1,7 @@
1
+language: node_js
2
+node_js:
3
+  - 4
4
+before_script:
5
+  - npm install -g grunt-cli
6
+after_script:
7
+  - grunt retire

+ 23
- 0
reveal.js/CONTRIBUTING.md View File

@@ -0,0 +1,23 @@
1
+## Contributing
2
+
3
+Please keep the [issue tracker](http://github.com/hakimel/reveal.js/issues) limited to **bug reports**, **feature requests** and **pull requests**.
4
+
5
+
6
+### Personal Support
7
+If you have personal support or setup questions the best place to ask those are [StackOverflow](http://stackoverflow.com/questions/tagged/reveal.js).
8
+
9
+
10
+### Bug Reports
11
+When reporting a bug make sure to include information about which browser and operating system you are on as well as the necessary steps to reproduce the issue. If possible please include a link to a sample presentation where the bug can be tested.
12
+
13
+
14
+### Pull Requests
15
+- Should follow the coding style of the file you work in, most importantly:
16
+  - Tabs to indent
17
+  - Single-quoted strings
18
+- Should be made towards the **dev branch**
19
+- Should be submitted from a feature/topic branch (not your master)
20
+
21
+
22
+### Plugins
23
+Please do not submit plugins as pull requests. They should be maintained in their own separate repository. More information here: https://github.com/hakimel/reveal.js/wiki/Plugin-Guidelines

+ 192
- 0
reveal.js/Gruntfile.js View File

@@ -0,0 +1,192 @@
1
+/* global module:false */
2
+module.exports = function(grunt) {
3
+	var port = grunt.option('port') || 8000;
4
+	var root = grunt.option('root') || '.';
5
+
6
+	if (!Array.isArray(root)) root = [root];
7
+
8
+	// Project configuration
9
+	grunt.initConfig({
10
+		pkg: grunt.file.readJSON('package.json'),
11
+		meta: {
12
+			banner:
13
+				'/*!\n' +
14
+				' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' +
15
+				' * http://revealjs.com\n' +
16
+				' * MIT licensed\n' +
17
+				' *\n' +
18
+				' * Copyright (C) 2017 Hakim El Hattab, http://hakim.se\n' +
19
+				' */'
20
+		},
21
+
22
+		qunit: {
23
+			files: [ 'test/*.html' ]
24
+		},
25
+
26
+		uglify: {
27
+			options: {
28
+				banner: '<%= meta.banner %>\n',
29
+				screwIE8: false
30
+			},
31
+			build: {
32
+				src: 'js/reveal.js',
33
+				dest: 'js/reveal.min.js'
34
+			}
35
+		},
36
+
37
+		sass: {
38
+			core: {
39
+				src: 'css/reveal.scss',
40
+				dest: 'css/reveal.css'
41
+			},
42
+			themes: {
43
+				expand: true,
44
+				cwd: 'css/theme/source',
45
+				src: ['*.sass', '*.scss'],
46
+				dest: 'css/theme',
47
+				ext: '.css'
48
+			}
49
+		},
50
+
51
+		autoprefixer: {
52
+			core: {
53
+				src: 'css/reveal.css'
54
+			}
55
+		},
56
+
57
+		cssmin: {
58
+			options: {
59
+				compatibility: 'ie9'
60
+			},
61
+			compress: {
62
+				src: 'css/reveal.css',
63
+				dest: 'css/reveal.min.css'
64
+			}
65
+		},
66
+
67
+		jshint: {
68
+			options: {
69
+				curly: false,
70
+				eqeqeq: true,
71
+				immed: true,
72
+				esnext: true,
73
+				latedef: 'nofunc',
74
+				newcap: true,
75
+				noarg: true,
76
+				sub: true,
77
+				undef: true,
78
+				eqnull: true,
79
+				browser: true,
80
+				expr: true,
81
+				globals: {
82
+					head: false,
83
+					module: false,
84
+					console: false,
85
+					unescape: false,
86
+					define: false,
87
+					exports: false
88
+				}
89
+			},
90
+			files: [ 'Gruntfile.js', 'js/reveal.js' ]
91
+		},
92
+
93
+		connect: {
94
+			server: {
95
+				options: {
96
+					port: port,
97
+					base: root,
98
+					livereload: true,
99
+					open: true,
100
+					useAvailablePort: true
101
+				}
102
+			}
103
+		},
104
+
105
+		zip: {
106
+			bundle: {
107
+				src: [
108
+					'index.html',
109
+					'css/**',
110
+					'js/**',
111
+					'lib/**',
112
+					'images/**',
113
+					'plugin/**',
114
+					'**.md'
115
+				],
116
+				dest: 'reveal-js-presentation.zip'
117
+			}
118
+		},
119
+
120
+		watch: {
121
+			js: {
122
+				files: [ 'Gruntfile.js', 'js/reveal.js' ],
123
+				tasks: 'js'
124
+			},
125
+			theme: {
126
+				files: [
127
+					'css/theme/source/*.sass',
128
+					'css/theme/source/*.scss',
129
+					'css/theme/template/*.sass',
130
+					'css/theme/template/*.scss'
131
+				],
132
+				tasks: 'css-themes'
133
+			},
134
+			css: {
135
+				files: [ 'css/reveal.scss' ],
136
+				tasks: 'css-core'
137
+			},
138
+			html: {
139
+				files: root.map(path => path + '/*.html')
140
+			},
141
+			markdown: {
142
+				files: root.map(path => path + '/*.md')
143
+			},
144
+			options: {
145
+				livereload: true
146
+			}
147
+		},
148
+
149
+		retire: {
150
+			js: [ 'js/reveal.js', 'lib/js/*.js', 'plugin/**/*.js' ],
151
+			node: [ '.' ]
152
+		}
153
+
154
+	});
155
+
156
+	// Dependencies
157
+	grunt.loadNpmTasks( 'grunt-contrib-connect' );
158
+	grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
159
+	grunt.loadNpmTasks( 'grunt-contrib-jshint' );
160
+	grunt.loadNpmTasks( 'grunt-contrib-qunit' );
161
+	grunt.loadNpmTasks( 'grunt-contrib-uglify' );
162
+	grunt.loadNpmTasks( 'grunt-contrib-watch' );
163
+	grunt.loadNpmTasks( 'grunt-autoprefixer' );
164
+	grunt.loadNpmTasks( 'grunt-retire' );
165
+	grunt.loadNpmTasks( 'grunt-sass' );
166
+	grunt.loadNpmTasks( 'grunt-zip' );
167
+	
168
+	// Default task
169
+	grunt.registerTask( 'default', [ 'css', 'js' ] );
170
+
171
+	// JS task
172
+	grunt.registerTask( 'js', [ 'jshint', 'uglify', 'qunit' ] );
173
+
174
+	// Theme CSS
175
+	grunt.registerTask( 'css-themes', [ 'sass:themes' ] );
176
+
177
+	// Core framework CSS
178
+	grunt.registerTask( 'css-core', [ 'sass:core', 'autoprefixer', 'cssmin' ] );
179
+
180
+	// All CSS
181
+	grunt.registerTask( 'css', [ 'sass', 'autoprefixer', 'cssmin' ] );
182
+
183
+	// Package presentation to archive
184
+	grunt.registerTask( 'package', [ 'default', 'zip' ] );
185
+
186
+	// Serve presentation locally
187
+	grunt.registerTask( 'serve', [ 'connect', 'watch' ] );
188
+
189
+	// Run tests
190
+	grunt.registerTask( 'test', [ 'jshint', 'qunit' ] );
191
+
192
+};

+ 19
- 0
reveal.js/LICENSE View File

@@ -0,0 +1,19 @@
1
+Copyright (C) 2017 Hakim El Hattab, http://hakim.se, and reveal.js contributors
2
+
3
+Permission is hereby granted, free of charge, to any person obtaining a copy
4
+of this software and associated documentation files (the "Software"), to deal
5
+in the Software without restriction, including without limitation the rights
6
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+copies of the Software, and to permit persons to whom the Software is
8
+furnished to do so, subject to the following conditions:
9
+
10
+The above copyright notice and this permission notice shall be included in
11
+all copies or substantial portions of the Software.
12
+
13
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+THE SOFTWARE.

+ 1264
- 0
reveal.js/README.md
File diff suppressed because it is too large
View File


+ 27
- 0
reveal.js/bower.json View File

@@ -0,0 +1,27 @@
1
+{
2
+  "name": "reveal.js",
3
+  "version": "3.6.0",
4
+  "main": [
5
+    "js/reveal.js",
6
+    "css/reveal.css"
7
+  ],
8
+  "homepage": "http://revealjs.com",
9
+  "license": "MIT",
10
+  "description": "The HTML Presentation Framework",
11
+  "authors": [
12
+    "Hakim El Hattab <hakim.elhattab@gmail.com>"
13
+  ],
14
+  "dependencies": {
15
+    "headjs": "~1.0.3"
16
+  },
17
+  "repository": {
18
+    "type": "git",
19
+    "url": "git://github.com/hakimel/reveal.js.git"
20
+  },
21
+  "ignore": [
22
+    "**/.*",
23
+    "node_modules",
24
+    "bower_components",
25
+    "test"
26
+  ]
27
+}

+ 203
- 0
reveal.js/css/print/paper.css View File

@@ -0,0 +1,203 @@
1
+/* Default Print Stylesheet Template
2
+   by Rob Glazebrook of CSSnewbie.com
3
+   Last Updated: June 4, 2008
4
+
5
+   Feel free (nay, compelled) to edit, append, and
6
+   manipulate this file as you see fit. */
7
+
8
+
9
+@media print {
10
+
11
+	/* SECTION 1: Set default width, margin, float, and
12
+	   background. This prevents elements from extending
13
+	   beyond the edge of the printed page, and prevents
14
+	   unnecessary background images from printing */
15
+	html {
16
+		background: #fff;
17
+		width: auto;
18
+		height: auto;
19
+		overflow: visible;
20
+	}
21
+	body {
22
+		background: #fff;
23
+		font-size: 20pt;
24
+		width: auto;
25
+		height: auto;
26
+		border: 0;
27
+		margin: 0 5%;
28
+		padding: 0;
29
+		overflow: visible;
30
+		float: none !important;
31
+	}
32
+
33
+	/* SECTION 2: Remove any elements not needed in print.
34
+	   This would include navigation, ads, sidebars, etc. */
35
+	.nestedarrow,
36
+	.controls,
37
+	.fork-reveal,
38
+	.share-reveal,
39
+	.state-background,
40
+	.reveal .progress,
41
+	.reveal .backgrounds,
42
+	.reveal .slide-number {
43
+		display: none !important;
44
+	}
45
+
46
+	/* SECTION 3: Set body font face, size, and color.
47
+	   Consider using a serif font for readability. */
48
+	body, p, td, li, div {
49
+		font-size: 20pt!important;
50
+		font-family: Georgia, "Times New Roman", Times, serif !important;
51
+		color: #000;
52
+	}
53
+
54
+	/* SECTION 4: Set heading font face, sizes, and color.
55
+	   Differentiate your headings from your body text.
56
+	   Perhaps use a large sans-serif for distinction. */
57
+	h1,h2,h3,h4,h5,h6 {
58
+		color: #000!important;
59
+		height: auto;
60
+		line-height: normal;
61
+		font-family: Georgia, "Times New Roman", Times, serif !important;
62
+		text-shadow: 0 0 0 #000 !important;
63
+		text-align: left;
64
+		letter-spacing: normal;
65
+	}
66
+	/* Need to reduce the size of the fonts for printing */
67
+	h1 { font-size: 28pt !important;  }
68
+	h2 { font-size: 24pt !important; }
69
+	h3 { font-size: 22pt !important; }
70
+	h4 { font-size: 22pt !important; font-variant: small-caps; }
71
+	h5 { font-size: 21pt !important; }
72
+	h6 { font-size: 20pt !important; font-style: italic; }
73
+
74
+	/* SECTION 5: Make hyperlinks more usable.
75
+	   Ensure links are underlined, and consider appending
76
+	   the URL to the end of the link for usability. */
77
+	a:link,
78
+	a:visited {
79
+		color: #000 !important;
80
+		font-weight: bold;
81
+		text-decoration: underline;
82
+	}
83
+	/*
84
+	.reveal a:link:after,
85
+	.reveal a:visited:after {
86
+		content: " (" attr(href) ") ";
87
+		color: #222 !important;
88
+		font-size: 90%;
89
+	}
90
+	*/
91
+
92
+
93
+	/* SECTION 6: more reveal.js specific additions by @skypanther */
94
+	ul, ol, div, p {
95
+		visibility: visible;
96
+		position: static;
97
+		width: auto;
98
+		height: auto;
99
+		display: block;
100
+		overflow: visible;
101
+		margin: 0;
102
+		text-align: left !important;
103
+	}
104
+	.reveal pre,
105
+	.reveal table {
106
+		margin-left: 0;
107
+		margin-right: 0;
108
+	}
109
+	.reveal pre code {
110
+		padding: 20px;
111
+		border: 1px solid #ddd;
112
+	}
113
+	.reveal blockquote {
114
+		margin: 20px 0;
115
+	}
116
+	.reveal .slides {
117
+		position: static !important;
118
+		width: auto !important;
119
+		height: auto !important;
120
+
121
+		left: 0 !important;
122
+		top: 0 !important;
123
+		margin-left: 0 !important;
124
+		margin-top: 0 !important;
125
+		padding: 0 !important;
126
+		zoom: 1 !important;
127
+
128
+		overflow: visible !important;
129
+		display: block !important;
130
+
131
+		text-align: left !important;
132
+		-webkit-perspective: none;
133
+		   -moz-perspective: none;
134
+		    -ms-perspective: none;
135
+		        perspective: none;
136
+
137
+		-webkit-perspective-origin: 50% 50%;
138
+		   -moz-perspective-origin: 50% 50%;
139
+		    -ms-perspective-origin: 50% 50%;
140
+		        perspective-origin: 50% 50%;
141
+	}
142
+	.reveal .slides section {
143
+		visibility: visible !important;
144
+		position: static !important;
145
+		width: auto !important;
146
+		height: auto !important;
147
+		display: block !important;
148
+		overflow: visible !important;
149
+
150
+		left: 0 !important;
151
+		top: 0 !important;
152
+		margin-left: 0 !important;
153
+		margin-top: 0 !important;
154
+		padding: 60px 20px !important;
155
+		z-index: auto !important;
156
+
157
+		opacity: 1 !important;
158
+
159
+		page-break-after: always !important;
160
+
161
+		-webkit-transform-style: flat !important;
162
+		   -moz-transform-style: flat !important;
163
+		    -ms-transform-style: flat !important;
164
+		        transform-style: flat !important;
165
+
166
+		-webkit-transform: none !important;
167
+		   -moz-transform: none !important;
168
+		    -ms-transform: none !important;
169
+		        transform: none !important;
170
+
171
+		-webkit-transition: none !important;
172
+		   -moz-transition: none !important;
173
+		    -ms-transition: none !important;
174
+		        transition: none !important;
175
+	}
176
+	.reveal .slides section.stack {
177
+		padding: 0 !important;
178
+	}
179
+	.reveal section:last-of-type {
180
+		page-break-after: avoid !important;
181
+	}
182
+	.reveal section .fragment {
183
+		opacity: 1 !important;
184
+		visibility: visible !important;
185
+
186
+		-webkit-transform: none !important;
187
+		   -moz-transform: none !important;
188
+		    -ms-transform: none !important;
189
+		        transform: none !important;
190
+	}
191
+	.reveal section img {
192
+		display: block;
193
+		margin: 15px 0px;
194
+		background: rgba(255,255,255,1);
195
+		border: 1px solid #666;
196
+		box-shadow: none;
197
+	}
198
+
199
+	.reveal section small {
200
+		font-size: 0.8em;
201
+	}
202
+
203
+}

+ 178
- 0
reveal.js/css/print/pdf.css View File

@@ -0,0 +1,178 @@
1
+/**
2
+ * This stylesheet is used to print reveal.js
3
+ * presentations to PDF.
4
+ *
5
+ * https://github.com/hakimel/reveal.js#pdf-export
6
+ */
7
+
8
+* {
9
+	-webkit-print-color-adjust: exact;
10
+}
11
+
12
+body {
13
+	margin: 0 auto !important;
14
+	border: 0;
15
+	padding: 0;
16
+	float: none !important;
17
+	overflow: visible;
18
+}
19
+
20
+html {
21
+	width: 100%;
22
+	height: 100%;
23
+	overflow: visible;
24
+}
25
+
26
+/* Remove any elements not needed in print. */
27
+.nestedarrow,
28
+.reveal .controls,
29
+.reveal .progress,
30
+.reveal .playback,
31
+.reveal.overview,
32
+.fork-reveal,
33
+.share-reveal,
34
+.state-background {
35
+	display: none !important;
36
+}
37
+
38
+h1, h2, h3, h4, h5, h6 {
39
+	text-shadow: 0 0 0 #000 !important;
40
+}
41
+
42
+.reveal pre code {
43
+	overflow: hidden !important;
44
+	font-family: Courier, 'Courier New', monospace !important;
45
+}
46
+
47
+ul, ol, div, p {
48
+	visibility: visible;
49
+	position: static;
50
+	width: auto;
51
+	height: auto;
52
+	display: block;
53
+	overflow: visible;
54
+	margin: auto;
55
+}
56
+.reveal {
57
+	width: auto !important;
58
+	height: auto !important;
59
+	overflow: hidden !important;
60
+}
61
+.reveal .slides {
62
+	position: static;
63
+	width: 100% !important;
64
+	height: auto !important;
65
+	zoom: 1 !important;
66
+
67
+	left: auto;
68
+	top: auto;
69
+	margin: 0 !important;
70
+	padding: 0 !important;
71
+
72
+	overflow: visible;
73
+	display: block;
74
+
75
+	-webkit-perspective: none;
76
+	   -moz-perspective: none;
77
+	    -ms-perspective: none;
78
+	        perspective: none;
79
+
80
+	-webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */
81
+	   -moz-perspective-origin: 50% 50%;
82
+	    -ms-perspective-origin: 50% 50%;
83
+	        perspective-origin: 50% 50%;
84
+}
85
+
86
+.reveal .slides .pdf-page {
87
+	position: relative;
88
+	overflow: hidden;
89
+	z-index: 1;
90
+
91
+	page-break-after: always;
92
+}
93
+
94
+.reveal .slides section {
95
+	visibility: visible !important;
96
+	display: block !important;
97
+	position: absolute !important;
98
+
99
+	margin: 0 !important;
100
+	padding: 0 !important;
101
+	box-sizing: border-box !important;
102
+	min-height: 1px;
103
+
104
+	opacity: 1 !important;
105
+
106
+	-webkit-transform-style: flat !important;
107
+	   -moz-transform-style: flat !important;
108
+	    -ms-transform-style: flat !important;
109
+	        transform-style: flat !important;
110
+
111
+	-webkit-transform: none !important;
112
+	   -moz-transform: none !important;
113
+	    -ms-transform: none !important;
114
+	        transform: none !important;
115
+}
116
+
117
+.reveal section.stack {
118
+	position: relative !important;
119
+	margin: 0 !important;
120
+	padding: 0 !important;
121
+	page-break-after: avoid !important;
122
+	height: auto !important;
123
+	min-height: auto !important;
124
+}
125
+
126
+.reveal img {
127
+	box-shadow: none;
128
+}
129
+
130
+.reveal .roll {
131
+	overflow: visible;
132
+	line-height: 1em;
133
+}
134
+
135
+/* Slide backgrounds are placed inside of their slide when exporting to PDF */
136
+.reveal .slide-background {
137
+	display: block !important;
138
+	position: absolute;
139
+	top: 0;
140
+	left: 0;
141
+	width: 100%;
142
+	height: 100%;
143
+	z-index: auto !important;
144
+}
145
+
146
+/* Display slide speaker notes when 'showNotes' is enabled */
147
+.reveal.show-notes {
148
+	max-width: none;
149
+	max-height: none;
150
+}
151
+.reveal .speaker-notes-pdf {
152
+	display: block;
153
+	width: 100%;
154
+	height: auto;
155
+	max-height: none;
156
+	top: auto;
157
+	right: auto;
158
+	bottom: auto;
159
+	left: auto;
160
+	z-index: 100;
161
+}
162
+
163
+/* Layout option which makes notes appear on a separate page */
164
+.reveal .speaker-notes-pdf[data-layout="separate-page"] {
165
+	position: relative;
166
+	color: inherit;
167
+	background-color: transparent;
168
+	padding: 20px;
169
+	page-break-after: always;
170
+	border: 0;
171
+}
172
+
173
+/* Display slide numbers when 'slideNumber' is enabled */
174
+.reveal .slide-number-pdf {
175
+	display: block;
176
+	position: absolute;
177
+	font-size: 14px;
178
+}

+ 1555
- 0
reveal.js/css/reveal.css
File diff suppressed because it is too large
View File


+ 1717
- 0
reveal.js/css/reveal.scss
File diff suppressed because it is too large
View File


+ 21
- 0
reveal.js/css/theme/README.md View File

@@ -0,0 +1,21 @@
1
+## Dependencies
2
+
3
+Themes are written using Sass to keep things modular and reduce the need for repeated selectors across files. Make sure that you have the reveal.js development environment including the Grunt dependencies installed before proceeding: https://github.com/hakimel/reveal.js#full-setup
4
+
5
+## Creating a Theme
6
+
7
+To create your own theme, start by duplicating a ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source). It will be automatically compiled by Grunt from Sass to CSS (see the [Gruntfile](https://github.com/hakimel/reveal.js/blob/master/Gruntfile.js)) when you run `npm run build -- css-themes`.
8
+
9
+Each theme file does four things in the following order:
10
+
11
+1. **Include [/css/theme/template/mixins.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/mixins.scss)**
12
+Shared utility functions.
13
+
14
+2. **Include [/css/theme/template/settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss)**
15
+Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3.
16
+
17
+3. **Override**
18
+This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding any selectors and styles you please.
19
+
20
+4. **Include [/css/theme/template/theme.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/theme.scss)**
21
+The template theme file which will generate final CSS output based on the currently defined variables.

+ 268
- 0
reveal.js/css/theme/beige.css View File

@@ -0,0 +1,268 @@
1
+/**
2
+ * Beige theme for reveal.js.
3
+ *
4
+ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
5
+ */
6
+@import url(../../lib/font/league-gothic/league-gothic.css);
7
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
8
+/*********************************************
9
+ * GLOBAL STYLES
10
+ *********************************************/
11
+body {
12
+  background: #f7f2d3;
13
+  background: -moz-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
14
+  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, white), color-stop(100%, #f7f2d3));
15
+  background: -webkit-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
16
+  background: -o-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
17
+  background: -ms-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
18
+  background: radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
19
+  background-color: #f7f3de; }
20
+
21
+.reveal {
22
+  font-family: "Lato", sans-serif;
23
+  font-size: 40px;
24
+  font-weight: normal;
25
+  color: #333; }
26
+
27
+::selection {
28
+  color: #fff;
29
+  background: rgba(79, 64, 28, 0.99);
30
+  text-shadow: none; }
31
+
32
+::-moz-selection {
33
+  color: #fff;
34
+  background: rgba(79, 64, 28, 0.99);
35
+  text-shadow: none; }
36
+
37
+.reveal .slides > section,
38
+.reveal .slides > section > section {
39
+  line-height: 1.3;
40
+  font-weight: inherit; }
41
+
42
+/*********************************************
43
+ * HEADERS
44
+ *********************************************/
45
+.reveal h1,
46
+.reveal h2,
47
+.reveal h3,
48
+.reveal h4,
49
+.reveal h5,
50
+.reveal h6 {
51
+  margin: 0 0 20px 0;
52
+  color: #333;
53
+  font-family: "League Gothic", Impact, sans-serif;
54
+  font-weight: normal;
55
+  line-height: 1.2;
56
+  letter-spacing: normal;
57
+  text-transform: uppercase;
58
+  text-shadow: none;
59
+  word-wrap: break-word; }
60
+
61
+.reveal h1 {
62
+  font-size: 3.77em; }
63
+
64
+.reveal h2 {
65
+  font-size: 2.11em; }
66
+
67
+.reveal h3 {
68
+  font-size: 1.55em; }
69
+
70
+.reveal h4 {
71
+  font-size: 1em; }
72
+
73
+.reveal h1 {
74
+  text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
75
+
76
+/*********************************************
77
+ * OTHER
78
+ *********************************************/
79
+.reveal p {
80
+  margin: 20px 0;
81
+  line-height: 1.3; }
82
+
83
+/* Ensure certain elements are never larger than the slide itself */
84
+.reveal img,
85
+.reveal video,
86
+.reveal iframe {
87
+  max-width: 95%;
88
+  max-height: 95%; }
89
+
90
+.reveal strong,
91
+.reveal b {
92
+  font-weight: bold; }
93
+
94
+.reveal em {
95
+  font-style: italic; }
96
+
97
+.reveal ol,
98
+.reveal dl,
99
+.reveal ul {
100
+  display: inline-block;
101
+  text-align: left;
102
+  margin: 0 0 0 1em; }
103
+
104
+.reveal ol {
105
+  list-style-type: decimal; }
106
+
107
+.reveal ul {
108
+  list-style-type: disc; }
109
+
110
+.reveal ul ul {
111
+  list-style-type: square; }
112
+
113
+.reveal ul ul ul {
114
+  list-style-type: circle; }
115
+
116
+.reveal ul ul,
117
+.reveal ul ol,
118
+.reveal ol ol,
119
+.reveal ol ul {
120
+  display: block;
121
+  margin-left: 40px; }
122
+
123
+.reveal dt {
124
+  font-weight: bold; }
125
+
126
+.reveal dd {
127
+  margin-left: 40px; }
128
+
129
+.reveal blockquote {
130
+  display: block;
131
+  position: relative;
132
+  width: 70%;
133
+  margin: 20px auto;
134
+  padding: 5px;
135
+  font-style: italic;
136
+  background: rgba(255, 255, 255, 0.05);
137
+  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
138
+
139
+.reveal blockquote p:first-child,
140
+.reveal blockquote p:last-child {
141
+  display: inline-block; }
142
+
143
+.reveal q {
144
+  font-style: italic; }
145
+
146
+.reveal pre {
147
+  display: block;
148
+  position: relative;
149
+  width: 90%;
150
+  margin: 20px auto;
151
+  text-align: left;
152
+  font-size: 0.55em;
153
+  font-family: monospace;
154
+  line-height: 1.2em;
155
+  word-wrap: break-word;
156
+  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
157
+
158
+.reveal code {
159
+  font-family: monospace;
160
+  text-transform: none; }
161
+
162
+.reveal pre code {
163
+  display: block;
164
+  padding: 5px;
165
+  overflow: auto;
166
+  max-height: 400px;
167
+  word-wrap: normal; }
168
+
169
+.reveal table {
170
+  margin: auto;
171
+  border-collapse: collapse;
172
+  border-spacing: 0; }
173
+
174
+.reveal table th {
175
+  font-weight: bold; }
176
+
177
+.reveal table th,
178
+.reveal table td {
179
+  text-align: left;
180
+  padding: 0.2em 0.5em 0.2em 0.5em;
181
+  border-bottom: 1px solid; }
182
+
183
+.reveal table th[align="center"],
184
+.reveal table td[align="center"] {
185
+  text-align: center; }
186
+
187
+.reveal table th[align="right"],
188
+.reveal table td[align="right"] {
189
+  text-align: right; }
190
+
191
+.reveal table tbody tr:last-child th,
192
+.reveal table tbody tr:last-child td {
193
+  border-bottom: none; }
194
+
195
+.reveal sup {
196
+  vertical-align: super; }
197
+
198
+.reveal sub {
199
+  vertical-align: sub; }
200
+
201
+.reveal small {
202
+  display: inline-block;
203
+  font-size: 0.6em;
204
+  line-height: 1.2em;
205
+  vertical-align: top; }
206
+
207
+.reveal small * {
208
+  vertical-align: top; }
209
+
210
+/*********************************************
211
+ * LINKS
212
+ *********************************************/
213
+.reveal a {
214
+  color: #8b743d;
215
+  text-decoration: none;
216
+  -webkit-transition: color .15s ease;
217
+  -moz-transition: color .15s ease;
218
+  transition: color .15s ease; }
219
+
220
+.reveal a:hover {
221
+  color: #c0a86e;
222
+  text-shadow: none;
223
+  border: none; }
224
+
225
+.reveal .roll span:after {
226
+  color: #fff;
227
+  background: #564826; }
228
+
229
+/*********************************************
230
+ * IMAGES
231
+ *********************************************/
232
+.reveal section img {
233
+  margin: 15px 0px;
234
+  background: rgba(255, 255, 255, 0.12);
235
+  border: 4px solid #333;
236
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
237
+
238
+.reveal section img.plain {
239
+  border: 0;
240
+  box-shadow: none; }
241
+
242
+.reveal a img {
243
+  -webkit-transition: all .15s linear;
244
+  -moz-transition: all .15s linear;
245
+  transition: all .15s linear; }
246
+
247
+.reveal a:hover img {
248
+  background: rgba(255, 255, 255, 0.2);
249
+  border-color: #8b743d;
250
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
251
+
252
+/*********************************************
253
+ * NAVIGATION CONTROLS
254
+ *********************************************/
255
+.reveal .controls {
256
+  color: #8b743d; }
257
+
258
+/*********************************************
259
+ * PROGRESS BAR
260
+ *********************************************/
261
+.reveal .progress {
262
+  background: rgba(0, 0, 0, 0.2);
263
+  color: #8b743d; }
264
+
265
+.reveal .progress span {
266
+  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
267
+  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
268
+  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }

+ 264
- 0
reveal.js/css/theme/black.css View File

@@ -0,0 +1,264 @@
1
+/**
2
+ * Black theme for reveal.js. This is the opposite of the 'white' theme.
3
+ *
4
+ * By Hakim El Hattab, http://hakim.se
5
+ */
6
+@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
7
+section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
8
+  color: #222; }
9
+
10
+/*********************************************
11
+ * GLOBAL STYLES
12
+ *********************************************/
13
+body {
14
+  background: #222;
15
+  background-color: #222; }
16
+
17
+.reveal {
18
+  font-family: "Source Sans Pro", Helvetica, sans-serif;
19
+  font-size: 42px;
20
+  font-weight: normal;
21
+  color: #fff; }
22
+
23
+::selection {
24
+  color: #fff;
25
+  background: #bee4fd;
26
+  text-shadow: none; }
27
+
28
+::-moz-selection {
29
+  color: #fff;
30
+  background: #bee4fd;
31
+  text-shadow: none; }
32
+
33
+.reveal .slides > section,
34
+.reveal .slides > section > section {
35
+  line-height: 1.3;
36
+  font-weight: inherit; }
37
+
38
+/*********************************************
39
+ * HEADERS
40
+ *********************************************/
41
+.reveal h1,
42
+.reveal h2,
43
+.reveal h3,
44
+.reveal h4,
45
+.reveal h5,
46
+.reveal h6 {
47
+  margin: 0 0 20px 0;
48
+  color: #fff;
49
+  font-family: "Source Sans Pro", Helvetica, sans-serif;
50
+  font-weight: 600;
51
+  line-height: 1.2;
52
+  letter-spacing: normal;
53
+  text-transform: uppercase;
54
+  text-shadow: none;
55
+  word-wrap: break-word; }
56
+
57
+.reveal h1 {
58
+  font-size: 2.5em; }
59
+
60
+.reveal h2 {
61
+  font-size: 1.6em; }
62
+
63
+.reveal h3 {
64
+  font-size: 1.3em; }
65
+
66
+.reveal h4 {
67
+  font-size: 1em; }
68
+
69
+.reveal h1 {
70
+  text-shadow: none; }
71
+
72
+/*********************************************
73
+ * OTHER
74
+ *********************************************/
75
+.reveal p {
76
+  margin: 20px 0;
77
+  line-height: 1.3; }
78
+
79
+/* Ensure certain elements are never larger than the slide itself */
80
+.reveal img,
81
+.reveal video,
82
+.reveal iframe {
83
+  max-width: 95%;
84
+  max-height: 95%; }
85
+
86
+.reveal strong,
87
+.reveal b {
88
+  font-weight: bold; }
89
+
90
+.reveal em {
91
+  font-style: italic; }
92
+
93
+.reveal ol,
94
+.reveal dl,
95
+.reveal ul {
96
+  display: inline-block;
97
+  text-align: left;
98
+  margin: 0 0 0 1em; }
99
+
100
+.reveal ol {
101
+  list-style-type: decimal; }
102
+
103
+.reveal ul {
104
+  list-style-type: disc; }
105
+
106
+.reveal ul ul {
107
+  list-style-type: square; }
108
+
109
+.reveal ul ul ul {
110
+  list-style-type: circle; }
111
+
112
+.reveal ul ul,
113
+.reveal ul ol,
114
+.reveal ol ol,
115
+.reveal ol ul {
116
+  display: block;
117
+  margin-left: 40px; }
118
+
119
+.reveal dt {
120
+  font-weight: bold; }
121
+
122
+.reveal dd {
123
+  margin-left: 40px; }
124
+
125
+.reveal blockquote {
126
+  display: block;
127
+  position: relative;
128
+  width: 70%;
129
+  margin: 20px auto;
130
+  padding: 5px;
131
+  font-style: italic;
132
+  background: rgba(255, 255, 255, 0.05);
133
+  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
134
+
135
+.reveal blockquote p:first-child,
136
+.reveal blockquote p:last-child {
137
+  display: inline-block; }
138
+
139
+.reveal q {
140
+  font-style: italic; }
141
+
142
+.reveal pre {
143
+  display: block;
144
+  position: relative;
145
+  width: 90%;
146
+  margin: 20px auto;
147
+  text-align: left;
148
+  font-size: 0.55em;
149
+  font-family: monospace;
150
+  line-height: 1.2em;
151
+  word-wrap: break-word;
152
+  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
153
+
154
+.reveal code {
155
+  font-family: monospace;
156
+  text-transform: none; }
157
+
158
+.reveal pre code {
159
+  display: block;
160
+  padding: 5px;
161
+  overflow: auto;
162
+  max-height: 400px;
163
+  word-wrap: normal; }
164
+
165
+.reveal table {
166
+  margin: auto;
167
+  border-collapse: collapse;
168
+  border-spacing: 0; }
169
+
170
+.reveal table th {
171
+  font-weight: bold; }
172
+
173
+.reveal table th,
174
+.reveal table td {
175
+  text-align: left;
176
+  padding: 0.2em 0.5em 0.2em 0.5em;
177
+  border-bottom: 1px solid; }
178
+
179
+.reveal table th[align="center"],
180
+.reveal table td[align="center"] {
181
+  text-align: center; }
182
+
183
+.reveal table th[align="right"],
184
+.reveal table td[align="right"] {
185
+  text-align: right; }
186
+
187
+.reveal table tbody tr:last-child th,
188
+.reveal table tbody tr:last-child td {
189
+  border-bottom: none; }
190
+
191
+.reveal sup {
192
+  vertical-align: super; }
193
+
194
+.reveal sub {
195
+  vertical-align: sub; }
196
+
197
+.reveal small {
198
+  display: inline-block;
199
+  font-size: 0.6em;
200
+  line-height: 1.2em;
201
+  vertical-align: top; }
202
+
203
+.reveal small * {
204
+  vertical-align: top; }
205
+
206
+/*********************************************
207
+ * LINKS
208
+ *********************************************/
209
+.reveal a {
210
+  color: #42affa;
211
+  text-decoration: none;
212
+  -webkit-transition: color .15s ease;
213
+  -moz-transition: color .15s ease;
214
+  transition: color .15s ease; }
215
+
216
+.reveal a:hover {
217
+  color: #8dcffc;
218
+  text-shadow: none;
219
+  border: none; }
220
+
221
+.reveal .roll span:after {
222
+  color: #fff;
223
+  background: #068de9; }
224
+
225
+/*********************************************
226
+ * IMAGES
227
+ *********************************************/
228
+.reveal section img {
229
+  margin: 15px 0px;
230
+  background: rgba(255, 255, 255, 0.12);
231
+  border: 4px solid #fff;
232
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
233
+
234
+.reveal section img.plain {
235
+  border: 0;
236
+  box-shadow: none; }
237
+
238
+.reveal a img {
239
+  -webkit-transition: all .15s linear;
240
+  -moz-transition: all .15s linear;
241
+  transition: all .15s linear; }
242
+
243
+.reveal a:hover img {
244
+  background: rgba(255, 255, 255, 0.2);
245
+  border-color: #42affa;
246
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
247
+
248
+/*********************************************
249
+ * NAVIGATION CONTROLS
250
+ *********************************************/
251
+.reveal .controls {
252
+  color: #42affa; }
253
+
254
+/*********************************************
255
+ * PROGRESS BAR
256
+ *********************************************/
257
+.reveal .progress {
258
+  background: rgba(0, 0, 0, 0.2);
259
+  color: #42affa; }
260
+
261
+.reveal .progress span {
262
+  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
263
+  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
264
+  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }

+ 287
- 0
reveal.js/css/theme/blood.css View File

@@ -0,0 +1,287 @@
1
+/**
2
+ * Blood theme for reveal.js
3
+ * Author: Walther http://github.com/Walther
4
+ *
5
+ * Designed to be used with highlight.js theme
6
+ * "monokai_sublime.css" available from
7
+ * https://github.com/isagalaev/highlight.js/
8
+ *
9
+ * For other themes, change $codeBackground accordingly.
10
+ *
11
+ */
12
+@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic);
13
+/*********************************************
14
+ * GLOBAL STYLES
15
+ *********************************************/
16
+body {
17
+  background: #222;
18
+  background-color: #222; }
19
+
20
+.reveal {
21
+  font-family: Ubuntu, "sans-serif";
22
+  font-size: 40px;
23
+  font-weight: normal;
24
+  color: #eee; }
25
+
26
+::selection {
27
+  color: #fff;
28
+  background: #a23;
29
+  text-shadow: none; }
30
+
31
+::-moz-selection {
32
+  color: #fff;
33
+  background: #a23;
34
+  text-shadow: none; }
35
+
36
+.reveal .slides > section,
37
+.reveal .slides > section > section {
38
+  line-height: 1.3;
39
+  font-weight: inherit; }
40
+
41
+/*********************************************
42
+ * HEADERS
43
+ *********************************************/
44
+.reveal h1,
45
+.reveal h2,
46
+.reveal h3,
47
+.reveal h4,
48
+.reveal h5,
49
+.reveal h6 {
50
+  margin: 0 0 20px 0;
51
+  color: #eee;
52
+  font-family: Ubuntu, "sans-serif";
53
+  font-weight: normal;
54
+  line-height: 1.2;
55
+  letter-spacing: normal;
56
+  text-transform: uppercase;
57
+  text-shadow: 2px 2px 2px #222;
58
+  word-wrap: break-word; }
59
+
60
+.reveal h1 {
61
+  font-size: 3.77em; }
62
+
63
+.reveal h2 {
64
+  font-size: 2.11em; }
65
+
66
+.reveal h3 {
67
+  font-size: 1.55em; }
68
+
69
+.reveal h4 {
70
+  font-size: 1em; }
71
+
72
+.reveal h1 {
73
+  text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
74
+
75
+/*********************************************
76
+ * OTHER
77
+ *********************************************/
78
+.reveal p {
79
+  margin: 20px 0;
80
+  line-height: 1.3; }
81
+
82
+/* Ensure certain elements are never larger than the slide itself */
83
+.reveal img,
84
+.reveal video,
85
+.reveal iframe {
86
+  max-width: 95%;
87
+  max-height: 95%; }
88
+
89
+.reveal strong,
90
+.reveal b {
91
+  font-weight: bold; }
92
+
93
+.reveal em {
94
+  font-style: italic; }
95
+
96
+.reveal ol,
97
+.reveal dl,
98
+.reveal ul {
99
+  display: inline-block;
100
+  text-align: left;
101
+  margin: 0 0 0 1em; }
102
+
103
+.reveal ol {
104
+  list-style-type: decimal; }
105
+
106
+.reveal ul {
107
+  list-style-type: disc; }
108
+
109
+.reveal ul ul {
110
+  list-style-type: square; }
111
+
112
+.reveal ul ul ul {
113
+  list-style-type: circle; }
114
+
115
+.reveal ul ul,
116
+.reveal ul ol,
117
+.reveal ol ol,
118
+.reveal ol ul {
119
+  display: block;
120
+  margin-left: 40px; }
121
+
122
+.reveal dt {
123
+  font-weight: bold; }
124
+
125
+.reveal dd {
126
+  margin-left: 40px; }
127
+
128
+.reveal blockquote {
129
+  display: block;
130
+  position: relative;
131
+  width: 70%;
132
+  margin: 20px auto;
133
+  padding: 5px;
134
+  font-style: italic;
135
+  background: rgba(255, 255, 255, 0.05);
136
+  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
137
+
138
+.reveal blockquote p:first-child,
139
+.reveal blockquote p:last-child {
140
+  display: inline-block; }
141
+
142
+.reveal q {
143
+  font-style: italic; }
144
+
145
+.reveal pre {
146
+  display: block;
147
+  position: relative;
148
+  width: 90%;
149
+  margin: 20px auto;
150
+  text-align: left;
151
+  font-size: 0.55em;
152
+  font-family: monospace;
153
+  line-height: 1.2em;
154
+  word-wrap: break-word;
155
+  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
156
+
157
+.reveal code {
158
+  font-family: monospace;
159
+  text-transform: none; }
160
+
161
+.reveal pre code {
162
+  display: block;
163
+  padding: 5px;
164
+  overflow: auto;
165
+  max-height: 400px;
166
+  word-wrap: normal; }
167
+
168
+.reveal table {
169
+  margin: auto;
170
+  border-collapse: collapse;
171
+  border-spacing: 0; }
172
+
173
+.reveal table th {
174
+  font-weight: bold; }
175
+
176
+.reveal table th,
177
+.reveal table td {
178
+  text-align: left;
179
+  padding: 0.2em 0.5em 0.2em 0.5em;
180
+  border-bottom: 1px solid; }
181
+
182
+.reveal table th[align="center"],
183
+.reveal table td[align="center"] {
184
+  text-align: center; }
185
+
186
+.reveal table th[align="right"],
187
+.reveal table td[align="right"] {
188
+  text-align: right; }
189
+
190
+.reveal table tbody tr:last-child th,
191
+.reveal table tbody tr:last-child td {
192
+  border-bottom: none; }
193
+
194
+.reveal sup {
195
+  vertical-align: super; }
196
+
197
+.reveal sub {
198
+  vertical-align: sub; }
199
+
200
+.reveal small {
201
+  display: inline-block;
202
+  font-size: 0.6em;
203
+  line-height: 1.2em;
204
+  vertical-align: top; }
205
+
206
+.reveal small * {
207
+  vertical-align: top; }
208
+
209
+/*********************************************
210
+ * LINKS
211
+ *********************************************/
212
+.reveal a {
213
+  color: #a23;
214
+  text-decoration: none;
215
+  -webkit-transition: color .15s ease;
216
+  -moz-transition: color .15s ease;
217
+  transition: color .15s ease; }
218
+
219
+.reveal a:hover {
220
+  color: #dd5566;
221
+  text-shadow: none;
222
+  border: none; }
223
+
224
+.reveal .roll span:after {
225
+  color: #fff;
226
+  background: #6a1520; }
227
+
228
+/*********************************************
229
+ * IMAGES
230
+ *********************************************/
231
+.reveal section img {
232
+  margin: 15px 0px;
233
+  background: rgba(255, 255, 255, 0.12);
234
+  border: 4px solid #eee;
235
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
236
+
237
+.reveal section img.plain {
238
+  border: 0;
239
+  box-shadow: none; }
240
+
241
+.reveal a img {
242
+  -webkit-transition: all .15s linear;
243
+  -moz-transition: all .15s linear;
244
+  transition: all .15s linear; }
245
+
246
+.reveal a:hover img {
247
+  background: rgba(255, 255, 255, 0.2);
248
+  border-color: #a23;
249
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
250
+
251
+/*********************************************
252
+ * NAVIGATION CONTROLS
253
+ *********************************************/
254
+.reveal .controls {
255
+  color: #a23; }
256
+
257
+/*********************************************
258
+ * PROGRESS BAR
259
+ *********************************************/
260
+.reveal .progress {
261
+  background: rgba(0, 0, 0, 0.2);
262
+  color: #a23; }
263
+
264
+.reveal .progress span {
265
+  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
266
+  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
267
+  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
268
+
269
+.reveal p {
270
+  font-weight: 300;
271
+  text-shadow: 1px 1px #222; }
272
+
273
+.reveal h1,
274
+.reveal h2,
275
+.reveal h3,
276
+.reveal h4,
277
+.reveal h5,
278
+.reveal h6 {
279
+  font-weight: 700; }
280
+
281
+.reveal p code {
282
+  background-color: #23241f;
283
+  display: inline-block;
284
+  border-radius: 7px; }
285
+
286
+.reveal small code {
287
+  vertical-align: baseline; }

+ 270
- 0
reveal.js/css/theme/league.css View File

@@ -0,0 +1,270 @@
1
+/**
2
+ * League theme for reveal.js.
3
+ *
4
+ * This was the default theme pre-3.0.0.
5
+ *
6
+ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
7
+ */
8
+@import url(../../lib/font/league-gothic/league-gothic.css);
9
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
10
+/*********************************************
11
+ * GLOBAL STYLES
12
+ *********************************************/
13
+body {
14
+  background: #1c1e20;
15
+  background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
16
+  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20));
17
+  background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
18
+  background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
19
+  background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
20
+  background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
21
+  background-color: #2b2b2b; }
22
+
23
+.reveal {
24
+  font-family: "Lato", sans-serif;
25
+  font-size: 40px;
26
+  font-weight: normal;
27
+  color: #eee; }
28
+
29
+::selection {
30
+  color: #fff;
31
+  background: #FF5E99;
32
+  text-shadow: none; }
33
+
34
+::-moz-selection {
35
+  color: #fff;
36
+  background: #FF5E99;
37
+  text-shadow: none; }
38
+
39
+.reveal .slides > section,
40
+.reveal .slides > section > section {
41
+  line-height: 1.3;
42
+  font-weight: inherit; }
43
+
44
+/*********************************************
45
+ * HEADERS
46
+ *********************************************/
47
+.reveal h1,
48
+.reveal h2,
49
+.reveal h3,
50
+.reveal h4,
51
+.reveal h5,
52
+.reveal h6 {
53
+  margin: 0 0 20px 0;
54
+  color: #eee;
55
+  font-family: "League Gothic", Impact, sans-serif;
56
+  font-weight: normal;
57
+  line-height: 1.2;
58
+  letter-spacing: normal;
59
+  text-transform: uppercase;
60
+  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
61
+  word-wrap: break-word; }
62
+
63
+.reveal h1 {
64
+  font-size: 3.77em; }
65
+
66
+.reveal h2 {
67
+  font-size: 2.11em; }
68
+
69
+.reveal h3 {
70
+  font-size: 1.55em; }
71
+
72
+.reveal h4 {
73
+  font-size: 1em; }
74
+
75
+.reveal h1 {
76
+  text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
77
+
78
+/*********************************************
79
+ * OTHER
80
+ *********************************************/
81
+.reveal p {
82
+  margin: 20px 0;
83
+  line-height: 1.3; }
84
+
85
+/* Ensure certain elements are never larger than the slide itself */
86
+.reveal img,
87
+.reveal video,
88
+.reveal iframe {
89
+  max-width: 95%;
90
+  max-height: 95%; }
91
+
92
+.reveal strong,
93
+.reveal b {
94
+  font-weight: bold; }
95
+
96
+.reveal em {
97
+  font-style: italic; }
98
+
99
+.reveal ol,
100
+.reveal dl,
101
+.reveal ul {
102
+  display: inline-block;
103
+  text-align: left;
104
+  margin: 0 0 0 1em; }
105
+
106
+.reveal ol {
107
+  list-style-type: decimal; }
108
+
109
+.reveal ul {
110
+  list-style-type: disc; }
111
+
112
+.reveal ul ul {
113
+  list-style-type: square; }
114
+
115
+.reveal ul ul ul {
116
+  list-style-type: circle; }
117
+
118
+.reveal ul ul,
119
+.reveal ul ol,
120
+.reveal ol ol,
121
+.reveal ol ul {
122
+  display: block;
123
+  margin-left: 40px; }
124
+
125
+.reveal dt {
126
+  font-weight: bold; }
127
+
128
+.reveal dd {
129
+  margin-left: 40px; }
130
+
131
+.reveal blockquote {
132
+  display: block;
133
+  position: relative;
134
+  width: 70%;
135
+  margin: 20px auto;
136
+  padding: 5px;
137
+  font-style: italic;
138
+  background: rgba(255, 255, 255, 0.05);
139
+  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
140
+
141
+.reveal blockquote p:first-child,
142
+.reveal blockquote p:last-child {
143
+  display: inline-block; }
144
+
145
+.reveal q {
146
+  font-style: italic; }
147
+
148
+.reveal pre {
149
+  display: block;
150
+  position: relative;
151
+  width: 90%;
152
+  margin: 20px auto;
153
+  text-align: left;
154
+  font-size: 0.55em;
155
+  font-family: monospace;
156
+  line-height: 1.2em;
157
+  word-wrap: break-word;
158
+  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
159
+
160
+.reveal code {
161
+  font-family: monospace;
162
+  text-transform: none; }
163
+
164
+.reveal pre code {
165
+  display: block;
166
+  padding: 5px;
167
+  overflow: auto;
168
+  max-height: 400px;
169
+  word-wrap: normal; }
170
+
171
+.reveal table {
172
+  margin: auto;
173
+  border-collapse: collapse;
174
+  border-spacing: 0; }
175
+
176
+.reveal table th {
177
+  font-weight: bold; }
178
+
179
+.reveal table th,
180
+.reveal table td {
181
+  text-align: left;
182
+  padding: 0.2em 0.5em 0.2em 0.5em;
183
+  border-bottom: 1px solid; }
184
+
185
+.reveal table th[align="center"],
186
+.reveal table td[align="center"] {
187
+  text-align: center; }
188
+
189
+.reveal table th[align="right"],
190
+.reveal table td[align="right"] {
191
+  text-align: right; }
192
+
193
+.reveal table tbody tr:last-child th,
194
+.reveal table tbody tr:last-child td {
195
+  border-bottom: none; }
196
+
197
+.reveal sup {
198
+  vertical-align: super; }
199
+
200
+.reveal sub {
201
+  vertical-align: sub; }
202
+
203
+.reveal small {
204
+  display: inline-block;
205
+  font-size: 0.6em;
206
+  line-height: 1.2em;
207
+  vertical-align: top; }
208
+
209
+.reveal small * {
210
+  vertical-align: top; }
211
+
212
+/*********************************************
213
+ * LINKS
214
+ *********************************************/
215
+.reveal a {
216
+  color: #13DAEC;
217
+  text-decoration: none;
218
+  -webkit-transition: color .15s ease;
219
+  -moz-transition: color .15s ease;
220
+  transition: color .15s ease; }
221
+
222
+.reveal a:hover {
223
+  color: #71e9f4;
224
+  text-shadow: none;
225
+  border: none; }
226
+
227
+.reveal .roll span:after {
228
+  color: #fff;
229
+  background: #0d99a5; }
230
+
231
+/*********************************************
232
+ * IMAGES
233
+ *********************************************/
234
+.reveal section img {
235
+  margin: 15px 0px;
236
+  background: rgba(255, 255, 255, 0.12);
237
+  border: 4px solid #eee;
238
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
239
+
240
+.reveal section img.plain {
241
+  border: 0;
242
+  box-shadow: none; }
243
+
244
+.reveal a img {
245
+  -webkit-transition: all .15s linear;
246
+  -moz-transition: all .15s linear;
247
+  transition: all .15s linear; }
248
+
249
+.reveal a:hover img {
250
+  background: rgba(255, 255, 255, 0.2);
251
+  border-color: #13DAEC;
252
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
253
+
254
+/*********************************************
255
+ * NAVIGATION CONTROLS
256
+ *********************************************/
257
+.reveal .controls {
258
+  color: #13DAEC; }
259
+
260
+/*********************************************
261
+ * PROGRESS BAR
262
+ *********************************************/
263
+.reveal .progress {
264
+  background: rgba(0, 0, 0, 0.2);
265
+  color: #13DAEC; }
266
+
267
+.reveal .progress span {
268
+  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
269
+  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
270
+  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }

+ 268
- 0
reveal.js/css/theme/moon.css View File

@@ -0,0 +1,268 @@
1
+/**
2
+ * Solarized Dark theme for reveal.js.
3
+ * Author: Achim Staebler
4
+ */
5
+@import url(../../lib/font/league-gothic/league-gothic.css);
6
+@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
7
+/**
8
+ * Solarized colors by Ethan Schoonover
9
+ */
10
+html * {
11
+  color-profile: sRGB;
12
+  rendering-intent: auto; }
13
+
14
+/*********************************************
15
+ * GLOBAL STYLES
16
+ *********************************************/
17
+body {
18
+  background: #002b36;
19
+  background-color: #002b36; }
20
+
21
+.reveal {
22
+  font-family: "Lato", sans-serif;
23
+  font-size: 40px;
24
+  font-weight: normal;
25
+  color: #93a1a1; }
26
+
27
+::selection {
28
+  color: #fff;
29
+  background: #d33682;
30
+  text-shadow: none; }
31
+
32
+::-moz-selection {
33
+  color: #fff;
34
+  background: #d33682;
35
+  text-shadow: none; }
36
+
37
+.reveal .slides > section,
38
+.reveal .slides > section > section {
39
+  line-height: 1.3;
40
+  font-weight: inherit; }
41
+
42
+/*********************************************
43
+ * HEADERS
44
+ *********************************************/
45
+.reveal h1,
46
+.reveal h2,
47
+.reveal h3,
48
+.reveal h4,
49
+.reveal h5,
50
+.reveal h6 {
51
+  margin: 0 0 20px 0;
52
+  color: #eee8d5;
53
+  font-family: "League Gothic", Impact, sans-serif;
54
+  font-weight: normal;
55
+  line-height: 1.2;
56
+  letter-spacing: normal;
57
+  text-transform: uppercase;
58
+  text-shadow: none;
59
+  word-wrap: break-word; }
60
+
61
+.reveal h1 {
62
+  font-size: 3.77em; }
63
+
64
+.reveal h2 {
65
+  font-size: 2.11em; }
66
+
67
+.reveal h3 {
68
+  font-size: 1.55em; }
69
+
70
+.reveal h4 {
71
+  font-size: 1em; }
72
+
73
+.reveal h1 {
74
+  text-shadow: none; }
75
+
76
+/*********************************************
77
+ * OTHER
78
+ *********************************************/
79
+.reveal p {
80
+  margin: 20px 0;
81
+  line-height: 1.3; }
82
+
83
+/* Ensure certain elements are never larger than the slide itself */
84
+.reveal img,
85
+.reveal video,
86
+.reveal iframe {
87
+  max-width: 95%;
88
+  max-height: 95%; }
89
+
90
+.reveal strong,
91
+.reveal b {
92
+  font-weight: bold; }
93
+
94
+.reveal em {
95
+  font-style: italic; }
96
+
97
+.reveal ol,
98
+.reveal dl,
99
+.reveal ul {
100
+  display: inline-block;
101
+  text-align: left;
102
+  margin: 0 0 0 1em; }
103
+
104
+.reveal ol {
105
+  list-style-type: decimal; }
106
+
107
+.reveal ul {
108
+  list-style-type: disc; }
109
+
110
+.reveal ul ul {
111
+  list-style-type: square; }
112
+
113
+.reveal ul ul ul {
114
+  list-style-type: circle; }
115
+
116
+.reveal ul ul,
117
+.reveal ul ol,
118
+.reveal ol ol,
119
+.reveal ol ul {
120
+  display: block;
121
+  margin-left: 40px; }
122
+
123
+.reveal dt {
124
+  font-weight: bold; }
125
+
126
+.reveal dd {
127
+  margin-left: 40px; }
128
+
129
+.reveal blockquote {
130
+  display: block;
131
+  position: relative;
132
+  width: 70%;
133
+  margin: 20px auto;
134
+  padding: 5px;
135
+  font-style: italic;
136
+  background: rgba(255, 255, 255, 0.05);
137
+  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
138
+
139
+.reveal blockquote p:first-child,
140
+.reveal blockquote p:last-child {
141
+  display: inline-block; }
142
+
143
+.reveal q {
144
+  font-style: italic; }
145
+
146
+.reveal pre {
147
+  display: block;
148
+  position: relative;
149
+  width: 90%;
150
+  margin: 20px auto;
151
+  text-align: left;
152
+  font-size: 0.55em;
153
+  font-family: monospace;
154
+  line-height: 1.2em;
155
+  word-wrap: break-word;
156
+  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
157
+
158
+.reveal code {
159
+  font-family: monospace;
160
+  text-transform: none; }
161
+
162
+.reveal pre code {
163
+  display: block;
164
+  padding: 5px;
165
+  overflow: auto;
166
+  max-height: 400px;
167
+  word-wrap: normal; }
168
+
169
+.reveal table {
170
+  margin: auto;
171
+  border-collapse: collapse;
172
+  border-spacing: 0; }
173
+
174
+.reveal table th {
175
+  font-weight: bold; }
176
+
177
+.reveal table th,
178
+.reveal table td {
179
+  text-align: left;
180
+  padding: 0.2em 0.5em 0.2em 0.5em;
181
+  border-bottom: 1px solid; }
182
+
183
+.reveal table th[align="center"],
184
+.reveal table td[align="center"] {
185
+  text-align: center; }
186
+
187
+.reveal table th[align="right"],
188
+.reveal table td[align="right"] {
189
+  text-align: right; }
190
+
191
+.reveal table tbody tr:last-child th,
192
+.reveal table tbody tr:last-child td {
193
+  border-bottom: none; }
194
+
195
+.reveal sup {
196
+  vertical-align: super; }
197
+
198
+.reveal sub {
199
+  vertical-align: sub; }
200
+
201
+.reveal small {
202
+  display: inline-block;
203
+  font-size: 0.6em;
204
+  line-height: 1.2em;
205
+  vertical-align: top; }
206
+
207
+.reveal small * {
208
+  vertical-align: top; }
209
+
210
+/*********************************************
211
+ * LINKS
212
+ *********************************************/
213
+.reveal a {
214
+  color: #268bd2;
215
+  text-decoration: none;
216
+  -webkit-transition: color .15s ease;
217
+  -moz-transition: color .15s ease;
218
+  transition: color .15s ease; }
219
+
220
+.reveal a:hover {
221
+  color: #78b9e6;
222
+  text-shadow: none;
223
+  border: none; }
224
+
225
+.reveal .roll span:after {
226
+  color: #fff;
227
+  background: #1a6091; }
228
+
229
+/*********************************************
230
+ * IMAGES
231
+ *********************************************/
232
+.reveal section img {
233
+  margin: 15px 0px;
234
+  background: rgba(255, 255, 255, 0.12);
235
+  border: 4px solid #93a1a1;
236
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
237
+
238
+.reveal section img.plain {
239
+  border: 0;
240
+  box-shadow: none; }
241
+
242
+.reveal a img {
243
+  -webkit-transition: all .15s linear;
244
+  -moz-transition: all .15s linear;
245
+  transition: all .15s linear; }
246
+
247
+.reveal a:hover img {
248
+  background: rgba(255, 255, 255, 0.2);
249
+  border-color: #268bd2;
250
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
251
+
252
+/*********************************************
253
+ * NAVIGATION CONTROLS
254
+ *********************************************/
255
+.reveal .controls {
256
+  color: #268bd2; }
257
+
258
+/*********************************************
259
+ * PROGRESS BAR
260
+ *********************************************/
261
+.reveal .progress {
262
+  background: rgba(0, 0, 0, 0.2);
263
+  color: #268bd2; }
264
+
265
+.reveal .progress span {
266
+  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
267
+  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
268
+  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }

+ 262
- 0
reveal.js/css/theme/night.css View File

@@ -0,0 +1,262 @@
1
+/**
2
+ * Black theme for reveal.js.
3
+ *
4
+ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
5
+ */
6
+@import url(https://fonts.googleapis.com/css?family=Montserrat:700);
7
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic);
8
+/*********************************************
9
+ * GLOBAL STYLES
10
+ *********************************************/
11
+body {
12
+  background: #111;
13
+  background-color: #111; }
14
+
15
+.reveal {
16
+  font-family: "Open Sans", sans-serif;
17
+  font-size: 40px;
18
+  font-weight: normal;
19
+  color: #eee; }
20
+
21
+::selection {
22
+  color: #fff;
23
+  background: #e7ad52;
24
+  text-shadow: none; }
25