slippery 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/assets/deck.js/core/deck.core.css +60 -0
  4. data/assets/deck.js/core/deck.core.js +728 -0
  5. data/assets/deck.js/core/deck.core.scss +65 -0
  6. data/assets/deck.js/core/print.css +25 -0
  7. data/assets/deck.js/core/print.scss +14 -0
  8. data/assets/deck.js/css/common.css +216 -0
  9. data/assets/deck.js/css/common.scss +233 -0
  10. data/assets/deck.js/css/home.css +790 -0
  11. data/assets/deck.js/css/home.scss +892 -0
  12. data/assets/deck.js/extensions/goto/deck.goto.css +36 -0
  13. data/assets/deck.js/extensions/goto/deck.goto.html +7 -0
  14. data/assets/deck.js/extensions/goto/deck.goto.js +190 -0
  15. data/assets/deck.js/extensions/goto/deck.goto.scss +39 -0
  16. data/assets/deck.js/extensions/hash/deck.hash.css +13 -0
  17. data/assets/deck.js/extensions/hash/deck.hash.html +2 -0
  18. data/assets/deck.js/extensions/hash/deck.hash.js +145 -0
  19. data/assets/deck.js/extensions/hash/deck.hash.scss +13 -0
  20. data/assets/deck.js/extensions/menu/deck.menu.css +45 -0
  21. data/assets/deck.js/extensions/menu/deck.menu.js +225 -0
  22. data/assets/deck.js/extensions/menu/deck.menu.scss +55 -0
  23. data/assets/deck.js/extensions/navigation/deck.navigation.css +42 -0
  24. data/assets/deck.js/extensions/navigation/deck.navigation.html +5 -0
  25. data/assets/deck.js/extensions/navigation/deck.navigation.js +94 -0
  26. data/assets/deck.js/extensions/navigation/deck.navigation.scss +44 -0
  27. data/assets/deck.js/extensions/scale/deck.scale.css +20 -0
  28. data/assets/deck.js/extensions/scale/deck.scale.js +190 -0
  29. data/assets/deck.js/extensions/scale/deck.scale.scss +22 -0
  30. data/assets/deck.js/extensions/status/deck.status.css +18 -0
  31. data/assets/deck.js/extensions/status/deck.status.html +6 -0
  32. data/assets/deck.js/extensions/status/deck.status.js +108 -0
  33. data/assets/deck.js/extensions/status/deck.status.scss +18 -0
  34. data/assets/deck.js/modernizr.custom.js +4 -0
  35. data/assets/deck.js/themes/style/_reset.scss +300 -0
  36. data/assets/deck.js/themes/style/neon.css +421 -0
  37. data/assets/deck.js/themes/style/neon.scss +148 -0
  38. data/assets/deck.js/themes/style/swiss.css +389 -0
  39. data/assets/deck.js/themes/style/swiss.scss +109 -0
  40. data/assets/deck.js/themes/style/web-2.0.css +500 -0
  41. data/assets/deck.js/themes/style/web-2.0.scss +228 -0
  42. data/assets/deck.js/themes/transition/fade.css +35 -0
  43. data/assets/deck.js/themes/transition/fade.scss +59 -0
  44. data/assets/deck.js/themes/transition/horizontal-slide.css +53 -0
  45. data/assets/deck.js/themes/transition/horizontal-slide.scss +72 -0
  46. data/assets/deck.js/themes/transition/vertical-slide.css +67 -0
  47. data/assets/deck.js/themes/transition/vertical-slide.scss +92 -0
  48. data/assets/highlight.js/CHANGES.md +953 -0
  49. data/assets/highlight.js/LICENSE +24 -0
  50. data/assets/highlight.js/README.md +101 -0
  51. data/assets/highlight.js/README.ru.md +101 -0
  52. data/assets/highlight.js/highlight-0.8.default.min.css +1 -0
  53. data/assets/highlight.js/highlight-0.8.min.js +1 -0
  54. data/assets/highlight.js/highlight.pack.js +1 -0
  55. data/assets/highlight.js/styles/arta.css +141 -0
  56. data/assets/highlight.js/styles/ascetic.css +53 -0
  57. data/assets/highlight.js/styles/atelier-dune.dark.css +95 -0
  58. data/assets/highlight.js/styles/atelier-dune.light.css +95 -0
  59. data/assets/highlight.js/styles/atelier-forest.dark.css +95 -0
  60. data/assets/highlight.js/styles/atelier-forest.light.css +95 -0
  61. data/assets/highlight.js/styles/atelier-heath.dark.css +95 -0
  62. data/assets/highlight.js/styles/atelier-heath.light.css +95 -0
  63. data/assets/highlight.js/styles/atelier-lakeside.dark.css +95 -0
  64. data/assets/highlight.js/styles/atelier-lakeside.light.css +95 -0
  65. data/assets/highlight.js/styles/atelier-seaside.dark.css +95 -0
  66. data/assets/highlight.js/styles/atelier-seaside.light.css +95 -0
  67. data/assets/highlight.js/styles/brown_paper.css +105 -0
  68. data/assets/highlight.js/styles/brown_papersq.png +0 -0
  69. data/assets/highlight.js/styles/codepen-embed.css +108 -0
  70. data/assets/highlight.js/styles/color-brewer.css +169 -0
  71. data/assets/highlight.js/styles/dark.css +105 -0
  72. data/assets/highlight.js/styles/default.css +153 -0
  73. data/assets/highlight.js/styles/docco.css +136 -0
  74. data/assets/highlight.js/styles/far.css +112 -0
  75. data/assets/highlight.js/styles/foundation.css +136 -0
  76. data/assets/highlight.js/styles/github.css +127 -0
  77. data/assets/highlight.js/styles/googlecode.css +148 -0
  78. data/assets/highlight.js/styles/hybrid.css +171 -0
  79. data/assets/highlight.js/styles/idea.css +126 -0
  80. data/assets/highlight.js/styles/ir_black.css +110 -0
  81. data/assets/highlight.js/styles/kimbie.dark.css +96 -0
  82. data/assets/highlight.js/styles/kimbie.light.css +96 -0
  83. data/assets/highlight.js/styles/magula.css +122 -0
  84. data/assets/highlight.js/styles/mono-blue.css +70 -0
  85. data/assets/highlight.js/styles/monokai.css +127 -0
  86. data/assets/highlight.js/styles/monokai_sublime.css +148 -0
  87. data/assets/highlight.js/styles/obsidian.css +154 -0
  88. data/assets/highlight.js/styles/paraiso.dark.css +95 -0
  89. data/assets/highlight.js/styles/paraiso.light.css +95 -0
  90. data/assets/highlight.js/styles/pojoaque.css +108 -0
  91. data/assets/highlight.js/styles/pojoaque.jpg +0 -0
  92. data/assets/highlight.js/styles/railscasts.css +185 -0
  93. data/assets/highlight.js/styles/rainbow.css +109 -0
  94. data/assets/highlight.js/styles/school_book.css +113 -0
  95. data/assets/highlight.js/styles/school_book.png +0 -0
  96. data/assets/highlight.js/styles/solarized_dark.css +109 -0
  97. data/assets/highlight.js/styles/solarized_light.css +109 -0
  98. data/assets/highlight.js/styles/sunburst.css +165 -0
  99. data/assets/highlight.js/styles/tomorrow-night-blue.css +95 -0
  100. data/assets/highlight.js/styles/tomorrow-night-bright.css +94 -0
  101. data/assets/highlight.js/styles/tomorrow-night-eighties.css +94 -0
  102. data/assets/highlight.js/styles/tomorrow-night.css +95 -0
  103. data/assets/highlight.js/styles/tomorrow.css +92 -0
  104. data/assets/highlight.js/styles/vs.css +94 -0
  105. data/assets/highlight.js/styles/xcode.css +159 -0
  106. data/assets/highlight.js/styles/zenburn.css +119 -0
  107. data/assets/jquery/jquery-2.1.0.min.js +4 -0
  108. data/assets/reveal.js/css/print/paper.css +1 -1
  109. data/assets/reveal.js/css/print/pdf.css +2 -2
  110. data/assets/reveal.js/css/reveal.css +372 -108
  111. data/assets/reveal.js/css/reveal.min.css +2 -2
  112. data/assets/reveal.js/css/theme/README.md +3 -1
  113. data/assets/reveal.js/css/theme/beige.css +7 -1
  114. data/assets/reveal.js/css/theme/blood.css +175 -0
  115. data/assets/reveal.js/css/theme/default.css +7 -1
  116. data/assets/reveal.js/css/theme/moon.css +7 -1
  117. data/assets/reveal.js/css/theme/night.css +7 -1
  118. data/assets/reveal.js/css/theme/serif.css +7 -1
  119. data/assets/reveal.js/css/theme/simple.css +7 -1
  120. data/assets/reveal.js/css/theme/sky.css +7 -1
  121. data/assets/reveal.js/css/theme/solarized.css +7 -1
  122. data/assets/reveal.js/css/theme/source/blood.scss +91 -0
  123. data/assets/reveal.js/css/theme/template/settings.scss +1 -0
  124. data/assets/reveal.js/css/theme/template/theme.scss +9 -2
  125. data/assets/reveal.js/js/reveal.js +1238 -433
  126. data/assets/reveal.js/js/reveal.min.js +4 -3
  127. data/assets/reveal.js/lib/css/zenburn.css +16 -17
  128. data/assets/reveal.js/plugin/highlight/highlight.js +3 -2
  129. data/assets/reveal.js/plugin/leap/leap.js +3 -0
  130. data/assets/reveal.js/plugin/markdown/example.html +37 -5
  131. data/assets/reveal.js/plugin/markdown/example.md +2 -0
  132. data/assets/reveal.js/plugin/markdown/markdown.js +373 -171
  133. data/assets/reveal.js/plugin/math/math.js +64 -0
  134. data/assets/reveal.js/plugin/multiplex/master.js +2 -1
  135. data/assets/reveal.js/plugin/notes/notes.html +33 -19
  136. data/assets/reveal.js/plugin/notes/notes.js +25 -47
  137. data/assets/reveal.js/plugin/remotes/remotes.js +4 -4
  138. data/assets/reveal.js/plugin/zoom-js/zoom.js +3 -1
  139. data/assets/reveal.old/css/print/paper.css +176 -0
  140. data/assets/reveal.old/css/print/pdf.css +190 -0
  141. data/assets/reveal.old/css/reveal.css +1616 -0
  142. data/assets/reveal.old/css/reveal.min.css +7 -0
  143. data/assets/reveal.old/css/theme/README.md +23 -0
  144. data/assets/reveal.old/css/theme/beige.css +142 -0
  145. data/assets/reveal.old/css/theme/default.css +142 -0
  146. data/assets/reveal.old/css/theme/moon.css +142 -0
  147. data/assets/reveal.old/css/theme/night.css +130 -0
  148. data/assets/reveal.old/css/theme/serif.css +132 -0
  149. data/assets/reveal.old/css/theme/simple.css +132 -0
  150. data/assets/reveal.old/css/theme/sky.css +139 -0
  151. data/assets/reveal.old/css/theme/solarized.css +142 -0
  152. data/assets/reveal.old/css/theme/source/beige.scss +50 -0
  153. data/assets/reveal.old/css/theme/source/default.scss +42 -0
  154. data/assets/reveal.old/css/theme/source/moon.scss +68 -0
  155. data/assets/reveal.old/css/theme/source/night.scss +35 -0
  156. data/assets/reveal.old/css/theme/source/serif.scss +35 -0
  157. data/assets/reveal.old/css/theme/source/simple.scss +38 -0
  158. data/assets/reveal.old/css/theme/source/sky.scss +46 -0
  159. data/assets/reveal.old/css/theme/source/solarized.scss +74 -0
  160. data/assets/reveal.old/css/theme/template/mixins.scss +29 -0
  161. data/assets/reveal.old/css/theme/template/settings.scss +33 -0
  162. data/assets/reveal.old/css/theme/template/theme.scss +163 -0
  163. data/assets/{reveal.js → reveal.old}/js/head.min.js +0 -0
  164. data/assets/reveal.old/js/reveal.js +2577 -0
  165. data/assets/reveal.old/js/reveal.min.js +8 -0
  166. data/assets/reveal.old/lib/css/zenburn.css +115 -0
  167. data/assets/reveal.old/lib/font/league_gothic-webfont.eot +0 -0
  168. data/assets/reveal.old/lib/font/league_gothic-webfont.svg +230 -0
  169. data/assets/reveal.old/lib/font/league_gothic-webfont.ttf +0 -0
  170. data/assets/reveal.old/lib/font/league_gothic-webfont.woff +0 -0
  171. data/assets/reveal.old/lib/font/league_gothic_license +2 -0
  172. data/assets/reveal.old/lib/js/classList.js +2 -0
  173. data/assets/reveal.old/lib/js/head.min.js +8 -0
  174. data/assets/reveal.old/lib/js/html5shiv.js +7 -0
  175. data/assets/reveal.old/plugin/highlight/highlight.js +31 -0
  176. data/assets/reveal.old/plugin/leap/leap.js +154 -0
  177. data/assets/reveal.old/plugin/markdown/example.html +97 -0
  178. data/assets/reveal.old/plugin/markdown/example.md +29 -0
  179. data/assets/reveal.old/plugin/markdown/markdown.js +190 -0
  180. data/assets/reveal.old/plugin/markdown/marked.js +37 -0
  181. data/assets/reveal.old/plugin/multiplex/client.js +13 -0
  182. data/assets/reveal.old/plugin/multiplex/index.js +56 -0
  183. data/assets/reveal.old/plugin/multiplex/master.js +50 -0
  184. data/assets/reveal.old/plugin/notes-server/client.js +57 -0
  185. data/assets/reveal.old/plugin/notes-server/index.js +59 -0
  186. data/assets/reveal.old/plugin/notes-server/notes.html +142 -0
  187. data/assets/reveal.old/plugin/notes/notes.html +253 -0
  188. data/assets/reveal.old/plugin/notes/notes.js +100 -0
  189. data/assets/reveal.old/plugin/postmessage/example.html +39 -0
  190. data/assets/reveal.old/plugin/postmessage/postmessage.js +42 -0
  191. data/assets/reveal.old/plugin/print-pdf/print-pdf.js +44 -0
  192. data/assets/reveal.old/plugin/remotes/remotes.js +39 -0
  193. data/assets/reveal.old/plugin/search/search.js +196 -0
  194. data/assets/reveal.old/plugin/zoom-js/zoom.js +256 -0
  195. data/bin/slippery +1 -0
  196. data/code_of_conduct.md +32 -0
  197. data/lib/slippery.rb +5 -3
  198. data/lib/slippery/document.rb +2 -2
  199. data/lib/slippery/presentation.rb +10 -1
  200. data/lib/slippery/processor.rb +18 -0
  201. data/lib/slippery/processor_helpers.rb +16 -2
  202. data/lib/slippery/processors/add_highlight.rb +9 -2
  203. data/lib/slippery/processors/deck_js.rb +81 -0
  204. data/lib/slippery/processors/fathom_js.rb +31 -0
  205. data/lib/slippery/processors/impress_js/add_impress_js.rb +2 -2
  206. data/lib/slippery/processors/jquery.rb +12 -0
  207. data/lib/slippery/processors/reveal_js/add_reveal_js.rb +12 -9
  208. data/lib/slippery/rake_tasks.rb +59 -31
  209. data/lib/slippery/version.rb +1 -1
  210. data/slippery.gemspec +5 -4
  211. metadata +215 -33
  212. data/lib/slippery/converter.rb +0 -132
@@ -0,0 +1,44 @@
1
+ .deck-prev-link, .deck-next-link {
2
+ display:none;
3
+ position:absolute;
4
+ z-index:3;
5
+ top:50%;
6
+ width:32px;
7
+ height:32px;
8
+ margin-top:-16px;
9
+ font-size:20px;
10
+ font-weight:bold;
11
+ line-height:32px;
12
+ vertical-align:middle;
13
+ text-align:center;
14
+ text-decoration:none;
15
+ color:#fff;
16
+ background:#888;
17
+ border-radius:16px;
18
+
19
+ &:hover, &:focus, &:active, &:visited {
20
+ color:#fff;
21
+ }
22
+ }
23
+
24
+ .deck-prev-link {
25
+ left:8px;
26
+ }
27
+
28
+ .deck-next-link {
29
+ right:8px;
30
+ }
31
+
32
+ .deck-container:hover .deck-prev-link, .deck-container:hover .deck-next-link {
33
+ display:block;
34
+
35
+ &.deck-nav-disabled, .touch & {
36
+ display:none;
37
+ }
38
+ }
39
+
40
+ @media print {
41
+ .deck-prev-link, .deck-next-link {
42
+ display:none !important;
43
+ }
44
+ }
@@ -0,0 +1,20 @@
1
+ .csstransforms .deck-container.deck-scale:not(.deck-menu) {
2
+ overflow: hidden;
3
+ }
4
+ .csstransforms .deck-container.deck-scale:not(.deck-menu) > .slide {
5
+ -moz-box-sizing: padding-box;
6
+ box-sizing: padding-box;
7
+ width: 100%;
8
+ padding-bottom: 20px;
9
+ }
10
+ .csstransforms .deck-container.deck-scale:not(.deck-menu) > .slide > .deck-slide-scaler {
11
+ -webkit-transform-origin: 50% 0;
12
+ -ms-transform-origin: 50% 0;
13
+ transform-origin: 50% 0;
14
+ }
15
+
16
+ .csstransforms .deck-container.deck-menu .deck-slide-scaler {
17
+ -webkit-transform: none !important;
18
+ -ms-transform: none !important;
19
+ transform: none !important;
20
+ }
@@ -0,0 +1,190 @@
1
+ /*!
2
+ Deck JS - deck.scale
3
+ Copyright (c) 2011-2014 Caleb Troughton
4
+ Dual licensed under the MIT license.
5
+ https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt
6
+ */
7
+
8
+ /*
9
+ This module adds automatic scaling to the deck. Slides are scaled down
10
+ using CSS transforms to fit within the deck container. If the container is
11
+ big enough to hold the slides without scaling, no scaling occurs. The user
12
+ can disable and enable scaling with a keyboard shortcut.
13
+
14
+ Note: CSS transforms may make Flash videos render incorrectly. Presenters
15
+ that need to use video may want to disable scaling to play them. HTML5 video
16
+ works fine.
17
+ */
18
+ (function($, undefined) {
19
+ var $document = $(document);
20
+ var $window = $(window);
21
+ var baseHeight, timer, rootSlides;
22
+
23
+ /*
24
+ Internal function to do all the dirty work of scaling the slides.
25
+ */
26
+ var scaleDeck = function() {
27
+ var options = $.deck('getOptions');
28
+ var $container = $.deck('getContainer');
29
+ var baseHeight = options.baseHeight;
30
+
31
+ if (!baseHeight) {
32
+ baseHeight = $container.height();
33
+ }
34
+
35
+ // Scale each slide down if necessary (but don't scale up)
36
+ $.each(rootSlides, function(i, $slide) {
37
+ var slideHeight = $slide.innerHeight();
38
+ var $scaler = $slide.find('.' + options.classes.scaleSlideWrapper);
39
+ var shouldScale = $container.hasClass(options.classes.scale);
40
+ var scale = shouldScale ? baseHeight / slideHeight : 1;
41
+
42
+ if (scale === 1) {
43
+ $scaler.css('transform', '');
44
+ }
45
+ else {
46
+ $scaler.css('transform', 'scale(' + scale + ')');
47
+ window.setTimeout(function() {
48
+ $container.scrollTop(0)
49
+ }, 1);
50
+ }
51
+ });
52
+ };
53
+
54
+ var populateRootSlides = function() {
55
+ var options = $.deck('getOptions');
56
+ var slideTest = $.map([
57
+ options.classes.before,
58
+ options.classes.previous,
59
+ options.classes.current,
60
+ options.classes.next,
61
+ options.classes.after
62
+ ], function(el, i) {
63
+ return '.' + el;
64
+ }).join(', ');
65
+
66
+ rootSlides = [];
67
+ $.each($.deck('getSlides'), function(i, $slide) {
68
+ var $parentSlides = $slide.parentsUntil(
69
+ options.selectors.container,
70
+ slideTest
71
+ );
72
+ if (!$parentSlides.length) {
73
+ rootSlides.push($slide);
74
+ }
75
+ });
76
+ };
77
+
78
+ var wrapRootSlideContent = function() {
79
+ var options = $.deck('getOptions');
80
+ var wrap = '<div class="' + options.classes.scaleSlideWrapper + '"/>';
81
+ $.each(rootSlides, function(i, $slide) {
82
+ $slide.children().wrapAll(wrap);
83
+ });
84
+ };
85
+
86
+ var scaleOnResizeAndLoad = function() {
87
+ var options = $.deck('getOptions');
88
+
89
+ $window.unbind('resize.deckscale');
90
+ $window.bind('resize.deckscale', function() {
91
+ window.clearTimeout(timer);
92
+ timer = window.setTimeout(scaleDeck, options.scaleDebounce);
93
+ });
94
+ $.deck('enableScale');
95
+ $window.unbind('load.deckscale');
96
+ $window.bind('load.deckscale', scaleDeck);
97
+ };
98
+
99
+ var bindKeyEvents = function() {
100
+ var options = $.deck('getOptions');
101
+ $document.unbind('keydown.deckscale');
102
+ $document.bind('keydown.deckscale', function(event) {
103
+ var isKey = event.which === options.keys.scale;
104
+ isKey = isKey || $.inArray(event.which, options.keys.scale) > -1;
105
+ if (isKey) {
106
+ $.deck('toggleScale');
107
+ event.preventDefault();
108
+ }
109
+ });
110
+ };
111
+
112
+ /*
113
+ Extends defaults/options.
114
+
115
+ options.classes.scale
116
+ This class is added to the deck container when scaling is enabled.
117
+ It is enabled by default when the module is included.
118
+
119
+ options.classes.scaleSlideWrapper
120
+ Scaling is done using a wrapper around the contents of each slide. This
121
+ class is applied to that wrapper.
122
+
123
+ options.keys.scale
124
+ The numeric keycode used to toggle enabling and disabling scaling.
125
+
126
+ options.baseHeight
127
+ When baseHeight is falsy, as it is by default, the deck is scaled in
128
+ proportion to the height of the deck container. You may instead specify
129
+ a height as a number of px, and slides will be scaled against this
130
+ height regardless of the container size.
131
+
132
+ options.scaleDebounce
133
+ Scaling on the browser resize event is debounced. This number is the
134
+ threshold in milliseconds. You can learn more about debouncing here:
135
+ http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
136
+
137
+ */
138
+ $.extend(true, $.deck.defaults, {
139
+ classes: {
140
+ scale: 'deck-scale',
141
+ scaleSlideWrapper: 'deck-slide-scaler'
142
+ },
143
+
144
+ keys: {
145
+ scale: 83 // s
146
+ },
147
+
148
+ baseHeight: null,
149
+ scaleDebounce: 200
150
+ });
151
+
152
+ /*
153
+ jQuery.deck('disableScale')
154
+
155
+ Disables scaling and removes the scale class from the deck container.
156
+ */
157
+ $.deck('extend', 'disableScale', function() {
158
+ $.deck('getContainer').removeClass($.deck('getOptions').classes.scale);
159
+ scaleDeck();
160
+ });
161
+
162
+ /*
163
+ jQuery.deck('enableScale')
164
+
165
+ Enables scaling and adds the scale class to the deck container.
166
+ */
167
+ $.deck('extend', 'enableScale', function() {
168
+ $.deck('getContainer').addClass($.deck('getOptions').classes.scale);
169
+ scaleDeck();
170
+ });
171
+
172
+ /*
173
+ jQuery.deck('toggleScale')
174
+
175
+ Toggles between enabling and disabling scaling.
176
+ */
177
+ $.deck('extend', 'toggleScale', function() {
178
+ var $container = $.deck('getContainer');
179
+ var isScaled = $container.hasClass($.deck('getOptions').classes.scale);
180
+ $.deck(isScaled? 'disableScale' : 'enableScale');
181
+ });
182
+
183
+ $document.bind('deck.init', function() {
184
+ populateRootSlides();
185
+ wrapRootSlideContent();
186
+ scaleOnResizeAndLoad();
187
+ bindKeyEvents();
188
+ });
189
+ })(jQuery, 'deck', this);
190
+
@@ -0,0 +1,22 @@
1
+ .csstransforms .deck-container.deck-scale:not(.deck-menu) {
2
+ overflow:hidden;
3
+
4
+ > .slide {
5
+ -moz-box-sizing: padding-box;
6
+ box-sizing: padding-box;
7
+ width:100%;
8
+ padding-bottom:20px;
9
+
10
+ > .deck-slide-scaler {
11
+ -webkit-transform-origin: 50% 0;
12
+ -ms-transform-origin: 50% 0;
13
+ transform-origin: 50% 0;
14
+ }
15
+ }
16
+ }
17
+
18
+ .csstransforms .deck-container.deck-menu .deck-slide-scaler {
19
+ -webkit-transform:none !important;
20
+ -ms-transform:none !important;
21
+ transform:none !important;
22
+ }
@@ -0,0 +1,18 @@
1
+ .deck-status {
2
+ position: absolute;
3
+ bottom: 10px;
4
+ right: 5px;
5
+ color: #888;
6
+ z-index: 3;
7
+ margin: 0;
8
+ }
9
+
10
+ body > .deck-container .deck-status {
11
+ position: fixed;
12
+ }
13
+
14
+ @media print {
15
+ .deck-status {
16
+ display: none;
17
+ }
18
+ }
@@ -0,0 +1,6 @@
1
+ <!-- Place the following snippet at the bottom of the deck container. -->
2
+ <p class="deck-status" aria-role="status">
3
+ <span class="deck-status-current"></span>
4
+ /
5
+ <span class="deck-status-total"></span>
6
+ </p>
@@ -0,0 +1,108 @@
1
+ /*!
2
+ Deck JS - deck.status
3
+ Copyright (c) 2011-2014 Caleb Troughton
4
+ Dual licensed under the MIT license.
5
+ https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt
6
+ */
7
+
8
+ /*
9
+ This module adds a (current)/(total) style status indicator to the deck.
10
+ */
11
+ (function($, undefined) {
12
+ var $document = $(document);
13
+ var rootCounter;
14
+
15
+ var updateCurrent = function(event, from, to) {
16
+ var options = $.deck('getOptions');
17
+ var currentSlideNumber = to + 1;
18
+ if (!options.countNested) {
19
+ currentSlideNumber = $.deck('getSlide', to).data('rootSlide');
20
+ }
21
+ $(options.selectors.statusCurrent).text(currentSlideNumber);
22
+ };
23
+
24
+ var markRootSlides = function() {
25
+ var options = $.deck('getOptions');
26
+ var slideTest = $.map([
27
+ options.classes.before,
28
+ options.classes.previous,
29
+ options.classes.current,
30
+ options.classes.next,
31
+ options.classes.after
32
+ ], function(el, i) {
33
+ return '.' + el;
34
+ }).join(', ');
35
+
36
+ rootCounter = 0;
37
+ $.each($.deck('getSlides'), function(i, $slide) {
38
+ var $parentSlides = $slide.parentsUntil(
39
+ options.selectors.container,
40
+ slideTest
41
+ );
42
+
43
+ if ($parentSlides.length) {
44
+ $slide.data('rootSlide', $parentSlides.last().data('rootSlide'));
45
+ }
46
+ else {
47
+ ++rootCounter;
48
+ $slide.data('rootSlide', rootCounter);
49
+ }
50
+ });
51
+ };
52
+
53
+ var setInitialSlideNumber = function() {
54
+ var slides = $.deck('getSlides');
55
+ var $currentSlide = $.deck('getSlide');
56
+ var index;
57
+
58
+ $.each(slides, function(i, $slide) {
59
+ if ($slide === $currentSlide) {
60
+ index = i;
61
+ return false;
62
+ }
63
+ });
64
+ updateCurrent(null, index, index);
65
+ };
66
+
67
+ var setTotalSlideNumber = function() {
68
+ var options = $.deck('getOptions');
69
+ var slides = $.deck('getSlides');
70
+
71
+ if (options.countNested) {
72
+ $(options.selectors.statusTotal).text(slides.length);
73
+ }
74
+ else {
75
+ $(options.selectors.statusTotal).text(rootCounter);
76
+ }
77
+ };
78
+
79
+ /*
80
+ Extends defaults/options.
81
+
82
+ options.selectors.statusCurrent
83
+ The element matching this selector displays the current slide number.
84
+
85
+ options.selectors.statusTotal
86
+ The element matching this selector displays the total number of slides.
87
+
88
+ options.countNested
89
+ If false, only top level slides will be counted in the current and
90
+ total numbers.
91
+ */
92
+ $.extend(true, $.deck.defaults, {
93
+ selectors: {
94
+ statusCurrent: '.deck-status-current',
95
+ statusTotal: '.deck-status-total'
96
+ },
97
+
98
+ countNested: true
99
+ });
100
+
101
+ $document.bind('deck.init', function() {
102
+ markRootSlides();
103
+ setInitialSlideNumber();
104
+ setTotalSlideNumber();
105
+ });
106
+ $document.bind('deck.change', updateCurrent);
107
+ })(jQuery, 'deck');
108
+
@@ -0,0 +1,18 @@
1
+ .deck-status {
2
+ position:absolute;
3
+ bottom:10px;
4
+ right:5px;
5
+ color:#888;
6
+ z-index:3;
7
+ margin:0;
8
+ }
9
+
10
+ body > .deck-container .deck-status {
11
+ position:fixed;
12
+ }
13
+
14
+ @media print {
15
+ .deck-status {
16
+ display:none;
17
+ }
18
+ }
@@ -0,0 +1,4 @@
1
+ /* Modernizr 2.0.6 (Custom Build) | MIT & BSD
2
+ * Contains: fontface | backgroundsize | borderimage | borderradius | boxshadow | flexbox | hsla | multiplebgs | opacity | rgba | textshadow | cssanimations | csscolumns | generatedcontent | cssgradients | cssreflections | csstransforms | csstransforms3d | csstransitions | applicationcache | canvas | canvastext | draganddrop | hashchange | history | audio | video | indexeddb | input | inputtypes | localstorage | postmessage | sessionstorage | websockets | websqldatabase | webworkers | geolocation | inlinesvg | smil | svg | svgclippaths | touch | webgl | iepp | cssclasses | addtest | teststyles | testprop | testallprops | hasevent | prefixes | domprefixes | load
3
+ */
4
+ ;window.Modernizr=function(a,b,c){function H(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=a[b]in l;return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function F(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return E(d,b)}function E(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function D(a,b){return!!~(""+a).indexOf(b)}function C(a,b){return typeof a===b}function B(a,b){return A(o.join(a+";")+(b||""))}function A(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},w=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),x,y={}.hasOwnProperty,z;!C(y,c)&&!C(y.call,c)?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)};var G=function(c,d){var f=c.join(""),g=d.length;v(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||j.touch.offsetTop===9,e.csstransforms3d=j.csstransforms3d.offsetLeft===9,e.generatedcontent=j.generatedcontent.offsetHeight>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",o.join("touch-enabled),("),i,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'";visibility:hidden}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!C(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return e.touch},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b].toLowerCase()+"IndexedDB"])return!0;return!!a.indexedDB},r.hashchange=function(){return w("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){return w("dragstart")&&w("drop")},r.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(https://),url(https://),red url(https://)");return/(url\s*\(.*?){3}/.test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius")},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d);return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){return e.fontface},r.generatedcontent=function(){return e.generatedcontent},r.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}}catch(e){}return c},r.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}catch(d){}return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var I in r)z(r,I)&&(x=I.toLowerCase(),e[x]=r[I](),u.push((e[x]?"":"no-")+x));e.input||H(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)z(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return;b=typeof b=="boolean"?b:!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},A(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=o,e._domPrefixes=p,e.hasEvent=w,e.testProp=function(a){return E([a])},e.testAllProps=F,e.testStyles=v,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+u.join(" "):"");return e}(this,this.document),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
@@ -0,0 +1,300 @@
1
+ /* Resets and base styles from HTML5 Boilerplate */
2
+ div, span, object, iframe,
3
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
4
+ abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
5
+ small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
6
+ fieldset, form, label, legend,
7
+ table, caption, tbody, tfoot, thead, tr, th, td,
8
+ article, aside, canvas, details, figcaption, figure,
9
+ footer, header, hgroup, menu, nav, section, summary,
10
+ time, mark, audio, video {
11
+ margin: 0;
12
+ padding: 0;
13
+ border: 0;
14
+ font-size: 100%;
15
+ font: inherit;
16
+ vertical-align: baseline;
17
+ }
18
+
19
+ article, aside, details, figcaption, figure,
20
+ footer, header, hgroup, menu, nav, section {
21
+ display: block;
22
+ }
23
+
24
+ blockquote, q {
25
+ quotes:none;
26
+
27
+ &:before, &:after {
28
+ content:"";
29
+ content:none;
30
+ }
31
+ }
32
+
33
+ ins {
34
+ background-color:#ff9;
35
+ color:#000;
36
+ text-decoration:none;
37
+ }
38
+
39
+ mark {
40
+ background-color:#ff9;
41
+ color:#000;
42
+ font-style:italic;
43
+ font-weight:bold;
44
+ }
45
+
46
+ del {
47
+ text-decoration:line-through;
48
+ }
49
+
50
+ abbr[title], dfn[title] {
51
+ border-bottom:1px dotted;
52
+ cursor:help;
53
+ }
54
+
55
+ table {
56
+ border-collapse:collapse;
57
+ border-spacing:0;
58
+ }
59
+
60
+ hr {
61
+ display:block;
62
+ height:1px;
63
+ border:0;
64
+ border-top:1px solid #ccc;
65
+ margin:1em 0;
66
+ padding:0;
67
+ }
68
+
69
+ input, select {
70
+ vertical-align:middle;
71
+ }
72
+
73
+ select, input, textarea, button {
74
+ font:99% sans-serif;
75
+ }
76
+
77
+ pre, code, kbd, samp {
78
+ font-family:monospace, sans-serif;
79
+ }
80
+
81
+ a {
82
+ -webkit-tap-highlight-color:rgba(0,0,0,0);
83
+
84
+ &:hover, &:active {
85
+ outline:none;
86
+ }
87
+ }
88
+
89
+ ul, ol {
90
+ margin-left:2em;
91
+ vertical-align:top;
92
+ }
93
+
94
+ ol {
95
+ list-style-type:decimal;
96
+ }
97
+
98
+ nav {
99
+ ul, li {
100
+ margin:0;
101
+ list-style:none;
102
+ list-style-image:none;
103
+ }
104
+ }
105
+
106
+ small {
107
+ font-size:85%;
108
+ }
109
+
110
+ strong, th {
111
+ font-weight:bold;
112
+ }
113
+
114
+ td {
115
+ vertical-align:top;
116
+ }
117
+
118
+ sub, sup {
119
+ font-size:75%;
120
+ line-height:0;
121
+ position:relative;
122
+ }
123
+
124
+ sup {
125
+ top:-0.5em;
126
+ }
127
+
128
+ sub { bottom: -0.25em; }
129
+
130
+ textarea {
131
+ overflow:auto;
132
+ }
133
+
134
+ input[type="radio"] {
135
+ vertical-align:text-bottom;
136
+ }
137
+
138
+ input[type="checkbox"] {
139
+ vertical-align:bottom;
140
+ }
141
+
142
+ label,
143
+ input[type="button"],
144
+ input[type="submit"],
145
+ input[type="image"],
146
+ button {
147
+ cursor:pointer;
148
+ }
149
+
150
+ button, input, select, textarea {
151
+ margin: 0;
152
+ }
153
+
154
+ input, textarea {
155
+ &:invalid {
156
+ border-radius:1px;
157
+ -moz-box-shadow:0px 0px 5px red;
158
+ -webkit-box-shadow:0px 0px 5px red;
159
+ box-shadow: 0px 0px 5px red;
160
+
161
+ .no-boxshadow {
162
+ background-color: #f0dddd;
163
+ }
164
+ }
165
+ }
166
+
167
+ button {
168
+ width:auto;
169
+ overflow:visible;
170
+ }
171
+
172
+ select, input, textarea {
173
+ color: #444 ;
174
+ }
175
+
176
+ a {
177
+ color:#607890;
178
+
179
+ &:hover, &:focus {
180
+ color:#036;
181
+ }
182
+
183
+ &:link {
184
+ -webkit-tap-highlight-color: #fff;
185
+ }
186
+ }
187
+ /* End HTML5 Boilerplate adaptations */
188
+
189
+ h1 {
190
+ font-size:4.5em;
191
+ }
192
+
193
+ h1, .vcenter {
194
+ font-weight:bold;
195
+ text-align:center;
196
+ padding-top:1em;
197
+ max-height:100%;
198
+
199
+ .csstransforms & {
200
+ padding:0 48px;
201
+ position:absolute;
202
+ left:0;
203
+ right:0;
204
+ top:50%;
205
+ -webkit-transform:translate(0, -50%);
206
+ -moz-transform:translate(0, -50%);
207
+ -ms-transform:translate(0, -50%);
208
+ -o-transform:translate(0, -50%);
209
+ transform:translate(0, -50%);
210
+ }
211
+ }
212
+
213
+ .vcenter h1 {
214
+ position:relative;
215
+ top:auto;
216
+ padding:0;
217
+ -webkit-transform:none;
218
+ -moz-transform:none;
219
+ -ms-transform:none;
220
+ -o-transform:none;
221
+ transform:none;
222
+ }
223
+
224
+ h2 {
225
+ font-size:2.25em;
226
+ font-weight:bold;
227
+ padding-top:.5em;
228
+ margin:0 0 .66666em 0;
229
+ border-bottom:3px solid #888;
230
+ }
231
+
232
+ h3 {
233
+ font-size:1.4375em;
234
+ font-weight:bold;
235
+ margin-bottom:.30435em;
236
+ }
237
+
238
+ h4 {
239
+ font-size:1.25em;
240
+ font-weight:bold;
241
+ margin-bottom:.25em;
242
+ }
243
+
244
+ h5 {
245
+ font-size:1.125em;
246
+ font-weight:bold;
247
+ margin-bottom:.2222em;
248
+ }
249
+
250
+ h6 {
251
+ font-size:1em;
252
+ font-weight:bold;
253
+ }
254
+
255
+ img, iframe, video {
256
+ display:block;
257
+ max-width:100%;
258
+ }
259
+
260
+ video, iframe, img {
261
+ display:block;
262
+ margin:0 auto;
263
+ }
264
+
265
+ p, blockquote, iframe, img, ul, ol, pre, video {
266
+ margin-bottom:1em;
267
+ }
268
+
269
+ pre {
270
+ white-space:pre;
271
+ white-space:pre-wrap;
272
+ word-wrap:break-word;
273
+ padding: 1em;
274
+ border:1px solid #888;
275
+ }
276
+
277
+ em {
278
+ font-style:italic;
279
+ }
280
+
281
+ li {
282
+ padding:.25em 0;
283
+ vertical-align:middle;
284
+
285
+ > ol, > ul {
286
+ margin-bottom:inherit;
287
+ }
288
+ }
289
+
290
+ .deck-container {
291
+ font-size:16px;
292
+ line-height:1.25;
293
+ color:#444;
294
+ }
295
+
296
+ .slide {
297
+ -moz-box-sizing: border-box;
298
+ box-sizing: border-box;
299
+ width:100%;
300
+ }