escience_theme 0.1.0 → 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
@@ -1527,10 +821,10 @@ function addDecorations() {
1527
821
  currentSlide.classList.remove("has-light-background");
1528
822
  root.style.setProperty("--link-color", "var(--nlesc-yellow)");
1529
823
  root.style.setProperty("--link-color-hover", "var(--nlesc-blue)");
1530
- console.log("purple overlay");
824
+ log("purple overlay");
1531
825
  } else {
1532
826
  document.getElementById("purple_overlay").style.opacity = 0;
1533
- console.log("no purple overlay");
827
+ log("no purple overlay");
1534
828
  };
1535
829
 
1536
830
  // white overlay
@@ -1544,10 +838,10 @@ function addDecorations() {
1544
838
  currentSlide.classList.add("has-light-background");
1545
839
  root.style.setProperty("--link-color", "var(--nlesc-blue)");
1546
840
  root.style.setProperty("--link-color-hover", "var(--nlesc-yellow)");
1547
- console.log("white overlay");
841
+ log("white overlay");
1548
842
  } else {
1549
843
  document.getElementById("white_overlay").style.opacity = 0;
1550
- console.log("no white overlay");
844
+ log("no white overlay");
1551
845
  };
1552
846
 
1553
847
  // black overlay
@@ -1561,10 +855,10 @@ function addDecorations() {
1561
855
  currentSlide.classList.remove("has-light-background");
1562
856
  root.style.setProperty("--link-color", "var(--nlesc-yellow)");
1563
857
  root.style.setProperty("--link-color-hover", "var(--nlesc-blue)");
1564
- console.log("black overlay");
858
+ log("black overlay");
1565
859
  } else {
1566
860
  document.getElementById("black_overlay").style.opacity = 0;
1567
- console.log("no black overlay");
861
+ log("no black overlay");
1568
862
  };
1569
863
 
1570
864
  // blue overlay
@@ -1578,10 +872,10 @@ function addDecorations() {
1578
872
  currentSlide.classList.remove("has-light-background");
1579
873
  root.style.setProperty("--link-color", "var(--nlesc-yellow)");
1580
874
  root.style.setProperty("--link-color-hover", "var(--nlesc-purple)");
1581
- console.log("blue overlay");
875
+ log("blue overlay");
1582
876
  } else {
1583
877
  document.getElementById("blue_overlay").style.opacity = 0;
1584
- console.log("no blue overlay");
878
+ log("no blue overlay");
1585
879
  };
1586
880
 
1587
881
  // blue pane right
@@ -1591,10 +885,10 @@ function addDecorations() {
1591
885
  document.getElementById("blue_pane_right").style.transform = "translateY(0)";
1592
886
  currentSlide.classList.remove("has-dark-background");
1593
887
  currentSlide.classList.add("has-light-background");
1594
- console.log("blue_pane_right");
888
+ log("blue_pane_right");
1595
889
  } else {
1596
890
  document.getElementById("blue_pane_right").style.opacity = 0;
1597
- console.log("no blue_pane_right");
891
+ log("no blue_pane_right");
1598
892
  };
1599
893
 
1600
894
  // blue pane left
@@ -1605,10 +899,10 @@ function addDecorations() {
1605
899
  setLogoStyle("logo_white");
1606
900
  currentSlide.classList.remove("has-dark-background");
1607
901
  currentSlide.classList.add("has-light-background");
1608
- console.log("blue_pane_left");
902
+ log("blue_pane_left");
1609
903
  } else {
1610
904
  document.getElementById("blue_pane_left").style.opacity = 0;
1611
- console.log("no blue_pane_left");
905
+ log("no blue_pane_left");
1612
906
  };
1613
907
 
1614
908
  // touch pane
@@ -1619,10 +913,10 @@ function addDecorations() {
1619
913
  setLogoStyle("logo_color");
1620
914
  currentSlide.classList.remove("has-light-background");
1621
915
  currentSlide.classList.add("has-dark-background");
1622
- console.log("touch_pane");
916
+ log("touch_pane");
1623
917
  } else {
1624
918
  document.getElementById("touch_pane").style.opacity = 0;
1625
- console.log("no touch_pane");
919
+ log("no touch_pane");
1626
920
  };
1627
921
 
1628
922
  // logo
@@ -1631,32 +925,32 @@ function addDecorations() {
1631
925
  document.getElementById("logo_color").style.left = 3 + "vw";
1632
926
  document.getElementById("logo_part_white").style.left = 3 + "vw";
1633
927
  document.getElementById("logo_white").style.left = 3 + "vw";
1634
- console.log("logo");
928
+ log("logo");
1635
929
  } else {
1636
930
  document.getElementById("logo_color").style.left = -12 + "vw";
1637
931
  document.getElementById("logo_part_white").style.left = -12 + "vw";
1638
932
  document.getElementById("logo_white").style.left = -12 + "vw";
1639
- console.log("no logo");
933
+ log("no logo");
1640
934
  };
1641
935
 
1642
936
  // yellow strip
1643
937
  if ( data_state.includes("yellow_strip"))
1644
938
  {
1645
939
  document.getElementById("yellow_strip").style.left = 0;
1646
- console.log("yellow_strip");
940
+ log("yellow_strip");
1647
941
  } else {
1648
942
  document.getElementById("yellow_strip").style.left = -10 + "vw";
1649
- console.log("no yellow_strip");
943
+ log("no yellow_strip");
1650
944
  };
1651
945
 
1652
946
  // yellow flag
1653
947
  if ( data_state.includes("yellow_flag"))
1654
948
  {
1655
949
  document.getElementById("yellow_flag").style.left = 0;
1656
- console.log("yellow_flag");
950
+ log("yellow_flag");
1657
951
  } else {
1658
952
  document.getElementById("yellow_flag").style.left = -10 + "vh";
1659
- console.log("no yellow_flag");
953
+ log("no yellow_flag");
1660
954
  };
1661
955
 
1662
956
  // purple half circle top
@@ -1664,10 +958,10 @@ function addDecorations() {
1664
958
  {
1665
959
  document.getElementById("purple_half_circle_top").style.top = 0;
1666
960
  setLogoStyle("logo_part_white");
1667
- console.log("purple_half_circle_top");
961
+ log("purple_half_circle_top");
1668
962
  } else {
1669
963
  document.getElementById("purple_half_circle_top").style.top = -17 + "vw";
1670
- console.log("no purple_half_circle_top");
964
+ log("no purple_half_circle_top");
1671
965
  };
1672
966
 
1673
967
  // purple half circle bottom
@@ -1675,41 +969,41 @@ function addDecorations() {
1675
969
  {
1676
970
  document.getElementById("purple_half_circle_bottom").style.bottom = 0;
1677
971
  document.getElementById("yellow_flag").style.bottom = 20 + "vh";
1678
- console.log("purple_half_circle_bottom");
972
+ log("purple_half_circle_bottom");
1679
973
  } else {
1680
974
  document.getElementById("purple_half_circle_bottom").style.bottom = -10 + "vw";
1681
975
  document.getElementById("yellow_flag").style.bottom = 5 + "vh";
1682
- console.log("no purple_half_circle_bottom");
976
+ log("no purple_half_circle_bottom");
1683
977
  };
1684
978
 
1685
979
  // purple strip bottom
1686
980
  if ( data_state.includes("purple_strip_bottom"))
1687
981
  {
1688
982
  document.getElementById("purple_strip_bottom").style.bottom = 0;
1689
- console.log("purple_strip_bottom");
983
+ log("purple_strip_bottom");
1690
984
  } else {
1691
985
  document.getElementById("purple_strip_bottom").style.bottom = -10 + "vw";
1692
- console.log("no purple_strip_bottom");
986
+ log("no purple_strip_bottom");
1693
987
  };
1694
988
 
1695
989
  // yellow_half_strip
1696
990
  if ( data_state.includes("yellow_half_strip"))
1697
991
  {
1698
992
  document.getElementById("yellow_half_strip").style.bottom = 0;
1699
- console.log("yellow_half_strip");
993
+ log("yellow_half_strip");
1700
994
  } else {
1701
995
  document.getElementById("yellow_half_strip").style.bottom = -25 + "vw";
1702
- console.log("no yellow_half_strip");
996
+ log("no yellow_half_strip");
1703
997
  };
1704
998
 
1705
999
  // purple blob
1706
1000
  if ( data_state.includes("purple_blob"))
1707
1001
  {
1708
1002
  document.getElementById("purple_blob").style.top = 0;
1709
- console.log("purple_blob");
1003
+ log("purple_blob");
1710
1004
  } else {
1711
1005
  document.getElementById("purple_blob").style.top = -50 + "vh";
1712
- console.log("no purple_blob");
1006
+ log("no purple_blob");
1713
1007
  };
1714
1008
 
1715
1009
  // right_e
@@ -1717,14 +1011,14 @@ function addDecorations() {
1717
1011
  {
1718
1012
  document.getElementById("right_e").style.top = 10 + "vh";
1719
1013
  document.getElementById("right_e").style.right = 0;
1720
- console.log("right_e_top");
1014
+ log("right_e_top");
1721
1015
  } else if ( data_state.includes("right_e_bottom")){
1722
1016
  document.getElementById("right_e").style.top = 60 + "vh";
1723
1017
  document.getElementById("right_e").style.right = 0;
1724
- console.log("right_e_bottom");
1018
+ log("right_e_bottom");
1725
1019
  } else {
1726
1020
  document.getElementById("right_e").style.right = -4 + "vw";
1727
- console.log("no right_e");
1021
+ log("no right_e");
1728
1022
  };
1729
1023
 
1730
1024
  // clear the background so that the overlays don't interfere
@@ -1742,12 +1036,12 @@ function addDecorations() {
1742
1036
  }
1743
1037
  else
1744
1038
  {
1745
- console.log("nothing special")
1039
+ log("nothing special")
1746
1040
  };
1747
1041
  };
1748
1042
 
1749
1043
  function removeDecorations() {
1750
- console.log("removeDecorations")
1044
+ log("removeDecorations")
1751
1045
  document.getElementById("purple_overlay").style.opacity = 0;
1752
1046
  document.getElementById("white_overlay").style.opacity = 0;
1753
1047
  document.getElementById("black_overlay").style.opacity = 0;