escience_theme 0.0.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,717 +7,17 @@ let Escience = {
7
7
 
8
8
  export default Escience;
9
9
 
10
- const black_css = `
11
- /**
12
- * Black theme for reveal.js. This is the opposite of the 'white' theme.
13
- *
14
- * By Hakim El Hattab, http://hakim.se
15
- */
10
+ const LOGGING = false;
16
11
 
17
- @font-face {
18
- font-family: 'Source Sans Pro';
19
- src: url('./source-sans-pro-regular.eot');
20
- src: url('./source-sans-pro-regular.eot?#iefix') format('embedded-opentype'),
21
- url('./source-sans-pro-regular.woff') format('woff'),
22
- url('./source-sans-pro-regular.ttf') format('truetype');
23
- font-weight: normal;
24
- font-style: normal;
25
- }
26
-
27
- @font-face {
28
- font-family: 'Source Sans Pro';
29
- src: url('./source-sans-pro-italic.eot');
30
- src: url('./source-sans-pro-italic.eot?#iefix') format('embedded-opentype'),
31
- url('./source-sans-pro-italic.woff') format('woff'),
32
- url('./source-sans-pro-italic.ttf') format('truetype');
33
- font-weight: normal;
34
- font-style: italic;
35
- }
36
-
37
- @font-face {
38
- font-family: 'Source Sans Pro';
39
- src: url('./source-sans-pro-semibold.eot');
40
- src: url('./source-sans-pro-semibold.eot?#iefix') format('embedded-opentype'),
41
- url('./source-sans-pro-semibold.woff') format('woff'),
42
- url('./source-sans-pro-semibold.ttf') format('truetype');
43
- font-weight: 600;
44
- font-style: normal;
45
- }
46
-
47
- @font-face {
48
- font-family: 'Source Sans Pro';
49
- src: url('./source-sans-pro-semibolditalic.eot');
50
- src: url('./source-sans-pro-semibolditalic.eot?#iefix') format('embedded-opentype'),
51
- url('./source-sans-pro-semibolditalic.woff') format('woff'),
52
- url('./source-sans-pro-semibolditalic.ttf') format('truetype');
53
- font-weight: 600;
54
- font-style: italic;
55
- }
56
-
57
- 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 {
58
- color: #222;
59
- }
60
-
61
- /*********************************************
62
- * GLOBAL STYLES
63
- *********************************************/
64
- :root {
65
- --r-background-color: #191919;
66
- --r-main-font: Source Sans Pro, Helvetica, sans-serif;
67
- --r-main-font-size: 42px;
68
- --r-main-color: #fff;
69
- --r-block-margin: 20px;
70
- --r-heading-margin: 0 0 20px 0;
71
- --r-heading-font: Source Sans Pro, Helvetica, sans-serif;
72
- --r-heading-color: #fff;
73
- --r-heading-line-height: 1.2;
74
- --r-heading-letter-spacing: normal;
75
- --r-heading-text-transform: uppercase;
76
- --r-heading-text-shadow: none;
77
- --r-heading-font-weight: 600;
78
- --r-heading1-text-shadow: none;
79
- --r-heading1-size: 2.5em;
80
- --r-heading2-size: 1.6em;
81
- --r-heading3-size: 1.3em;
82
- --r-heading4-size: 1em;
83
- --r-code-font: monospace;
84
- --r-link-color: #42affa;
85
- --r-link-color-dark: #068de9;
86
- --r-link-color-hover: #8dcffc;
87
- --r-selection-background-color: rgba(66, 175, 250, 0.75);
88
- --r-selection-color: #fff;
89
- --r-overlay-element-bg-color: 240, 240, 240;
90
- --r-overlay-element-fg-color: 0, 0, 0;
91
- }
92
-
93
- .reveal-viewport {
94
- background: #191919;
95
- background-color: var(--r-background-color);
96
- }
97
-
98
- .reveal {
99
- font-family: var(--r-main-font);
100
- font-size: var(--r-main-font-size);
101
- font-weight: normal;
102
- color: var(--r-main-color);
103
- }
104
-
105
- .reveal ::selection {
106
- color: var(--r-selection-color);
107
- background: var(--r-selection-background-color);
108
- text-shadow: none;
109
- }
110
-
111
- .reveal ::-moz-selection {
112
- color: var(--r-selection-color);
113
- background: var(--r-selection-background-color);
114
- text-shadow: none;
115
- }
116
-
117
- .reveal .slides section,
118
- .reveal .slides section > section {
119
- line-height: 1.3;
120
- font-weight: inherit;
121
- }
122
-
123
- /*********************************************
124
- * HEADERS
125
- *********************************************/
126
- .reveal h1,
127
- .reveal h2,
128
- .reveal h3,
129
- .reveal h4,
130
- .reveal h5,
131
- .reveal h6 {
132
- margin: var(--r-heading-margin);
133
- color: var(--r-heading-color);
134
- font-family: var(--r-heading-font);
135
- font-weight: var(--r-heading-font-weight);
136
- line-height: var(--r-heading-line-height);
137
- letter-spacing: var(--r-heading-letter-spacing);
138
- text-transform: var(--r-heading-text-transform);
139
- text-shadow: var(--r-heading-text-shadow);
140
- word-wrap: break-word;
141
- }
142
-
143
- .reveal h1 {
144
- font-size: var(--r-heading1-size);
145
- }
146
-
147
- .reveal h2 {
148
- font-size: var(--r-heading2-size);
149
- }
150
-
151
- .reveal h3 {
152
- font-size: var(--r-heading3-size);
153
- }
154
-
155
- .reveal h4 {
156
- font-size: var(--r-heading4-size);
157
- }
158
-
159
- .reveal h1 {
160
- text-shadow: var(--r-heading1-text-shadow);
161
- }
162
-
163
- /*********************************************
164
- * OTHER
165
- *********************************************/
166
- .reveal p {
167
- margin: var(--r-block-margin) 0;
168
- line-height: 1.3;
169
- }
170
-
171
- /* Remove trailing margins after titles */
172
- .reveal h1:last-child,
173
- .reveal h2:last-child,
174
- .reveal h3:last-child,
175
- .reveal h4:last-child,
176
- .reveal h5:last-child,
177
- .reveal h6:last-child {
178
- margin-bottom: 0;
179
- }
180
-
181
- /* Ensure certain elements are never larger than the slide itself */
182
- .reveal img,
183
- .reveal video,
184
- .reveal iframe {
185
- max-width: 95%;
186
- max-height: 95%;
187
- }
188
-
189
- .reveal strong,
190
- .reveal b {
191
- font-weight: bold;
192
- }
193
-
194
- .reveal em {
195
- font-style: italic;
196
- }
197
-
198
- .reveal ol,
199
- .reveal dl,
200
- .reveal ul {
201
- display: inline-block;
202
- text-align: left;
203
- margin: 0 0 0 1em;
204
- }
205
-
206
- .reveal ol {
207
- list-style-type: decimal;
208
- }
209
-
210
- .reveal ul {
211
- list-style-type: disc;
212
- }
213
-
214
- .reveal ul ul {
215
- list-style-type: square;
216
- }
217
-
218
- .reveal ul ul ul {
219
- list-style-type: circle;
220
- }
221
-
222
- .reveal ul ul,
223
- .reveal ul ol,
224
- .reveal ol ol,
225
- .reveal ol ul {
226
- display: block;
227
- margin-left: 40px;
228
- }
229
-
230
- .reveal dt {
231
- font-weight: bold;
232
- }
233
-
234
- .reveal dd {
235
- margin-left: 40px;
236
- }
237
-
238
- .reveal blockquote {
239
- display: block;
240
- position: relative;
241
- width: 70%;
242
- margin: var(--r-block-margin) auto;
243
- padding: 5px;
244
- font-style: italic;
245
- background: rgba(255, 255, 255, 0.05);
246
- box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
247
- }
248
-
249
- .reveal blockquote p:first-child,
250
- .reveal blockquote p:last-child {
251
- display: inline-block;
252
- }
253
-
254
- .reveal q {
255
- font-style: italic;
256
- }
257
-
258
- .reveal pre {
259
- display: block;
260
- position: relative;
261
- width: 90%;
262
- margin: var(--r-block-margin) auto;
263
- text-align: left;
264
- font-size: 0.55em;
265
- font-family: var(--r-code-font);
266
- line-height: 1.2em;
267
- word-wrap: break-word;
268
- box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
269
- }
270
-
271
- .reveal code {
272
- font-family: var(--r-code-font);
273
- text-transform: none;
274
- tab-size: 2;
275
- }
276
-
277
- .reveal pre code {
278
- display: block;
279
- padding: 5px;
280
- overflow: auto;
281
- max-height: 400px;
282
- word-wrap: normal;
283
- }
284
-
285
- .reveal .code-wrapper {
286
- white-space: normal;
287
- }
288
-
289
- .reveal .code-wrapper code {
290
- white-space: pre;
291
- }
292
-
293
- .reveal table {
294
- margin: auto;
295
- border-collapse: collapse;
296
- border-spacing: 0;
297
- }
298
-
299
- .reveal table th {
300
- font-weight: bold;
301
- }
302
-
303
- .reveal table th,
304
- .reveal table td {
305
- text-align: left;
306
- padding: 0.2em 0.5em 0.2em 0.5em;
307
- border-bottom: 1px solid;
308
- }
309
-
310
- .reveal table th[align=center],
311
- .reveal table td[align=center] {
312
- text-align: center;
313
- }
314
-
315
- .reveal table th[align=right],
316
- .reveal table td[align=right] {
317
- text-align: right;
318
- }
319
-
320
- .reveal table tbody tr:last-child th,
321
- .reveal table tbody tr:last-child td {
322
- border-bottom: none;
323
- }
324
-
325
- .reveal sup {
326
- vertical-align: super;
327
- font-size: smaller;
328
- }
329
-
330
- .reveal sub {
331
- vertical-align: sub;
332
- font-size: smaller;
333
- }
334
-
335
- .reveal small {
336
- display: inline-block;
337
- font-size: 0.6em;
338
- line-height: 1.2em;
339
- vertical-align: top;
340
- }
341
-
342
- .reveal small * {
343
- vertical-align: top;
344
- }
345
-
346
- .reveal img {
347
- margin: var(--r-block-margin) 0;
348
- }
349
-
350
- /*********************************************
351
- * LINKS
352
- *********************************************/
353
- .reveal a {
354
- color: var(--r-link-color);
355
- text-decoration: none;
356
- transition: color 0.15s ease;
357
- }
358
-
359
- .reveal a:hover {
360
- color: var(--r-link-color-hover);
361
- text-shadow: none;
362
- border: none;
363
- }
364
-
365
- .reveal .roll span:after {
366
- color: #fff;
367
- background: var(--r-link-color-dark);
368
- }
369
-
370
- /*********************************************
371
- * Frame helper
372
- *********************************************/
373
- .reveal .r-frame {
374
- border: 4px solid var(--r-main-color);
375
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
376
- }
377
-
378
- .reveal a .r-frame {
379
- transition: all 0.15s linear;
380
- }
381
-
382
- .reveal a:hover .r-frame {
383
- border-color: var(--r-link-color);
384
- box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
385
- }
386
-
387
- /*********************************************
388
- * NAVIGATION CONTROLS
389
- *********************************************/
390
- .reveal .controls {
391
- color: var(--r-link-color);
392
- }
393
-
394
- /*********************************************
395
- * PROGRESS BAR
396
- *********************************************/
397
- .reveal .progress {
398
- background: rgba(0, 0, 0, 0.2);
399
- color: var(--r-link-color);
400
- }
401
-
402
- /*********************************************
403
- * PRINT BACKGROUND
404
- *********************************************/
405
- @media print {
406
- .backgrounds {
407
- background-color: var(--r-background-color);
12
+ function log (content) {
13
+ if (LOGGING == true) {
14
+ console.log(content);
408
15
  }
409
16
  }
410
- `;
411
-
412
- const monokai_css = `
413
- /*
414
- Monokai style - ported by Luigi Maselli - http://grigio.org
415
- */
416
-
417
- .hljs {
418
- display: block;
419
- overflow-x: auto;
420
- padding: 0.5em;
421
- background: #272822;
422
- color: #ddd;
423
- }
424
-
425
- .hljs-tag,
426
- .hljs-keyword,
427
- .hljs-selector-tag,
428
- .hljs-literal,
429
- .hljs-strong,
430
- .hljs-name {
431
- color: #f92672;
432
- }
433
-
434
- .hljs-code {
435
- color: #66d9ef;
436
- }
437
-
438
- .hljs-class .hljs-title {
439
- color: white;
440
- }
441
-
442
- .hljs-attribute,
443
- .hljs-symbol,
444
- .hljs-regexp,
445
- .hljs-link {
446
- color: #bf79db;
447
- }
448
-
449
- .hljs-string,
450
- .hljs-bullet,
451
- .hljs-subst,
452
- .hljs-title,
453
- .hljs-section,
454
- .hljs-emphasis,
455
- .hljs-type,
456
- .hljs-built_in,
457
- .hljs-builtin-name,
458
- .hljs-selector-attr,
459
- .hljs-selector-pseudo,
460
- .hljs-addition,
461
- .hljs-variable,
462
- .hljs-template-tag,
463
- .hljs-template-variable {
464
- color: #a6e22e;
465
- }
466
-
467
- .hljs-comment,
468
- .hljs-quote,
469
- .hljs-deletion,
470
- .hljs-meta {
471
- color: #75715e;
472
- }
473
-
474
- .hljs-keyword,
475
- .hljs-selector-tag,
476
- .hljs-literal,
477
- .hljs-doctag,
478
- .hljs-title,
479
- .hljs-section,
480
- .hljs-type,
481
- .hljs-selector-id {
482
- font-weight: bold;
483
- }
484
- `;
485
-
486
- const escience_css = `
487
- /*********************************************
488
- * COLORS
489
- *********************************************/
490
-
491
- :root {
492
- --nlesc-blue: #009DDD;
493
- --nlesc-purple: #380339;
494
- --nlesc-yellow: #FFB213;
495
- --light-gray: #D8D8D8;
496
- --dark-gray: #2b2b2b;
497
- --gray-transparent: rgba(128, 128, 128, .5);
498
-
499
- --link-color: var(--nlesc-purple);
500
- --link-color-hover: var(--nlesc-yellow);
501
-
502
- }
503
-
504
- /*********************************************
505
- * GLOBAL STYLES
506
- *********************************************/
507
-
508
- p, div, ul {
509
- font-family: "Assistant", sans-serif !important;
510
- font-optical-sizing: auto;
511
- font-weight: 400 !important;
512
- font-style: normal;
513
- }
514
-
515
- h1, h2, h3 {
516
- font-family: "Nunito" !important;
517
- font-weight: 700 !important;
518
- }
519
-
520
- h4, h5 {
521
- font-family: "Assistant", sans-serif !important;
522
- font-optical-sizing: auto;
523
- font-weight: 700 !important;
524
- font-style: normal;
525
- }
526
-
527
- code {
528
- font-family: "Fira Code", monospace !important;
529
- font-optical-sizing: auto !important;
530
- font-weight: 500;
531
- font-style: normal;
532
- background-color: var(--gray-transparent);
533
- }
534
-
535
- .reveal h1,
536
- .reveal h2,
537
- .reveal h3,
538
- .reveal h4,
539
- .reveal h5,
540
- .reveal h6 {
541
- text-transform: none;
542
- }
543
-
544
- .reveal {
545
- font-size: 36px; } /* make stuff smaller */
546
-
547
- ::selection {
548
- color: #0f0;
549
- background: var(--nlesc-purple);
550
- text-shadow: none; }
551
-
552
- ::-moz-selection {
553
- color: #fff;
554
- background: var(--nlesc-purple);
555
- text-shadow: none; }
556
-
557
-
558
- /*********************************************
559
- * CUSTOM COLORS
560
- *********************************************/
561
- .primary { color: var(--nlesc-blue) !important; }
562
- .secondary { color: var(--nlesc-purple) !important; }
563
- .tertiary { color: var(--light-gray) !important; }
564
-
565
- /*********************************************
566
- * LINKS
567
- *********************************************/
568
- .reveal a {
569
- color: var(--link-color); }
570
-
571
- .reveal a:hover {
572
- color: var(--link-color-hover); }
573
-
574
- .reveal .roll span:after {
575
- color: #fff;
576
- background: var(--nlesc-blue); }
577
-
578
- /*********************************************
579
- * IMAGES
580
- *********************************************/
581
- .reveal section img { /* undo stupid img frames */
582
- background: none;
583
- border: none;
584
- box-shadow: none;
585
- }
586
-
587
- .reveal a:hover img {
588
- border-color: var(--nlesc-blue); }
589
-
590
- /*********************************************
591
- * HIGHLIGHT COLORS
592
- *********************************************/
593
-
594
- .reveal .slides section .fragment.highlight-blue.visible {
595
- color: var(--nlesc-blue); }
596
-
597
- /*********************************************
598
- * NAVIGATION CONTROLS
599
- *********************************************/
600
- .reveal .controls {
601
- color: var(--nlesc-yellow); }
602
-
603
- /*********************************************
604
- * PROGRESS BAR
605
- *********************************************/
606
- .reveal .progress {
607
- background: rgba(0, 0, 0, 0.2);
608
- color: var(--nlesc-yellow); }
609
-
610
- .reveal .progress span {
611
- background: var(--nlesc-yellow);
612
- -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
613
- -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
614
- transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
615
-
616
- /*********************************************
617
- * FOOTER
618
- *********************************************/
619
-
620
- .slides .footer {
621
- font-size: x-small !important;
622
- width: 100%;
623
- clear: both;
624
- /* padding: 50px 0 0 0;*/
625
- }
626
-
627
- /*********************************************
628
- * PRINT BACKGROUND
629
- *********************************************/
630
- @media print {
631
- .backgrounds {
632
- background-color: var(--dark-gray); } }
633
-
634
- /*********************************************
635
- * DIM BACKGROUND PICTURES
636
- *********************************************/
637
- .dim .backgrounds {
638
- -webkit-filter: brightness(.4) !important;
639
- -moz-filter: brightness(.4) !important;
640
- -o-filter: brightness(.4) !important;
641
- -ms-filter: brightness(.4) !important;
642
- filter: brightness(.4) !important;
643
- -webkit-transition: -webkit-filter 100ms linear;
644
- transition: filter 100ms linear;
645
- }
646
-
647
- .dim_3 .backgrounds {
648
- -webkit-filter: brightness(.3) !important;
649
- -moz-filter: brightness(.3) !important;
650
- -o-filter: brightness(.3) !important;
651
- -ms-filter: brightness(.3) !important;
652
- filter: brightness(.3) !important;
653
- -webkit-transition: -webkit-filter 100ms linear;
654
- transition: filter 100ms linear;
655
- }
656
-
657
- .dim_8 .backgrounds {
658
- -webkit-filter: brightness(.8) !important;
659
- -moz-filter: brightness(.8) !important;
660
- -o-filter: brightness(.8) !important;
661
- -ms-filter: brightness(.8) !important;
662
- filter: brightness(.8) !important;
663
- -webkit-transition: -webkit-filter 100ms linear;
664
- transition: filter 100ms linear;
665
- }
666
-
667
- .backgrounds {
668
- -webkit-filter: brightness(1) !important;
669
- -moz-filter: brightness(1) !important;
670
- -o-filter: brightness(1) !important;
671
- -ms-filter: brightness(1) !important;
672
- filter: brightness(1) !important;
673
- -webkit-transition: -webkit-filter 1s linear;
674
- transition: filter 1s linear;
675
- }
676
-
677
- /*********************************************
678
- * ALLOW FOR DECORATIONS
679
- *********************************************/
680
- .slides {
681
- /* puts the slide content above overlays and decorations*/
682
- z-index: 10 !important;
683
- }
684
-
685
- .speaker-notes {
686
- /* puts the slide content above overlays and decorations*/
687
- z-index: 3 !important;
688
- }
689
-
690
- footer {
691
- display: none !important;
692
- }
693
- `;
694
17
 
695
18
  // TODO: Refactor this quick hack into a Reveal plugin form (it works at least)
696
19
  const initDecorations = function(Reveal) {
697
20
 
698
- if (!document.getElementById('fonts'))
699
- {
700
- var head = document.getElementsByTagName('head')[0];
701
- var link = document.createElement('link');
702
- link.id = 'fonts';
703
- link.rel = 'stylesheet';
704
- link.type = 'text/css';
705
- link.href = 'https://fonts.googleapis.com/css2?family=Assistant:wght@200..800&family=Fira+Code:wght@300..700&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap';
706
- link.media = 'all';
707
- head.appendChild(link);
708
- }
709
-
710
- if (!document.getElementById('icons'))
711
- {
712
- var head = document.getElementsByTagName('head')[0];
713
- var link = document.createElement('link');
714
- link.id = 'icons';
715
- link.rel = 'stylesheet';
716
- link.type = 'text/css';
717
- link.href = 'https://fonts.googleapis.com/icon?family=Material+Icons';
718
- link.media = 'all';
719
- head.appendChild(link);
720
- }
721
21
 
722
22
  const decoration_elements = `
723
23
  <div id="blue_pane_left" style="transition: opacity 1s; background-color: var(--nlesc-blue); opacity: 0; position: absolute; left: 0; right: 50%; bottom: 0; top: 0; z-index: 2;"></div>
@@ -1393,13 +693,6 @@ const decoration_elements = `
1393
693
  </svg>
1394
694
  `;
1395
695
 
1396
- function insertCss(css) {
1397
- const style = document.createElement('style');
1398
- style.type = 'text/css';
1399
- style.innerHTML = css;
1400
- document.head.appendChild(style);
1401
- }
1402
-
1403
696
  function insertDecoration() {
1404
697
  if ( window.location.search.match( /print-pdf/gi ) ) {
1405
698
  const backgrounds = document.getElementsByClassName('slide-background');
@@ -1419,16 +712,13 @@ function insertDecoration() {
1419
712
  }
1420
713
 
1421
714
  Reveal.on( 'ready', event => {
1422
- insertCss(black_css);
1423
- insertCss(monokai_css);
1424
- insertCss(escience_css);
1425
715
  insertDecoration();
1426
716
 
1427
717
  /* set events only after reveal is ready */
1428
718
  Reveal.on( 'slidechanged', event => {
1429
719
  if (overview_shown == false)
1430
720
  {
1431
- console.log("slide changed");
721
+ log("slide changed");
1432
722
  addDecorations();
1433
723
  }
1434
724
  });
@@ -1455,15 +745,19 @@ function setLogoStyle(style) {
1455
745
  document.getElementById(style).style.opacity = 1;
1456
746
  };
1457
747
  var overview_shown = false;
1458
- function getOpacity(data_state) {
1459
- var opacity = 0.8;
748
+ // Overlay opacity in tenths from a number 0-10 in data-state ("standard 6").
749
+ // Without a number the overlay is opaque, except over background media,
750
+ // which would otherwise be hidden completely; there it stays at 0.8.
751
+ const BACKGROUND_MEDIA = ['data-background-image', 'data-background-video', 'data-background-iframe'];
752
+ function getOpacity(data_state, slide) {
753
+ var opacity = BACKGROUND_MEDIA.some(a => slide.hasAttribute(a)) ? 0.8 : 1.0;
1460
754
  for (let i = 0; i < 11; i++) {
1461
- if (data_state.includes(i)) { opacity = i/10; console.log("opacity set to " + opacity)}
755
+ if (data_state.includes(i)) { opacity = i/10; log("opacity set to " + opacity)}
1462
756
  };
1463
757
  return opacity
1464
758
  };
1465
759
  function addDecorations() {
1466
- console.log("set decorations")
760
+ log("set decorations")
1467
761
  let root = document.documentElement;
1468
762
 
1469
763
 
@@ -1472,16 +766,16 @@ function addDecorations() {
1472
766
  {
1473
767
  document.getElementById("footer").innerHTML = currentSlide.querySelector('footer').innerHTML;
1474
768
  document.getElementById("blue_strip").style.right = 0;
1475
- console.log("footer (and blue_strip)");
769
+ log("footer (and blue_strip)");
1476
770
  } else {
1477
771
  document.getElementById("blue_strip").style.right = "-" + document.getElementById("blue_strip").offsetWidth + "px";
1478
- console.log("no footer");
772
+ log("no footer");
1479
773
  };
1480
774
  if ( currentSlide.getAttribute('data-state') )
1481
775
  {
1482
776
  var data_state = currentSlide.getAttribute('data-state')
1483
- var opacity = getOpacity(data_state);
1484
- console.log("DS" + data_state)
777
+ var opacity = getOpacity(data_state, currentSlide);
778
+ log("DS" + data_state)
1485
779
  // pre-set slide designs
1486
780
 
1487
781
  // standard
@@ -1508,6 +802,12 @@ function addDecorations() {
1508
802
  data_state += " logo blue_overlay touch_pane purple_blob right_e_bottom";
1509
803
  };
1510
804
 
805
+ // title
806
+ if ( data_state.includes("title"))
807
+ {
808
+ data_state += " blue_overlay yellow_flag yellow_strip purple_half_circle_bottom purple_blob right_e_top";
809
+ };
810
+
1511
811
  // individual elements
1512
812
 
1513
813
  // purple overlay
@@ -1521,10 +821,10 @@ function addDecorations() {
1521
821
  currentSlide.classList.remove("has-light-background");
1522
822
  root.style.setProperty("--link-color", "var(--nlesc-yellow)");
1523
823
  root.style.setProperty("--link-color-hover", "var(--nlesc-blue)");
1524
- console.log("purple overlay");
824
+ log("purple overlay");
1525
825
  } else {
1526
826
  document.getElementById("purple_overlay").style.opacity = 0;
1527
- console.log("no purple overlay");
827
+ log("no purple overlay");
1528
828
  };
1529
829
 
1530
830
  // white overlay
@@ -1538,10 +838,10 @@ function addDecorations() {
1538
838
  currentSlide.classList.add("has-light-background");
1539
839
  root.style.setProperty("--link-color", "var(--nlesc-blue)");
1540
840
  root.style.setProperty("--link-color-hover", "var(--nlesc-yellow)");
1541
- console.log("white overlay");
841
+ log("white overlay");
1542
842
  } else {
1543
843
  document.getElementById("white_overlay").style.opacity = 0;
1544
- console.log("no white overlay");
844
+ log("no white overlay");
1545
845
  };
1546
846
 
1547
847
  // black overlay
@@ -1555,10 +855,10 @@ function addDecorations() {
1555
855
  currentSlide.classList.remove("has-light-background");
1556
856
  root.style.setProperty("--link-color", "var(--nlesc-yellow)");
1557
857
  root.style.setProperty("--link-color-hover", "var(--nlesc-blue)");
1558
- console.log("black overlay");
858
+ log("black overlay");
1559
859
  } else {
1560
860
  document.getElementById("black_overlay").style.opacity = 0;
1561
- console.log("no black overlay");
861
+ log("no black overlay");
1562
862
  };
1563
863
 
1564
864
  // blue overlay
@@ -1572,10 +872,10 @@ function addDecorations() {
1572
872
  currentSlide.classList.remove("has-light-background");
1573
873
  root.style.setProperty("--link-color", "var(--nlesc-yellow)");
1574
874
  root.style.setProperty("--link-color-hover", "var(--nlesc-purple)");
1575
- console.log("blue overlay");
875
+ log("blue overlay");
1576
876
  } else {
1577
877
  document.getElementById("blue_overlay").style.opacity = 0;
1578
- console.log("no blue overlay");
878
+ log("no blue overlay");
1579
879
  };
1580
880
 
1581
881
  // blue pane right
@@ -1585,10 +885,10 @@ function addDecorations() {
1585
885
  document.getElementById("blue_pane_right").style.transform = "translateY(0)";
1586
886
  currentSlide.classList.remove("has-dark-background");
1587
887
  currentSlide.classList.add("has-light-background");
1588
- console.log("blue_pane_right");
888
+ log("blue_pane_right");
1589
889
  } else {
1590
890
  document.getElementById("blue_pane_right").style.opacity = 0;
1591
- console.log("no blue_pane_right");
891
+ log("no blue_pane_right");
1592
892
  };
1593
893
 
1594
894
  // blue pane left
@@ -1599,10 +899,10 @@ function addDecorations() {
1599
899
  setLogoStyle("logo_white");
1600
900
  currentSlide.classList.remove("has-dark-background");
1601
901
  currentSlide.classList.add("has-light-background");
1602
- console.log("blue_pane_left");
902
+ log("blue_pane_left");
1603
903
  } else {
1604
904
  document.getElementById("blue_pane_left").style.opacity = 0;
1605
- console.log("no blue_pane_left");
905
+ log("no blue_pane_left");
1606
906
  };
1607
907
 
1608
908
  // touch pane
@@ -1613,10 +913,10 @@ function addDecorations() {
1613
913
  setLogoStyle("logo_color");
1614
914
  currentSlide.classList.remove("has-light-background");
1615
915
  currentSlide.classList.add("has-dark-background");
1616
- console.log("touch_pane");
916
+ log("touch_pane");
1617
917
  } else {
1618
918
  document.getElementById("touch_pane").style.opacity = 0;
1619
- console.log("no touch_pane");
919
+ log("no touch_pane");
1620
920
  };
1621
921
 
1622
922
  // logo
@@ -1625,32 +925,32 @@ function addDecorations() {
1625
925
  document.getElementById("logo_color").style.left = 3 + "vw";
1626
926
  document.getElementById("logo_part_white").style.left = 3 + "vw";
1627
927
  document.getElementById("logo_white").style.left = 3 + "vw";
1628
- console.log("logo");
928
+ log("logo");
1629
929
  } else {
1630
930
  document.getElementById("logo_color").style.left = -12 + "vw";
1631
931
  document.getElementById("logo_part_white").style.left = -12 + "vw";
1632
932
  document.getElementById("logo_white").style.left = -12 + "vw";
1633
- console.log("no logo");
933
+ log("no logo");
1634
934
  };
1635
935
 
1636
936
  // yellow strip
1637
937
  if ( data_state.includes("yellow_strip"))
1638
938
  {
1639
939
  document.getElementById("yellow_strip").style.left = 0;
1640
- console.log("yellow_strip");
940
+ log("yellow_strip");
1641
941
  } else {
1642
942
  document.getElementById("yellow_strip").style.left = -10 + "vw";
1643
- console.log("no yellow_strip");
943
+ log("no yellow_strip");
1644
944
  };
1645
945
 
1646
946
  // yellow flag
1647
947
  if ( data_state.includes("yellow_flag"))
1648
948
  {
1649
949
  document.getElementById("yellow_flag").style.left = 0;
1650
- console.log("yellow_flag");
950
+ log("yellow_flag");
1651
951
  } else {
1652
952
  document.getElementById("yellow_flag").style.left = -10 + "vh";
1653
- console.log("no yellow_flag");
953
+ log("no yellow_flag");
1654
954
  };
1655
955
 
1656
956
  // purple half circle top
@@ -1658,10 +958,10 @@ function addDecorations() {
1658
958
  {
1659
959
  document.getElementById("purple_half_circle_top").style.top = 0;
1660
960
  setLogoStyle("logo_part_white");
1661
- console.log("purple_half_circle_top");
961
+ log("purple_half_circle_top");
1662
962
  } else {
1663
963
  document.getElementById("purple_half_circle_top").style.top = -17 + "vw";
1664
- console.log("no purple_half_circle_top");
964
+ log("no purple_half_circle_top");
1665
965
  };
1666
966
 
1667
967
  // purple half circle bottom
@@ -1669,41 +969,41 @@ function addDecorations() {
1669
969
  {
1670
970
  document.getElementById("purple_half_circle_bottom").style.bottom = 0;
1671
971
  document.getElementById("yellow_flag").style.bottom = 20 + "vh";
1672
- console.log("purple_half_circle_bottom");
972
+ log("purple_half_circle_bottom");
1673
973
  } else {
1674
974
  document.getElementById("purple_half_circle_bottom").style.bottom = -10 + "vw";
1675
975
  document.getElementById("yellow_flag").style.bottom = 5 + "vh";
1676
- console.log("no purple_half_circle_bottom");
976
+ log("no purple_half_circle_bottom");
1677
977
  };
1678
978
 
1679
979
  // purple strip bottom
1680
980
  if ( data_state.includes("purple_strip_bottom"))
1681
981
  {
1682
982
  document.getElementById("purple_strip_bottom").style.bottom = 0;
1683
- console.log("purple_strip_bottom");
983
+ log("purple_strip_bottom");
1684
984
  } else {
1685
985
  document.getElementById("purple_strip_bottom").style.bottom = -10 + "vw";
1686
- console.log("no purple_strip_bottom");
986
+ log("no purple_strip_bottom");
1687
987
  };
1688
988
 
1689
989
  // yellow_half_strip
1690
990
  if ( data_state.includes("yellow_half_strip"))
1691
991
  {
1692
992
  document.getElementById("yellow_half_strip").style.bottom = 0;
1693
- console.log("yellow_half_strip");
993
+ log("yellow_half_strip");
1694
994
  } else {
1695
995
  document.getElementById("yellow_half_strip").style.bottom = -25 + "vw";
1696
- console.log("no yellow_half_strip");
996
+ log("no yellow_half_strip");
1697
997
  };
1698
998
 
1699
999
  // purple blob
1700
1000
  if ( data_state.includes("purple_blob"))
1701
1001
  {
1702
1002
  document.getElementById("purple_blob").style.top = 0;
1703
- console.log("purple_blob");
1003
+ log("purple_blob");
1704
1004
  } else {
1705
1005
  document.getElementById("purple_blob").style.top = -50 + "vh";
1706
- console.log("no purple_blob");
1006
+ log("no purple_blob");
1707
1007
  };
1708
1008
 
1709
1009
  // right_e
@@ -1711,14 +1011,14 @@ function addDecorations() {
1711
1011
  {
1712
1012
  document.getElementById("right_e").style.top = 10 + "vh";
1713
1013
  document.getElementById("right_e").style.right = 0;
1714
- console.log("right_e_top");
1014
+ log("right_e_top");
1715
1015
  } else if ( data_state.includes("right_e_bottom")){
1716
1016
  document.getElementById("right_e").style.top = 60 + "vh";
1717
1017
  document.getElementById("right_e").style.right = 0;
1718
- console.log("right_e_bottom");
1018
+ log("right_e_bottom");
1719
1019
  } else {
1720
1020
  document.getElementById("right_e").style.right = -4 + "vw";
1721
- console.log("no right_e");
1021
+ log("no right_e");
1722
1022
  };
1723
1023
 
1724
1024
  // clear the background so that the overlays don't interfere
@@ -1736,12 +1036,12 @@ function addDecorations() {
1736
1036
  }
1737
1037
  else
1738
1038
  {
1739
- console.log("nothing special")
1039
+ log("nothing special")
1740
1040
  };
1741
1041
  };
1742
1042
 
1743
1043
  function removeDecorations() {
1744
- console.log("removeDecorations")
1044
+ log("removeDecorations")
1745
1045
  document.getElementById("purple_overlay").style.opacity = 0;
1746
1046
  document.getElementById("white_overlay").style.opacity = 0;
1747
1047
  document.getElementById("black_overlay").style.opacity = 0;