From 0dfc29266a548f22872548dba617be345a014e7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20M=C3=BCller?= Date: Fri, 13 Dec 2019 01:36:51 +0100 Subject: [PATCH] Initial commit --- slides/.gitignore | 13 + slides/LICENSE | 19 + slides/bower.json | 24 + slides/css/codemirror.css | 349 + slides/css/custom.css | 33 + slides/css/mergely.css | 50 + slides/css/print/paper.css | 203 + slides/css/print/pdf.css | 164 + slides/css/reset.css | 30 + slides/css/reveal.css | 1598 +++ slides/css/reveal.scss | 1768 +++ slides/css/theme/README.md | 21 + slides/css/theme/beige.css | 277 + slides/css/theme/black.css | 273 + slides/css/theme/blood.css | 296 + slides/css/theme/league.css | 279 + slides/css/theme/moon.css | 277 + slides/css/theme/night.css | 271 + slides/css/theme/serif.css | 273 + slides/css/theme/simple.css | 276 + slides/css/theme/sky.css | 280 + slides/css/theme/solarized.css | 277 + slides/css/theme/source/beige.scss | 39 + slides/css/theme/source/black.scss | 49 + slides/css/theme/source/blood.scss | 78 + slides/css/theme/source/league.scss | 34 + slides/css/theme/source/moon.scss | 57 + slides/css/theme/source/night.scss | 34 + slides/css/theme/source/serif.scss | 35 + slides/css/theme/source/simple.scss | 43 + slides/css/theme/source/sky.scss | 46 + slides/css/theme/source/solarized.scss | 63 + slides/css/theme/source/white.scss | 49 + slides/css/theme/template/mixins.scss | 29 + slides/css/theme/template/settings.scss | 45 + slides/css/theme/template/theme.scss | 325 + slides/css/theme/white.css | 273 + slides/gruntfile.js | 192 + slides/images/Backspace_logo_full.svg | 214 + slides/images/Git-Logo-1788C.png | Bin 0 -> 5684 bytes ...tualBox_Windows XP_07_12_2019_00_57_32.png | Bin 0 -> 343577 bytes slides/images/areas.svg | 53 + slides/images/benevolent-dictator.svg | 64 + slides/images/centralized.svg | 39 + slides/images/in_case_of_fire.svg | 198 + slides/images/integration-manager.svg | 56 + slides/images/lifecycle.svg | 49 + slides/images/pro-git-cover.png | Bin 0 -> 482168 bytes slides/images/stash-branching_model.png | Bin 0 -> 92710 bytes .../windows_xp_explorer_folders_versions.png | Bin 0 -> 36738 bytes slides/images/xkcd-1296.png | Bin 0 -> 114552 bytes slides/images/xkcd-1597.png | Bin 0 -> 82807 bytes slides/index.html | 145 + slides/js/codemirror.js | 9783 +++++++++++++++++ slides/js/jquery-3.4.1.min.js | 2 + slides/js/mergely.js | 1 + slides/js/reveal.js | 6028 ++++++++++ slides/js/searchcursor.js | 293 + slides/lib/css/monokai.css | 71 + slides/lib/css/zenburn.css | 80 + slides/lib/font/league-gothic/LICENSE | 2 + .../lib/font/league-gothic/league-gothic.css | 10 + .../lib/font/league-gothic/league-gothic.eot | Bin 0 -> 25696 bytes .../lib/font/league-gothic/league-gothic.ttf | Bin 0 -> 64256 bytes .../lib/font/league-gothic/league-gothic.woff | Bin 0 -> 30764 bytes slides/lib/font/source-sans-pro/LICENSE | 45 + .../source-sans-pro-italic.eot | Bin 0 -> 75720 bytes .../source-sans-pro-italic.ttf | Bin 0 -> 238084 bytes .../source-sans-pro-italic.woff | Bin 0 -> 98556 bytes .../source-sans-pro-regular.eot | Bin 0 -> 88070 bytes .../source-sans-pro-regular.ttf | Bin 0 -> 288008 bytes .../source-sans-pro-regular.woff | Bin 0 -> 114324 bytes .../source-sans-pro-semibold.eot | Bin 0 -> 89897 bytes .../source-sans-pro-semibold.ttf | Bin 0 -> 284640 bytes .../source-sans-pro-semibold.woff | Bin 0 -> 115648 bytes .../source-sans-pro-semibolditalic.eot | Bin 0 -> 75706 bytes .../source-sans-pro-semibolditalic.ttf | Bin 0 -> 240944 bytes .../source-sans-pro-semibolditalic.woff | Bin 0 -> 98816 bytes .../font/source-sans-pro/source-sans-pro.css | 39 + slides/lib/js/html5shiv.js | 7 + slides/lib/js/promise.js | 2 + slides/package-lock.json | 5891 ++++++++++ slides/package.json | 44 + slides/plugin/highlight/highlight.js | 168 + slides/plugin/markdown/example.html | 134 + slides/plugin/markdown/example.md | 36 + slides/plugin/markdown/markdown.js | 446 + slides/plugin/markdown/marked.js | 6 + slides/plugin/math/math.js | 92 + slides/plugin/multiplex/client.js | 13 + slides/plugin/multiplex/index.js | 64 + slides/plugin/multiplex/master.js | 34 + slides/plugin/multiplex/package.json | 19 + slides/plugin/notes-server/client.js | 65 + slides/plugin/notes-server/index.js | 69 + slides/plugin/notes-server/notes.html | 585 + slides/plugin/notes/notes.html | 834 ++ slides/plugin/notes/notes.js | 178 + slides/plugin/print-pdf/print-pdf.js | 67 + slides/plugin/search/search.js | 206 + slides/plugin/zoom-js/zoom.js | 277 + slides/sections/collaboration.md | 30 + slides/sections/common-commands.md | 97 + slides/sections/diff.md | 74 + slides/sections/end.md | 3 + slides/sections/example-usage.md | 89 + slides/sections/git.md | 50 + slides/sections/good-commits.md | 29 + slides/sections/intro.md | 47 + slides/sections/resources.md | 46 + slides/sections/terminology.md | 95 + 111 files changed, 35411 insertions(+) create mode 100644 slides/.gitignore create mode 100644 slides/LICENSE create mode 100644 slides/bower.json create mode 100644 slides/css/codemirror.css create mode 100644 slides/css/custom.css create mode 100644 slides/css/mergely.css create mode 100644 slides/css/print/paper.css create mode 100644 slides/css/print/pdf.css create mode 100644 slides/css/reset.css create mode 100644 slides/css/reveal.css create mode 100644 slides/css/reveal.scss create mode 100644 slides/css/theme/README.md create mode 100644 slides/css/theme/beige.css create mode 100644 slides/css/theme/black.css create mode 100644 slides/css/theme/blood.css create mode 100644 slides/css/theme/league.css create mode 100644 slides/css/theme/moon.css create mode 100644 slides/css/theme/night.css create mode 100644 slides/css/theme/serif.css create mode 100644 slides/css/theme/simple.css create mode 100644 slides/css/theme/sky.css create mode 100644 slides/css/theme/solarized.css create mode 100644 slides/css/theme/source/beige.scss create mode 100644 slides/css/theme/source/black.scss create mode 100644 slides/css/theme/source/blood.scss create mode 100644 slides/css/theme/source/league.scss create mode 100644 slides/css/theme/source/moon.scss create mode 100644 slides/css/theme/source/night.scss create mode 100644 slides/css/theme/source/serif.scss create mode 100644 slides/css/theme/source/simple.scss create mode 100644 slides/css/theme/source/sky.scss create mode 100644 slides/css/theme/source/solarized.scss create mode 100644 slides/css/theme/source/white.scss create mode 100644 slides/css/theme/template/mixins.scss create mode 100644 slides/css/theme/template/settings.scss create mode 100644 slides/css/theme/template/theme.scss create mode 100644 slides/css/theme/white.css create mode 100644 slides/gruntfile.js create mode 100644 slides/images/Backspace_logo_full.svg create mode 100644 slides/images/Git-Logo-1788C.png create mode 100644 slides/images/VirtualBox_Windows XP_07_12_2019_00_57_32.png create mode 100644 slides/images/areas.svg create mode 100644 slides/images/benevolent-dictator.svg create mode 100644 slides/images/centralized.svg create mode 100644 slides/images/in_case_of_fire.svg create mode 100644 slides/images/integration-manager.svg create mode 100644 slides/images/lifecycle.svg create mode 100644 slides/images/pro-git-cover.png create mode 100644 slides/images/stash-branching_model.png create mode 100644 slides/images/windows_xp_explorer_folders_versions.png create mode 100644 slides/images/xkcd-1296.png create mode 100644 slides/images/xkcd-1597.png create mode 100644 slides/index.html create mode 100644 slides/js/codemirror.js create mode 100644 slides/js/jquery-3.4.1.min.js create mode 100644 slides/js/mergely.js create mode 100644 slides/js/reveal.js create mode 100644 slides/js/searchcursor.js create mode 100644 slides/lib/css/monokai.css create mode 100644 slides/lib/css/zenburn.css create mode 100644 slides/lib/font/league-gothic/LICENSE create mode 100644 slides/lib/font/league-gothic/league-gothic.css create mode 100755 slides/lib/font/league-gothic/league-gothic.eot create mode 100755 slides/lib/font/league-gothic/league-gothic.ttf create mode 100755 slides/lib/font/league-gothic/league-gothic.woff create mode 100644 slides/lib/font/source-sans-pro/LICENSE create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-italic.eot create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-italic.ttf create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-italic.woff create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-regular.eot create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-regular.ttf create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-regular.woff create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-semibold.eot create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-semibold.ttf create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-semibold.woff create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf create mode 100755 slides/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff create mode 100644 slides/lib/font/source-sans-pro/source-sans-pro.css create mode 100644 slides/lib/js/html5shiv.js create mode 100644 slides/lib/js/promise.js create mode 100644 slides/package-lock.json create mode 100644 slides/package.json create mode 100644 slides/plugin/highlight/highlight.js create mode 100644 slides/plugin/markdown/example.html create mode 100644 slides/plugin/markdown/example.md create mode 100755 slides/plugin/markdown/markdown.js create mode 100644 slides/plugin/markdown/marked.js create mode 100755 slides/plugin/math/math.js create mode 100644 slides/plugin/multiplex/client.js create mode 100644 slides/plugin/multiplex/index.js create mode 100644 slides/plugin/multiplex/master.js create mode 100644 slides/plugin/multiplex/package.json create mode 100644 slides/plugin/notes-server/client.js create mode 100644 slides/plugin/notes-server/index.js create mode 100644 slides/plugin/notes-server/notes.html create mode 100644 slides/plugin/notes/notes.html create mode 100644 slides/plugin/notes/notes.js create mode 100644 slides/plugin/print-pdf/print-pdf.js create mode 100644 slides/plugin/search/search.js create mode 100644 slides/plugin/zoom-js/zoom.js create mode 100644 slides/sections/collaboration.md create mode 100644 slides/sections/common-commands.md create mode 100644 slides/sections/diff.md create mode 100644 slides/sections/end.md create mode 100644 slides/sections/example-usage.md create mode 100644 slides/sections/git.md create mode 100644 slides/sections/good-commits.md create mode 100644 slides/sections/intro.md create mode 100644 slides/sections/resources.md create mode 100644 slides/sections/terminology.md diff --git a/slides/.gitignore b/slides/.gitignore new file mode 100644 index 0000000..8eda50e --- /dev/null +++ b/slides/.gitignore @@ -0,0 +1,13 @@ +.idea/ +*.iml +*.iws +*.eml +out/ +.DS_Store +.svn +log/*.log +tmp/** +node_modules/ +.sass-cache +css/reveal.min.css +js/reveal.min.js diff --git a/slides/LICENSE b/slides/LICENSE new file mode 100644 index 0000000..697d156 --- /dev/null +++ b/slides/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2019 Hakim El Hattab, http://hakim.se, and reveal.js contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/slides/bower.json b/slides/bower.json new file mode 100644 index 0000000..036d276 --- /dev/null +++ b/slides/bower.json @@ -0,0 +1,24 @@ +{ + "name": "reveal.js", + "version": "3.8.0", + "main": [ + "js/reveal.js", + "css/reveal.css" + ], + "homepage": "http://revealjs.com", + "license": "MIT", + "description": "The HTML Presentation Framework", + "authors": [ + "Hakim El Hattab " + ], + "repository": { + "type": "git", + "url": "git://github.com/hakimel/reveal.js.git" + }, + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test" + ] +} \ No newline at end of file diff --git a/slides/css/codemirror.css b/slides/css/codemirror.css new file mode 100644 index 0000000..bc910fb --- /dev/null +++ b/slides/css/codemirror.css @@ -0,0 +1,349 @@ +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; + direction: ltr; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; +} + +.CodeMirror-guttermarker { color: black; } +.CodeMirror-guttermarker-subtle { color: #999; } + +/* CURSOR */ + +.CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7; +} +.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; +} +.cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; +} +.cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + background-color: #7e7; +} +@-moz-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@-webkit-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} + +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror-overwrite .CodeMirror-cursor {} + +.cm-tab { display: inline-block; text-decoration: inherit; } + +.CodeMirror-rulers { + position: absolute; + left: 0; right: 0; top: -50px; bottom: 0; + overflow: hidden; +} +.CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; bottom: 0; + position: absolute; +} + +/* DEFAULT THEME */ + +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} +.cm-strikethrough {text-decoration: line-through;} + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable, +.cm-s-default .cm-punctuation, +.cm-s-default .cm-property, +.cm-s-default .cm-operator {} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-s-default .cm-error {color: #f00;} +.cm-invalidchar {color: #f00;} + +.CodeMirror-composing { border-bottom: 2px solid; } + +/* Default styles for common addons */ + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} +.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + position: relative; + overflow: hidden; + background: white; +} + +.CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 30px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -30px; margin-right: -30px; + padding-bottom: 30px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; + border-right: 30px solid transparent; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + min-height: 100%; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -30px; +} +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; +} +.CodeMirror-gutter-background { + position: absolute; + top: 0; bottom: 0; + z-index: 4; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} +.CodeMirror-gutter-wrapper ::selection { background-color: transparent } +.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } + +.CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; +} +.CodeMirror-wrap pre.CodeMirror-line, +.CodeMirror-wrap pre.CodeMirror-line-like { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; /* Force widget margins to stay inside of the container */ +} + +.CodeMirror-widget {} + +.CodeMirror-rtl pre { direction: rtl; } + +.CodeMirror-code { + outline: none; +} + +/* Force content-box sizing for the elements where we expect it */ +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.CodeMirror-cursor { + position: absolute; + pointer-events: none; +} +.CodeMirror-measure pre { position: static; } + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; +} +div.CodeMirror-dragcursors { + visibility: visible; +} + +.CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } +.CodeMirror-crosshair { cursor: crosshair; } +.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } +.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } + +.cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, .4); +} + +/* Used to force a border model for a node */ +.cm-force-border { padding-right: .1px; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } +} + +/* See issue #2901 */ +.cm-tab-wrap-hack:after { content: ''; } + +/* Help users use markselection to safely style text background */ +span.CodeMirror-selectedtext { background: none; } diff --git a/slides/css/custom.css b/slides/css/custom.css new file mode 100644 index 0000000..be68d33 --- /dev/null +++ b/slides/css/custom.css @@ -0,0 +1,33 @@ +/* Credits: https://stackoverflow.com/a/21958440/1532986 */ +.cross-out { + position: relative; +} + +.cross-out:before, .cross-out:after { + position: absolute; + content: ''; + background: red; + display: block; + width: 100%; + height: 30px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + left: 0; + right: 0; + top: 0; + bottom: 0; + margin: auto; +} + +.cross-out:after { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); +} + +.columns { + display: flex !important; +} + +.col { + flex: 1; +} diff --git a/slides/css/mergely.css b/slides/css/mergely.css new file mode 100644 index 0000000..86d4ca4 --- /dev/null +++ b/slides/css/mergely.css @@ -0,0 +1,50 @@ +/* required */ +.mergely-column textarea { width: 80px; height: 200px; } +.mergely-column { float: left; } +.mergely-margin { float: left; } +.mergely-canvas { float: left; width: 28px; } + +/* resizeable */ +.mergely-resizer { width: 100%; height: 100%; } +.mergely-full-screen-0 { position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; } +.mergely-full-screen-8 { position: absolute; top: 8px; bottom: 8px; left: 8px; right: 8px; overflow: hidden; } + +/* style configuration */ +.mergely-column { border: 1px solid #ccc; } +.mergely-active { border: 1px solid #a3d1ff; } + +.mergely.a,.mergely.d,.mergely.c { color: #000; } + +.mergely.a.rhs.start { border-top: 1px solid #a3d1ff; } +.mergely.a.lhs.start.end, +.mergely.a.rhs.end { border-bottom: 1px solid #a3d1ff; } +.mergely.a.rhs { background-color: #ddeeff; } +.mergely.a.lhs.start.end.first { border-bottom-width: 0; border-top: 1px solid #a3d1ff; } + +.mergely.d.lhs { background-color: #ffe9e9; } +.mergely.d.lhs.end, +.mergely.d.rhs.start.end { border-bottom: 1px solid #f8e8e8; } +.mergely.d.rhs.start.end.first { border-bottom-width: 0; border-top: 1px solid #f8e8e8; } +.mergely.d.lhs.start { border-top: 1px solid #f8e8e8; } + +.mergely.c.lhs, +.mergely.c.rhs { background-color: #fafafa; } +.mergely.c.lhs.start, +.mergely.c.rhs.start { border-top: 1px solid #a3a3a3; } +.mergely.c.lhs.end, +.mergely.c.rhs.end { border-bottom: 1px solid #a3a3a3; } + +.mergely.ch.a.rhs { background-color: #ddeeff; } +.mergely.ch.d.lhs { background-color: #ffe9e9; text-decoration: line-through; color: red !important; } + +.mergely.current.start { border-top: 1px solid #000 !important; } +.mergely.current.end { border-bottom: 1px solid #000 !important; } +.mergely.current.lhs.a.start.end, +.mergely.current.rhs.d.start.end { border-top-width: 0 !important; } + +.mergely.current.lhs.a.start.end.empty, +.mergely.current.rhs.d.start.end.empty { border-top-width: 1px !important; border-bottom-width: 0px !important; } + +.mergely.current.CodeMirror-linenumber { color: #F9F9F9; font-weight: bold; background-color: #777; } +.CodeMirror-linenumber { cursor: pointer; } +.CodeMirror-code { color: #717171; } diff --git a/slides/css/print/paper.css b/slides/css/print/paper.css new file mode 100644 index 0000000..27d19dd --- /dev/null +++ b/slides/css/print/paper.css @@ -0,0 +1,203 @@ +/* Default Print Stylesheet Template + by Rob Glazebrook of CSSnewbie.com + Last Updated: June 4, 2008 + + Feel free (nay, compelled) to edit, append, and + manipulate this file as you see fit. */ + + +@media print { + + /* SECTION 1: Set default width, margin, float, and + background. This prevents elements from extending + beyond the edge of the printed page, and prevents + unnecessary background images from printing */ + html { + background: #fff; + width: auto; + height: auto; + overflow: visible; + } + body { + background: #fff; + font-size: 20pt; + width: auto; + height: auto; + border: 0; + margin: 0 5%; + padding: 0; + overflow: visible; + float: none !important; + } + + /* SECTION 2: Remove any elements not needed in print. + This would include navigation, ads, sidebars, etc. */ + .nestedarrow, + .controls, + .fork-reveal, + .share-reveal, + .state-background, + .reveal .progress, + .reveal .backgrounds, + .reveal .slide-number { + display: none !important; + } + + /* SECTION 3: Set body font face, size, and color. + Consider using a serif font for readability. */ + body, p, td, li, div { + font-size: 20pt!important; + font-family: Georgia, "Times New Roman", Times, serif !important; + color: #000; + } + + /* SECTION 4: Set heading font face, sizes, and color. + Differentiate your headings from your body text. + Perhaps use a large sans-serif for distinction. */ + h1,h2,h3,h4,h5,h6 { + color: #000!important; + height: auto; + line-height: normal; + font-family: Georgia, "Times New Roman", Times, serif !important; + text-shadow: 0 0 0 #000 !important; + text-align: left; + letter-spacing: normal; + } + /* Need to reduce the size of the fonts for printing */ + h1 { font-size: 28pt !important; } + h2 { font-size: 24pt !important; } + h3 { font-size: 22pt !important; } + h4 { font-size: 22pt !important; font-variant: small-caps; } + h5 { font-size: 21pt !important; } + h6 { font-size: 20pt !important; font-style: italic; } + + /* SECTION 5: Make hyperlinks more usable. + Ensure links are underlined, and consider appending + the URL to the end of the link for usability. */ + a:link, + a:visited { + color: #000 !important; + font-weight: bold; + text-decoration: underline; + } + /* + .reveal a:link:after, + .reveal a:visited:after { + content: " (" attr(href) ") "; + color: #222 !important; + font-size: 90%; + } + */ + + + /* SECTION 6: more reveal.js specific additions by @skypanther */ + ul, ol, div, p { + visibility: visible; + position: static; + width: auto; + height: auto; + display: block; + overflow: visible; + margin: 0; + text-align: left !important; + } + .reveal pre, + .reveal table { + margin-left: 0; + margin-right: 0; + } + .reveal pre code { + padding: 20px; + border: 1px solid #ddd; + } + .reveal blockquote { + margin: 20px 0; + } + .reveal .slides { + position: static !important; + width: auto !important; + height: auto !important; + + left: 0 !important; + top: 0 !important; + margin-left: 0 !important; + margin-top: 0 !important; + padding: 0 !important; + zoom: 1 !important; + + overflow: visible !important; + display: block !important; + + text-align: left !important; + -webkit-perspective: none; + -moz-perspective: none; + -ms-perspective: none; + perspective: none; + + -webkit-perspective-origin: 50% 50%; + -moz-perspective-origin: 50% 50%; + -ms-perspective-origin: 50% 50%; + perspective-origin: 50% 50%; + } + .reveal .slides section { + visibility: visible !important; + position: static !important; + width: auto !important; + height: auto !important; + display: block !important; + overflow: visible !important; + + left: 0 !important; + top: 0 !important; + margin-left: 0 !important; + margin-top: 0 !important; + padding: 60px 20px !important; + z-index: auto !important; + + opacity: 1 !important; + + page-break-after: always !important; + + -webkit-transform-style: flat !important; + -moz-transform-style: flat !important; + -ms-transform-style: flat !important; + transform-style: flat !important; + + -webkit-transform: none !important; + -moz-transform: none !important; + -ms-transform: none !important; + transform: none !important; + + -webkit-transition: none !important; + -moz-transition: none !important; + -ms-transition: none !important; + transition: none !important; + } + .reveal .slides section.stack { + padding: 0 !important; + } + .reveal section:last-of-type { + page-break-after: avoid !important; + } + .reveal section .fragment { + opacity: 1 !important; + visibility: visible !important; + + -webkit-transform: none !important; + -moz-transform: none !important; + -ms-transform: none !important; + transform: none !important; + } + .reveal section img { + display: block; + margin: 15px 0px; + background: rgba(255,255,255,1); + border: 1px solid #666; + box-shadow: none; + } + + .reveal section small { + font-size: 0.8em; + } + +} diff --git a/slides/css/print/pdf.css b/slides/css/print/pdf.css new file mode 100644 index 0000000..752d955 --- /dev/null +++ b/slides/css/print/pdf.css @@ -0,0 +1,164 @@ +/** + * This stylesheet is used to print reveal.js + * presentations to PDF. + * + * https://github.com/hakimel/reveal.js#pdf-export + */ + +* { + -webkit-print-color-adjust: exact; +} + +body { + margin: 0 auto !important; + border: 0; + padding: 0; + float: none !important; + overflow: visible; +} + +html { + width: 100%; + height: 100%; + overflow: visible; +} + +/* Remove any elements not needed in print. */ +.nestedarrow, +.reveal .controls, +.reveal .progress, +.reveal .playback, +.reveal.overview, +.fork-reveal, +.share-reveal, +.state-background { + display: none !important; +} + +h1, h2, h3, h4, h5, h6 { + text-shadow: 0 0 0 #000 !important; +} + +.reveal pre code { + overflow: hidden !important; + font-family: Courier, 'Courier New', monospace !important; +} + +ul, ol, div, p { + visibility: visible; + position: static; + width: auto; + height: auto; + display: block; + overflow: visible; + margin: auto; +} +.reveal { + width: auto !important; + height: auto !important; + overflow: hidden !important; +} +.reveal .slides { + position: static; + width: 100% !important; + height: auto !important; + zoom: 1 !important; + + left: auto; + top: auto; + margin: 0 !important; + padding: 0 !important; + + overflow: visible; + display: block; + + perspective: none; + perspective-origin: 50% 50%; +} + +.reveal .slides .pdf-page { + position: relative; + overflow: hidden; + z-index: 1; + + page-break-after: always; +} + +.reveal .slides section { + visibility: visible !important; + display: block !important; + position: absolute !important; + + margin: 0 !important; + padding: 0 !important; + box-sizing: border-box !important; + min-height: 1px; + + opacity: 1 !important; + + transform-style: flat !important; + transform: none !important; +} + +.reveal section.stack { + position: relative !important; + margin: 0 !important; + padding: 0 !important; + page-break-after: avoid !important; + height: auto !important; + min-height: auto !important; +} + +.reveal img { + box-shadow: none; +} + +.reveal .roll { + overflow: visible; + line-height: 1em; +} + +/* Slide backgrounds are placed inside of their slide when exporting to PDF */ +.reveal .slide-background { + display: block !important; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: auto !important; +} + +/* Display slide speaker notes when 'showNotes' is enabled */ +.reveal.show-notes { + max-width: none; + max-height: none; +} +.reveal .speaker-notes-pdf { + display: block; + width: 100%; + height: auto; + max-height: none; + top: auto; + right: auto; + bottom: auto; + left: auto; + z-index: 100; +} + +/* Layout option which makes notes appear on a separate page */ +.reveal .speaker-notes-pdf[data-layout="separate-page"] { + position: relative; + color: inherit; + background-color: transparent; + padding: 20px; + page-break-after: always; + border: 0; +} + +/* Display slide numbers when 'slideNumber' is enabled */ +.reveal .slide-number-pdf { + display: block; + position: absolute; + font-size: 14px; +} diff --git a/slides/css/reset.css b/slides/css/reset.css new file mode 100644 index 0000000..e238539 --- /dev/null +++ b/slides/css/reset.css @@ -0,0 +1,30 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v4.0 | 20180602 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +main, menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, main, menu, nav, section { + display: block; +} \ No newline at end of file diff --git a/slides/css/reveal.css b/slides/css/reveal.css new file mode 100644 index 0000000..1b9651b --- /dev/null +++ b/slides/css/reveal.css @@ -0,0 +1,1598 @@ +/*! + * reveal.js + * http://revealjs.com + * MIT licensed + * + * Copyright (C) 2019 Hakim El Hattab, http://hakim.se + */ +/********************************************* + * GLOBAL STYLES + *********************************************/ +html { + width: 100%; + height: 100%; + height: 100vh; + height: calc( var(--vh, 1vh) * 100); + overflow: hidden; } + +body { + height: 100%; + overflow: hidden; + position: relative; + line-height: 1; + margin: 0; + background-color: #fff; + color: #000; } + +/********************************************* + * VIEW FRAGMENTS + *********************************************/ +.reveal .slides section .fragment { + opacity: 0; + visibility: hidden; + transition: all .2s ease; } + .reveal .slides section .fragment.visible { + opacity: 1; + visibility: inherit; } + +.reveal .slides section .fragment.grow { + opacity: 1; + visibility: inherit; } + .reveal .slides section .fragment.grow.visible { + -webkit-transform: scale(1.3); + transform: scale(1.3); } + +.reveal .slides section .fragment.shrink { + opacity: 1; + visibility: inherit; } + .reveal .slides section .fragment.shrink.visible { + -webkit-transform: scale(0.7); + transform: scale(0.7); } + +.reveal .slides section .fragment.zoom-in { + -webkit-transform: scale(0.1); + transform: scale(0.1); } + .reveal .slides section .fragment.zoom-in.visible { + -webkit-transform: none; + transform: none; } + +.reveal .slides section .fragment.fade-out { + opacity: 1; + visibility: inherit; } + .reveal .slides section .fragment.fade-out.visible { + opacity: 0; + visibility: hidden; } + +.reveal .slides section .fragment.semi-fade-out { + opacity: 1; + visibility: inherit; } + .reveal .slides section .fragment.semi-fade-out.visible { + opacity: 0.5; + visibility: inherit; } + +.reveal .slides section .fragment.strike { + opacity: 1; + visibility: inherit; } + .reveal .slides section .fragment.strike.visible { + text-decoration: line-through; } + +.reveal .slides section .fragment.fade-up { + -webkit-transform: translate(0, 20%); + transform: translate(0, 20%); } + .reveal .slides section .fragment.fade-up.visible { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); } + +.reveal .slides section .fragment.fade-down { + -webkit-transform: translate(0, -20%); + transform: translate(0, -20%); } + .reveal .slides section .fragment.fade-down.visible { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); } + +.reveal .slides section .fragment.fade-right { + -webkit-transform: translate(-20%, 0); + transform: translate(-20%, 0); } + .reveal .slides section .fragment.fade-right.visible { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); } + +.reveal .slides section .fragment.fade-left { + -webkit-transform: translate(20%, 0); + transform: translate(20%, 0); } + .reveal .slides section .fragment.fade-left.visible { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); } + +.reveal .slides section .fragment.fade-in-then-out, +.reveal .slides section .fragment.current-visible { + opacity: 0; + visibility: hidden; } + .reveal .slides section .fragment.fade-in-then-out.current-fragment, + .reveal .slides section .fragment.current-visible.current-fragment { + opacity: 1; + visibility: inherit; } + +.reveal .slides section .fragment.fade-in-then-semi-out { + opacity: 0; + visibility: hidden; } + .reveal .slides section .fragment.fade-in-then-semi-out.visible { + opacity: 0.5; + visibility: inherit; } + .reveal .slides section .fragment.fade-in-then-semi-out.current-fragment { + opacity: 1; + visibility: inherit; } + +.reveal .slides section .fragment.highlight-red, +.reveal .slides section .fragment.highlight-current-red, +.reveal .slides section .fragment.highlight-green, +.reveal .slides section .fragment.highlight-current-green, +.reveal .slides section .fragment.highlight-blue, +.reveal .slides section .fragment.highlight-current-blue { + opacity: 1; + visibility: inherit; } + +.reveal .slides section .fragment.highlight-red.visible { + color: #ff2c2d; } + +.reveal .slides section .fragment.highlight-green.visible { + color: #17ff2e; } + +.reveal .slides section .fragment.highlight-blue.visible { + color: #1b91ff; } + +.reveal .slides section .fragment.highlight-current-red.current-fragment { + color: #ff2c2d; } + +.reveal .slides section .fragment.highlight-current-green.current-fragment { + color: #17ff2e; } + +.reveal .slides section .fragment.highlight-current-blue.current-fragment { + color: #1b91ff; } + +/********************************************* + * DEFAULT ELEMENT STYLES + *********************************************/ +/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */ +.reveal:after { + content: ''; + font-style: italic; } + +.reveal iframe { + z-index: 1; } + +/** Prevents layering issues in certain browser/transition combinations */ +.reveal a { + position: relative; } + +.reveal .stretch { + max-width: none; + max-height: none; } + +.reveal pre.stretch code { + height: 100%; + max-height: 100%; + box-sizing: border-box; } + +/********************************************* + * CONTROLS + *********************************************/ +@-webkit-keyframes bounce-right { + 0%, 10%, 25%, 40%, 50% { + -webkit-transform: translateX(0); + transform: translateX(0); } + 20% { + -webkit-transform: translateX(10px); + transform: translateX(10px); } + 30% { + -webkit-transform: translateX(-5px); + transform: translateX(-5px); } } +@keyframes bounce-right { + 0%, 10%, 25%, 40%, 50% { + -webkit-transform: translateX(0); + transform: translateX(0); } + 20% { + -webkit-transform: translateX(10px); + transform: translateX(10px); } + 30% { + -webkit-transform: translateX(-5px); + transform: translateX(-5px); } } + +@-webkit-keyframes bounce-down { + 0%, 10%, 25%, 40%, 50% { + -webkit-transform: translateY(0); + transform: translateY(0); } + 20% { + -webkit-transform: translateY(10px); + transform: translateY(10px); } + 30% { + -webkit-transform: translateY(-5px); + transform: translateY(-5px); } } + +@keyframes bounce-down { + 0%, 10%, 25%, 40%, 50% { + -webkit-transform: translateY(0); + transform: translateY(0); } + 20% { + -webkit-transform: translateY(10px); + transform: translateY(10px); } + 30% { + -webkit-transform: translateY(-5px); + transform: translateY(-5px); } } + +.reveal .controls { + display: none; + position: absolute; + top: auto; + bottom: 12px; + right: 12px; + left: auto; + z-index: 1; + color: #000; + pointer-events: none; + font-size: 10px; } + .reveal .controls button { + position: absolute; + padding: 0; + background-color: transparent; + border: 0; + outline: 0; + cursor: pointer; + color: currentColor; + -webkit-transform: scale(0.9999); + transform: scale(0.9999); + transition: color 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease; + transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease; + z-index: 2; + pointer-events: auto; + font-size: inherit; + visibility: hidden; + opacity: 0; + -webkit-appearance: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + .reveal .controls .controls-arrow:before, + .reveal .controls .controls-arrow:after { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 2.6em; + height: 0.5em; + border-radius: 0.25em; + background-color: currentColor; + transition: all 0.15s ease, background-color 0.8s ease; + -webkit-transform-origin: 0.2em 50%; + transform-origin: 0.2em 50%; + will-change: transform; } + .reveal .controls .controls-arrow { + position: relative; + width: 3.6em; + height: 3.6em; } + .reveal .controls .controls-arrow:before { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(45deg); + transform: translateX(0.5em) translateY(1.55em) rotate(45deg); } + .reveal .controls .controls-arrow:after { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(-45deg); + transform: translateX(0.5em) translateY(1.55em) rotate(-45deg); } + .reveal .controls .controls-arrow:hover:before { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(40deg); + transform: translateX(0.5em) translateY(1.55em) rotate(40deg); } + .reveal .controls .controls-arrow:hover:after { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(-40deg); + transform: translateX(0.5em) translateY(1.55em) rotate(-40deg); } + .reveal .controls .controls-arrow:active:before { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(36deg); + transform: translateX(0.5em) translateY(1.55em) rotate(36deg); } + .reveal .controls .controls-arrow:active:after { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(-36deg); + transform: translateX(0.5em) translateY(1.55em) rotate(-36deg); } + .reveal .controls .navigate-left { + right: 6.4em; + bottom: 3.2em; + -webkit-transform: translateX(-10px); + transform: translateX(-10px); } + .reveal .controls .navigate-right { + right: 0; + bottom: 3.2em; + -webkit-transform: translateX(10px); + transform: translateX(10px); } + .reveal .controls .navigate-right .controls-arrow { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + .reveal .controls .navigate-right.highlight { + -webkit-animation: bounce-right 2s 50 both ease-out; + animation: bounce-right 2s 50 both ease-out; } + .reveal .controls .navigate-up { + right: 3.2em; + bottom: 6.4em; + -webkit-transform: translateY(-10px); + transform: translateY(-10px); } + .reveal .controls .navigate-up .controls-arrow { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + .reveal .controls .navigate-down { + right: 3.2em; + bottom: 0; + -webkit-transform: translateY(10px); + transform: translateY(10px); } + .reveal .controls .navigate-down .controls-arrow { + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); } + .reveal .controls .navigate-down.highlight { + -webkit-animation: bounce-down 2s 50 both ease-out; + animation: bounce-down 2s 50 both ease-out; } + .reveal .controls[data-controls-back-arrows="faded"] .navigate-left.enabled, + .reveal .controls[data-controls-back-arrows="faded"] .navigate-up.enabled { + opacity: 0.3; } + .reveal .controls[data-controls-back-arrows="faded"] .navigate-left.enabled:hover, + .reveal .controls[data-controls-back-arrows="faded"] .navigate-up.enabled:hover { + opacity: 1; } + .reveal .controls[data-controls-back-arrows="hidden"] .navigate-left.enabled, + .reveal .controls[data-controls-back-arrows="hidden"] .navigate-up.enabled { + opacity: 0; + visibility: hidden; } + .reveal .controls .enabled { + visibility: visible; + opacity: 0.9; + cursor: pointer; + -webkit-transform: none; + transform: none; } + .reveal .controls .enabled.fragmented { + opacity: 0.5; } + .reveal .controls .enabled:hover, + .reveal .controls .enabled.fragmented:hover { + opacity: 1; } + +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-up, +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-down { + display: none; } + +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-left, +.reveal:not(.has-vertical-slides) .controls .navigate-left { + bottom: 1.4em; + right: 5.5em; } + +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-right, +.reveal:not(.has-vertical-slides) .controls .navigate-right { + bottom: 1.4em; + right: 0.5em; } + +.reveal:not(.has-horizontal-slides) .controls .navigate-up { + right: 1.4em; + bottom: 5em; } + +.reveal:not(.has-horizontal-slides) .controls .navigate-down { + right: 1.4em; + bottom: 0.5em; } + +.reveal.has-dark-background .controls { + color: #fff; } + +.reveal.has-light-background .controls { + color: #000; } + +.reveal.no-hover .controls .controls-arrow:hover:before, +.reveal.no-hover .controls .controls-arrow:active:before { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(45deg); + transform: translateX(0.5em) translateY(1.55em) rotate(45deg); } + +.reveal.no-hover .controls .controls-arrow:hover:after, +.reveal.no-hover .controls .controls-arrow:active:after { + -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(-45deg); + transform: translateX(0.5em) translateY(1.55em) rotate(-45deg); } + +@media screen and (min-width: 500px) { + .reveal .controls[data-controls-layout="edges"] { + top: 0; + right: 0; + bottom: 0; + left: 0; } + .reveal .controls[data-controls-layout="edges"] .navigate-left, + .reveal .controls[data-controls-layout="edges"] .navigate-right, + .reveal .controls[data-controls-layout="edges"] .navigate-up, + .reveal .controls[data-controls-layout="edges"] .navigate-down { + bottom: auto; + right: auto; } + .reveal .controls[data-controls-layout="edges"] .navigate-left { + top: 50%; + left: 8px; + margin-top: -1.8em; } + .reveal .controls[data-controls-layout="edges"] .navigate-right { + top: 50%; + right: 8px; + margin-top: -1.8em; } + .reveal .controls[data-controls-layout="edges"] .navigate-up { + top: 8px; + left: 50%; + margin-left: -1.8em; } + .reveal .controls[data-controls-layout="edges"] .navigate-down { + bottom: 8px; + left: 50%; + margin-left: -1.8em; } } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + position: absolute; + display: none; + height: 3px; + width: 100%; + bottom: 0; + left: 0; + z-index: 10; + background-color: rgba(0, 0, 0, 0.2); + color: #fff; } + +.reveal .progress:after { + content: ''; + display: block; + position: absolute; + height: 10px; + width: 100%; + top: -10px; } + +.reveal .progress span { + display: block; + height: 100%; + width: 0px; + background-color: currentColor; + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * SLIDE NUMBER + *********************************************/ +.reveal .slide-number { + position: absolute; + display: block; + right: 8px; + bottom: 8px; + z-index: 31; + font-family: Helvetica, sans-serif; + font-size: 12px; + line-height: 1; + color: #fff; + background-color: rgba(0, 0, 0, 0.4); + padding: 5px; } + +.reveal .slide-number a { + color: currentColor; } + +.reveal .slide-number-delimiter { + margin: 0 3px; } + +/********************************************* + * SLIDES + *********************************************/ +.reveal { + position: relative; + width: 100%; + height: 100%; + overflow: hidden; + -ms-touch-action: pinch-zoom; + touch-action: pinch-zoom; } + +.reveal .slides { + position: absolute; + width: 100%; + height: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: auto; + pointer-events: none; + overflow: visible; + z-index: 1; + text-align: center; + -webkit-perspective: 600px; + perspective: 600px; + -webkit-perspective-origin: 50% 40%; + perspective-origin: 50% 40%; } + +.reveal .slides > section { + -webkit-perspective: 600px; + perspective: 600px; } + +.reveal .slides > section, +.reveal .slides > section > section { + display: none; + position: absolute; + width: 100%; + padding: 20px 0px; + pointer-events: auto; + z-index: 10; + -webkit-transform-style: flat; + transform-style: flat; + transition: -webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), -webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985), opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/* Global transition speed settings */ +.reveal[data-transition-speed="fast"] .slides section { + transition-duration: 400ms; } + +.reveal[data-transition-speed="slow"] .slides section { + transition-duration: 1200ms; } + +/* Slide-specific transition speed overrides */ +.reveal .slides section[data-transition-speed="fast"] { + transition-duration: 400ms; } + +.reveal .slides section[data-transition-speed="slow"] { + transition-duration: 1200ms; } + +.reveal .slides > section.stack { + padding-top: 0; + padding-bottom: 0; + pointer-events: none; + height: 100%; } + +.reveal .slides > section.present, +.reveal .slides > section > section.present { + display: block; + z-index: 11; + opacity: 1; } + +.reveal .slides > section:empty, +.reveal .slides > section > section:empty, +.reveal .slides > section[data-background-interactive], +.reveal .slides > section > section[data-background-interactive] { + pointer-events: none; } + +.reveal.center, +.reveal.center .slides, +.reveal.center .slides section { + min-height: 0 !important; } + +/* Don't allow interaction with invisible slides */ +.reveal .slides > section.future, +.reveal .slides > section > section.future, +.reveal .slides > section.past, +.reveal .slides > section > section.past { + pointer-events: none; } + +.reveal.overview .slides > section, +.reveal.overview .slides > section > section { + pointer-events: auto; } + +.reveal .slides > section.past, +.reveal .slides > section.future, +.reveal .slides > section > section.past, +.reveal .slides > section > section.future { + opacity: 0; } + +/********************************************* + * Mixins for readability of transitions + *********************************************/ +/********************************************* + * SLIDE TRANSITION + * Aliased 'linear' for backwards compatibility + *********************************************/ +.reveal.slide section { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.reveal .slides > section[data-transition=slide].past, +.reveal .slides > section[data-transition~=slide-out].past, +.reveal.slide .slides > section:not([data-transition]).past { + -webkit-transform: translate(-150%, 0); + transform: translate(-150%, 0); } + +.reveal .slides > section[data-transition=slide].future, +.reveal .slides > section[data-transition~=slide-in].future, +.reveal.slide .slides > section:not([data-transition]).future { + -webkit-transform: translate(150%, 0); + transform: translate(150%, 0); } + +.reveal .slides > section > section[data-transition=slide].past, +.reveal .slides > section > section[data-transition~=slide-out].past, +.reveal.slide .slides > section > section:not([data-transition]).past { + -webkit-transform: translate(0, -150%); + transform: translate(0, -150%); } + +.reveal .slides > section > section[data-transition=slide].future, +.reveal .slides > section > section[data-transition~=slide-in].future, +.reveal.slide .slides > section > section:not([data-transition]).future { + -webkit-transform: translate(0, 150%); + transform: translate(0, 150%); } + +.reveal.linear section { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.reveal .slides > section[data-transition=linear].past, +.reveal .slides > section[data-transition~=linear-out].past, +.reveal.linear .slides > section:not([data-transition]).past { + -webkit-transform: translate(-150%, 0); + transform: translate(-150%, 0); } + +.reveal .slides > section[data-transition=linear].future, +.reveal .slides > section[data-transition~=linear-in].future, +.reveal.linear .slides > section:not([data-transition]).future { + -webkit-transform: translate(150%, 0); + transform: translate(150%, 0); } + +.reveal .slides > section > section[data-transition=linear].past, +.reveal .slides > section > section[data-transition~=linear-out].past, +.reveal.linear .slides > section > section:not([data-transition]).past { + -webkit-transform: translate(0, -150%); + transform: translate(0, -150%); } + +.reveal .slides > section > section[data-transition=linear].future, +.reveal .slides > section > section[data-transition~=linear-in].future, +.reveal.linear .slides > section > section:not([data-transition]).future { + -webkit-transform: translate(0, 150%); + transform: translate(0, 150%); } + +/********************************************* + * CONVEX TRANSITION + * Aliased 'default' for backwards compatibility + *********************************************/ +.reveal .slides section[data-transition=default].stack, +.reveal.default .slides section.stack { + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.reveal .slides > section[data-transition=default].past, +.reveal .slides > section[data-transition~=default-out].past, +.reveal.default .slides > section:not([data-transition]).past { + -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } + +.reveal .slides > section[data-transition=default].future, +.reveal .slides > section[data-transition~=default-in].future, +.reveal.default .slides > section:not([data-transition]).future { + -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } + +.reveal .slides > section > section[data-transition=default].past, +.reveal .slides > section > section[data-transition~=default-out].past, +.reveal.default .slides > section > section:not([data-transition]).past { + -webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); + transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); } + +.reveal .slides > section > section[data-transition=default].future, +.reveal .slides > section > section[data-transition~=default-in].future, +.reveal.default .slides > section > section:not([data-transition]).future { + -webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); + transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); } + +.reveal .slides section[data-transition=convex].stack, +.reveal.convex .slides section.stack { + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.reveal .slides > section[data-transition=convex].past, +.reveal .slides > section[data-transition~=convex-out].past, +.reveal.convex .slides > section:not([data-transition]).past { + -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } + +.reveal .slides > section[data-transition=convex].future, +.reveal .slides > section[data-transition~=convex-in].future, +.reveal.convex .slides > section:not([data-transition]).future { + -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } + +.reveal .slides > section > section[data-transition=convex].past, +.reveal .slides > section > section[data-transition~=convex-out].past, +.reveal.convex .slides > section > section:not([data-transition]).past { + -webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); + transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); } + +.reveal .slides > section > section[data-transition=convex].future, +.reveal .slides > section > section[data-transition~=convex-in].future, +.reveal.convex .slides > section > section:not([data-transition]).future { + -webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); + transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); } + +/********************************************* + * CONCAVE TRANSITION + *********************************************/ +.reveal .slides section[data-transition=concave].stack, +.reveal.concave .slides section.stack { + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.reveal .slides > section[data-transition=concave].past, +.reveal .slides > section[data-transition~=concave-out].past, +.reveal.concave .slides > section:not([data-transition]).past { + -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); } + +.reveal .slides > section[data-transition=concave].future, +.reveal .slides > section[data-transition~=concave-in].future, +.reveal.concave .slides > section:not([data-transition]).future { + -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); } + +.reveal .slides > section > section[data-transition=concave].past, +.reveal .slides > section > section[data-transition~=concave-out].past, +.reveal.concave .slides > section > section:not([data-transition]).past { + -webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); + transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); } + +.reveal .slides > section > section[data-transition=concave].future, +.reveal .slides > section > section[data-transition~=concave-in].future, +.reveal.concave .slides > section > section:not([data-transition]).future { + -webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); + transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); } + +/********************************************* + * ZOOM TRANSITION + *********************************************/ +.reveal .slides section[data-transition=zoom], +.reveal.zoom .slides section:not([data-transition]) { + transition-timing-function: ease; } + +.reveal .slides > section[data-transition=zoom].past, +.reveal .slides > section[data-transition~=zoom-out].past, +.reveal.zoom .slides > section:not([data-transition]).past { + visibility: hidden; + -webkit-transform: scale(16); + transform: scale(16); } + +.reveal .slides > section[data-transition=zoom].future, +.reveal .slides > section[data-transition~=zoom-in].future, +.reveal.zoom .slides > section:not([data-transition]).future { + visibility: hidden; + -webkit-transform: scale(0.2); + transform: scale(0.2); } + +.reveal .slides > section > section[data-transition=zoom].past, +.reveal .slides > section > section[data-transition~=zoom-out].past, +.reveal.zoom .slides > section > section:not([data-transition]).past { + -webkit-transform: scale(16); + transform: scale(16); } + +.reveal .slides > section > section[data-transition=zoom].future, +.reveal .slides > section > section[data-transition~=zoom-in].future, +.reveal.zoom .slides > section > section:not([data-transition]).future { + -webkit-transform: scale(0.2); + transform: scale(0.2); } + +/********************************************* + * CUBE TRANSITION + * + * WARNING: + * this is deprecated and will be removed in a + * future version. + *********************************************/ +.reveal.cube .slides { + -webkit-perspective: 1300px; + perspective: 1300px; } + +.reveal.cube .slides section { + padding: 30px; + min-height: 700px; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + box-sizing: border-box; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.reveal.center.cube .slides section { + min-height: 0; } + +.reveal.cube .slides section:not(.stack):before { + content: ''; + position: absolute; + display: block; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgba(0, 0, 0, 0.1); + border-radius: 4px; + -webkit-transform: translateZ(-20px); + transform: translateZ(-20px); } + +.reveal.cube .slides section:not(.stack):after { + content: ''; + position: absolute; + display: block; + width: 90%; + height: 30px; + left: 5%; + bottom: 0; + background: none; + z-index: 1; + border-radius: 4px; + box-shadow: 0px 95px 25px rgba(0, 0, 0, 0.2); + -webkit-transform: translateZ(-90px) rotateX(65deg); + transform: translateZ(-90px) rotateX(65deg); } + +.reveal.cube .slides > section.stack { + padding: 0; + background: none; } + +.reveal.cube .slides > section.past { + -webkit-transform-origin: 100% 0%; + transform-origin: 100% 0%; + -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg); + transform: translate3d(-100%, 0, 0) rotateY(-90deg); } + +.reveal.cube .slides > section.future { + -webkit-transform-origin: 0% 0%; + transform-origin: 0% 0%; + -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg); + transform: translate3d(100%, 0, 0) rotateY(90deg); } + +.reveal.cube .slides > section > section.past { + -webkit-transform-origin: 0% 100%; + transform-origin: 0% 100%; + -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg); + transform: translate3d(0, -100%, 0) rotateX(90deg); } + +.reveal.cube .slides > section > section.future { + -webkit-transform-origin: 0% 0%; + transform-origin: 0% 0%; + -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg); + transform: translate3d(0, 100%, 0) rotateX(-90deg); } + +/********************************************* + * PAGE TRANSITION + * + * WARNING: + * this is deprecated and will be removed in a + * future version. + *********************************************/ +.reveal.page .slides { + -webkit-perspective-origin: 0% 50%; + perspective-origin: 0% 50%; + -webkit-perspective: 3000px; + perspective: 3000px; } + +.reveal.page .slides section { + padding: 30px; + min-height: 700px; + box-sizing: border-box; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.reveal.page .slides section.past { + z-index: 12; } + +.reveal.page .slides section:not(.stack):before { + content: ''; + position: absolute; + display: block; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgba(0, 0, 0, 0.1); + -webkit-transform: translateZ(-20px); + transform: translateZ(-20px); } + +.reveal.page .slides section:not(.stack):after { + content: ''; + position: absolute; + display: block; + width: 90%; + height: 30px; + left: 5%; + bottom: 0; + background: none; + z-index: 1; + border-radius: 4px; + box-shadow: 0px 95px 25px rgba(0, 0, 0, 0.2); + -webkit-transform: translateZ(-90px) rotateX(65deg); } + +.reveal.page .slides > section.stack { + padding: 0; + background: none; } + +.reveal.page .slides > section.past { + -webkit-transform-origin: 0% 0%; + transform-origin: 0% 0%; + -webkit-transform: translate3d(-40%, 0, 0) rotateY(-80deg); + transform: translate3d(-40%, 0, 0) rotateY(-80deg); } + +.reveal.page .slides > section.future { + -webkit-transform-origin: 100% 0%; + transform-origin: 100% 0%; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.reveal.page .slides > section > section.past { + -webkit-transform-origin: 0% 0%; + transform-origin: 0% 0%; + -webkit-transform: translate3d(0, -40%, 0) rotateX(80deg); + transform: translate3d(0, -40%, 0) rotateX(80deg); } + +.reveal.page .slides > section > section.future { + -webkit-transform-origin: 0% 100%; + transform-origin: 0% 100%; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +/********************************************* + * FADE TRANSITION + *********************************************/ +.reveal .slides section[data-transition=fade], +.reveal.fade .slides section:not([data-transition]), +.reveal.fade .slides > section > section:not([data-transition]) { + -webkit-transform: none; + transform: none; + transition: opacity 0.5s; } + +.reveal.fade.overview .slides section, +.reveal.fade.overview .slides > section > section { + transition: none; } + +/********************************************* + * NO TRANSITION + *********************************************/ +.reveal .slides section[data-transition=none], +.reveal.none .slides section:not([data-transition]) { + -webkit-transform: none; + transform: none; + transition: none; } + +/********************************************* + * PAUSED MODE + *********************************************/ +.reveal .pause-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: black; + visibility: hidden; + opacity: 0; + z-index: 100; + transition: all 1s ease; } + +.reveal .pause-overlay .resume-button { + position: absolute; + bottom: 20px; + right: 20px; + color: #ccc; + border-radius: 2px; + padding: 6px 14px; + border: 2px solid #ccc; + font-size: 16px; + background: transparent; + cursor: pointer; } + .reveal .pause-overlay .resume-button:hover { + color: #fff; + border-color: #fff; } + +.reveal.paused .pause-overlay { + visibility: visible; + opacity: 1; } + +/********************************************* + * FALLBACK + *********************************************/ +.no-transforms { + overflow-y: auto; } + +.no-transforms .reveal { + overflow: visible; } + +.no-transforms .reveal .slides { + position: relative; + width: 80%; + max-width: 1280px; + height: auto; + top: 0; + margin: 0 auto; + text-align: center; } + +.no-transforms .reveal .controls, +.no-transforms .reveal .progress { + display: none; } + +.no-transforms .reveal .slides section { + display: block; + opacity: 1; + position: relative; + height: auto; + min-height: 0; + top: 0; + left: 0; + margin: 10vh 0; + margin: 70px 0; + -webkit-transform: none; + transform: none; } + +.reveal .no-transition, +.reveal .no-transition * { + transition: none !important; } + +/********************************************* + * PER-SLIDE BACKGROUNDS + *********************************************/ +.reveal .backgrounds { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + -webkit-perspective: 600px; + perspective: 600px; } + +.reveal .slide-background { + display: none; + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + visibility: hidden; + overflow: hidden; + background-color: rgba(0, 0, 0, 0); + transition: all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +.reveal .slide-background-content { + position: absolute; + width: 100%; + height: 100%; + background-position: 50% 50%; + background-repeat: no-repeat; + background-size: cover; } + +.reveal .slide-background.stack { + display: block; } + +.reveal .slide-background.present { + opacity: 1; + visibility: visible; + z-index: 2; } + +.print-pdf .reveal .slide-background { + opacity: 1 !important; + visibility: visible !important; } + +/* Video backgrounds */ +.reveal .slide-background video { + position: absolute; + width: 100%; + height: 100%; + max-width: none; + max-height: none; + top: 0; + left: 0; + -o-object-fit: cover; + object-fit: cover; } + +.reveal .slide-background[data-background-size="contain"] video { + -o-object-fit: contain; + object-fit: contain; } + +/* Immediate transition style */ +.reveal[data-background-transition=none] > .backgrounds .slide-background, +.reveal > .backgrounds .slide-background[data-background-transition=none] { + transition: none; } + +/* Slide */ +.reveal[data-background-transition=slide] > .backgrounds .slide-background, +.reveal > .backgrounds .slide-background[data-background-transition=slide] { + opacity: 1; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.reveal[data-background-transition=slide] > .backgrounds .slide-background.past, +.reveal > .backgrounds .slide-background.past[data-background-transition=slide] { + -webkit-transform: translate(-100%, 0); + transform: translate(-100%, 0); } + +.reveal[data-background-transition=slide] > .backgrounds .slide-background.future, +.reveal > .backgrounds .slide-background.future[data-background-transition=slide] { + -webkit-transform: translate(100%, 0); + transform: translate(100%, 0); } + +.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.past, +.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=slide] { + -webkit-transform: translate(0, -100%); + transform: translate(0, -100%); } + +.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.future, +.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=slide] { + -webkit-transform: translate(0, 100%); + transform: translate(0, 100%); } + +/* Convex */ +.reveal[data-background-transition=convex] > .backgrounds .slide-background.past, +.reveal > .backgrounds .slide-background.past[data-background-transition=convex] { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } + +.reveal[data-background-transition=convex] > .backgrounds .slide-background.future, +.reveal > .backgrounds .slide-background.future[data-background-transition=convex] { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } + +.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.past, +.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=convex] { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0); } + +.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.future, +.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=convex] { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0); } + +/* Concave */ +.reveal[data-background-transition=concave] > .backgrounds .slide-background.past, +.reveal > .backgrounds .slide-background.past[data-background-transition=concave] { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); } + +.reveal[data-background-transition=concave] > .backgrounds .slide-background.future, +.reveal > .backgrounds .slide-background.future[data-background-transition=concave] { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); } + +.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.past, +.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=concave] { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0); } + +.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.future, +.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=concave] { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0); } + +/* Zoom */ +.reveal[data-background-transition=zoom] > .backgrounds .slide-background, +.reveal > .backgrounds .slide-background[data-background-transition=zoom] { + transition-timing-function: ease; } + +.reveal[data-background-transition=zoom] > .backgrounds .slide-background.past, +.reveal > .backgrounds .slide-background.past[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + -webkit-transform: scale(16); + transform: scale(16); } + +.reveal[data-background-transition=zoom] > .backgrounds .slide-background.future, +.reveal > .backgrounds .slide-background.future[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + -webkit-transform: scale(0.2); + transform: scale(0.2); } + +.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.past, +.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + -webkit-transform: scale(16); + transform: scale(16); } + +.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.future, +.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + -webkit-transform: scale(0.2); + transform: scale(0.2); } + +/* Global transition speed settings */ +.reveal[data-transition-speed="fast"] > .backgrounds .slide-background { + transition-duration: 400ms; } + +.reveal[data-transition-speed="slow"] > .backgrounds .slide-background { + transition-duration: 1200ms; } + +/********************************************* + * OVERVIEW + *********************************************/ +.reveal.overview { + -webkit-perspective-origin: 50% 50%; + perspective-origin: 50% 50%; + -webkit-perspective: 700px; + perspective: 700px; } + .reveal.overview .slides { + -moz-transform-style: preserve-3d; } + .reveal.overview .slides section { + height: 100%; + top: 0 !important; + opacity: 1 !important; + overflow: hidden; + visibility: visible !important; + cursor: pointer; + box-sizing: border-box; } + .reveal.overview .slides section:hover, + .reveal.overview .slides section.present { + outline: 10px solid rgba(150, 150, 150, 0.4); + outline-offset: 10px; } + .reveal.overview .slides section .fragment { + opacity: 1; + transition: none; } + .reveal.overview .slides section:after, + .reveal.overview .slides section:before { + display: none !important; } + .reveal.overview .slides > section.stack { + padding: 0; + top: 0 !important; + background: none; + outline: none; + overflow: visible; } + .reveal.overview .backgrounds { + -webkit-perspective: inherit; + perspective: inherit; + -moz-transform-style: preserve-3d; } + .reveal.overview .backgrounds .slide-background { + opacity: 1; + visibility: visible; + outline: 10px solid rgba(150, 150, 150, 0.1); + outline-offset: 10px; } + .reveal.overview .backgrounds .slide-background.stack { + overflow: visible; } + +.reveal.overview .slides section, +.reveal.overview-deactivating .slides section { + transition: none; } + +.reveal.overview .backgrounds .slide-background, +.reveal.overview-deactivating .backgrounds .slide-background { + transition: none; } + +/********************************************* + * RTL SUPPORT + *********************************************/ +.reveal.rtl .slides, +.reveal.rtl .slides h1, +.reveal.rtl .slides h2, +.reveal.rtl .slides h3, +.reveal.rtl .slides h4, +.reveal.rtl .slides h5, +.reveal.rtl .slides h6 { + direction: rtl; + font-family: sans-serif; } + +.reveal.rtl pre, +.reveal.rtl code { + direction: ltr; } + +.reveal.rtl ol, +.reveal.rtl ul { + text-align: right; } + +.reveal.rtl .progress span { + float: right; } + +/********************************************* + * PARALLAX BACKGROUND + *********************************************/ +.reveal.has-parallax-background .backgrounds { + transition: all 0.8s ease; } + +/* Global transition speed settings */ +.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds { + transition-duration: 400ms; } + +.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds { + transition-duration: 1200ms; } + +/********************************************* + * OVERLAY FOR LINK PREVIEWS AND HELP + *********************************************/ +.reveal > .overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1000; + background: rgba(0, 0, 0, 0.9); + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; } + +.reveal > .overlay.visible { + opacity: 1; + visibility: visible; } + +.reveal > .overlay .spinner { + position: absolute; + display: block; + top: 50%; + left: 50%; + width: 32px; + height: 32px; + margin: -16px 0 0 -16px; + z-index: 10; + background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D); + visibility: visible; + opacity: 0.6; + transition: all 0.3s ease; } + +.reveal > .overlay header { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 40px; + z-index: 2; + border-bottom: 1px solid #222; } + +.reveal > .overlay header a { + display: inline-block; + width: 40px; + height: 40px; + line-height: 36px; + padding: 0 10px; + float: right; + opacity: 0.6; + box-sizing: border-box; } + +.reveal > .overlay header a:hover { + opacity: 1; } + +.reveal > .overlay header a .icon { + display: inline-block; + width: 20px; + height: 20px; + background-position: 50% 50%; + background-size: 100%; + background-repeat: no-repeat; } + +.reveal > .overlay header a.close .icon { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC); } + +.reveal > .overlay header a.external .icon { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==); } + +.reveal > .overlay .viewport { + position: absolute; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + top: 40px; + right: 0; + bottom: 0; + left: 0; } + +.reveal > .overlay.overlay-preview .viewport iframe { + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; + border: 0; + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; } + +.reveal > .overlay.overlay-preview.loaded .viewport iframe { + opacity: 1; + visibility: visible; } + +.reveal > .overlay.overlay-preview.loaded .viewport-inner { + position: absolute; + z-index: -1; + left: 0; + top: 45%; + width: 100%; + text-align: center; + letter-spacing: normal; } + +.reveal > .overlay.overlay-preview .x-frame-error { + opacity: 0; + transition: opacity 0.3s ease 0.3s; } + +.reveal > .overlay.overlay-preview.loaded .x-frame-error { + opacity: 1; } + +.reveal > .overlay.overlay-preview.loaded .spinner { + opacity: 0; + visibility: hidden; + -webkit-transform: scale(0.2); + transform: scale(0.2); } + +.reveal > .overlay.overlay-help .viewport { + overflow: auto; + color: #fff; } + +.reveal > .overlay.overlay-help .viewport .viewport-inner { + width: 600px; + margin: auto; + padding: 20px 20px 80px 20px; + text-align: center; + letter-spacing: normal; } + +.reveal > .overlay.overlay-help .viewport .viewport-inner .title { + font-size: 20px; } + +.reveal > .overlay.overlay-help .viewport .viewport-inner table { + border: 1px solid #fff; + border-collapse: collapse; + font-size: 16px; } + +.reveal > .overlay.overlay-help .viewport .viewport-inner table th, +.reveal > .overlay.overlay-help .viewport .viewport-inner table td { + width: 200px; + padding: 14px; + border: 1px solid #fff; + vertical-align: middle; } + +.reveal > .overlay.overlay-help .viewport .viewport-inner table th { + padding-top: 20px; + padding-bottom: 20px; } + +/********************************************* + * PLAYBACK COMPONENT + *********************************************/ +.reveal .playback { + position: absolute; + left: 15px; + bottom: 20px; + z-index: 30; + cursor: pointer; + transition: all 400ms ease; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + +.reveal.overview .playback { + opacity: 0; + visibility: hidden; } + +/********************************************* + * CODE HIGHLGIHTING + *********************************************/ +.reveal .hljs table { + margin: initial; } + +.reveal .hljs-ln-code, +.reveal .hljs-ln-numbers { + padding: 0; + border: 0; } + +.reveal .hljs-ln-numbers { + opacity: 0.6; + padding-right: 0.75em; + text-align: right; + vertical-align: top; } + +.reveal .hljs[data-line-numbers]:not([data-line-numbers=""]) tr:not(.highlight-line) { + opacity: 0.4; } + +/********************************************* + * ROLLING LINKS + *********************************************/ +.reveal .roll { + display: inline-block; + line-height: 1.2; + overflow: hidden; + vertical-align: top; + -webkit-perspective: 400px; + perspective: 400px; + -webkit-perspective-origin: 50% 50%; + perspective-origin: 50% 50%; } + +.reveal .roll:hover { + background: none; + text-shadow: none; } + +.reveal .roll span { + display: block; + position: relative; + padding: 0 2px; + pointer-events: none; + transition: all 400ms ease; + -webkit-transform-origin: 50% 0%; + transform-origin: 50% 0%; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; } + +.reveal .roll:hover span { + background: rgba(0, 0, 0, 0.5); + -webkit-transform: translate3d(0px, 0px, -45px) rotateX(90deg); + transform: translate3d(0px, 0px, -45px) rotateX(90deg); } + +.reveal .roll span:after { + content: attr(data-title); + display: block; + position: absolute; + left: 0; + top: 0; + padding: 0 2px; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform-origin: 50% 0%; + transform-origin: 50% 0%; + -webkit-transform: translate3d(0px, 110%, 0px) rotateX(-90deg); + transform: translate3d(0px, 110%, 0px) rotateX(-90deg); } + +/********************************************* + * SPEAKER NOTES + *********************************************/ +.reveal aside.notes { + display: none; } + +.reveal .speaker-notes { + display: none; + position: absolute; + width: 33.3333333333%; + height: 100%; + top: 0; + left: 100%; + padding: 14px 18px 14px 18px; + z-index: 1; + font-size: 18px; + line-height: 1.4; + border: 1px solid rgba(0, 0, 0, 0.05); + color: #222; + background-color: #f5f5f5; + overflow: auto; + box-sizing: border-box; + text-align: left; + font-family: Helvetica, sans-serif; + -webkit-overflow-scrolling: touch; } + .reveal .speaker-notes .notes-placeholder { + color: #ccc; + font-style: italic; } + .reveal .speaker-notes:focus { + outline: none; } + .reveal .speaker-notes:before { + content: 'Speaker notes'; + display: block; + margin-bottom: 10px; + opacity: 0.5; } + +.reveal.show-notes { + max-width: 75%; + overflow: visible; } + +.reveal.show-notes .speaker-notes { + display: block; } + +@media screen and (min-width: 1600px) { + .reveal .speaker-notes { + font-size: 20px; } } + +@media screen and (max-width: 1024px) { + .reveal.show-notes { + border-left: 0; + max-width: none; + max-height: 70%; + max-height: 70vh; + overflow: visible; } + .reveal.show-notes .speaker-notes { + top: 100%; + left: 0; + width: 100%; + height: 42.8571428571%; + height: 30vh; + border: 0; } } + +@media screen and (max-width: 600px) { + .reveal.show-notes { + max-height: 60%; + max-height: 60vh; } + .reveal.show-notes .speaker-notes { + top: 100%; + height: 66.6666666667%; + height: 40vh; } + .reveal .speaker-notes { + font-size: 14px; } } + +/********************************************* + * ZOOM PLUGIN + *********************************************/ +.zoomed .reveal *, +.zoomed .reveal *:before, +.zoomed .reveal *:after { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; } + +.zoomed .reveal .progress, +.zoomed .reveal .controls { + opacity: 0; } + +.zoomed .reveal .roll span { + background: none; } + +.zoomed .reveal .roll span:after { + visibility: hidden; } diff --git a/slides/css/reveal.scss b/slides/css/reveal.scss new file mode 100644 index 0000000..ab732a4 --- /dev/null +++ b/slides/css/reveal.scss @@ -0,0 +1,1768 @@ +/*! + * reveal.js + * http://revealjs.com + * MIT licensed + * + * Copyright (C) 2019 Hakim El Hattab, http://hakim.se + */ + + +/********************************************* + * GLOBAL STYLES + *********************************************/ + +html { + width: 100%; + height: 100%; + height: 100vh; + height: calc( var(--vh, 1vh) * 100 ); + overflow: hidden; +} + +body { + height: 100%; + overflow: hidden; + position: relative; + line-height: 1; + margin: 0; + + background-color: #fff; + color: #000; +} + + +/********************************************* + * VIEW FRAGMENTS + *********************************************/ + +.reveal .slides section .fragment { + opacity: 0; + visibility: hidden; + transition: all .2s ease; + + &.visible { + opacity: 1; + visibility: inherit; + } +} + +.reveal .slides section .fragment.grow { + opacity: 1; + visibility: inherit; + + &.visible { + transform: scale( 1.3 ); + } +} + +.reveal .slides section .fragment.shrink { + opacity: 1; + visibility: inherit; + + &.visible { + transform: scale( 0.7 ); + } +} + +.reveal .slides section .fragment.zoom-in { + transform: scale( 0.1 ); + + &.visible { + transform: none; + } +} + +.reveal .slides section .fragment.fade-out { + opacity: 1; + visibility: inherit; + + &.visible { + opacity: 0; + visibility: hidden; + } +} + +.reveal .slides section .fragment.semi-fade-out { + opacity: 1; + visibility: inherit; + + &.visible { + opacity: 0.5; + visibility: inherit; + } +} + +.reveal .slides section .fragment.strike { + opacity: 1; + visibility: inherit; + + &.visible { + text-decoration: line-through; + } +} + +.reveal .slides section .fragment.fade-up { + transform: translate(0, 20%); + + &.visible { + transform: translate(0, 0); + } +} + +.reveal .slides section .fragment.fade-down { + transform: translate(0, -20%); + + &.visible { + transform: translate(0, 0); + } +} + +.reveal .slides section .fragment.fade-right { + transform: translate(-20%, 0); + + &.visible { + transform: translate(0, 0); + } +} + +.reveal .slides section .fragment.fade-left { + transform: translate(20%, 0); + + &.visible { + transform: translate(0, 0); + } +} + +.reveal .slides section .fragment.fade-in-then-out, +.reveal .slides section .fragment.current-visible { + opacity: 0; + visibility: hidden; + + &.current-fragment { + opacity: 1; + visibility: inherit; + } +} + +.reveal .slides section .fragment.fade-in-then-semi-out { + opacity: 0; + visibility: hidden; + + &.visible { + opacity: 0.5; + visibility: inherit; + } + + &.current-fragment { + opacity: 1; + visibility: inherit; + } +} + +.reveal .slides section .fragment.highlight-red, +.reveal .slides section .fragment.highlight-current-red, +.reveal .slides section .fragment.highlight-green, +.reveal .slides section .fragment.highlight-current-green, +.reveal .slides section .fragment.highlight-blue, +.reveal .slides section .fragment.highlight-current-blue { + opacity: 1; + visibility: inherit; +} + .reveal .slides section .fragment.highlight-red.visible { + color: #ff2c2d + } + .reveal .slides section .fragment.highlight-green.visible { + color: #17ff2e; + } + .reveal .slides section .fragment.highlight-blue.visible { + color: #1b91ff; + } + +.reveal .slides section .fragment.highlight-current-red.current-fragment { + color: #ff2c2d +} +.reveal .slides section .fragment.highlight-current-green.current-fragment { + color: #17ff2e; +} +.reveal .slides section .fragment.highlight-current-blue.current-fragment { + color: #1b91ff; +} + + +/********************************************* + * DEFAULT ELEMENT STYLES + *********************************************/ + +/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */ +.reveal:after { + content: ''; + font-style: italic; +} + +.reveal iframe { + z-index: 1; +} + +/** Prevents layering issues in certain browser/transition combinations */ +.reveal a { + position: relative; +} + +.reveal .stretch { + max-width: none; + max-height: none; +} + +.reveal pre.stretch code { + height: 100%; + max-height: 100%; + box-sizing: border-box; +} + + +/********************************************* + * CONTROLS + *********************************************/ + +@keyframes bounce-right { + 0%, 10%, 25%, 40%, 50% {transform: translateX(0);} + 20% {transform: translateX(10px);} + 30% {transform: translateX(-5px);} +} + +@keyframes bounce-down { + 0%, 10%, 25%, 40%, 50% {transform: translateY(0);} + 20% {transform: translateY(10px);} + 30% {transform: translateY(-5px);} +} + +$controlArrowSize: 3.6em; +$controlArrowSpacing: 1.4em; +$controlArrowLength: 2.6em; +$controlArrowThickness: 0.5em; +$controlsArrowAngle: 45deg; +$controlsArrowAngleHover: 40deg; +$controlsArrowAngleActive: 36deg; + +@mixin controlsArrowTransform( $angle ) { + &:before { + transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( $angle ); + } + + &:after { + transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( -$angle ); + } +} + +.reveal .controls { + $spacing: 12px; + + display: none; + position: absolute; + top: auto; + bottom: $spacing; + right: $spacing; + left: auto; + z-index: 1; + color: #000; + pointer-events: none; + font-size: 10px; + + button { + position: absolute; + padding: 0; + background-color: transparent; + border: 0; + outline: 0; + cursor: pointer; + color: currentColor; + transform: scale(.9999); + transition: color 0.2s ease, + opacity 0.2s ease, + transform 0.2s ease; + z-index: 2; // above slides + pointer-events: auto; + font-size: inherit; + + visibility: hidden; + opacity: 0; + + -webkit-appearance: none; + -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 ); + } + + .controls-arrow:before, + .controls-arrow:after { + content: ''; + position: absolute; + top: 0; + left: 0; + width: $controlArrowLength; + height: $controlArrowThickness; + border-radius: $controlArrowThickness/2; + background-color: currentColor; + + transition: all 0.15s ease, background-color 0.8s ease; + transform-origin: floor(($controlArrowThickness/2)*10)/10 50%; + will-change: transform; + } + + .controls-arrow { + position: relative; + width: $controlArrowSize; + height: $controlArrowSize; + + @include controlsArrowTransform( $controlsArrowAngle ); + + &:hover { + @include controlsArrowTransform( $controlsArrowAngleHover ); + } + + &:active { + @include controlsArrowTransform( $controlsArrowAngleActive ); + } + } + + .navigate-left { + right: $controlArrowSize + $controlArrowSpacing*2; + bottom: $controlArrowSpacing + $controlArrowSize/2; + transform: translateX( -10px ); + } + + .navigate-right { + right: 0; + bottom: $controlArrowSpacing + $controlArrowSize/2; + transform: translateX( 10px ); + + .controls-arrow { + transform: rotate( 180deg ); + } + + &.highlight { + animation: bounce-right 2s 50 both ease-out; + } + } + + .navigate-up { + right: $controlArrowSpacing + $controlArrowSize/2; + bottom: $controlArrowSpacing*2 + $controlArrowSize; + transform: translateY( -10px ); + + .controls-arrow { + transform: rotate( 90deg ); + } + } + + .navigate-down { + right: $controlArrowSpacing + $controlArrowSize/2; + bottom: 0; + transform: translateY( 10px ); + + .controls-arrow { + transform: rotate( -90deg ); + } + + &.highlight { + animation: bounce-down 2s 50 both ease-out; + } + } + + // Back arrow style: "faded": + // Deemphasize backwards navigation arrows in favor of drawing + // attention to forwards navigation + &[data-controls-back-arrows="faded"] .navigate-left.enabled, + &[data-controls-back-arrows="faded"] .navigate-up.enabled { + opacity: 0.3; + + &:hover { + opacity: 1; + } + } + + // Back arrow style: "hidden": + // Never show arrows for backwards navigation + &[data-controls-back-arrows="hidden"] .navigate-left.enabled, + &[data-controls-back-arrows="hidden"] .navigate-up.enabled { + opacity: 0; + visibility: hidden; + } + + // Any control button that can be clicked is "enabled" + .enabled { + visibility: visible; + opacity: 0.9; + cursor: pointer; + transform: none; + } + + // Any control button that leads to showing or hiding + // a fragment + .enabled.fragmented { + opacity: 0.5; + } + + .enabled:hover, + .enabled.fragmented:hover { + opacity: 1; + } +} + +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-up, +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-down { + display: none; +} + +// Adjust the layout when there are no vertical slides +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-left, +.reveal:not(.has-vertical-slides) .controls .navigate-left { + bottom: $controlArrowSpacing; + right: 0.5em + $controlArrowSpacing + $controlArrowSize; +} + +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-right, +.reveal:not(.has-vertical-slides) .controls .navigate-right { + bottom: $controlArrowSpacing; + right: 0.5em; +} + +// Adjust the layout when there are no horizontal slides +.reveal:not(.has-horizontal-slides) .controls .navigate-up { + right: $controlArrowSpacing; + bottom: $controlArrowSpacing + $controlArrowSize; +} +.reveal:not(.has-horizontal-slides) .controls .navigate-down { + right: $controlArrowSpacing; + bottom: 0.5em; +} + +// Invert arrows based on background color +.reveal.has-dark-background .controls { + color: #fff; +} +.reveal.has-light-background .controls { + color: #000; +} + +// Disable active states on touch devices +.reveal.no-hover .controls .controls-arrow:hover, +.reveal.no-hover .controls .controls-arrow:active { + @include controlsArrowTransform( $controlsArrowAngle ); +} + +// Edge aligned controls layout +@media screen and (min-width: 500px) { + + $spacing: 8px; + + .reveal .controls[data-controls-layout="edges"] { + & { + top: 0; + right: 0; + bottom: 0; + left: 0; + } + + .navigate-left, + .navigate-right, + .navigate-up, + .navigate-down { + bottom: auto; + right: auto; + } + + .navigate-left { + top: 50%; + left: $spacing; + margin-top: -$controlArrowSize/2; + } + + .navigate-right { + top: 50%; + right: $spacing; + margin-top: -$controlArrowSize/2; + } + + .navigate-up { + top: $spacing; + left: 50%; + margin-left: -$controlArrowSize/2; + } + + .navigate-down { + bottom: $spacing; + left: 50%; + margin-left: -$controlArrowSize/2; + } + } + +} + + +/********************************************* + * PROGRESS BAR + *********************************************/ + +.reveal .progress { + position: absolute; + display: none; + height: 3px; + width: 100%; + bottom: 0; + left: 0; + z-index: 10; + + background-color: rgba( 0, 0, 0, 0.2 ); + color: #fff; +} + .reveal .progress:after { + content: ''; + display: block; + position: absolute; + height: 10px; + width: 100%; + top: -10px; + } + .reveal .progress span { + display: block; + height: 100%; + width: 0px; + + background-color: currentColor; + transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + } + +/********************************************* + * SLIDE NUMBER + *********************************************/ + +.reveal .slide-number { + position: absolute; + display: block; + right: 8px; + bottom: 8px; + z-index: 31; + font-family: Helvetica, sans-serif; + font-size: 12px; + line-height: 1; + color: #fff; + background-color: rgba( 0, 0, 0, 0.4 ); + padding: 5px; +} + +.reveal .slide-number a { + color: currentColor; +} + +.reveal .slide-number-delimiter { + margin: 0 3px; +} + +/********************************************* + * SLIDES + *********************************************/ + +.reveal { + position: relative; + width: 100%; + height: 100%; + overflow: hidden; + touch-action: pinch-zoom; +} + +.reveal .slides { + position: absolute; + width: 100%; + height: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: auto; + pointer-events: none; + + overflow: visible; + z-index: 1; + text-align: center; + perspective: 600px; + perspective-origin: 50% 40%; +} + +.reveal .slides>section { + perspective: 600px; +} + +.reveal .slides>section, +.reveal .slides>section>section { + display: none; + position: absolute; + width: 100%; + padding: 20px 0px; + pointer-events: auto; + + z-index: 10; + transform-style: flat; + transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); +} + +/* Global transition speed settings */ +.reveal[data-transition-speed="fast"] .slides section { + transition-duration: 400ms; +} +.reveal[data-transition-speed="slow"] .slides section { + transition-duration: 1200ms; +} + +/* Slide-specific transition speed overrides */ +.reveal .slides section[data-transition-speed="fast"] { + transition-duration: 400ms; +} +.reveal .slides section[data-transition-speed="slow"] { + transition-duration: 1200ms; +} + +.reveal .slides>section.stack { + padding-top: 0; + padding-bottom: 0; + pointer-events: none; + height: 100%; +} + +.reveal .slides>section.present, +.reveal .slides>section>section.present { + display: block; + z-index: 11; + opacity: 1; +} + +.reveal .slides>section:empty, +.reveal .slides>section>section:empty, +.reveal .slides>section[data-background-interactive], +.reveal .slides>section>section[data-background-interactive] { + pointer-events: none; +} + +.reveal.center, +.reveal.center .slides, +.reveal.center .slides section { + min-height: 0 !important; +} + +/* Don't allow interaction with invisible slides */ +.reveal .slides>section.future, +.reveal .slides>section>section.future, +.reveal .slides>section.past, +.reveal .slides>section>section.past { + pointer-events: none; +} + +.reveal.overview .slides>section, +.reveal.overview .slides>section>section { + pointer-events: auto; +} + +.reveal .slides>section.past, +.reveal .slides>section.future, +.reveal .slides>section>section.past, +.reveal .slides>section>section.future { + opacity: 0; +} + + +/********************************************* + * Mixins for readability of transitions + *********************************************/ + +@mixin transition-global($style) { + .reveal .slides section[data-transition=#{$style}], + .reveal.#{$style} .slides section:not([data-transition]) { + @content; + } +} +@mixin transition-stack($style) { + .reveal .slides section[data-transition=#{$style}].stack, + .reveal.#{$style} .slides section.stack { + @content; + } +} +@mixin transition-horizontal-past($style) { + .reveal .slides>section[data-transition=#{$style}].past, + .reveal .slides>section[data-transition~=#{$style}-out].past, + .reveal.#{$style} .slides>section:not([data-transition]).past { + @content; + } +} +@mixin transition-horizontal-future($style) { + .reveal .slides>section[data-transition=#{$style}].future, + .reveal .slides>section[data-transition~=#{$style}-in].future, + .reveal.#{$style} .slides>section:not([data-transition]).future { + @content; + } +} + +@mixin transition-vertical-past($style) { + .reveal .slides>section>section[data-transition=#{$style}].past, + .reveal .slides>section>section[data-transition~=#{$style}-out].past, + .reveal.#{$style} .slides>section>section:not([data-transition]).past { + @content; + } +} +@mixin transition-vertical-future($style) { + .reveal .slides>section>section[data-transition=#{$style}].future, + .reveal .slides>section>section[data-transition~=#{$style}-in].future, + .reveal.#{$style} .slides>section>section:not([data-transition]).future { + @content; + } +} + +/********************************************* + * SLIDE TRANSITION + * Aliased 'linear' for backwards compatibility + *********************************************/ + +@each $stylename in slide, linear { + .reveal.#{$stylename} section { + backface-visibility: hidden; + } + @include transition-horizontal-past(#{$stylename}) { + transform: translate(-150%, 0); + } + @include transition-horizontal-future(#{$stylename}) { + transform: translate(150%, 0); + } + @include transition-vertical-past(#{$stylename}) { + transform: translate(0, -150%); + } + @include transition-vertical-future(#{$stylename}) { + transform: translate(0, 150%); + } +} + +/********************************************* + * CONVEX TRANSITION + * Aliased 'default' for backwards compatibility + *********************************************/ + +@each $stylename in default, convex { + @include transition-stack(#{$stylename}) { + transform-style: preserve-3d; + } + + @include transition-horizontal-past(#{$stylename}) { + transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); + } + @include transition-horizontal-future(#{$stylename}) { + transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); + } + @include transition-vertical-past(#{$stylename}) { + transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); + } + @include transition-vertical-future(#{$stylename}) { + transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); + } +} + +/********************************************* + * CONCAVE TRANSITION + *********************************************/ + +@include transition-stack(concave) { + transform-style: preserve-3d; +} + +@include transition-horizontal-past(concave) { + transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); +} +@include transition-horizontal-future(concave) { + transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); +} +@include transition-vertical-past(concave) { + transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); +} +@include transition-vertical-future(concave) { + transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); +} + + +/********************************************* + * ZOOM TRANSITION + *********************************************/ + +@include transition-global(zoom) { + transition-timing-function: ease; +} +@include transition-horizontal-past(zoom) { + visibility: hidden; + transform: scale(16); +} +@include transition-horizontal-future(zoom) { + visibility: hidden; + transform: scale(0.2); +} +@include transition-vertical-past(zoom) { + transform: scale(16); +} +@include transition-vertical-future(zoom) { + transform: scale(0.2); +} + + +/********************************************* + * CUBE TRANSITION + * + * WARNING: + * this is deprecated and will be removed in a + * future version. + *********************************************/ + +.reveal.cube .slides { + perspective: 1300px; +} + +.reveal.cube .slides section { + padding: 30px; + min-height: 700px; + backface-visibility: hidden; + box-sizing: border-box; + transform-style: preserve-3d; +} + .reveal.center.cube .slides section { + min-height: 0; + } + .reveal.cube .slides section:not(.stack):before { + content: ''; + position: absolute; + display: block; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgba(0,0,0,0.1); + border-radius: 4px; + transform: translateZ( -20px ); + } + .reveal.cube .slides section:not(.stack):after { + content: ''; + position: absolute; + display: block; + width: 90%; + height: 30px; + left: 5%; + bottom: 0; + background: none; + z-index: 1; + + border-radius: 4px; + box-shadow: 0px 95px 25px rgba(0,0,0,0.2); + transform: translateZ(-90px) rotateX( 65deg ); + } + +.reveal.cube .slides>section.stack { + padding: 0; + background: none; +} + +.reveal.cube .slides>section.past { + transform-origin: 100% 0%; + transform: translate3d(-100%, 0, 0) rotateY(-90deg); +} + +.reveal.cube .slides>section.future { + transform-origin: 0% 0%; + transform: translate3d(100%, 0, 0) rotateY(90deg); +} + +.reveal.cube .slides>section>section.past { + transform-origin: 0% 100%; + transform: translate3d(0, -100%, 0) rotateX(90deg); +} + +.reveal.cube .slides>section>section.future { + transform-origin: 0% 0%; + transform: translate3d(0, 100%, 0) rotateX(-90deg); +} + + +/********************************************* + * PAGE TRANSITION + * + * WARNING: + * this is deprecated and will be removed in a + * future version. + *********************************************/ + +.reveal.page .slides { + perspective-origin: 0% 50%; + perspective: 3000px; +} + +.reveal.page .slides section { + padding: 30px; + min-height: 700px; + box-sizing: border-box; + transform-style: preserve-3d; +} + .reveal.page .slides section.past { + z-index: 12; + } + .reveal.page .slides section:not(.stack):before { + content: ''; + position: absolute; + display: block; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgba(0,0,0,0.1); + transform: translateZ( -20px ); + } + .reveal.page .slides section:not(.stack):after { + content: ''; + position: absolute; + display: block; + width: 90%; + height: 30px; + left: 5%; + bottom: 0; + background: none; + z-index: 1; + + border-radius: 4px; + box-shadow: 0px 95px 25px rgba(0,0,0,0.2); + + -webkit-transform: translateZ(-90px) rotateX( 65deg ); + } + +.reveal.page .slides>section.stack { + padding: 0; + background: none; +} + +.reveal.page .slides>section.past { + transform-origin: 0% 0%; + transform: translate3d(-40%, 0, 0) rotateY(-80deg); +} + +.reveal.page .slides>section.future { + transform-origin: 100% 0%; + transform: translate3d(0, 0, 0); +} + +.reveal.page .slides>section>section.past { + transform-origin: 0% 0%; + transform: translate3d(0, -40%, 0) rotateX(80deg); +} + +.reveal.page .slides>section>section.future { + transform-origin: 0% 100%; + transform: translate3d(0, 0, 0); +} + + +/********************************************* + * FADE TRANSITION + *********************************************/ + +.reveal .slides section[data-transition=fade], +.reveal.fade .slides section:not([data-transition]), +.reveal.fade .slides>section>section:not([data-transition]) { + transform: none; + transition: opacity 0.5s; +} + + +.reveal.fade.overview .slides section, +.reveal.fade.overview .slides>section>section { + transition: none; +} + + +/********************************************* + * NO TRANSITION + *********************************************/ + +@include transition-global(none) { + transform: none; + transition: none; +} + + +/********************************************* + * PAUSED MODE + *********************************************/ + +.reveal .pause-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: black; + visibility: hidden; + opacity: 0; + z-index: 100; + transition: all 1s ease; +} + +.reveal .pause-overlay .resume-button { + position: absolute; + bottom: 20px; + right: 20px; + color: #ccc; + border-radius: 2px; + padding: 6px 14px; + border: 2px solid #ccc; + font-size: 16px; + background: transparent; + cursor: pointer; + + &:hover { + color: #fff; + border-color: #fff; + } +} + +.reveal.paused .pause-overlay { + visibility: visible; + opacity: 1; +} + + +/********************************************* + * FALLBACK + *********************************************/ + +.no-transforms { + overflow-y: auto; +} + +.no-transforms .reveal { + overflow: visible; +} + +.no-transforms .reveal .slides { + position: relative; + width: 80%; + max-width: 1280px; + height: auto; + top: 0; + margin: 0 auto; + text-align: center; +} + +.no-transforms .reveal .controls, +.no-transforms .reveal .progress { + display: none; +} + +.no-transforms .reveal .slides section { + display: block; + opacity: 1; + position: relative; + height: auto; + min-height: 0; + top: 0; + left: 0; + margin: 10vh 0; + margin: 70px 0; + transform: none; +} + +.reveal .no-transition, +.reveal .no-transition * { + transition: none !important; +} + + +/********************************************* + * PER-SLIDE BACKGROUNDS + *********************************************/ + +.reveal .backgrounds { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + perspective: 600px; +} + .reveal .slide-background { + display: none; + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + visibility: hidden; + overflow: hidden; + + background-color: rgba( 0, 0, 0, 0 ); + + transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + } + + .reveal .slide-background-content { + position: absolute; + width: 100%; + height: 100%; + + background-position: 50% 50%; + background-repeat: no-repeat; + background-size: cover; + } + + .reveal .slide-background.stack { + display: block; + } + + .reveal .slide-background.present { + opacity: 1; + visibility: visible; + z-index: 2; + } + + .print-pdf .reveal .slide-background { + opacity: 1 !important; + visibility: visible !important; + } + +/* Video backgrounds */ +.reveal .slide-background video { + position: absolute; + width: 100%; + height: 100%; + max-width: none; + max-height: none; + top: 0; + left: 0; + object-fit: cover; +} + .reveal .slide-background[data-background-size="contain"] video { + object-fit: contain; + } + +/* Immediate transition style */ +.reveal[data-background-transition=none]>.backgrounds .slide-background, +.reveal>.backgrounds .slide-background[data-background-transition=none] { + transition: none; +} + +/* Slide */ +.reveal[data-background-transition=slide]>.backgrounds .slide-background, +.reveal>.backgrounds .slide-background[data-background-transition=slide] { + opacity: 1; + backface-visibility: hidden; +} + .reveal[data-background-transition=slide]>.backgrounds .slide-background.past, + .reveal>.backgrounds .slide-background.past[data-background-transition=slide] { + transform: translate(-100%, 0); + } + .reveal[data-background-transition=slide]>.backgrounds .slide-background.future, + .reveal>.backgrounds .slide-background.future[data-background-transition=slide] { + transform: translate(100%, 0); + } + + .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past, + .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] { + transform: translate(0, -100%); + } + .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future, + .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] { + transform: translate(0, 100%); + } + + +/* Convex */ +.reveal[data-background-transition=convex]>.backgrounds .slide-background.past, +.reveal>.backgrounds .slide-background.past[data-background-transition=convex] { + opacity: 0; + transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); +} +.reveal[data-background-transition=convex]>.backgrounds .slide-background.future, +.reveal>.backgrounds .slide-background.future[data-background-transition=convex] { + opacity: 0; + transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); +} + +.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past, +.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] { + opacity: 0; + transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0); +} +.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future, +.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] { + opacity: 0; + transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0); +} + + +/* Concave */ +.reveal[data-background-transition=concave]>.backgrounds .slide-background.past, +.reveal>.backgrounds .slide-background.past[data-background-transition=concave] { + opacity: 0; + transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); +} +.reveal[data-background-transition=concave]>.backgrounds .slide-background.future, +.reveal>.backgrounds .slide-background.future[data-background-transition=concave] { + opacity: 0; + transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); +} + +.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past, +.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] { + opacity: 0; + transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0); +} +.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future, +.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] { + opacity: 0; + transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0); +} + +/* Zoom */ +.reveal[data-background-transition=zoom]>.backgrounds .slide-background, +.reveal>.backgrounds .slide-background[data-background-transition=zoom] { + transition-timing-function: ease; +} + +.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past, +.reveal>.backgrounds .slide-background.past[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + transform: scale(16); +} +.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future, +.reveal>.backgrounds .slide-background.future[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + transform: scale(0.2); +} + +.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past, +.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + transform: scale(16); +} +.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future, +.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] { + opacity: 0; + visibility: hidden; + transform: scale(0.2); +} + + +/* Global transition speed settings */ +.reveal[data-transition-speed="fast"]>.backgrounds .slide-background { + transition-duration: 400ms; +} +.reveal[data-transition-speed="slow"]>.backgrounds .slide-background { + transition-duration: 1200ms; +} + + +/********************************************* + * OVERVIEW + *********************************************/ + +.reveal.overview { + perspective-origin: 50% 50%; + perspective: 700px; + + .slides { + // Fixes overview rendering errors in FF48+, not applied to + // other browsers since it degrades performance + -moz-transform-style: preserve-3d; + } + + .slides section { + height: 100%; + top: 0 !important; + opacity: 1 !important; + overflow: hidden; + visibility: visible !important; + cursor: pointer; + box-sizing: border-box; + } + .slides section:hover, + .slides section.present { + outline: 10px solid rgba(150,150,150,0.4); + outline-offset: 10px; + } + .slides section .fragment { + opacity: 1; + transition: none; + } + .slides section:after, + .slides section:before { + display: none !important; + } + .slides>section.stack { + padding: 0; + top: 0 !important; + background: none; + outline: none; + overflow: visible; + } + + .backgrounds { + perspective: inherit; + + // Fixes overview rendering errors in FF48+, not applied to + // other browsers since it degrades performance + -moz-transform-style: preserve-3d; + } + + .backgrounds .slide-background { + opacity: 1; + visibility: visible; + + // This can't be applied to the slide itself in Safari + outline: 10px solid rgba(150,150,150,0.1); + outline-offset: 10px; + } + + .backgrounds .slide-background.stack { + overflow: visible; + } +} + +// Disable transitions transitions while we're activating +// or deactivating the overview mode. +.reveal.overview .slides section, +.reveal.overview-deactivating .slides section { + transition: none; +} + +.reveal.overview .backgrounds .slide-background, +.reveal.overview-deactivating .backgrounds .slide-background { + transition: none; +} + + +/********************************************* + * RTL SUPPORT + *********************************************/ + +.reveal.rtl .slides, +.reveal.rtl .slides h1, +.reveal.rtl .slides h2, +.reveal.rtl .slides h3, +.reveal.rtl .slides h4, +.reveal.rtl .slides h5, +.reveal.rtl .slides h6 { + direction: rtl; + font-family: sans-serif; +} + +.reveal.rtl pre, +.reveal.rtl code { + direction: ltr; +} + +.reveal.rtl ol, +.reveal.rtl ul { + text-align: right; +} + +.reveal.rtl .progress span { + float: right +} + +/********************************************* + * PARALLAX BACKGROUND + *********************************************/ + +.reveal.has-parallax-background .backgrounds { + transition: all 0.8s ease; +} + +/* Global transition speed settings */ +.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds { + transition-duration: 400ms; +} +.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds { + transition-duration: 1200ms; +} + + +/********************************************* + * OVERLAY FOR LINK PREVIEWS AND HELP + *********************************************/ + +.reveal > .overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1000; + background: rgba( 0, 0, 0, 0.9 ); + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; +} + .reveal > .overlay.visible { + opacity: 1; + visibility: visible; + } + + .reveal > .overlay .spinner { + position: absolute; + display: block; + top: 50%; + left: 50%; + width: 32px; + height: 32px; + margin: -16px 0 0 -16px; + z-index: 10; + background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D); + + visibility: visible; + opacity: 0.6; + transition: all 0.3s ease; + } + + .reveal > .overlay header { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 40px; + z-index: 2; + border-bottom: 1px solid #222; + } + .reveal > .overlay header a { + display: inline-block; + width: 40px; + height: 40px; + line-height: 36px; + padding: 0 10px; + float: right; + opacity: 0.6; + + box-sizing: border-box; + } + .reveal > .overlay header a:hover { + opacity: 1; + } + .reveal > .overlay header a .icon { + display: inline-block; + width: 20px; + height: 20px; + + background-position: 50% 50%; + background-size: 100%; + background-repeat: no-repeat; + } + .reveal > .overlay header a.close .icon { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC); + } + .reveal > .overlay header a.external .icon { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==); + } + + .reveal > .overlay .viewport { + position: absolute; + display: flex; + top: 40px; + right: 0; + bottom: 0; + left: 0; + } + + .reveal > .overlay.overlay-preview .viewport iframe { + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; + border: 0; + + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; + } + + .reveal > .overlay.overlay-preview.loaded .viewport iframe { + opacity: 1; + visibility: visible; + } + + .reveal > .overlay.overlay-preview.loaded .viewport-inner { + position: absolute; + z-index: -1; + left: 0; + top: 45%; + width: 100%; + text-align: center; + letter-spacing: normal; + } + .reveal > .overlay.overlay-preview .x-frame-error { + opacity: 0; + transition: opacity 0.3s ease 0.3s; + } + .reveal > .overlay.overlay-preview.loaded .x-frame-error { + opacity: 1; + } + + .reveal > .overlay.overlay-preview.loaded .spinner { + opacity: 0; + visibility: hidden; + transform: scale(0.2); + } + + .reveal > .overlay.overlay-help .viewport { + overflow: auto; + color: #fff; + } + + .reveal > .overlay.overlay-help .viewport .viewport-inner { + width: 600px; + margin: auto; + padding: 20px 20px 80px 20px; + text-align: center; + letter-spacing: normal; + } + + .reveal > .overlay.overlay-help .viewport .viewport-inner .title { + font-size: 20px; + } + + .reveal > .overlay.overlay-help .viewport .viewport-inner table { + border: 1px solid #fff; + border-collapse: collapse; + font-size: 16px; + } + + .reveal > .overlay.overlay-help .viewport .viewport-inner table th, + .reveal > .overlay.overlay-help .viewport .viewport-inner table td { + width: 200px; + padding: 14px; + border: 1px solid #fff; + vertical-align: middle; + } + + .reveal > .overlay.overlay-help .viewport .viewport-inner table th { + padding-top: 20px; + padding-bottom: 20px; + } + + +/********************************************* + * PLAYBACK COMPONENT + *********************************************/ + +.reveal .playback { + position: absolute; + left: 15px; + bottom: 20px; + z-index: 30; + cursor: pointer; + transition: all 400ms ease; + -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 ); +} + +.reveal.overview .playback { + opacity: 0; + visibility: hidden; +} + + +/********************************************* + * CODE HIGHLGIHTING + *********************************************/ + +.reveal .hljs table { + margin: initial; +} + +.reveal .hljs-ln-code, +.reveal .hljs-ln-numbers { + padding: 0; + border: 0; +} + +.reveal .hljs-ln-numbers { + opacity: 0.6; + padding-right: 0.75em; + text-align: right; + vertical-align: top; +} + +.reveal .hljs[data-line-numbers]:not([data-line-numbers=""]) tr:not(.highlight-line) { + opacity: 0.4; +} + + +/********************************************* + * ROLLING LINKS + *********************************************/ + +.reveal .roll { + display: inline-block; + line-height: 1.2; + overflow: hidden; + + vertical-align: top; + perspective: 400px; + perspective-origin: 50% 50%; +} + .reveal .roll:hover { + background: none; + text-shadow: none; + } +.reveal .roll span { + display: block; + position: relative; + padding: 0 2px; + + pointer-events: none; + transition: all 400ms ease; + transform-origin: 50% 0%; + transform-style: preserve-3d; + backface-visibility: hidden; +} + .reveal .roll:hover span { + background: rgba(0,0,0,0.5); + transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); + } +.reveal .roll span:after { + content: attr(data-title); + + display: block; + position: absolute; + left: 0; + top: 0; + padding: 0 2px; + backface-visibility: hidden; + transform-origin: 50% 0%; + transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); +} + + +/********************************************* + * SPEAKER NOTES + *********************************************/ + +$notesWidthPercent: 25%; + +// Hide on-page notes +.reveal aside.notes { + display: none; +} + +// An interface element that can optionally be used to show the +// speaker notes to all viewers, on top of the presentation +.reveal .speaker-notes { + display: none; + position: absolute; + width: $notesWidthPercent / (1-$notesWidthPercent/100) * 1%; + height: 100%; + top: 0; + left: 100%; + padding: 14px 18px 14px 18px; + z-index: 1; + font-size: 18px; + line-height: 1.4; + border: 1px solid rgba( 0, 0, 0, 0.05 ); + color: #222; + background-color: #f5f5f5; + overflow: auto; + box-sizing: border-box; + text-align: left; + font-family: Helvetica, sans-serif; + -webkit-overflow-scrolling: touch; + + .notes-placeholder { + color: #ccc; + font-style: italic; + } + + &:focus { + outline: none; + } + + &:before { + content: 'Speaker notes'; + display: block; + margin-bottom: 10px; + opacity: 0.5; + } +} + + +.reveal.show-notes { + max-width: 100% - $notesWidthPercent; + overflow: visible; +} + +.reveal.show-notes .speaker-notes { + display: block; +} + +@media screen and (min-width: 1600px) { + .reveal .speaker-notes { + font-size: 20px; + } +} + +@media screen and (max-width: 1024px) { + .reveal.show-notes { + border-left: 0; + max-width: none; + max-height: 70%; + max-height: 70vh; + overflow: visible; + } + + .reveal.show-notes .speaker-notes { + top: 100%; + left: 0; + width: 100%; + height: (30/0.7)*1%; + height: 30vh; + border: 0; + } +} + +@media screen and (max-width: 600px) { + .reveal.show-notes { + max-height: 60%; + max-height: 60vh; + } + + .reveal.show-notes .speaker-notes { + top: 100%; + height: (40/0.6)*1%; + height: 40vh; + } + + .reveal .speaker-notes { + font-size: 14px; + } +} + + +/********************************************* + * ZOOM PLUGIN + *********************************************/ + +.zoomed .reveal *, +.zoomed .reveal *:before, +.zoomed .reveal *:after { + backface-visibility: visible !important; +} + +.zoomed .reveal .progress, +.zoomed .reveal .controls { + opacity: 0; +} + +.zoomed .reveal .roll span { + background: none; +} + +.zoomed .reveal .roll span:after { + visibility: hidden; +} diff --git a/slides/css/theme/README.md b/slides/css/theme/README.md new file mode 100644 index 0000000..8ae164b --- /dev/null +++ b/slides/css/theme/README.md @@ -0,0 +1,21 @@ +## Dependencies + +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 + +## Creating a Theme + +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`. + +Each theme file does four things in the following order: + +1. **Include [/css/theme/template/mixins.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/mixins.scss)** +Shared utility functions. + +2. **Include [/css/theme/template/settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss)** +Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3. + +3. **Override** +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. + +4. **Include [/css/theme/template/theme.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/theme.scss)** +The template theme file which will generate final CSS output based on the currently defined variables. diff --git a/slides/css/theme/beige.css b/slides/css/theme/beige.css new file mode 100644 index 0000000..615dd6d --- /dev/null +++ b/slides/css/theme/beige.css @@ -0,0 +1,277 @@ +/** + * Beige theme for reveal.js. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #f7f2d3; + background: -moz-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); + background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, white), color-stop(100%, #f7f2d3)); + background: -webkit-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); + background: -o-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); + background: -ms-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); + background: radial-gradient(center, circle cover, white 0%, #f7f2d3 100%); + background-color: #f7f3de; } + +.reveal { + font-family: "Lato", sans-serif; + font-size: 40px; + font-weight: normal; + color: #333; } + +::selection { + color: #fff; + background: rgba(79, 64, 28, 0.99); + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: rgba(79, 64, 28, 0.99); + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #333; + font-family: "League Gothic", Impact, sans-serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + 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); } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #8b743d; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #c0a86e; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #564826; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #333; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #8b743d; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #8b743d; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #8b743d; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #f7f3de; } } diff --git a/slides/css/theme/black.css b/slides/css/theme/black.css new file mode 100644 index 0000000..7dd88c2 --- /dev/null +++ b/slides/css/theme/black.css @@ -0,0 +1,273 @@ +/** + * Black theme for reveal.js. This is the opposite of the 'white' theme. + * + * By Hakim El Hattab, http://hakim.se + */ +@import url(../../lib/font/source-sans-pro/source-sans-pro.css); +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 { + color: #222; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #191919; + background-color: #191919; } + +.reveal { + font-family: "Source Sans Pro", Helvetica, sans-serif; + font-size: 42px; + font-weight: normal; + color: #fff; } + +::selection { + color: #fff; + background: #bee4fd; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #bee4fd; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #fff; + font-family: "Source Sans Pro", Helvetica, sans-serif; + font-weight: 600; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 2.5em; } + +.reveal h2 { + font-size: 1.6em; } + +.reveal h3 { + font-size: 1.3em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #42affa; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #8dcffc; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #068de9; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #fff; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #42affa; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #42affa; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #42affa; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #191919; } } diff --git a/slides/css/theme/blood.css b/slides/css/theme/blood.css new file mode 100644 index 0000000..5cbd488 --- /dev/null +++ b/slides/css/theme/blood.css @@ -0,0 +1,296 @@ +/** + * Blood theme for reveal.js + * Author: Walther http://github.com/Walther + * + * Designed to be used with highlight.js theme + * "monokai_sublime.css" available from + * https://github.com/isagalaev/highlight.js/ + * + * For other themes, change $codeBackground accordingly. + * + */ +@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic); +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #222; + background-color: #222; } + +.reveal { + font-family: Ubuntu, "sans-serif"; + font-size: 40px; + font-weight: normal; + color: #eee; } + +::selection { + color: #fff; + background: #a23; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #a23; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #eee; + font-family: Ubuntu, "sans-serif"; + font-weight: normal; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: 2px 2px 2px #222; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + 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); } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #a23; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #dd5566; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #6a1520; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #eee; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #a23; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #a23; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #a23; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #222; } } + +.reveal p { + font-weight: 300; + text-shadow: 1px 1px #222; } + +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + font-weight: 700; } + +.reveal p code { + background-color: #23241f; + display: inline-block; + border-radius: 7px; } + +.reveal small code { + vertical-align: baseline; } diff --git a/slides/css/theme/league.css b/slides/css/theme/league.css new file mode 100644 index 0000000..f8fba4d --- /dev/null +++ b/slides/css/theme/league.css @@ -0,0 +1,279 @@ +/** + * League theme for reveal.js. + * + * This was the default theme pre-3.0.0. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #1c1e20; + background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); + background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20)); + background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); + background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); + background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); + background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); + background-color: #2b2b2b; } + +.reveal { + font-family: "Lato", sans-serif; + font-size: 40px; + font-weight: normal; + color: #eee; } + +::selection { + color: #fff; + background: #FF5E99; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #FF5E99; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #eee; + font-family: "League Gothic", Impact, sans-serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + 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); } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #13DAEC; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #71e9f4; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #0d99a5; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #eee; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #13DAEC; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #13DAEC; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #13DAEC; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #2b2b2b; } } diff --git a/slides/css/theme/moon.css b/slides/css/theme/moon.css new file mode 100644 index 0000000..d18f526 --- /dev/null +++ b/slides/css/theme/moon.css @@ -0,0 +1,277 @@ +/** + * Solarized Dark theme for reveal.js. + * Author: Achim Staebler + */ +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); +/** + * Solarized colors by Ethan Schoonover + */ +html * { + color-profile: sRGB; + rendering-intent: auto; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #002b36; + background-color: #002b36; } + +.reveal { + font-family: "Lato", sans-serif; + font-size: 40px; + font-weight: normal; + color: #93a1a1; } + +::selection { + color: #fff; + background: #d33682; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #d33682; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #eee8d5; + font-family: "League Gothic", Impact, sans-serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #268bd2; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #78b9e6; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #1a6091; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #93a1a1; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #268bd2; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #268bd2; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #268bd2; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #002b36; } } diff --git a/slides/css/theme/night.css b/slides/css/theme/night.css new file mode 100644 index 0000000..f5ccb52 --- /dev/null +++ b/slides/css/theme/night.css @@ -0,0 +1,271 @@ +/** + * Black theme for reveal.js. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ +@import url(https://fonts.googleapis.com/css?family=Montserrat:700); +@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic); +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #111; + background-color: #111; } + +.reveal { + font-family: "Open Sans", sans-serif; + font-size: 40px; + font-weight: normal; + color: #eee; } + +::selection { + color: #fff; + background: #e7ad52; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #e7ad52; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #eee; + font-family: "Montserrat", Impact, sans-serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: -0.03em; + text-transform: none; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #e7ad52; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #f3d7ac; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #d08a1d; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #eee; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #e7ad52; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #e7ad52; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #e7ad52; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #111; } } diff --git a/slides/css/theme/serif.css b/slides/css/theme/serif.css new file mode 100644 index 0000000..6514a6f --- /dev/null +++ b/slides/css/theme/serif.css @@ -0,0 +1,273 @@ +/** + * A simple theme for reveal.js presentations, similar + * to the default theme. The accent color is brown. + * + * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed. + */ +.reveal a { + line-height: 1.3em; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #F0F1EB; + background-color: #F0F1EB; } + +.reveal { + font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif; + font-size: 40px; + font-weight: normal; + color: #000; } + +::selection { + color: #fff; + background: #26351C; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #26351C; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #383D3D; + font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: normal; + text-transform: none; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #51483D; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #8b7c69; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #25211c; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #000; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #51483D; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #51483D; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #51483D; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #F0F1EB; } } diff --git a/slides/css/theme/simple.css b/slides/css/theme/simple.css new file mode 100644 index 0000000..a7a29a6 --- /dev/null +++ b/slides/css/theme/simple.css @@ -0,0 +1,276 @@ +/** + * A simple theme for reveal.js presentations, similar + * to the default theme. The accent color is darkblue. + * + * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed. + * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ +@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); +section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 { + color: #fff; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #fff; + background-color: #fff; } + +.reveal { + font-family: "Lato", sans-serif; + font-size: 40px; + font-weight: normal; + color: #000; } + +::selection { + color: #fff; + background: rgba(0, 0, 0, 0.99); + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: rgba(0, 0, 0, 0.99); + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #000; + font-family: "News Cycle", Impact, sans-serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: normal; + text-transform: none; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #00008B; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #0000f1; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #00003f; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #000; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #00008B; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #00008B; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #00008B; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #fff; } } diff --git a/slides/css/theme/sky.css b/slides/css/theme/sky.css new file mode 100644 index 0000000..d8734c9 --- /dev/null +++ b/slides/css/theme/sky.css @@ -0,0 +1,280 @@ +/** + * Sky theme for reveal.js. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ +@import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic); +@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700); +.reveal a { + line-height: 1.3em; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #add9e4; + background: -moz-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); + background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #f7fbfc), color-stop(100%, #add9e4)); + background: -webkit-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); + background: -o-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); + background: -ms-radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); + background: radial-gradient(center, circle cover, #f7fbfc 0%, #add9e4 100%); + background-color: #f7fbfc; } + +.reveal { + font-family: "Open Sans", sans-serif; + font-size: 40px; + font-weight: normal; + color: #333; } + +::selection { + color: #fff; + background: #134674; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #134674; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #333; + font-family: "Quicksand", sans-serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: -0.08em; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #3b759e; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #74a7cb; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #264c66; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #333; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #3b759e; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #3b759e; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #3b759e; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #f7fbfc; } } diff --git a/slides/css/theme/solarized.css b/slides/css/theme/solarized.css new file mode 100644 index 0000000..f1a2b9e --- /dev/null +++ b/slides/css/theme/solarized.css @@ -0,0 +1,277 @@ +/** + * Solarized Light theme for reveal.js. + * Author: Achim Staebler + */ +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); +/** + * Solarized colors by Ethan Schoonover + */ +html * { + color-profile: sRGB; + rendering-intent: auto; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #fdf6e3; + background-color: #fdf6e3; } + +.reveal { + font-family: "Lato", sans-serif; + font-size: 40px; + font-weight: normal; + color: #657b83; } + +::selection { + color: #fff; + background: #d33682; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #d33682; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #586e75; + font-family: "League Gothic", Impact, sans-serif; + font-weight: normal; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 3.77em; } + +.reveal h2 { + font-size: 2.11em; } + +.reveal h3 { + font-size: 1.55em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #268bd2; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #78b9e6; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #1a6091; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #657b83; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #268bd2; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #268bd2; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #268bd2; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #fdf6e3; } } diff --git a/slides/css/theme/source/beige.scss b/slides/css/theme/source/beige.scss new file mode 100644 index 0000000..5564f53 --- /dev/null +++ b/slides/css/theme/source/beige.scss @@ -0,0 +1,39 @@ +/** + * Beige theme for reveal.js. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + + +// Include theme-specific fonts +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); + + +// Override theme settings (see ../template/settings.scss) +$mainColor: #333; +$headingColor: #333; +$headingTextShadow: none; +$backgroundColor: #f7f3de; +$linkColor: #8b743d; +$linkColorHover: lighten( $linkColor, 20% ); +$selectionBackgroundColor: rgba(79, 64, 28, 0.99); +$heading1TextShadow: 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,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); + +// Background generator +@mixin bodyBackground() { + @include radial-gradient( rgba(247,242,211,1), rgba(255,255,255,1) ); +} + + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- \ No newline at end of file diff --git a/slides/css/theme/source/black.scss b/slides/css/theme/source/black.scss new file mode 100644 index 0000000..4720c8a --- /dev/null +++ b/slides/css/theme/source/black.scss @@ -0,0 +1,49 @@ +/** + * Black theme for reveal.js. This is the opposite of the 'white' theme. + * + * By Hakim El Hattab, http://hakim.se + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + +// Include theme-specific fonts +@import url(../../lib/font/source-sans-pro/source-sans-pro.css); + + +// Override theme settings (see ../template/settings.scss) +$backgroundColor: #191919; + +$mainColor: #fff; +$headingColor: #fff; + +$mainFontSize: 42px; +$mainFont: 'Source Sans Pro', Helvetica, sans-serif; +$headingFont: 'Source Sans Pro', Helvetica, sans-serif; +$headingTextShadow: none; +$headingLetterSpacing: normal; +$headingTextTransform: uppercase; +$headingFontWeight: 600; +$linkColor: #42affa; +$linkColorHover: lighten( $linkColor, 15% ); +$selectionBackgroundColor: lighten( $linkColor, 25% ); + +$heading1Size: 2.5em; +$heading2Size: 1.6em; +$heading3Size: 1.3em; +$heading4Size: 1.0em; + +section.has-light-background { + &, h1, h2, h3, h4, h5, h6 { + color: #222; + } +} + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- \ No newline at end of file diff --git a/slides/css/theme/source/blood.scss b/slides/css/theme/source/blood.scss new file mode 100644 index 0000000..4533fc0 --- /dev/null +++ b/slides/css/theme/source/blood.scss @@ -0,0 +1,78 @@ +/** + * Blood theme for reveal.js + * Author: Walther http://github.com/Walther + * + * Designed to be used with highlight.js theme + * "monokai_sublime.css" available from + * https://github.com/isagalaev/highlight.js/ + * + * For other themes, change $codeBackground accordingly. + * + */ + + // Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + +// Include theme-specific fonts + +@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic); + +// Colors used in the theme +$blood: #a23; +$coal: #222; +$codeBackground: #23241f; + +$backgroundColor: $coal; + +// Main text +$mainFont: Ubuntu, 'sans-serif'; +$mainColor: #eee; + +// Headings +$headingFont: Ubuntu, 'sans-serif'; +$headingTextShadow: 2px 2px 2px $coal; + +// h1 shadow, borrowed humbly from +// (c) Default theme by Hakim El Hattab +$heading1TextShadow: 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,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); + +// Links +$linkColor: $blood; +$linkColorHover: lighten( $linkColor, 20% ); + +// Text selection +$selectionBackgroundColor: $blood; +$selectionColor: #fff; + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- + +// some overrides after theme template import + +.reveal p { + font-weight: 300; + text-shadow: 1px 1px $coal; +} + +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + font-weight: 700; +} + +.reveal p code { + background-color: $codeBackground; + display: inline-block; + border-radius: 7px; +} + +.reveal small code { + vertical-align: baseline; +} \ No newline at end of file diff --git a/slides/css/theme/source/league.scss b/slides/css/theme/source/league.scss new file mode 100644 index 0000000..46ea04a --- /dev/null +++ b/slides/css/theme/source/league.scss @@ -0,0 +1,34 @@ +/** + * League theme for reveal.js. + * + * This was the default theme pre-3.0.0. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + + +// Include theme-specific fonts +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); + +// Override theme settings (see ../template/settings.scss) +$headingTextShadow: 0px 0px 6px rgba(0,0,0,0.2); +$heading1TextShadow: 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,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); + +// Background generator +@mixin bodyBackground() { + @include radial-gradient( rgba(28,30,32,1), rgba(85,90,95,1) ); +} + + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- \ No newline at end of file diff --git a/slides/css/theme/source/moon.scss b/slides/css/theme/source/moon.scss new file mode 100644 index 0000000..e47e5b5 --- /dev/null +++ b/slides/css/theme/source/moon.scss @@ -0,0 +1,57 @@ +/** + * Solarized Dark theme for reveal.js. + * Author: Achim Staebler + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + + +// Include theme-specific fonts +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); + +/** + * Solarized colors by Ethan Schoonover + */ +html * { + color-profile: sRGB; + rendering-intent: auto; +} + +// Solarized colors +$base03: #002b36; +$base02: #073642; +$base01: #586e75; +$base00: #657b83; +$base0: #839496; +$base1: #93a1a1; +$base2: #eee8d5; +$base3: #fdf6e3; +$yellow: #b58900; +$orange: #cb4b16; +$red: #dc322f; +$magenta: #d33682; +$violet: #6c71c4; +$blue: #268bd2; +$cyan: #2aa198; +$green: #859900; + +// Override theme settings (see ../template/settings.scss) +$mainColor: $base1; +$headingColor: $base2; +$headingTextShadow: none; +$backgroundColor: $base03; +$linkColor: $blue; +$linkColorHover: lighten( $linkColor, 20% ); +$selectionBackgroundColor: $magenta; + + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- diff --git a/slides/css/theme/source/night.scss b/slides/css/theme/source/night.scss new file mode 100644 index 0000000..d49a282 --- /dev/null +++ b/slides/css/theme/source/night.scss @@ -0,0 +1,34 @@ +/** + * Black theme for reveal.js. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + +// Include theme-specific fonts +@import url(https://fonts.googleapis.com/css?family=Montserrat:700); +@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic); + + +// Override theme settings (see ../template/settings.scss) +$backgroundColor: #111; + +$mainFont: 'Open Sans', sans-serif; +$linkColor: #e7ad52; +$linkColorHover: lighten( $linkColor, 20% ); +$headingFont: 'Montserrat', Impact, sans-serif; +$headingTextShadow: none; +$headingLetterSpacing: -0.03em; +$headingTextTransform: none; +$selectionBackgroundColor: #e7ad52; + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- \ No newline at end of file diff --git a/slides/css/theme/source/serif.scss b/slides/css/theme/source/serif.scss new file mode 100644 index 0000000..ec3fcb3 --- /dev/null +++ b/slides/css/theme/source/serif.scss @@ -0,0 +1,35 @@ +/** + * A simple theme for reveal.js presentations, similar + * to the default theme. The accent color is brown. + * + * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed. + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + + +// Override theme settings (see ../template/settings.scss) +$mainFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif; +$mainColor: #000; +$headingFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif; +$headingColor: #383D3D; +$headingTextShadow: none; +$headingTextTransform: none; +$backgroundColor: #F0F1EB; +$linkColor: #51483D; +$linkColorHover: lighten( $linkColor, 20% ); +$selectionBackgroundColor: #26351C; + +.reveal a { + line-height: 1.3em; +} + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- diff --git a/slides/css/theme/source/simple.scss b/slides/css/theme/source/simple.scss new file mode 100644 index 0000000..394c9cd --- /dev/null +++ b/slides/css/theme/source/simple.scss @@ -0,0 +1,43 @@ +/** + * A simple theme for reveal.js presentations, similar + * to the default theme. The accent color is darkblue. + * + * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed. + * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + + +// Include theme-specific fonts +@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); + + +// Override theme settings (see ../template/settings.scss) +$mainFont: 'Lato', sans-serif; +$mainColor: #000; +$headingFont: 'News Cycle', Impact, sans-serif; +$headingColor: #000; +$headingTextShadow: none; +$headingTextTransform: none; +$backgroundColor: #fff; +$linkColor: #00008B; +$linkColorHover: lighten( $linkColor, 20% ); +$selectionBackgroundColor: rgba(0, 0, 0, 0.99); + +section.has-dark-background { + &, h1, h2, h3, h4, h5, h6 { + color: #fff; + } +} + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- \ No newline at end of file diff --git a/slides/css/theme/source/sky.scss b/slides/css/theme/source/sky.scss new file mode 100644 index 0000000..3fee67c --- /dev/null +++ b/slides/css/theme/source/sky.scss @@ -0,0 +1,46 @@ +/** + * Sky theme for reveal.js. + * + * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + + +// Include theme-specific fonts +@import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic); +@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700); + + +// Override theme settings (see ../template/settings.scss) +$mainFont: 'Open Sans', sans-serif; +$mainColor: #333; +$headingFont: 'Quicksand', sans-serif; +$headingColor: #333; +$headingLetterSpacing: -0.08em; +$headingTextShadow: none; +$backgroundColor: #f7fbfc; +$linkColor: #3b759e; +$linkColorHover: lighten( $linkColor, 20% ); +$selectionBackgroundColor: #134674; + +// Fix links so they are not cut off +.reveal a { + line-height: 1.3em; +} + +// Background generator +@mixin bodyBackground() { + @include radial-gradient( #add9e4, #f7fbfc ); +} + + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- diff --git a/slides/css/theme/source/solarized.scss b/slides/css/theme/source/solarized.scss new file mode 100644 index 0000000..912be56 --- /dev/null +++ b/slides/css/theme/source/solarized.scss @@ -0,0 +1,63 @@ +/** + * Solarized Light theme for reveal.js. + * Author: Achim Staebler + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + + +// Include theme-specific fonts +@import url(../../lib/font/league-gothic/league-gothic.css); +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); + + +/** + * Solarized colors by Ethan Schoonover + */ +html * { + color-profile: sRGB; + rendering-intent: auto; +} + +// Solarized colors +$base03: #002b36; +$base02: #073642; +$base01: #586e75; +$base00: #657b83; +$base0: #839496; +$base1: #93a1a1; +$base2: #eee8d5; +$base3: #fdf6e3; +$yellow: #b58900; +$orange: #cb4b16; +$red: #dc322f; +$magenta: #d33682; +$violet: #6c71c4; +$blue: #268bd2; +$cyan: #2aa198; +$green: #859900; + +// Override theme settings (see ../template/settings.scss) +$mainColor: $base00; +$headingColor: $base01; +$headingTextShadow: none; +$backgroundColor: $base3; +$linkColor: $blue; +$linkColorHover: lighten( $linkColor, 20% ); +$selectionBackgroundColor: $magenta; + +// Background generator +// @mixin bodyBackground() { +// @include radial-gradient( rgba($base3,1), rgba(lighten($base3, 20%),1) ); +// } + + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- diff --git a/slides/css/theme/source/white.scss b/slides/css/theme/source/white.scss new file mode 100644 index 0000000..7f06ffd --- /dev/null +++ b/slides/css/theme/source/white.scss @@ -0,0 +1,49 @@ +/** + * White theme for reveal.js. This is the opposite of the 'black' theme. + * + * By Hakim El Hattab, http://hakim.se + */ + + +// Default mixins and settings ----------------- +@import "../template/mixins"; +@import "../template/settings"; +// --------------------------------------------- + + +// Include theme-specific fonts +@import url(../../lib/font/source-sans-pro/source-sans-pro.css); + + +// Override theme settings (see ../template/settings.scss) +$backgroundColor: #fff; + +$mainColor: #222; +$headingColor: #222; + +$mainFontSize: 42px; +$mainFont: 'Source Sans Pro', Helvetica, sans-serif; +$headingFont: 'Source Sans Pro', Helvetica, sans-serif; +$headingTextShadow: none; +$headingLetterSpacing: normal; +$headingTextTransform: uppercase; +$headingFontWeight: 600; +$linkColor: #2a76dd; +$linkColorHover: lighten( $linkColor, 15% ); +$selectionBackgroundColor: lighten( $linkColor, 25% ); + +$heading1Size: 2.5em; +$heading2Size: 1.6em; +$heading3Size: 1.3em; +$heading4Size: 1.0em; + +section.has-dark-background { + &, h1, h2, h3, h4, h5, h6 { + color: #fff; + } +} + + +// Theme template ------------------------------ +@import "../template/theme"; +// --------------------------------------------- \ No newline at end of file diff --git a/slides/css/theme/template/mixins.scss b/slides/css/theme/template/mixins.scss new file mode 100644 index 0000000..e0c5606 --- /dev/null +++ b/slides/css/theme/template/mixins.scss @@ -0,0 +1,29 @@ +@mixin vertical-gradient( $top, $bottom ) { + background: $top; + background: -moz-linear-gradient( top, $top 0%, $bottom 100% ); + background: -webkit-gradient( linear, left top, left bottom, color-stop(0%,$top), color-stop(100%,$bottom) ); + background: -webkit-linear-gradient( top, $top 0%, $bottom 100% ); + background: -o-linear-gradient( top, $top 0%, $bottom 100% ); + background: -ms-linear-gradient( top, $top 0%, $bottom 100% ); + background: linear-gradient( top, $top 0%, $bottom 100% ); +} + +@mixin horizontal-gradient( $top, $bottom ) { + background: $top; + background: -moz-linear-gradient( left, $top 0%, $bottom 100% ); + background: -webkit-gradient( linear, left top, right top, color-stop(0%,$top), color-stop(100%,$bottom) ); + background: -webkit-linear-gradient( left, $top 0%, $bottom 100% ); + background: -o-linear-gradient( left, $top 0%, $bottom 100% ); + background: -ms-linear-gradient( left, $top 0%, $bottom 100% ); + background: linear-gradient( left, $top 0%, $bottom 100% ); +} + +@mixin radial-gradient( $outer, $inner, $type: circle ) { + background: $outer; + background: -moz-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); + background: -webkit-gradient( radial, center center, 0px, center center, 100%, color-stop(0%,$inner), color-stop(100%,$outer) ); + background: -webkit-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); + background: -o-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); + background: -ms-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); + background: radial-gradient( center, $type cover, $inner 0%, $outer 100% ); +} \ No newline at end of file diff --git a/slides/css/theme/template/settings.scss b/slides/css/theme/template/settings.scss new file mode 100644 index 0000000..5a917f8 --- /dev/null +++ b/slides/css/theme/template/settings.scss @@ -0,0 +1,45 @@ +// Base settings for all themes that can optionally be +// overridden by the super-theme + +// Background of the presentation +$backgroundColor: #2b2b2b; + +// Primary/body text +$mainFont: 'Lato', sans-serif; +$mainFontSize: 40px; +$mainColor: #eee; + +// Vertical spacing between blocks of text +$blockMargin: 20px; + +// Headings +$headingMargin: 0 0 $blockMargin 0; +$headingFont: 'League Gothic', Impact, sans-serif; +$headingColor: #eee; +$headingLineHeight: 1.2; +$headingLetterSpacing: normal; +$headingTextTransform: uppercase; +$headingTextShadow: none; +$headingFontWeight: normal; +$heading1TextShadow: $headingTextShadow; + +$heading1Size: 3.77em; +$heading2Size: 2.11em; +$heading3Size: 1.55em; +$heading4Size: 1.00em; + +$codeFont: monospace; + +// Links and actions +$linkColor: #13DAEC; +$linkColorHover: lighten( $linkColor, 20% ); + +// Text selection +$selectionBackgroundColor: #FF5E99; +$selectionColor: #fff; + +// Generates the presentation background, can be overridden +// to return a background image or gradient +@mixin bodyBackground() { + background: $backgroundColor; +} diff --git a/slides/css/theme/template/theme.scss b/slides/css/theme/template/theme.scss new file mode 100644 index 0000000..9ccfaf5 --- /dev/null +++ b/slides/css/theme/template/theme.scss @@ -0,0 +1,325 @@ +// Base theme template for reveal.js + +/********************************************* + * GLOBAL STYLES + *********************************************/ + +body { + @include bodyBackground(); + background-color: $backgroundColor; +} + +.reveal { + font-family: $mainFont; + font-size: $mainFontSize; + font-weight: normal; + color: $mainColor; +} + +::selection { + color: $selectionColor; + background: $selectionBackgroundColor; + text-shadow: none; +} + +::-moz-selection { + color: $selectionColor; + background: $selectionBackgroundColor; + text-shadow: none; +} + +.reveal .slides section, +.reveal .slides section>section { + line-height: 1.3; + font-weight: inherit; +} + +/********************************************* + * HEADERS + *********************************************/ + +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: $headingMargin; + color: $headingColor; + + font-family: $headingFont; + font-weight: $headingFontWeight; + line-height: $headingLineHeight; + letter-spacing: $headingLetterSpacing; + + text-transform: $headingTextTransform; + text-shadow: $headingTextShadow; + + word-wrap: break-word; +} + +.reveal h1 {font-size: $heading1Size; } +.reveal h2 {font-size: $heading2Size; } +.reveal h3 {font-size: $heading3Size; } +.reveal h4 {font-size: $heading4Size; } + +.reveal h1 { + text-shadow: $heading1TextShadow; +} + + +/********************************************* + * OTHER + *********************************************/ + +.reveal p { + margin: $blockMargin 0; + line-height: 1.3; +} + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; +} +.reveal strong, +.reveal b { + font-weight: bold; +} + +.reveal em { + font-style: italic; +} + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + + text-align: left; + margin: 0 0 0 1em; +} + +.reveal ol { + list-style-type: decimal; +} + +.reveal ul { + list-style-type: disc; +} + +.reveal ul ul { + list-style-type: square; +} + +.reveal ul ul ul { + list-style-type: circle; +} + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; +} + +.reveal dt { + font-weight: bold; +} + +.reveal dd { + margin-left: 40px; +} + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: $blockMargin auto; + padding: 5px; + + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0,0,0,0.2); +} + .reveal blockquote p:first-child, + .reveal blockquote p:last-child { + display: inline-block; + } + +.reveal q { + font-style: italic; +} + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: $blockMargin auto; + + text-align: left; + font-size: 0.55em; + font-family: $codeFont; + line-height: 1.2em; + + word-wrap: break-word; + + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); +} + +.reveal code { + font-family: $codeFont; + text-transform: none; +} + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; +} + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; +} + +.reveal table th { + font-weight: bold; +} + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; +} + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; +} + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; +} + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; +} + +.reveal sup { + vertical-align: super; + font-size: smaller; +} +.reveal sub { + vertical-align: sub; + font-size: smaller; +} + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; +} + +.reveal small * { + vertical-align: top; +} + + +/********************************************* + * LINKS + *********************************************/ + +.reveal a { + color: $linkColor; + text-decoration: none; + + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; +} + .reveal a:hover { + color: $linkColorHover; + + text-shadow: none; + border: none; + } + +.reveal .roll span:after { + color: #fff; + background: darken( $linkColor, 15% ); +} + + +/********************************************* + * IMAGES + *********************************************/ + +.reveal section img { + margin: 15px 0px; + background: rgba(255,255,255,0.12); + border: 4px solid $mainColor; + + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); +} + + .reveal section img.plain { + border: 0; + box-shadow: none; + } + + .reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; + } + + .reveal a:hover img { + background: rgba(255,255,255,0.2); + border-color: $linkColor; + + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); + } + + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ + +.reveal .controls { + color: $linkColor; +} + + +/********************************************* + * PROGRESS BAR + *********************************************/ + +.reveal .progress { + background: rgba(0,0,0,0.2); + color: $linkColor; +} + .reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ + @media print { + .backgrounds { + background-color: $backgroundColor; + } +} diff --git a/slides/css/theme/white.css b/slides/css/theme/white.css new file mode 100644 index 0000000..43ef2c7 --- /dev/null +++ b/slides/css/theme/white.css @@ -0,0 +1,273 @@ +/** + * White theme for reveal.js. This is the opposite of the 'black' theme. + * + * By Hakim El Hattab, http://hakim.se + */ +@import url(../../lib/font/source-sans-pro/source-sans-pro.css); +section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 { + color: #fff; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #fff; + background-color: #fff; } + +.reveal { + font-family: "Source Sans Pro", Helvetica, sans-serif; + font-size: 42px; + font-weight: normal; + color: #222; } + +::selection { + color: #fff; + background: #98bdef; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #98bdef; + text-shadow: none; } + +.reveal .slides section, +.reveal .slides section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #222; + font-family: "Source Sans Pro", Helvetica, sans-serif; + font-weight: 600; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 2.5em; } + +.reveal h2 { + font-size: 1.6em; } + +.reveal h3 { + font-size: 1.3em; } + +.reveal h4 { + font-size: 1em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; + font-size: smaller; } + +.reveal sub { + vertical-align: sub; + font-size: smaller; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #2a76dd; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #6ca0e8; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #1a53a1; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #222; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #2a76dd; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #2a76dd; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #2a76dd; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +/********************************************* + * PRINT BACKGROUND + *********************************************/ +@media print { + .backgrounds { + background-color: #fff; } } diff --git a/slides/gruntfile.js b/slides/gruntfile.js new file mode 100644 index 0000000..edebddd --- /dev/null +++ b/slides/gruntfile.js @@ -0,0 +1,192 @@ +const sass = require('node-sass'); + +module.exports = grunt => { + + require('load-grunt-tasks')(grunt); + + let port = grunt.option('port') || 8000; + let root = grunt.option('root') || '.'; + + if (!Array.isArray(root)) root = [root]; + + // Project configuration + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + meta: { + banner: + '/*!\n' + + ' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' + + ' * http://revealjs.com\n' + + ' * MIT licensed\n' + + ' *\n' + + ' * Copyright (C) 2019 Hakim El Hattab, http://hakim.se\n' + + ' */' + }, + + qunit: { + files: [ 'test/*.html' ] + }, + + uglify: { + options: { + banner: '<%= meta.banner %>\n', + ie8: true + }, + build: { + src: 'js/reveal.js', + dest: 'js/reveal.min.js' + } + }, + + sass: { + options: { + implementation: sass, + sourceMap: false + }, + core: { + src: 'css/reveal.scss', + dest: 'css/reveal.css' + }, + themes: { + expand: true, + cwd: 'css/theme/source', + src: ['*.sass', '*.scss'], + dest: 'css/theme', + ext: '.css' + } + }, + + autoprefixer: { + core: { + src: 'css/reveal.css' + } + }, + + cssmin: { + options: { + compatibility: 'ie9' + }, + compress: { + src: 'css/reveal.css', + dest: 'css/reveal.min.css' + } + }, + + jshint: { + options: { + curly: false, + eqeqeq: true, + immed: true, + esnext: true, + latedef: 'nofunc', + newcap: true, + noarg: true, + sub: true, + undef: true, + eqnull: true, + browser: true, + expr: true, + loopfunc: true, + globals: { + head: false, + module: false, + console: false, + unescape: false, + define: false, + exports: false, + require: false + } + }, + files: [ 'gruntfile.js', 'js/reveal.js' ] + }, + + connect: { + server: { + options: { + port: port, + base: root, + livereload: true, + open: true, + useAvailablePort: true + } + } + }, + + zip: { + bundle: { + src: [ + 'index.html', + 'css/**', + 'js/**', + 'lib/**', + 'images/**', + 'plugin/**', + '**.md' + ], + dest: 'reveal-js-presentation.zip' + } + }, + + watch: { + js: { + files: [ 'gruntfile.js', 'js/reveal.js' ], + tasks: 'js' + }, + theme: { + files: [ + 'css/theme/source/*.sass', + 'css/theme/source/*.scss', + 'css/theme/template/*.sass', + 'css/theme/template/*.scss' + ], + tasks: 'css-themes' + }, + css: { + files: [ 'css/reveal.scss' ], + tasks: 'css-core' + }, + test: { + files: [ 'test/*.html' ], + tasks: 'test' + }, + html: { + files: root.map(path => path + '/*.html') + }, + markdown: { + files: root.map(path => path + '/*.md') + }, + options: { + livereload: true + } + } + + }); + + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + + // Default task + grunt.registerTask( 'default', [ 'css', 'js' ] ); + + // JS task + grunt.registerTask( 'js', [ 'jshint', 'uglify', 'qunit' ] ); + + // Theme CSS + grunt.registerTask( 'css-themes', [ 'sass:themes' ] ); + + // Core framework CSS + grunt.registerTask( 'css-core', [ 'sass:core', 'autoprefixer', 'cssmin' ] ); + + // All CSS + grunt.registerTask( 'css', [ 'sass', 'autoprefixer', 'cssmin' ] ); + + // Package presentation to archive + grunt.registerTask( 'package', [ 'default', 'zip' ] ); + + // Serve presentation locally + grunt.registerTask( 'serve', [ 'connect', 'watch' ] ); + + // Run tests + grunt.registerTask( 'test', [ 'jshint', 'qunit' ] ); + +}; diff --git a/slides/images/Backspace_logo_full.svg b/slides/images/Backspace_logo_full.svg new file mode 100644 index 0000000..3e3053f --- /dev/null +++ b/slides/images/Backspace_logo_full.svg @@ -0,0 +1,214 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/slides/images/Git-Logo-1788C.png b/slides/images/Git-Logo-1788C.png new file mode 100644 index 0000000000000000000000000000000000000000..910f9936950b6e6cc5697c2e6bc761b7f80b9d76 GIT binary patch literal 5684 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

X=G$Mt!fA7%!anR`{RN~byRZpUH|*M_y2i4<#` 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 z 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μlEOYOu$RmPW964G6|$M23>O-`rZmZPUnqZ@?f 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

%x$ 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