18
|
1 @import "base";
|
|
2 @import "compass/css3/columns";
|
|
3 @import "compass/css3/user-interface";
|
|
4
|
|
5 $social-tags: '#yourhashtag';
|
|
6 $brand-small-icon-size: 30px;
|
|
7
|
|
8 $gray-1: #e6e6e6;
|
|
9 $gray-2: #a9a9a9;
|
|
10 $gray-3: #797979;
|
|
11 $gray-4: #515151;
|
|
12
|
|
13 $brand-blue: rgb(67, 135, 253);
|
|
14 $brand-blue-secondary: #3c8ef3;
|
|
15 $brand-blue-secondary2: #2a7cdf;
|
|
16
|
|
17 $brand-red: rgb(244, 74, 63);
|
|
18 $brand-red-secondary: #e0543e;
|
|
19 $brand-red-secondary2: #d94d3a;
|
|
20
|
|
21 $brand-yellow: rgb(255, 209, 77);
|
|
22 $brand-yellow-secondary: #f9cc46;
|
|
23 $brand-yellow-secondary2: #f6c000;
|
|
24
|
|
25 $brand-green: rgb(13, 168, 97);
|
|
26 $brand-green-secondary: #00a86d;
|
|
27 $brand-green-secondary2: #009f5d;
|
|
28
|
|
29 $slide-width: 900px;
|
|
30 $slide-height: 700px;
|
|
31 $slide-width-widescreen: 1100px;
|
|
32 $slide-top-bottom-padding: 40px;
|
|
33 $slide-left-right-padding: 60px;
|
|
34 $slide-border-radius: 5px;
|
|
35
|
|
36 $slide-tap-area-width: 100px;
|
|
37
|
|
38 $article-content-top-padding: 45px;
|
|
39
|
|
40 @mixin highlight-color($color: $brand-yellow) {
|
|
41 -webkit-tap-highlight-color: $color;
|
|
42 -moz-tap-highlight-color: $color;
|
|
43 -ms-tap-highlight-color: $color;
|
|
44 -o-tap-highlight-color: $color;
|
|
45 tap-highlight-color: $color;
|
|
46 }
|
|
47
|
|
48 @mixin backdrop {
|
|
49 @include background(linear-gradient(white, white 85%, $gray-1));
|
|
50 background-color: white;
|
|
51 }
|
|
52
|
|
53
|
|
54
|
|
55 /**
|
|
56 * Theme Styles
|
|
57 */
|
|
58 ::selection {
|
|
59 color: white;
|
|
60 background-color: $brand-yellow;
|
|
61 @include text-shadow(none);
|
|
62 }
|
|
63
|
|
64 ::-webkit-scrollbar {
|
|
65 height: 16px;
|
|
66 overflow: visible;
|
|
67 width: 16px;
|
|
68 }
|
|
69 ::-webkit-scrollbar-thumb {
|
|
70 background-color: rgba(0, 0, 0, .1);
|
|
71 background-clip: padding-box;
|
|
72 border: solid transparent;
|
|
73 min-height: 28px;
|
|
74 padding: 100px 0 0;
|
|
75 @include box-shadow(inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07));
|
|
76 border-width: 1px 1px 1px 6px;
|
|
77 }
|
|
78 ::-webkit-scrollbar-thumb:hover {
|
|
79 background-color: rgba(0, 0, 0, 0.5);
|
|
80 }
|
|
81 ::-webkit-scrollbar-button {
|
|
82 height: 0;
|
|
83 width: 0;
|
|
84 }
|
|
85 ::-webkit-scrollbar-track {
|
|
86 background-clip: padding-box;
|
|
87 border: solid transparent;
|
|
88 border-width: 0 0 0 4px;
|
|
89 }
|
|
90 ::-webkit-scrollbar-corner {
|
|
91 background: transparent;
|
|
92 }
|
|
93
|
|
94 body {
|
|
95 background: black;
|
|
96 }
|
|
97
|
|
98 slides > slide {
|
|
99 display: none;
|
|
100 font-family: 'Open Sans', Arial, sans-serif;
|
|
101 font-size: 26px;
|
|
102 color: $gray-3;
|
|
103 //@include background(linear-gradient(white, white 85%, $gray-1));
|
|
104 //background-color: white;
|
|
105 width: $slide-width;
|
|
106 height: $slide-height;
|
|
107 margin-left: -$slide-width / 2;
|
|
108 margin-top: -$slide-height / 2;
|
|
109 padding: $slide-top-bottom-padding $slide-left-right-padding;
|
|
110
|
|
111 @include border-radius($slide-border-radius);
|
|
112 //@include box-shadow(5px 5px 20px $gray-4);
|
|
113 @include transition(all 0.6s ease-in-out);
|
|
114
|
|
115 //$translateX: 1020px;
|
|
116 //$rotateY: 30deg;
|
|
117 //$rotateX: 45deg;
|
|
118
|
|
119 &.far-past {
|
|
120 //display: block;
|
|
121 display: none;
|
|
122 //@include transform(translate(-$translateX * 2));
|
|
123 //@include transform(translate3d(-$translateX * 2, 0, 0));
|
|
124 }
|
|
125
|
|
126 &.past {
|
|
127 display: block;
|
|
128 //@include transform(translate(-$translateX) rotateY($rotateY) rotateX($rotateX));
|
|
129 //@include transform(translate3d(-$translateX, 0, 0) rotateY($rotateY) rotateX($rotateX));
|
|
130 opacity: 0;
|
|
131 }
|
|
132
|
|
133 &.current {
|
|
134 display: block;
|
|
135 //@include transform(translate(0));
|
|
136 //@include transform(translate3d(0, 0, 0));
|
|
137 opacity: 1;
|
|
138
|
|
139 .auto-fadein {
|
|
140 opacity: 1;
|
|
141 }
|
|
142
|
|
143 .gdbar {
|
|
144 @include background-size(100% 100%);
|
|
145 }
|
|
146 }
|
|
147
|
|
148 &.next {
|
|
149 display: block;
|
|
150 //@include transform(translate($translateX) rotateY(-$rotateY) rotateX($rotateX));
|
|
151 //@include transform(translate3d($translateX, 0, 0) rotateY(-$rotateY) rotateX($rotateX));
|
|
152 opacity: 0;
|
|
153 pointer-events: none;
|
|
154 }
|
|
155
|
|
156 &.far-next {
|
|
157 //display: block;
|
|
158 display: none;
|
|
159 //@include transform(translate($translateX * 2));
|
|
160 //@include transform(translate3d($translateX * 2, 0, 0));
|
|
161 }
|
|
162
|
|
163 &.dark {
|
|
164 background: $gray-4 !important;
|
|
165 }
|
|
166
|
|
167 &:not(.nobackground) {
|
|
168 //background: white url(../../images/google_developers_icon_128.png) ($brand-small-icon-size * 2) 98% no-repeat;
|
|
169 //@include background-size($brand-small-icon-size $brand-small-icon-size);
|
|
170
|
|
171 &:before {
|
|
172 font-size: 12pt;
|
|
173 content: $social-tags;
|
|
174 position: absolute;
|
|
175 bottom: $slide-top-bottom-padding / 2;
|
|
176 left: $slide-left-right-padding;
|
|
177 background: url(../../images/google_developers_icon_128.png) no-repeat 0 50%;
|
|
178 @include background-size($brand-small-icon-size $brand-small-icon-size);
|
|
179 padding-left: $brand-small-icon-size + 10;
|
|
180 height: $brand-small-icon-size;
|
|
181 line-height: 1.9;
|
|
182 }
|
|
183 &:after {
|
|
184 font-size: 12pt;
|
|
185 content: attr(data-slide-num) '/' attr(data-total-slides);
|
|
186 position: absolute;
|
|
187 bottom: $slide-top-bottom-padding / 2;
|
|
188 right: $slide-left-right-padding;
|
|
189 line-height: 1.9;
|
|
190 }
|
|
191 }
|
|
192
|
|
193 &.title-slide {
|
|
194 &:after {
|
|
195 content: '';
|
|
196 background: url(../../images/io2012_logo.png) no-repeat 100% 50%;
|
|
197 @include background-size(contain);
|
|
198 position: absolute;
|
|
199 bottom: $slide-top-bottom-padding;
|
|
200 right: $slide-top-bottom-padding;
|
|
201 width: 100%;
|
|
202 height: 60px;
|
|
203 }
|
|
204 }
|
|
205
|
|
206 &.backdrop {
|
|
207 z-index: -10;
|
|
208 display: block !important;
|
|
209 @include backdrop;
|
|
210
|
|
211 &:after, &:before {
|
|
212 display: none; // Prevent double set of slide nums and footer icons.
|
|
213 }
|
|
214 }
|
|
215
|
|
216 > hgroup + article {
|
|
217 margin-top: $article-content-top-padding;
|
|
218
|
|
219 &.flexbox {
|
|
220 &.vcenter, &.vleft, &.vright {
|
|
221 height: 80%;
|
|
222 }
|
|
223 }
|
|
224
|
|
225 p {
|
|
226 margin-bottom: 1em;
|
|
227 }
|
|
228 }
|
|
229
|
|
230 > article:only-child {
|
|
231 height: 100%;
|
|
232
|
|
233 > iframe {
|
|
234 height: 98%;
|
|
235 }
|
|
236 }
|
|
237 }
|
|
238
|
|
239 slides.layout-faux-widescreen > slide {
|
|
240 padding: $slide-top-bottom-padding 160px;
|
|
241 }
|
|
242
|
|
243 slides.layout-widescreen,
|
|
244 slides.layout-faux-widescreen {
|
|
245
|
|
246 $translateX: 1130px;
|
|
247
|
|
248 > slide {
|
|
249 margin-left: -$slide-width-widescreen / 2;
|
|
250 width: $slide-width-widescreen;
|
|
251 }
|
|
252
|
|
253 > slide.far-past {
|
|
254 display: block;
|
|
255 display: none;
|
|
256 @include transform(translate(-$translateX * 2));
|
|
257 @include transform(translate3d(-$translateX * 2, 0, 0));
|
|
258 }
|
|
259
|
|
260 > slide.past {
|
|
261 display: block;
|
|
262 //@include transform(translate(-$translateX));
|
|
263 //@include transform(translate3d(-$translateX, 0, 0));
|
|
264 opacity: 0;
|
|
265 }
|
|
266
|
|
267 > slide.current {
|
|
268 display: block;
|
|
269 //@include transform(translate(0));
|
|
270 //@include transform(translate3d(0, 0, 0));
|
|
271 opacity: 1;
|
|
272 }
|
|
273
|
|
274 > slide.next {
|
|
275 display: block;
|
|
276 //@include transform(translate($translateX));
|
|
277 //@include transform(translate3d($translateX, 0, 0));
|
|
278 opacity: 0;
|
|
279 pointer-events: none;
|
|
280 }
|
|
281
|
|
282 > slide.far-next {
|
|
283 display: block;
|
|
284 display: none;
|
|
285 @include transform(translate($translateX * 2));
|
|
286 @include transform(translate3d($translateX * 2, 0, 0));
|
|
287 }
|
|
288
|
|
289 #prev-slide-area {
|
|
290 margin-left: -$slide-width-widescreen / 2 - $slide-tap-area-width;
|
|
291 }
|
|
292
|
|
293 #next-slide-area {
|
|
294 margin-left: $slide-width-widescreen / 2;
|
|
295 }
|
|
296 }
|
|
297
|
|
298 b {
|
|
299 font-weight: 600;
|
|
300 }
|
|
301
|
|
302 a {
|
|
303 color: $brand-blue-secondary2;
|
|
304 text-decoration: none;
|
|
305 border-bottom: 1px solid rgba(42, 124, 223, 0.5);
|
|
306
|
|
307 &:hover {
|
|
308 color: black !important;
|
|
309 }
|
|
310 }
|
|
311
|
|
312 h1, h2, h3 {
|
|
313 font-weight: 600;
|
|
314 }
|
|
315
|
|
316 h2 {
|
|
317 font-size: 45px;
|
|
318 line-height: 45px;
|
|
319 letter-spacing: -2px;
|
|
320 color: $gray-4;
|
|
321 }
|
|
322
|
|
323 h3 {
|
|
324 font-size: 30px;
|
|
325 letter-spacing: -1px;
|
|
326 line-height: 2;
|
|
327 font-weight: inherit;
|
|
328 color: $gray-3;
|
|
329 }
|
|
330
|
|
331 ul {
|
|
332 margin-left: 1.2em;
|
|
333 margin-bottom: 1em;
|
|
334 position: relative;
|
|
335
|
|
336 li {
|
|
337 margin-bottom: 0.5em;
|
|
338
|
|
339 ul {
|
|
340 margin-left: 2em;
|
|
341 margin-bottom: 0;
|
|
342
|
|
343 li:before {
|
|
344 content: '-';
|
|
345 font-weight: 600;
|
|
346 }
|
|
347 }
|
|
348 }
|
|
349
|
|
350 > li:before {
|
|
351 content: '·';
|
|
352 margin-left: -1em;
|
|
353 position: absolute;
|
|
354 font-weight: 600;
|
|
355 }
|
|
356
|
|
357 ul {
|
|
358 margin-top: .5em;
|
|
359 }
|
|
360 }
|
|
361
|
|
362 // Code highlighting only effects the current slide.
|
|
363 .highlight-code slide.current {
|
|
364 pre > * {
|
|
365 opacity: 0.25;
|
|
366 @include transition(opacity 0.5s ease-in);
|
|
367 }
|
|
368 b {
|
|
369 opacity: 1;
|
|
370 }
|
|
371 }
|
|
372
|
|
373 pre {
|
|
374 font-family: 'Source Code Pro', 'Courier New', monospace;
|
|
375 font-size: 20px;
|
|
376 line-height: 28px;
|
|
377 padding: 10px 0 10px $slide-left-right-padding;
|
|
378 letter-spacing: -1px;
|
|
379 margin-bottom: 20px;
|
|
380 width: 106%;
|
|
381 background-color: $gray-1;
|
|
382 left: -$slide-left-right-padding;
|
|
383 position: relative;
|
|
384 @include box-sizing(border-box);
|
|
385 /*overflow: hidden;*/
|
|
386
|
|
387 &[data-lang]:after {
|
|
388 content: attr(data-lang);
|
|
389 background-color: $gray-2;
|
|
390 right: 0;
|
|
391 top: 0;
|
|
392 position: absolute;
|
|
393 font-size: 16pt;
|
|
394 color: white;
|
|
395 padding: 2px 25px;
|
|
396 text-transform: uppercase;
|
|
397 }
|
|
398 }
|
|
399
|
|
400 pre[data-lang="go"] {
|
|
401 color: #333;
|
|
402 }
|
|
403
|
|
404 code {
|
|
405 font-size: 95%;
|
|
406 font-family: 'Source Code Pro', 'Courier New', monospace;
|
|
407 color: black;
|
|
408 }
|
|
409
|
|
410 iframe {
|
|
411 width: 100%;
|
|
412 height: $slide-height - ($slide-top-bottom-padding * 2) - ($article-content-top-padding * 2);
|
|
413 background: white;
|
|
414 border: 1px solid $gray-1;
|
|
415 @include box-sizing(border-box);
|
|
416 }
|
|
417
|
|
418 dt {
|
|
419 font-weight: bold;
|
|
420 }
|
|
421
|
|
422 button {
|
|
423 display: inline-block;
|
|
424 @include background(linear-gradient(#F9F9F9 40%, #E3E3E3 70%));
|
|
425 border: 1px solid $gray-2;
|
|
426 @include border-radius(3px);
|
|
427 padding: 5px 8px;
|
|
428 outline: none;
|
|
429 white-space: nowrap;
|
|
430 @include user-select(none);
|
|
431 cursor: pointer;
|
|
432 @include text-shadow(1px 1px #fff);
|
|
433 font-size: 10pt;
|
|
434 }
|
|
435
|
|
436 button:not(:disabled):hover {
|
|
437 border-color: $gray-4;
|
|
438 }
|
|
439
|
|
440 button:not(:disabled):active {
|
|
441 @include background(linear-gradient(#E3E3E3 40%, #F9F9F9 70%));
|
|
442 }
|
|
443
|
|
444 :disabled {
|
|
445 color: $gray-2;
|
|
446 }
|
|
447
|
|
448 .blue {
|
|
449 color: $brand-blue;
|
|
450 }
|
|
451 .blue2 {
|
|
452 color: $brand-blue-secondary;
|
|
453 }
|
|
454 .blue3 {
|
|
455 color: $brand-blue-secondary2;
|
|
456 }
|
|
457 .yellow {
|
|
458 color: $brand-yellow;
|
|
459 }
|
|
460 .yellow2 {
|
|
461 color: $brand-yellow-secondary;
|
|
462 }
|
|
463 .yellow3 {
|
|
464 color: $brand-yellow-secondary2;
|
|
465 }
|
|
466 .green {
|
|
467 color: $brand-green;
|
|
468 }
|
|
469 .green2 {
|
|
470 color: $brand-green-secondary;
|
|
471 }
|
|
472 .green3 {
|
|
473 color: $brand-green-secondary2;
|
|
474 }
|
|
475 .red {
|
|
476 color: $brand-red;
|
|
477 }
|
|
478 .red2 {
|
|
479 color: $brand-red-secondary;
|
|
480 }
|
|
481 .red3 {
|
|
482 color: $brand-red-secondary2;
|
|
483 }
|
|
484 .gray {
|
|
485 color: $gray-1;
|
|
486 }
|
|
487 .gray2 {
|
|
488 color: $gray-2;
|
|
489 }
|
|
490 .gray3 {
|
|
491 color: $gray-3;
|
|
492 }
|
|
493 .gray4 {
|
|
494 color: $gray-4;
|
|
495 }
|
|
496
|
|
497 .white {
|
|
498 color: white !important;
|
|
499 }
|
|
500 .black {
|
|
501 color: black !important;
|
|
502 }
|
|
503
|
|
504 .columns-2 {
|
|
505 @include column-count(2);
|
|
506 }
|
|
507
|
|
508 table {
|
|
509 width: 100%;
|
|
510 border-collapse: -moz-initial;
|
|
511 border-collapse: initial;
|
|
512 border-spacing: 2px;
|
|
513 border-bottom: 1px solid $gray-3;
|
|
514
|
|
515 tr > td:first-child, th {
|
|
516 font-weight: 600;
|
|
517 color: $gray-4;
|
|
518 }
|
|
519
|
|
520 tr:nth-child(odd) {
|
21
|
521 background-color: $gray-4;
|
18
|
522 }
|
|
523
|
|
524 th {
|
|
525 color: white;
|
|
526 font-size: 18px;
|
|
527 @include background(linear-gradient(top, $brand-blue 40%, $brand-blue-secondary2 80%) no-repeat);
|
|
528 }
|
|
529
|
|
530 td, th {
|
|
531 font-size: 18px;
|
|
532 padding: 1em 0.5em;
|
|
533 }
|
|
534
|
|
535 td.highlight {
|
|
536 color: $gray-4;
|
|
537 @include background(linear-gradient(top, $brand-yellow 40%, $brand-yellow-secondary2 80%) no-repeat);
|
|
538 }
|
|
539
|
|
540 &.rows {
|
|
541 border-bottom: none;
|
|
542 border-right: 1px solid $gray-3;
|
|
543 }
|
|
544 }
|
|
545
|
|
546 q {
|
|
547 font-size: 45px;
|
|
548 line-height: 72px;
|
|
549
|
|
550 &:before {
|
|
551 content: '“';
|
|
552 position: absolute;
|
|
553 margin-left: -0.5em;
|
|
554 }
|
|
555 &:after {
|
|
556 content: '”';
|
|
557 position: absolute;
|
|
558 margin-left: 0.1em;
|
|
559 }
|
|
560 }
|
|
561
|
|
562 slide.fill {
|
|
563 background-repeat: no-repeat;
|
|
564 @include border-radius($slide-border-radius);
|
|
565 @include background-size(cover);
|
|
566 }
|
|
567
|
|
568 /* Size variants */
|
|
569
|
|
570 article.smaller {
|
|
571 p, ul {
|
|
572 font-size: 20px;
|
|
573 line-height: 24px;
|
|
574 letter-spacing: 0;
|
|
575 }
|
|
576 table {
|
|
577 td, th {
|
|
578 font-size: 14px;
|
|
579 }
|
|
580 }
|
|
581 pre {
|
|
582 font-size: 15px;
|
|
583 line-height: 20px;
|
|
584 letter-spacing: 0;
|
|
585 }
|
|
586 q {
|
|
587 font-size: 40px;
|
|
588 line-height: 48px;
|
|
589
|
|
590 &:before, &:after {
|
|
591 font-size: 60px;
|
|
592 }
|
|
593 }
|
|
594 }
|
|
595
|
|
596 /* Builds */
|
|
597
|
|
598 .build {
|
|
599 > * {
|
|
600 @include transition(opacity 0.5s ease-in-out 0.2s);
|
|
601 }
|
|
602
|
|
603 .to-build {
|
|
604 opacity: 0;
|
|
605 }
|
|
606
|
|
607 .build-fade {
|
|
608 opacity: 0.3;
|
|
609
|
|
610 &:hover {
|
|
611 opacity: 1.0;
|
|
612 }
|
|
613 }
|
|
614 }
|
|
615
|
|
616 .popup .next .build {
|
|
617 .to-build {
|
|
618 opacity: 1;
|
|
619 }
|
|
620
|
|
621 .build-fade {
|
|
622 opacity: 1;
|
|
623 }
|
|
624 }
|
|
625
|
|
626 /* Pretty print */
|
|
627
|
|
628 .prettyprint .str, /* string content */
|
|
629 .prettyprint .atv { /* a markup attribute value */
|
|
630 color: $brand-green-secondary2; //rgb(0, 138, 53);
|
|
631 }
|
|
632 .prettyprint .kwd, /* a keyword */
|
|
633 .prettyprint .tag { /* a markup tag name */
|
|
634 color: rgb(0, 102, 204);
|
|
635 }
|
|
636 .prettyprint .com { /* a comment */
|
|
637 color: $gray-3; //rgb(127, 127, 127);
|
|
638 font-style: italic;
|
|
639 }
|
|
640 .prettyprint .lit { /* a literal value */
|
|
641 color: rgb(127, 0, 0);
|
|
642 }
|
|
643 .prettyprint .pun, /* punctuation, lisp open bracket, lisp close bracket */
|
|
644 .prettyprint .opn,
|
|
645 .prettyprint .clo {
|
|
646 color: $gray-4; //rgb(127, 127, 127);
|
|
647 }
|
|
648 .prettyprint .typ, /* a type name */
|
|
649 .prettyprint .atn, /* a markup attribute name */
|
|
650 .prettyprint .dec,
|
|
651 .prettyprint .var { /* a declaration; a variable name */
|
|
652 color: $brand-red-secondary2; //rgb(127, 0, 127);
|
|
653 }
|
|
654 .prettyprint .pln {
|
|
655 color: $gray-4;
|
|
656 }
|
|
657
|
|
658 .note {
|
|
659 position: absolute;
|
|
660 z-index: 100;
|
|
661 width: 100%;
|
|
662 height: 100%;
|
|
663 top: 0;
|
|
664 left: 0;
|
|
665 padding: 1em;
|
|
666 background: rgba(0, 0, 0, 0.3);
|
|
667 opacity: 0;
|
|
668 pointer-events: none;
|
|
669 @include flexbox;
|
|
670 @include flex-center-center;
|
|
671 @include border-radius($slide-border-radius);
|
|
672
|
|
673 @include box-sizing(border-box);
|
|
674 @include transform(translateY($slide-height / 2));@include transition(all 0.4s ease-in-out);
|
|
675
|
|
676 > section {
|
|
677 background: #fff;
|
|
678 @include border-radius($slide-border-radius);
|
|
679 @include box-shadow(0 0 10px $gray-3);
|
|
680 width: 60%;
|
|
681 padding: 2em;
|
|
682 }
|
|
683 }
|
|
684
|
|
685 // Speaker notes only show the current slide.
|
|
686 .with-notes {
|
|
687
|
|
688 &.popup {
|
|
689
|
|
690 slides.layout-widescreen,
|
|
691 slides.layout-faux-widescreen {
|
|
692 slide {
|
|
693 &.next {
|
|
694 @include transform(translate3d($slide-width-widescreen / 2 + 140, 80px, 0) scale(0.35));
|
|
695 }
|
|
696 .note {
|
|
697 @include transform(translate3d(300px, $slide-height + 100, 0) scale(1.5));
|
|
698 }
|
|
699 }
|
|
700 }
|
|
701
|
|
702 slide {
|
|
703 overflow: visible;
|
|
704 background: white;
|
|
705 @include transition(none); // No slide transition goodies when in presenter mode.
|
|
706 pointer-events: none;
|
|
707 @include transform-origin(0, 0); // For speaker note transition.
|
|
708
|
|
709 &:not(.backdrop) {
|
|
710 @include transform(scale(0.6) translate3d(0.5em, 0.5em, 0));
|
|
711 @include box-shadow(0 0 10px $gray-3);
|
|
712 }
|
|
713
|
|
714 &.backdrop {
|
|
715 //@include background(linear-gradient($gray-1, white 30%, white 60%, $gray-1));
|
|
716 @include background-image(radial-gradient(50% 50%, #b1dfff 0%,
|
|
717 $brand-blue 600px));
|
|
718 }
|
|
719
|
|
720 &.next {
|
|
721 @include transform(translate3d($slide-width / 2 + 120, 80px, 0) scale(0.35));
|
|
722 opacity: 1 !important;
|
|
723
|
|
724 .note {
|
|
725 display: none !important; // Prevents seeing notes if we go to previous slide.
|
|
726 }
|
|
727 }
|
|
728 }
|
|
729
|
|
730 .note {
|
|
731 width: 109%;
|
|
732 height: $slide-height / 2 - 90;
|
|
733 background: $gray-1;
|
|
734 padding: 0;
|
|
735
|
|
736 @include box-shadow(0 0 10px $gray-3);
|
|
737
|
|
738 @include transform(translate3d(250px, $slide-height + 100, 0) scale(1.5));
|
|
739 @include transition(opacity 400ms ease-in-out);
|
|
740
|
|
741 > section {
|
|
742 background: #fff;
|
|
743 @include border-radius($slide-border-radius);
|
|
744 height: 100%;
|
|
745 width: 100%;
|
|
746 @include box-sizing(border-box);
|
|
747 @include box-shadow(none);
|
|
748 overflow: auto;
|
|
749 padding: 1em;
|
|
750 }
|
|
751 }
|
|
752 }
|
|
753
|
|
754 .note {
|
|
755 opacity: 1;
|
|
756 @include transform(translateY(0));
|
|
757 pointer-events: auto; // Allow people to do things like open links embedded in the speaker notes.
|
|
758 }
|
|
759 }
|
|
760
|
|
761 .source {
|
|
762 font-size: 14px;
|
|
763 color: $gray-2;
|
|
764 position: absolute;
|
|
765 bottom: $slide-top-bottom-padding + 30px;
|
|
766 left: $slide-left-right-padding;
|
|
767 }
|
|
768
|
|
769 .centered {
|
|
770 text-align: center;
|
|
771 }
|
|
772
|
|
773 .reflect {
|
|
774 -webkit-box-reflect: below 3px -webkit-linear-gradient(rgba(255,255,255,0) 85%, white 150%);
|
|
775 -moz-box-reflect: below 3px -moz-linear-gradient(rgba(255,255,255,0) 85%, white 150%);
|
|
776 -o-box-reflect: below 3px -o-linear-gradient(rgba(255,255,255,0) 85%, white 150%);
|
|
777 -ms-box-reflect: below 3px -ms-linear-gradient(rgba(255,255,255,0) 85%, white 150%);
|
|
778 box-reflect: below 3px linear-gradient(rgba(255,255,255,0) 85%, white 150%);
|
|
779 }
|
|
780
|
|
781 .flexbox {
|
|
782 @include flexbox;
|
|
783 }
|
|
784
|
|
785 .flexbox.vcenter {
|
|
786 @include flex-center-center;
|
|
787 height: 100%;
|
|
788 width: 100%;
|
|
789 }
|
|
790
|
|
791 .flexbox.vleft {
|
|
792 @include flex-left-center;
|
|
793 height: 100%;
|
|
794 width: 100%;
|
|
795 }
|
|
796
|
|
797 .flexbox.vright {
|
|
798 @include flex-right-center;
|
|
799 height: 100%;
|
|
800 width: 100%;
|
|
801 }
|
|
802
|
|
803 .auto-fadein {
|
|
804 @include transition(opacity 0.6s ease-in 1s);
|
|
805 opacity: 0;
|
|
806 }
|
|
807
|
|
808 /* Clickable/tappable areas */
|
|
809 .slide-area {
|
|
810 z-index: 1000;
|
|
811
|
|
812 position: absolute;
|
|
813 left: 0;
|
|
814 top: 0;
|
|
815 width: $slide-tap-area-width;
|
|
816 height: $slide-height;
|
|
817
|
|
818 left: 50%;
|
|
819 top: 50%;
|
|
820
|
|
821 cursor: pointer;
|
|
822 margin-top: -$slide-height / 2;
|
|
823
|
|
824 //@include highlight-color(rgba(51, 51, 51, 0.5));
|
|
825 }
|
|
826 #prev-slide-area {
|
|
827 margin-left: -$slide-width-widescreen / 2;
|
|
828 //@include border-radius(10px 0 0 10px);
|
|
829 //@include box-shadow(-5px 0 10px #222 inset);
|
|
830 }
|
|
831 #next-slide-area {
|
|
832 margin-left: $slide-width / 2;
|
|
833 //@include border-radius(0 10px 10px 0);
|
|
834 //@include box-shadow(5px 0 10px #222 inset);
|
|
835 }
|
|
836
|
|
837 /* ===== SLIDE CONTENT ===== */
|
|
838 .logoslide {
|
|
839 img {
|
|
840 width: 383px;
|
|
841 height: 92px;
|
|
842 }
|
|
843 }
|
|
844
|
|
845 .segue {
|
|
846 padding: $slide-left-right-padding $slide-left-right-padding * 2;
|
|
847
|
|
848 h2 {
|
|
849 color: $gray-1;
|
|
850 font-size: 60px;
|
|
851 }
|
|
852 h3 {
|
|
853 color: $gray-1;
|
|
854 line-height: 2.8;
|
|
855 }
|
|
856 hgroup {
|
|
857 position: absolute;
|
|
858 bottom: 225px;
|
|
859 }
|
|
860 }
|
|
861
|
|
862 .thank-you-slide {
|
|
863 background: $brand-blue !important;
|
|
864 color: white;
|
|
865
|
|
866 h2 {
|
|
867 font-size: 60px;
|
|
868 color: inherit;
|
|
869 }
|
|
870
|
|
871 article > p {
|
|
872 margin-top: 2em;
|
|
873 font-size: 20pt;
|
|
874 }
|
|
875
|
|
876 > p {
|
|
877 position: absolute;
|
|
878 bottom: $slide-top-bottom-padding * 2;
|
|
879 font-size: 24pt;
|
|
880 line-height: 1.3;
|
|
881 }
|
|
882 }
|
|
883
|
|
884 aside.gdbar {
|
|
885 height: 97px;
|
|
886 width: 215px;
|
|
887 position: absolute;
|
|
888 left: -1px;
|
|
889 top: 125px;
|
|
890 @include border-radius(0 10px 10px 0);
|
|
891 @include background(linear-gradient(left, $gray-1, $gray-1) no-repeat);
|
|
892 @include background-size(0% 100%);
|
|
893 @include transition(all 0.5s ease-out 0.5s); /* Better to transition only on background-size, but not sure how to do that with the mixin. */
|
|
894
|
|
895 &.right {
|
|
896 right: 0;
|
|
897 left: -moz-initial;
|
|
898 left: initial;
|
|
899 top: ($slide-height / 2) - 96; /* 96 is height of gray icon bar */
|
|
900 @include transform(rotateZ(180deg));
|
|
901
|
|
902 img {
|
|
903 @include transform(rotateZ(180deg));
|
|
904 }
|
|
905 }
|
|
906
|
|
907 &.bottom {
|
|
908 top: -moz-initial;
|
|
909 top: initial;
|
|
910 bottom: $slide-left-right-padding;
|
|
911 }
|
|
912
|
|
913 img {
|
|
914 width: 85px;
|
|
915 height: 85px;
|
|
916 position: absolute;
|
|
917 right: 0;
|
|
918 margin: 8px 15px;
|
|
919 }
|
|
920 }
|
|
921
|
|
922 .title-slide {
|
|
923
|
|
924 hgroup {
|
|
925 bottom: 100px;
|
|
926
|
|
927 h1 {
|
|
928 font-size: 65px;
|
|
929 line-height: 1.4;
|
|
930 letter-spacing: -3px;
|
|
931 color: $gray-4;
|
|
932 }
|
|
933
|
|
934 h2 {
|
|
935 font-size: 34px;
|
|
936 color: $gray-2;
|
|
937 font-weight: inherit;
|
|
938 }
|
|
939
|
|
940 p {
|
|
941 font-size: 20px;
|
|
942 color: $gray-3;
|
|
943 line-height: 1.3;
|
|
944 margin-top: 2em;
|
|
945 }
|
|
946 }
|
|
947 }
|
|
948
|
|
949 .quote {
|
|
950 color: $gray-1;
|
|
951
|
|
952 .author {
|
|
953 font-size: 24px;
|
|
954 position: absolute;
|
|
955 bottom: 80px;
|
|
956 line-height: 1.4;
|
|
957 }
|
|
958 }
|
|
959
|
|
960 [data-config-contact] {
|
|
961 a {
|
|
962 color: rgb(255, 255, 255);
|
|
963 border-bottom: none;
|
|
964 }
|
|
965 span {
|
|
966 width: 115px;
|
|
967 display: inline-block;
|
|
968 }
|
|
969 }
|
|
970
|
|
971 .overview {
|
|
972
|
|
973 &.popup {
|
|
974 .note {
|
|
975 display: none !important;
|
|
976 }
|
|
977 }
|
|
978
|
|
979 slides {
|
|
980 slide {
|
|
981 &.backdrop {
|
|
982 display: none !important;
|
|
983 }
|
|
984
|
|
985 display: block;
|
|
986 cursor: pointer;
|
|
987 opacity: 0.5;
|
|
988 pointer-events: auto !important;
|
|
989
|
|
990 @include backdrop();
|
|
991
|
|
992 &.far-past,
|
|
993 &.past,
|
|
994 &.next,
|
|
995 &.far-next,
|
|
996 &.far-past {
|
|
997 opacity: 0.5;
|
|
998 display: block;
|
|
999 }
|
|
1000
|
|
1001 &.current {
|
|
1002 opacity: 1;
|
|
1003 }
|
|
1004 }
|
|
1005 }
|
|
1006
|
|
1007 .slide-area {
|
|
1008 display: none;
|
|
1009 }
|
|
1010 }
|
|
1011
|
|
1012 @media print {
|
|
1013 slides {
|
|
1014 slide {
|
|
1015 display: block !important;
|
|
1016 position: relative;
|
|
1017 @include backdrop();
|
|
1018 @include transform(none !important);
|
|
1019 width: 100%;
|
|
1020 height: 100%;
|
|
1021 page-break-after:always;
|
|
1022 top: auto !important;
|
|
1023 left: auto !important;
|
|
1024 margin-top: 0 !important;
|
|
1025 margin-left: 0 !important;
|
|
1026 opacity: 1 !important;
|
|
1027 color: #555;
|
|
1028
|
|
1029 &.far-past,
|
|
1030 &.past,
|
|
1031 &.next,
|
|
1032 &.far-next,
|
|
1033 &.far-past,
|
|
1034 &.current {
|
|
1035 opacity: 1 !important;
|
|
1036 display: block !important;
|
|
1037 }
|
|
1038
|
|
1039 .build {
|
|
1040 > * {
|
|
1041 @include transition(none);
|
|
1042 }
|
|
1043
|
|
1044 .to-build,
|
|
1045 .build-fade {
|
|
1046 opacity: 1;
|
|
1047 }
|
|
1048 }
|
|
1049
|
|
1050 .auto-fadein {
|
|
1051 opacity: 1 !important;
|
|
1052 }
|
|
1053
|
|
1054 &.backdrop {
|
|
1055 display: none !important;
|
|
1056 }
|
|
1057
|
|
1058 table.rows {
|
|
1059 border-right: 0;
|
|
1060 }
|
|
1061 }
|
|
1062
|
|
1063 slide[hidden] {
|
|
1064 display: none !important;
|
|
1065 }
|
|
1066 }
|
|
1067
|
|
1068 .slide-area {
|
|
1069 display: none;
|
|
1070 }
|
|
1071
|
|
1072 .reflect {
|
|
1073 -webkit-box-reflect: none;
|
|
1074 -moz-box-reflect: none;
|
|
1075 -o-box-reflect: none;
|
|
1076 -ms-box-reflect: none;
|
|
1077 box-reflect: none;
|
|
1078 }
|
|
1079
|
|
1080 pre, code {
|
|
1081 font-family: monospace !important;
|
|
1082 }
|
|
1083 }
|