PageSourceSearch

https://www.thestoryofeva.com/

html thestoryofeva.com collected 2026-10-08 01:59:41 UTC 238,211 bytes, 5,706 lines download raw bytes

1
2
3<!DOCTYPE html>
4<html lang="en">
5<head>
6    <meta charset="UTF-8">
7    <link type="text/css" href="https://bento.pbs.org/prod/3.150.0/staticfiles/dist/frontend/lib/bootstrap.css" rel="stylesheet" />
8    <link type="text/css" href="https://bento.pbs.org/prod/3.150.0/staticfiles/dist/frontend/lib/bootstrap-responsive.css" rel="stylesheet" />
9    <link type="text/css" href="https://bento.pbs.org/prod/3.150.0/staticfiles/dist/frontend/css/frontend_style.css" rel="stylesheet" />
10    <link type="text/css" href="https://bento.pbs.org/prod/3.150.0/staticfiles/dist/frontend/js/frontend_js.css" rel="stylesheet" />
11    
12
13    <title>Eva Kor Documentary by Ted Green,  Mika Brown and WFYI</title><meta name="description" content="Eva Kor Documentary Film by Ted Green,  Mika Brown and WFYI"/><meta name="keywords" content="Eva Kor,Holocaust,survivor,Ted Green,Mika Brown,forgiveness,healing,Auschwitz,WFYI,Public Media,Film"/><meta name="google-site-verification" content="ouf-bg5IfVpSgcoD1lEGNxfqhJ19CgauhvQqACBZIbU"/><meta name="msvalidate.01" content="00D9BC26D831F977265DCF78DAE07379"/><!-- Twitter Card data --><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Eva Kor Documentary by Ted Green,  Mika Brown and WFYI"><meta name="twitter:description"
14      content="Eva Kor Documentary Film by Ted Green,  Mika Brown and WFYI"/><meta name="twitter:image" content="https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/cc6af3ef4c_Eva%20Kor%20at%20Auschwitz.jpg"/><meta name="thumbnail" content="https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/cc6af3ef4c_Eva%20Kor%20at%20Auschwitz.jpg"/><!-- Open Graph data --><meta property="og:title" content="Eva Kor Documentary by Ted Green,  Mika Brown and WFYI"/><meta property="og:type" content="website"/><meta property="og:url" content="https://www.thestoryofeva.com/"/><meta property="og:image" content="https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/cc6af3ef4c_Eva%20Kor%20at%20Auschwitz.jpg"/><meta property="og:description"
15      content="Eva Kor Documentary Film by Ted Green,  Mika Brown and WFYI"/><meta property="og:site_name" content="The Story of Eva"/><meta name="robots" content="index, follow"/><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/><link rel="apple-touch-icon" sizes="180x180" href="https://dc79r36mj3c9w.cloudfront.net/prod/3.150.0/staticfiles/bento_cms/favicons/apple-touch-icon.png"><link rel="icon" type="image/png" href="https://dc79r36mj3c9w.cloudfront.net/prod/3.150.0/staticfiles/bento_cms/favicons/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="https://dc79r36mj3c9w.cloudfront.net/prod/3.150.0/staticfiles/bento_cms/favicons/favicon-16x16.png" sizes="16x16"><link rel="icon" type="image/png" href="https://dc79r36mj3c9w.cloudfront.net/prod/3.150.0/staticfiles/bento_cms/favicons/android-chrome-512x512.png" sizes="512x512"><link rel="icon" type="image/png" href="https://dc79r36mj3c9w.cloudfront.net/prod/3.150.0/staticfiles/bento_cms/favicons/android-chrome-192x192.png" sizes="192x192"><link rel="manifest" href="https://dc79r36mj3c9w.cloudfront.net/prod/3.150.0/staticfiles/bento_cms/favicons/manifest.json"><meta name="theme-color" content="#575757"><!-- Google tag (gtag.js) -->
vendor: 63 bytes, line 15
15<script async src="https://www.googletagmanager.com/gtag/js?id=
15G-VLZ8BSQCNS
vendor: 11 bytes, line 15
15"></script>
15<script>
16  
vendor: 134 bytes, lines 16-20
16window.dataLayer = window.dataLayer || [];
17  function gtag(){dataLayer.push(arguments);}
18  gtag('js', new Date());
19
20  gtag('config', '
20G-VLZ8BSQCNS
vendor: 4 bytes, line 20
20');
21</script>
21<!-- Google Ad Manager -->
21<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
21<script>
22    window.googletag = window.googletag || {cmd: []};
23</script>
23<!-- End Google Ad Manager -->
23<script type="application/ld+json">
24
25{
26    "@context": "http://schema.org",
27    "@type": "WebSite",
28    "url": "https://www.thestoryofeva.com/",
29    "name": "Eva Kor Documentary by Ted Green,  Mika Brown and WFYI",
30    "description": "Eva Kor Documentary Film by Ted Green,  Mika Brown and WFYI",
31    "publisher": {
32        "@type": "Organization",
33        "name": "The Story of Eva",
34        "logo": {}
35    },
36    "keywords": "Eva Kor,Holocaust,survivor,Ted Green,Mika Brown,forgiveness,healing,Auschwitz,WFYI,Public Media,Film",
37    "image": {
38        "@type": "ImageObject",
39        "url": "https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/cc6af3ef4c_Eva%20Kor%20at%20Auschwitz.jpg",
40        "width": 2850,
41        "height": 1604
42    }
43}
44
45</script>
45
46    
47</head>
48
49<body id="page-2825" class="studio bento3">
50<style type="text/css" title="Bento Theme">
51        a {
52    color: #575757;
53}
54
55a:hover,
56a:active,
57a:visited {
58    color: #404040;
59}
60
61/* expose accent classes */
62
63.colorPalette-main {
64    color: #575757 !important;
65}
66
67.colorPalette-accent1 {
68    color: #404040 !important;
69}
70
71.colorPalette-accent2 {
72    color: #E6E6E6 !important;
73}
74
75.colorPalette-accent3 {
76    color: #EEEEEE !important;
77}
78
79.colorPalette-accent4 {
80    color: #F5F5F5 !important;
81}
82
83
84    </style>
85
86<header><a href="#main-content" class="skipnav" aria-label="skip to main link">
87                    Skip to main content
88                </a><div class="row-fluid"><style type="text/css">
89        
90
91#layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.layout-padding {
92    padding: px 0px px 0px;
93}
94
95@media (min-width: 1024px) {
96    #layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.layout-padding {
97        padding: px px px px;
98    }
99}
100
101#layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.has-background-image {
102    background-image: url("");
103}
104
105
106@media (min-width: 1200px) {#layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-9dbdbc44-f912-4134-887d-8eaab72d7223.container.has-background-image {background-image: url("575w");}}
107
108        </style><div id=""><div id="layout-9dbdbc44-f912-4134-887d-8eaab72d7223"
109                class="container
110                
111                
112                
113                
114                
115                "
116                style=""><div id="column-87f27853-243e-4cfe-8357-ac9d637ec1b7"
117                 class="span12 column-12
118                 "><div id="component-7d6c0990-67ea-11e7-951e-3d73553d0d27" class="component"><style type="text/css">
119header #component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu.menu--navbar-nav {
120    border-bottom-color: #575757;
121}
122
123#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu__trigger * {
124    fill: #575757;
125}
126
127#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu__trigger:hover *,
128#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu__trigger:focus * {
129    fill: #404040;
130}
131
132#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu__trigger {
133    border-color: #575757;
134}
135
136#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu__trigger:hover,
137#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu__trigger:focus {
138    border-color: #404040;
139}
140
141
142#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu .menu-item:hover,
143#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu .menu-item:focus {
144    background-color: #404040;
145}
146
147
148
149@media screen and (min-width: 1025px) {
150  .menu__trigger {
151    display: none;
152  }
153}
154
155#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu .menu__li > a:focus,
156#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu .submenu__li > a:focus {
157    outline: 2px solid #575757;
158    outline-offset: -2px;
159    z-index: 1;
160    position: relative;
161}
162
163#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu.menu--themed,
164#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu.menu--themed .navbar-nav,
165#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu.menu--themed + .menu--navbar-nav__spacer,
166#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu.menu--themed .submenu {
167    background-color: #404040;
168}
169
170#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu.menu--themed .menu-item:hover,
171#component-7d6c0990-67ea-11e7-951e-3d73553d0d27 .menu.menu--themed .menu-item:focus {
172    background-color: #575757;
173}
174
175</style><nav id="7d6c0990-67ea-11e7-951e-3d73553d0d27" class="menu menu--filled menu--navbar-nav"><button class="menu__trigger">
175<svg width="150" height="110" viewBox="0 0 150 110" xmlns="http://www.w3.org/2000/svg" class="pbs-hamburger" aria-labelledby="pbs-hamburger__title-7d6c0990-67ea-11e7-951e-3d73553d0d27"><title id="pbs-hamburger__title-7d6c0990-67ea-11e7-951e-3d73553d0d27">
176            Menu
177          </title><path class="path1" d="M0,2c0-1.1,0.9-2,2-2h146c1.1,0,2,0.9,2,2v16c0,1.1-0.9,2-2,2H2c-1.1,0-2-0.9-2-2V2L0,2z"/><path class="path2" d="M0,47c0-1.1,0.9-2,2-2h146c1.1,0,2,0.9,2,2v16c0,1.1-0.9,2-2,2H2c-1.1,0-2-0.9-2-2V47L0,47z"/><path class="path3" d="M0,47c0-1.1,0.9-2,2-2h146c1.1,0,2,0.9,2,2v16c0,1.1-0.9,2-2,2H2c-1.1,0-2-0.9-2-2V47L0,47z"/><path class="path4" d="M0,92c0-1.1,0.9-2,2-2h146c1.1,0,2,0.9,2,2v16c0,1.1-0.9,2-2,2H2c-1.1,0-2-0.9-2-2V92L0,92z"/></svg></button><div class="menu-container clearfix"><ul class="navbar-nav menu__ul
178               align-left"><li id="d7b2581a-52d4-4af7-9d32-392ed0d7b58a" class="menu__li "><a  aria-label="Home link"
179    
180    href="/"
181      
182    
183
184    class="menu-item
185    active
186    "
187    >
188    Home
189    
190  </a></li><li id="a3f8aa40-72d6-11e7-a11a-7b4ee403e9bb" class="menu__li "><a  aria-label="The Film link"
191    
192    href="/events/broadcast-schedule/"
193      
194    
195
196    class="menu-item
197    
198    
199    has-children
200      
201        
202      
203        
204      
205        
206      
207        
208      
209        
210      
211    "
212    >
213    The Film
214    
215    <i class="menu-item-caret fas fa-angle-down" aria-hidden="true"></i></a><button class="submenu__trigger" aria-label="Open Submenu"><i class="menu-item-caret fas fa-caret-down" aria-hidden="true"></i></button><ul class="submenu"><li id="b53dcd50-c0da-11e8-b8ca-7be07b89aae9" class="submenu__li"><a  aria-label="About The Film link"
216    
217    href="/events/broadcast-schedule/"
218      
219    
220
221    class="menu-item
222    
223    "
224    >
225    About The Film
226    
227  </a></li><li id="3ef4b8c0-984d-11e9-8f98-ebbbf5ddd416" class="submenu__li"><a  aria-label="Acclaim link"
228    
229    href="/media-kit/reviews/"
230      
231    
232
233    class="menu-item
234    
235    "
236    >
237    Acclaim
238    
239  </a></li><li id="ba44eea0-3129-11e8-a749-d1a229c46894" class="submenu__li"><a  aria-label="Sponsors link"
240    
241    href="/sponsors/"
242      
243    
244
245    class="menu-item
246    
247    "
248    >
249    Sponsors
250    
251  </a></li><li id="ac7535d0-a0dd-11e9-888a-0dd5cd46f769" class="submenu__li"><a  aria-label="Headlines link"
252    
253    href="/headlines/"
254      
255    
256
257    class="menu-item
258    
259    "
260    >
261    Headlines
262    
263  </a></li><li id="b264ae30-a0dd-11e9-888a-0dd5cd46f769" class="submenu__li"><a  aria-label="Media Kit link"
264    
265    href="/media-kit/"
266      
267    
268
269    class="menu-item
270    
271    "
272    >
273    Media Kit
274    
275  </a></li></ul></li><li id="c288cc60-312b-11e8-a749-d1a229c46894" class="menu__li "><a  aria-label="Education link"
276    
277    href="/education/student-impact/"
278      
279    
280
281    class="menu-item
282    
283    
284    has-children
285      
286        
287      
288        
289      
290    "
291    >
292    Education
293    
294    <i class="menu-item-caret fas fa-angle-down" aria-hidden="true"></i></a><button class="submenu__trigger" aria-label="Open Submenu"><i class="menu-item-caret fas fa-caret-down" aria-hidden="true"></i></button><ul class="submenu"><li id="78bbadc0-3b32-11e9-98d1-bd3641b64e12" class="submenu__li"><a  aria-label="Eva Education Program link"
295    
296    href="/education/student-impact/"
297      
298    
299
300    class="menu-item
301    
302    "
303    >
304    Eva Education Program
305    
306  </a></li><li id="2d869f40-9825-11e9-adcf-f1063f7c3202" class="submenu__li"><a  aria-label="Eva Virtual Reality Experience link"
307    
308    href="/education/vr/"
309      
310    
311
312    class="menu-item
313    
314    "
315    >
316    Eva Virtual Reality Experience
317    
318  </a></li></ul></li><li id="a77db5d0-2892-11e8-97d3-4183043c504a" class="menu__li "><a  aria-label="Tributes link"
319    
320    href="/about-eva/eva-new-story/"
321      
322    
323
324    class="menu-item
325    
326    
327    has-children
328      
329        
330      
331        
332      
333        
334      
335        
336      
337        
338      
339        
340      
341        
342      
343    "
344    >
345    Tributes
346    
347    <i class="menu-item-caret fas fa-angle-down" aria-hidden="true"></i></a><button class="submenu__trigger" aria-label="Open Submenu"><i class="menu-item-caret fas fa-caret-down" aria-hidden="true"></i></button><ul class="submenu"><li id="2d757e90-9e83-11e9-821c-03d19efe8a68" class="submenu__li"><a  aria-label="Tribute Video, Obit link"
348    
349    href="/about-eva/eva-new-story/"
350      
351    
352
353    class="menu-item
354    
355    "
356    >
357    Tribute Video, Obit
358    
359  </a></li><li id="78f04070-a0fa-11e9-888a-0dd5cd46f769" class="submenu__li"><a  aria-label="Remembrances link"
360    
361    href="/about-eva/remembrances/"
362      
363    
364
365    class="menu-item
366    
367    "
368    >
369    Remembrances
370    
371  </a></li><li id="0cad0130-9eb3-11e9-8695-ef96a3984ae2" class="submenu__li"><a  aria-label="Eva Photo Gallery link"
372    
373    href="/about-eva/default/"
374      
375    
376
377    class="menu-item
378    
379    "
380    >
381    Eva Photo Gallery
382    
383  </a></li><li id="adcdc620-a0cb-11e9-888a-0dd5cd46f769" class="submenu__li"><a  aria-label="Alex Kor's Letter link"
384    
385    href="/about-eva/alex-kors-letter/"
386      
387    
388
389    class="menu-item
390    
391    "
392    >
393    Alex Kor's Letter
394    
395  </a></li><li id="2c0da9a0-a343-11e9-91fe-f9faa49d4993" class="submenu__li"><a  aria-label="Media Releases link"
396    
397    href="/about-eva/media-releases/"
398      
399    
400
401    class="menu-item
402    
403    "
404    >
405    Media Releases
406    
407  </a></li><li id="7facaa60-d8a0-11e9-b430-c922d2b52104" class="submenu__li"><a  aria-label="Celebration of Life link"
408    
409    href="/about-eva/celebration-of-life/"
410      
411    
412
413    class="menu-item
414    
415    "
416    >
417    Celebration of Life
418    
419  </a></li><li id="8c630f60-d8a0-11e9-b430-c922d2b52104" class="submenu__li"><a  aria-label="Last Speech link"
420    
421    href="/about-eva/evas-last-speech/"
422      
423    
424
425    class="menu-item
426    
427    "
428    >
429    Last Speech
430    
431  </a></li></ul></li><li id="b8b878d0-431d-11e8-b0d4-07f5bf1bfdee" class="menu__li "><a  aria-label="Screenings link"
432    
433    href="/screenings/"
434      
435    
436
437    class="menu-item
438    
439    
440    has-children
441      
442        
443      
444        
445      
446        
447      
448    "
449    >
450    Screenings
451    
452    <i class="menu-item-caret fas fa-angle-down" aria-hidden="true"></i></a><button class="submenu__trigger" aria-label="Open Submenu"><i class="menu-item-caret fas fa-caret-down" aria-hidden="true"></i></button><ul class="submenu"><li id="4c8346a0-c599-11e8-b2a2-5d543b335f88" class="submenu__li"><a  aria-label="Host a Screening link"
453    
454    href="/screenings/"
455      
456    
457
458    class="menu-item
459    
460    "
461    >
462    Host a Screening
463    
464  </a></li><li id="d1cfe110-c599-11e8-b2a2-5d543b335f88" class="submenu__li"><a  aria-label="Discussion Guide link"
465    
466    href="https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/educationclips/f4f5b780a8_Discussion%20Guide%20THE%20STORY%20OF%20EVA.pdf"
467      
468    target="_blank" rel="noopener noreferrer"
469      
470    
471
472    class="menu-item
473    
474    "
475    >
476    Discussion Guide
477    
478  </a></li>
478<li id="b3008890-1a60-11e9-9ac3-f33b65f40c15" class="submenu__li"><a  aria-label="Event Photos link"
479    
480    href="/photo-gallery/"
481      
482    
483
484    class="menu-item
485    
486    "
487    >
488    Event Photos
489    
490  </a></li></ul></li><li id="ad500380-30ec-11ec-b649-9529641b3f6b" class="menu__li "><a  aria-label="Shop link"
491    
492    href="https://secure.wfyi.org/EvaItems/"
493      
494    
495
496    class="menu-item
497    
498    "
499    >
500    Shop
501    
502  </a></li></ul></div></nav><div class="menu--navbar-nav__spacer"></div></div><div id="component-c853c1f0-67ea-11e7-951e-3d73553d0d27" class="component"><style type="text/css">
503#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container:focus-within {
504    overflow: visible;
505}
506
507#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 a:focus {
508    overflow: visible;
509    position: relative;
510    z-index: 1;
511    outline: 2px solid #ffffff;
512    outline-offset: 2px;
513    box-shadow: 0 0 0 4px #575757;
514}
515
516#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .image-wrapper {
517    text-align: center;
518}
519
520#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .image-wrapper.img-text-align {
521    text-align: ;
522}
523
524#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container {
525    text-align: center;
526}
527
528#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container .image-link {
529    display: block;
530    height: 100%;
531}
532
533#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container .filer-image {
534    max-width: 100%;
535}
536
537#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container .img-details {
538    text-align: center;
539    max-width: 100%;
540    margin: auto;
541}
542
543#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container .img-details.img-aligned-left {
544    margin: 0 auto 0 0;
545}
546
547#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container .img-details.img-aligned-right {
548    margin: 0 0 0 auto;
549}
550
551#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container.img-padding-top {
552    padding-top: px;
553}
554
555#component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container.img-padding-bottom {
556    padding-bottom: px;
557}
558
559@media (min-width: 1024px) {
560    #component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container.img-padding-left {
561        padding-left: px;
562    }
563
564    #component-c853c1f0-67ea-11e7-951e-3d73553d0d27 .filer-image-container.img-padding-right {
565        padding-right: px;
566    }
567}
568
569</style><div class="image-wrapper
570            "><div
571        id="c853c1f0-67ea-11e7-951e-3d73553d0d27"
572        class="filer-image-container
573            
574            
575            
576            
577            
578            
579            "><img loading="lazy"
580                class="filer-image"
581                style="max-width: 100%;"
582                alt="&quot;Eva&quot; An Auschwitz survivor’s journey to forgiveness and healing | A film by Ted Green, Mika Brown and WFYI Public Media, Indianapolis"
583                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/74256200f9_Eva%20homepage%20main.jpg"
584                
585                
586                    
587                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/74256200f9_Eva%20homepage%20main.jpg?resize=1920x,no-scale-up 1920w,
588https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/74256200f9_Eva%20homepage%20main.jpg?resize=1199x,no-scale-up 1199w,
589https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/74256200f9_Eva%20homepage%20main.jpg?resize=991x,no-scale-up 991w,
590https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/74256200f9_Eva%20homepage%20main.jpg?resize=767x,no-scale-up 767w,
591https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/74256200f9_Eva%20homepage%20main.jpg?resize=575x,no-scale-up 575w"
592                    sizes="(min-width: 1200px) 1920px,
593 ((min-width: 992px) and (max-width: 1199px)) 1199px,
594 ((min-width: 768px) and (max-width: 991px)) 991px,
595 ((min-width: 576px) and (max-width: 767px)) 767px,
596 (max-width: 575px) 575px"
597                
598                /></div></div></div></div></div></div></div></header>
599
600
601    <main id="main-content" class="content ">
602    <div class="row-fluid">
603    <div class="container">
604
605
606<div class="content-wrapper full-width
607                                        
608                                        "><div class="row-fluid"><style type="text/css">
609        
610
611#layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.layout-padding {
612    padding: 0px 0px 0px 0px;
613}
614
615@media (min-width: 1024px) {
616    #layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.layout-padding {
617        padding: 0px 0px 0px 0px;
618    }
619}
620
621#layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.has-background-image {
622    background-image: url("");
623}
624
625
626@media (min-width: 1200px) {#layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-40174b40-73b6-11e7-92cb-2f907eee36fe.container.has-background-image {background-image: url("575w");}}
627
628        </style><div id=""><div id="layout-40174b40-73b6-11e7-92cb-2f907eee36fe"
629                class="container
630                
631                
632                
633                
634                
635                 layout-padding "
636                style=""><div id="column-40174b41-73b6-11e7-92cb-2f907eee36fe"
637                 class="span12 column-12
638                 "><div id="component-61dfeca0-71f6-11ea-a470-d5406996c44e" class="component"><style type="text/css">
639#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container:focus-within {
640    overflow: visible;
641}
642
643#component-61dfeca0-71f6-11ea-a470-d5406996c44e a:focus {
644    overflow: visible;
645    position: relative;
646    z-index: 1;
647    outline: 2px solid #ffffff;
648    outline-offset: 2px;
649    box-shadow: 0 0 0 4px #575757;
650}
651
652#component-61dfeca0-71f6-11ea-a470-d5406996c44e .image-wrapper {
653    text-align: center;
654}
655
656#component-61dfeca0-71f6-11ea-a470-d5406996c44e .image-wrapper.img-text-align {
657    text-align: center;
658}
659
660#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container {
661    text-align: center;
662}
663
664#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container .image-link {
665    display: block;
666    height: 100%;
667}
668
669#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container .filer-image {
670    max-width: 100%;
671}
672
673#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container .img-details {
674    text-align: center;
675    max-width: 100%;
676    margin: auto;
677}
678
679#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container .img-details.img-aligned-left {
680    margin: 0 auto 0 0;
681}
682
683#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container .img-details.img-aligned-right {
684    margin: 0 0 0 auto;
685}
686
687#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container.img-padding-top {
688    padding-top: px;
689}
690
691#component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container.img-padding-bottom {
692    padding-bottom: px;
693}
694
695@media (min-width: 1024px) {
696    #component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container.img-padding-left {
697        padding-left: px;
698    }
699
700    #component-61dfeca0-71f6-11ea-a470-d5406996c44e .filer-image-container.img-padding-right {
701        padding-right: px;
702    }
703}
704
705</style><div class="image-wrapper
706            img-text-align"><div
707        id="61dfeca0-71f6-11ea-a470-d5406996c44e"
708        class="filer-image-container
709            
710            
711            
712            
713            
714            
715            "><img loading="lazy"
716                class="filer-image"
717                style="max-width: 100%;"
718                alt="EVA E-LEARNING FREE IN APRIL Teachers can bring Eva&#x27;s message of hope into students&#x27; homes with the 56-minute educational version of &quot;Eva: A-7063&quot; and Educator&#x27;s Guide."
719                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f4e13cae66_Updated%20main%20header%20Website%20header%20general.jpg"
720                
721                
722                    
723                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f4e13cae66_Updated%20main%20header%20Website%20header%20general.jpg?resize=1920x,no-scale-up 1920w,
724https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f4e13cae66_Updated%20main%20header%20Website%20header%20general.jpg?resize=1199x,no-scale-up 1199w,
725https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f4e13cae66_Updated%20main%20header%20Website%20header%20general.jpg?resize=991x,no-scale-up 991w,
726https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f4e13cae66_Updated%20main%20header%20Website%20header%20general.jpg?resize=767x,no-scale-up 767w,
727https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f4e13cae66_Updated%20main%20header%20Website%20header%20general.jpg?resize=575x,no-scale-up 575w"
728                    sizes="(min-width: 1200px) 1920px,
729 ((min-width: 992px) and (max-width: 1199px)) 1199px,
730 ((min-width: 768px) and (max-width: 991px)) 991px,
731 ((min-width: 576px) and (max-width: 767px)) 767px,
732 (max-width: 575px) 575px"
733                
734                /></div></div></div></div></div></div></div><div class="row-fluid"><style type="text/css">
735        
736
737#layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.layout-padding {
738    padding: 0px 0px 0px 0px;
739}
740
741@media (min-width: 1024px) {
742    #layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.layout-padding {
743        padding: 0px 0px 0px 0px;
744    }
745}
746
747#layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.has-background-image {
748    background-image: url("");
749}
750
751
752@media (min-width: 1200px) {#layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-8bee5add-cc32-4b91-aaec-8288cda80c8c.container.has-background-image {background-image: url("575w");}}
753
754        </style><div id=""><div id="layout-8bee5add-cc32-4b91-aaec-8288cda80c8c"
755                class="container
756                
757                
758                
759                
760                
761                 layout-padding "
762                style=""><div id="column-b721c810-3a06-11e9-b20c-7b5069252681"
763                 class="span4 column-4
764                 "><div id="component-70f037d0-3c42-11e9-b600-0f4d17a137fc" class="component"><style type="text/css">
765#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container:focus-within {
766    overflow: visible;
767}
768
769#component-70f037d0-3c42-11e9-b600-0f4d17a137fc a:focus {
770    overflow: visible;
771    position: relative;
772    z-index: 1;
773    outline: 2px solid #ffffff;
774    outline-offset: 2px;
775    box-shadow: 0 0 0 4px #575757;
776}
777
778#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .image-wrapper {
779    text-align: center;
780}
781
782#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .image-wrapper.img-text-align {
783    text-align: center;
784}
785
786#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container {
787    text-align: center;
788}
789
790#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container .image-link {
791    display: block;
792    height: 100%;
793}
794
795#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container .filer-image {
796    max-width: 100%;
797}
798
799#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details {
800    text-align: center;
801    max-width: 100%;
802    margin: auto;
803}
804
805#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details.img-aligned-left {
806    margin: 0 auto 0 0;
807}
808
809#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details.img-aligned-right {
810    margin: 0 0 0 auto;
811}
812
813#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-top {
814    padding-top: px;
815}
816
817#component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-bottom {
818    padding-bottom: px;
819}
820
821@media (min-width: 1024px) {
822    #component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-left {
823        padding-left: px;
824    }
825
826    #component-70f037d0-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-right {
827        padding-right: px;
828    }
829}
830
831</style><div class="image-wrapper
832            img-text-align"><div
833        id="70f037d0-3c42-11e9-b600-0f4d17a137fc"
834        class="filer-image-container
835            
836            
837            
838            
839            
840            
841            "><img loading="lazy"
842                class="filer-image"
843                style="max-width: 100%;"
844                alt="Filer image"
845                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/5b64bb088e_3%20seperate%20boxes%201.png"
846                
847                
848                    
849                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/5b64bb088e_3%20seperate%20boxes%201.png?resize=640x,no-scale-up 640w,
850https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/5b64bb088e_3%20seperate%20boxes%201.png?resize=399x,no-scale-up 399w,
851https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/5b64bb088e_3%20seperate%20boxes%201.png?resize=330x,no-scale-up 330w,
852https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/5b64bb088e_3%20seperate%20boxes%201.png?resize=767x,no-scale-up 767w,
853https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/5b64bb088e_3%20seperate%20boxes%201.png?resize=575x,no-scale-up 575w"
854                    sizes="(min-width: 1200px) 640px,
855 ((min-width: 992px) and (max-width: 1199px)) 399px,
856 ((min-width: 768px) and (max-width: 991px)) 330px,
857 ((min-width: 576px) and (max-width: 767px)) 767px,
858 (max-width: 575px) 575px"
859                
860                /></div></div></div></div><div id="column-5ca8e75f-e517-4c41-ac90-425db21f7fe8"
861                 class="span4 column-4
862                 "><div id="component-74450820-3c42-11e9-b600-0f4d17a137fc" class="component"><style type="text/css">
863#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container:focus-within {
864    overflow: visible;
865}
866
867#component-74450820-3c42-11e9-b600-0f4d17a137fc a:focus {
868    overflow: visible;
869    position: relative;
870    z-index: 1;
871    outline: 2px solid #ffffff;
872    outline-offset: 2px;
873    box-shadow: 0 0 0 4px #575757;
874}
875
876#component-74450820-3c42-11e9-b600-0f4d17a137fc .image-wrapper {
877    text-align: center;
878}
879
880#component-74450820-3c42-11e9-b600-0f4d17a137fc .image-wrapper.img-text-align {
881    text-align: center;
882}
883
884#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container {
885    text-align: center;
886}
887
888#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container .image-link {
889    display: block;
890    height: 100%;
891}
892
893#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container .filer-image {
894    max-width: 100%;
895}
896
897#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details {
898    text-align: center;
899    max-width: 100%;
900    margin: auto;
901}
902
903#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details.img-
903aligned-left {
904    margin: 0 auto 0 0;
905}
906
907#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details.img-aligned-right {
908    margin: 0 0 0 auto;
909}
910
911#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-top {
912    padding-top: px;
913}
914
915#component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-bottom {
916    padding-bottom: px;
917}
918
919@media (min-width: 1024px) {
920    #component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-left {
921        padding-left: px;
922    }
923
924    #component-74450820-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-right {
925        padding-right: px;
926    }
927}
928
929</style><div class="image-wrapper
930            img-text-align"><div
931        id="74450820-3c42-11e9-b600-0f4d17a137fc"
932        class="filer-image-container
933            
934            
935            
936            
937            
938            
939            "><img loading="lazy"
940                class="filer-image"
941                style="max-width: 100%;"
942                alt="Eva Mozes Kor: At 10, she survived experiments by Nazi doctor Josef Mengele. At 50, she helped launch the biggest manhunt in history. Now 85, after decades of pain and anger, she travels the world to promote what her life journey has taught: HOPE. HEALING. HUMANITY. &quot;Eva: A-7063,&quot; a documentary by Ted Green, Mika Brown and WFYI, tells her full, unvarnished story for the first time, inspiring viewers around the world."
943                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/8.21.19/35e12c4f86_boxes%203%20home%20page%20pictures%203.png"
944                
945                
946                    
947                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/8.21.19/35e12c4f86_boxes%203%20home%20page%20pictures%203.png?resize=640x,no-scale-up 640w,
948https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/8.21.19/35e12c4f86_boxes%203%20home%20page%20pictures%203.png?resize=399x,no-scale-up 399w,
949https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/8.21.19/35e12c4f86_boxes%203%20home%20page%20pictures%203.png?resize=330x,no-scale-up 330w,
950https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/8.21.19/35e12c4f86_boxes%203%20home%20page%20pictures%203.png?resize=767x,no-scale-up 767w,
951https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/8.21.19/35e12c4f86_boxes%203%20home%20page%20pictures%203.png?resize=575x,no-scale-up 575w"
952                    sizes="(min-width: 1200px) 640px,
953 ((min-width: 992px) and (max-width: 1199px)) 399px,
954 ((min-width: 768px) and (max-width: 991px)) 330px,
955 ((min-width: 576px) and (max-width: 767px)) 767px,
956 (max-width: 575px) 575px"
957                
958                /></div></div></div></div><div id="column-0bae5dc3-c3f8-4248-95be-040ac287c68d"
959                 class="span4 column-4
960                 "><div id="component-7525a420-3c42-11e9-b600-0f4d17a137fc" class="component"><style type="text/css">
961#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container:focus-within {
962    overflow: visible;
963}
964
965#component-7525a420-3c42-11e9-b600-0f4d17a137fc a:focus {
966    overflow: visible;
967    position: relative;
968    z-index: 1;
969    outline: 2px solid #ffffff;
970    outline-offset: 2px;
971    box-shadow: 0 0 0 4px #575757;
972}
973
974#component-7525a420-3c42-11e9-b600-0f4d17a137fc .image-wrapper {
975    text-align: center;
976}
977
978#component-7525a420-3c42-11e9-b600-0f4d17a137fc .image-wrapper.img-text-align {
979    text-align: center;
980}
981
982#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container {
983    text-align: center;
984}
985
986#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container .image-link {
987    display: block;
988    height: 100%;
989}
990
991#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container .filer-image {
992    max-width: 100%;
993}
994
995#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details {
996    text-align: center;
997    max-width: 100%;
998    margin: auto;
999}
1000
1001#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details.img-
1001aligned-left {
1002    margin: 0 auto 0 0;
1003}
1004
1005#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container .img-details.img-aligned-right {
1006    margin: 0 0 0 auto;
1007}
1008
1009#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-top {
1010    padding-top: px;
1011}
1012
1013#component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-bottom {
1014    padding-bottom: px;
1015}
1016
1017@media (min-width: 1024px) {
1018    #component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-left {
1019        padding-left: px;
1020    }
1021
1022    #component-7525a420-3c42-11e9-b600-0f4d17a137fc .filer-image-container.img-padding-right {
1023        padding-right: px;
1024    }
1025}
1026
1027</style><div class="image-wrapper
1028            img-text-align"><div
1029        id="7525a420-3c42-11e9-b600-0f4d17a137fc"
1030        class="filer-image-container
1031            
1032            
1033            
1034            
1035            
1036            
1037            "><img loading="lazy"
1038                class="filer-image"
1039                style="max-width: 100%;"
1040                alt="Filer image"
1041                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/b01a38fef4_3%20seperate%20boxes%202.png"
1042                
1043                
1044                    
1045                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/b01a38fef4_3%20seperate%20boxes%202.png?resize=640x,no-scale-up 640w,
1046https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/b01a38fef4_3%20seperate%20boxes%202.png?resize=399x,no-scale-up 399w,
1047https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/b01a38fef4_3%20seperate%20boxes%202.png?resize=330x,no-scale-up 330w,
1048https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/b01a38fef4_3%20seperate%20boxes%202.png?resize=767x,no-scale-up 767w,
1049https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/Team%20Eva%20updates/b01a38fef4_3%20seperate%20boxes%202.png?resize=575x,no-scale-up 575w"
1050                    sizes="(min-width: 1200px) 640px,
1051 ((min-width: 992px) and (max-width: 1199px)) 399px,
1052 ((min-width: 768px) and (max-width: 991px)) 330px,
1053 ((min-width: 576px) and (max-width: 767px)) 767px,
1054 (max-width: 575px) 575px"
1055                
1056                /></div></div></div></div></div></div></div><div class="row-fluid"><style type="text/css">
1057        
1058
1059#layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.layout-padding {
1060    padding: 0px 0px 0px 0px;
1061}
1062
1063@media (min-width: 1024px) {
1064    #layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.layout-padding {
1065        padding: 0px 0px 0px 0px;
1066    }
1067}
1068
1069#layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.has-background-image {
1070    background-image: url("");
1071}
1072
1073
1074@media (min-width: 1200px) {#layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8.container.has-background-image {background-image: url("575w");}}
1075
1076        </style><div id=""><div id="layout-bcea3fec-d4a9-4a0a-b76e-d25ccc6c6bb8"
1077                class="container
1078                
1079                
1080                
1081                
1082                
1083                 layout-padding "
1084                style=""><div id="column-fb2aacc0-a0ee-11ea-93bb-b93edb1cf13c"
1085                 class="span12 column-12
1086                 "><div id="component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
1087#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container:focus-within {
1088    overflow: visible;
1089}
1090
1091#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c a:focus {
1092    overflow: visible;
1093    position: relative;
1094    z-index: 1;
1095    outline: 2px solid #ffffff;
1096    outline-offset: 2px;
1097    box-shadow: 0 0 0 4px #575757;
1098}
1099
1100#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .image-wrapper {
1101    text-align: center;
1102}
1103
1104#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .image-wrapper.img-text-align {
1105    text-align: center;
1106}
1107
1108#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container {
1109    text-align: center;
1110}
1111
1112#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container .image-link {
1113    display: block;
1114    height: 100%;
1115}
1116
1117#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container .filer-image {
1118    max-width: 100%;
1119}
1120
1121#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container .img-details {
1122    text-align: center;
1123    max-width: 100%;
1124    margin: auto;
1125}
1126
1127#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-
1127aligned-left {
1128    margin: 0 auto 0 0;
1129}
1130
1131#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-right {
1132    margin: 0 0 0 auto;
1133}
1134
1135#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-top {
1136    padding-top: px;
1137}
1138
1139#component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-bottom {
1140    padding-bottom: px;
1141}
1142
1143@media (min-width: 1024px) {
1144    #component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-left {
1145        padding-left: px;
1146    }
1147
1148    #component-ff573f70-a0ee-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-right {
1149        padding-right: px;
1150    }
1151}
1152
1153</style><div class="image-wrapper
1154            img-text-align"><div
1155        id="ff573f70-a0ee-11ea-93bb-b93edb1cf13c"
1156        class="filer-image-container
1157            
1158            
1159            
1160            
1161            
1162            
1163            "><img loading="lazy"
1164                class="filer-image"
1165                style="max-width: 100%;"
1166                alt="&quot;EVA: A-7063&quot; TRAILER"
1167                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/b26a40c291_trailer%20update%20Words%20headers%20long.jpg"
1168                
1169                
1170                    
1171                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/b26a40c291_trailer%20update%20Words%20headers%20long.jpg?resize=1920x,no-scale-up 1920w,
1172https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/b26a40c291_trailer%20update%20Words%20headers%20long.jpg?resize=1199x,no-scale-up 1199w,
1173https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/b26a40c291_trailer%20update%20Words%20headers%20long.jpg?resize=991x,no-scale-up 991w,
1174https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/b26a40c291_trailer%20update%20Words%20headers%20long.jpg?resize=767x,no-scale-up 767w,
1175https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/b26a40c291_trailer%20update%20Words%20headers%20long.jpg?resize=575x,no-scale-up 575w"
1176                    sizes="(min-width: 1200px) 1920px,
1177 ((min-width: 992px) and (max-width: 1199px)) 1199px,
1178 ((min-width: 768px) and (max-width: 991px)) 991px,
1179 ((min-width: 576px) and (max-width: 767px)) 767px,
1180 (max-width: 575px) 575px"
1181                
1182                /></div></div></div></div></div></div></div><div class="row-fluid"><style type="text/css">
1183        
1184
1185#layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.layout-padding {
1186    padding: 0px 0px 0px 0px;
1187}
1188
1189@media (min-width: 1024px) {
1190    #layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.layout-padding {
1191        padding: 0px 0px 0px 0px;
1192    }
1193}
1194
1195#layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.has-background-image {
1196    background-image: url("");
1197}
1198
1199
1200@media (min-width: 1200px) {#layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2.container.has-background-image {background-image: url("575w");}}
1201
1202        </style><div id=""><div id="layout-1526d54e-bdd5-41b9-89b0-5f8604590ad2"
1203                class="container
1204                
1205                
1206                
1207                
1208                
1209                 layout-padding "
1210                style=""><div id="column-d0da5770-a041-11ea-8060-eb8e37da56c5"
1211                 class="span12 column-12
1212                 "><div id="component-d67abb00-72c6-11ea-b321-218155bddf99" class="component"><style type="text/css">
1213 #video-component_d67abb00-72c6-11ea-b321-218155bddf99.video-component {
1214    border: 1px solid #EEEEEE;
1215    background-color: #F5F5F5;
1216}
1217
1218#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-container {
1219    background-color: #F5F5F5;
1220    border-bottom: 1px solid #EEEEEE;
1221}
1222
1223#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-info {
1224    border-top: 1px solid #EEEEEE;
1225}
1226
1227#video-component_d67abb00-72c6-11ea-b321-218155bddf99 section {
1228    background-color: #F5F5F5;
1229}
1230
1231#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist__wrapper {
1232    border-left: 1px solid #EEEEEE;
1233    background-color: #F5F5F5;
1234}
1235
1236#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-item,
1237#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-body,
1238#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-info {
1239    background-color: #F5F5F5;
1240}
1241
1242#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-item-title {
1243    color: #575757;
1244}
1245
1246#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-item.selected-item .playlist-item-title,
1247#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-item:hover .playlist-item-title {
1248    color: #404040;
1249}
1250
1251#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-item.selected-item,
1252#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-item:hover {
1253    background-color: #EEEEEE;
1254}
1255
1256#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-header {
1257    background-color: #E6E6E6;
1258}
1259
1260#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-cta {
1261    border-color: #575757;
1262    color: #575757;
1263}
1264
1265#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-cta {
1266    color: #575757;
1267}
1268
1269#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-cta:hover,
1270#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-cta:focus {
1271    background-color: #404040;
1272    border-color: #404040;
1273    color: #F5F5F5;
1274}
1275
1276#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .video-cta:hover {
1277    text-decoration: underline;
1278}
1279
1280#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-body .playlist-item {
1281    /* Remove default button appearance in Firefox */
1282    appearance: none;
1283    -webkit-appearance: none;
1284    -moz-appearance: none;
1285    /* Add visible focus style for accessibility */
1286}
1287
1288#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .playlist-body .playlist-item:focus {
1289    outline: 2px solid #ffffff;
1290    outline-offset: -4px;
1291    box-shadow: inset 0 0 0 4px #575757;
1292    position: relative;
1293    z-index: 1;
1294}
1295
1296#video-component_d67abb00-72c6-11ea-b321-218155bddf99 button:focus,
1297#video-component_d67abb00-72c6-11ea-b321-218155bddf99 a:focus {
1298    overflow: visible;
1299    outline: 2px solid #ffffff;
1300    outline-offset: 2px;
1301    box-shadow: 0 0 0 4px #575757;
1302}
1303
1304#video-component_d67abb00-72c6-11ea-b321-218155bddf99 .pill-button-component:focus {
1305    outline: 2px solid #575757;
1306    outline-offset: 2px;
1307    box-shadow: 0 0 0 4px #ffffff;
1308}
1309
1310
1311
1312</style><div id='video-component_d67abb00-72c6-11ea-b321-218155bddf99' class='video-component  column-12'><div class="video-container__wrapper"><!-- The <iframe> (and video player) will replace this <div> tag. --><div id='video-container_d67abb00-72c6-11ea-b321-218155bddf99' class='video-container'></div><div class='video-info'><div class='title'>"Eva: A-7063" Trailer</div></div></div></div></div></div></div></div></div><div class="row-fluid"><style type="text/css">
1313        
1314
1315#layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.layout-padding {
1316    padding: 0px 0px 0px 0px;
1317}
1318
1319@media (min-width: 1024px) {
1320    #layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.layout-padding {
1321        padding: 0px 0px 0px 0px;
1322    }
1323}
1324
1325#layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.has-background-image {
1326    background-image: url("");
1327}
1328
1329
1330@media (min-width: 1200px) {#layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-316a02b4-d96b-49c4-bf20-a6f132b6039f.container.has-background-image {background-image: url("575w");}}
1331
1332        </style><div id=""><div id="layout-316a02b4-d96b-49c4-bf20-a6f132b6039f"
1333                class="container
1334                
1335                
1336                
1337                
1338                
1339                 layout-padding "
1340                style=""><div id="column-35498fb0-a0f0-11ea-93bb-b93edb1cf13c"
1341                 class="span12 column-12
1342                 "><div id="component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
1343#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container:focus-within {
1344    overflow: visible;
1345}
1346
1347#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c a:focus {
1348    overflow: visible;
1349    position: relative;
1350    z-index: 1;
1351    outline: 2px solid #ffffff;
1352    outline-offset: 2px;
1353    box-shadow: 0 0 0 4px #575757;
1354}
1355
1356#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .image-wrapper {
1357    text-align: center;
1358}
1359
1360#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .image-wrapper.img-text-align {
1361    text-align: center;
1362}
1363
1364#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container {
1365    text-align: center;
1366}
1367
1368#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container .image-link {
1369    display: block;
1370    height: 100%;
1371}
1372
1373#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container .filer-image {
1374    max-width: 100%;
1375}
1376
1377#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container .img-details {
1378    text-align: center;
1379    max-width: 100%;
1380    margin: auto;
1381}
1382
1383#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-
1383aligned-left {
1384    margin: 0 auto 0 0;
1385}
1386
1387#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-right {
1388    margin: 0 0 0 auto;
1389}
1390
1391#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-top {
1392    padding-top: px;
1393}
1394
1395#component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-bottom {
1396    padding-bottom: px;
1397}
1398
1399@media (min-width: 1024px) {
1400    #component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-left {
1401        padding-left: px;
1402    }
1403
1404    #component-39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-right {
1405        padding-right: px;
1406    }
1407}
1408
1409</style><div class="image-wrapper
1410            img-text-align"><div
1411        id="39c7ebe0-a0f0-11ea-93bb-b93edb1cf13c"
1412        class="filer-image-container
1413            
1414            
1415            
1416            
1417            
1418            
1419            "><a aria-label="EVA EDUCATION PROGRAM image link" class="image-link" href="/education/student-impact/"
1420        target=""
1421        ><img loading="lazy"
1422                class="filer-image"
1423                style="max-width: 100%;"
1424                alt="EVA EDUCATION PROGRAM"
1425                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/a06b9ae432_eDUCATIO%202%20Words%20headers%20long.jpg"
1426                
1427                
1428                    
1429                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/a06b9ae432_eDUCATIO%202%20Words%20headers%20long.jpg?resize=1920x,no-scale-up 1920w,
1430https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/a06b9ae432_eDUCATIO%202%20Words%20headers%20long.jpg?resize=1199x,no-scale-up 1199w,
1431https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/a06b9ae432_eDUCATIO%202%20Words%20headers%20long.jpg?resize=991x,no-scale-up 991w,
1432https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/a06b9ae432_eDUCATIO%202%20Words%20headers%20long.jpg?resize=767x,no-scale-up 767w,
1433https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/a06b9ae432_eDUCATIO%202%20Words%20headers%20long.jpg?resize=575x,no-scale-up 575w"
1434                    sizes="(min-width: 1200px) 1920px,
1435 ((min-width: 992px) and (max-width: 1199px)) 1199px,
1436 ((min-width: 768px) and (max-width: 991px)) 991px,
1437 ((min-width: 576px) and (max-width: 767px)) 767px,
1438 (max-width: 575px) 575px"
1439                
1440                /></a></div></div></div></div></div></div></div><div class="row-fluid"><style type="text/css">
1441        
1442
1443#layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.layout-padding {
1444    padding: 0px 0px 0px 0px;
1445}
1446
1447@media (min-width: 1024px) {
1448    #layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.layout-padding {
1449        padding: 0px 0px 0px 0px;
1450    }
1451}
1452
1453#layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.has-background-image {
1454    background-image: url("");
1455}
1456
1457
1458@media (min-width: 1200px) {#layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-1dad7573-f977-4c82-a088-121beaaaac3d.container.has-background-image {background-image: url("575w");}}
1459
1460        </style><div id=""><div id="layout-1dad7573-f977-4c82-a088-121beaaaac3d"
1461                class="container
1462                
1463                
1464                
1465                
1466                
1467                 layout-padding "
1468                style=""><div id="column-40946150-a0f1-11ea-93bb-b93edb1cf13c"
1469                 class="span8 column-8
1470                 "><div id="component-e2308870-a0f3-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
1471#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container:focus-within {
1472    overflow: visible;
1473}
1474
1475#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c a:focus {
1476    overflow: visible;
1477    position: relative;
1478    z-index: 1;
1479    outline: 2px solid #ffffff;
1480    outline-offset: 2px;
1481    box-shadow: 0 0 0 4px #575757;
1482}
1483
1484#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .image-wrapper {
1485    text-align: center;
1486}
1487
1488#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .image-wrapper.img-text-align {
1489    text-align: center;
1490}
1491
1492#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container {
1493    text-align: center;
1494}
1495
1496#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container .image-link {
1497    display: block;
1498    height: 100%;
1499}
1500
1501#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container .filer-image {
1502    max-width: 100%;
1503}
1504
1505#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container .img-details {
1506    text-align: center;
1507    max-width: 100%;
1508    margin: auto;
1509}
1510
1511#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-
1511aligned-left {
1512    margin: 0 auto 0 0;
1513}
1514
1515#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-right {
1516    margin: 0 0 0 auto;
1517}
1518
1519#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-top {
1520    padding-top: px;
1521}
1522
1523#component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-bottom {
1524    padding-bottom: px;
1525}
1526
1527@media (min-width: 1024px) {
1528    #component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-left {
1529        padding-left: px;
1530    }
1531
1532    #component-e2308870-a0f3-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-right {
1533        padding-right: px;
1534    }
1535}
1536
1537</style><div class="image-wrapper
1538            img-text-align"><div
1539        id="e2308870-a0f3-11ea-93bb-b93edb1cf13c"
1540        class="filer-image-container
1541            
1542            
1543            
1544            
1545            
1546            
1547            "><a aria-label="The Eva Education Program focuses on Eva’s 12 life-affirming messages — including Acceptance, Forgiveness and Moral Courage — and emphasizes social-emotional learning. It consists of a shortened version of the documentary and the interactive Eva Educator’s Guide, and it’s available for free digitally on PBS Learning Media, or on hard copy on the links to the right.  image link" class="image-link" href="/education/student-impact/"
1548        target=""
1549        ><img loading="lazy"
1550                class="filer-image"
1551                style="max-width: 100%;"
1552                alt="The Eva Education Program focuses on Eva’s 12 life-affirming messages — including Acceptance, Forgiveness and Moral Courage — and emphasizes social-emotional learning. It consists of a shortened version of the documentary and the interactive Eva Educator’s Guide, and it’s available for free digitally on PBS Learning Media, or on hard copy on the links to the right. "
1553                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f928b094a5_home%20page%20education%20box.jpg"
1554                
1555                
1556                    
1557                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f928b094a5_home%20page%20education%20box.jpg?resize=1280x,no-scale-up 1280w,
1558https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f928b094a5_home%20page%20education%20box.jpg?resize=799x,no-scale-up 799w,
1559https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f928b094a5_home%20page%20education%20box.jpg?resize=660x,no-scale-up 660w,
1560https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f928b094a5_home%20page%20education%20box.jpg?resize=767x,no-scale-up 767w,
1561https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/f928b094a5_home%20page%20education%20box.jpg?resize=575x,no-scale-up 575w"
1562                    sizes="(min-width: 1200px) 1280px,
1563 ((min-width: 992px) and (max-width: 1199px)) 799px,
1564 ((min-width: 768px) and (max-width: 991px)) 660px,
1565 ((min-width: 576px) and (max-width: 767px)) 767px,
1566 (max-width: 575px) 575px"
1567                
1568                /></a></div></div></div></div><div id="column-a85c0252-316c-43de-97be-69ccabed413d"
1569                 class="span4 column-4
1570                 "><div id="component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
1571#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container:focus-within {
1572    overflow: visible;
1573}
1574
1575#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c a:focus {
1576    overflow: visible;
1577    position: relative;
1578    z-index: 1;
1579    outline: 2px solid #ffffff;
1580    outline-offset: 2px;
1581    box-shadow: 0 0 0 4px #575757;
1582}
1583
1584#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .image-wrapper {
1585    text-align: center;
1586}
1587
1588#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .image-wrapper.img-text-align {
1589    text-align: center;
1590}
1591
1592#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container {
1593    text-align: center;
1594}
1595
1596#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container .image-link {
1597    display: block;
1598    height: 100%;
1599}
1600
1601#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container .filer-image {
1602    max-width: 100%;
1603}
1604
1605#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container .img-details {
1606    text-align: center;
1607    max-width: 100%;
1608    margin: auto;
1609}
1610
1611#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-
1611aligned-left {
1612    margin: 0 auto 0 0;
1613}
1614
1615#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-right {
1616    margin: 0 0 0 auto;
1617}
1618
1619#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-top {
1620    padding-top: px;
1621}
1622
1623#component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-bottom {
1624    padding-bottom: px;
1625}
1626
1627@media (min-width: 1024px) {
1628    #component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-left {
1629        padding-left: px;
1630    }
1631
1632    #component-91f41ba0-a0f4-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-right {
1633        padding-right: px;
1634    }
1635}
1636
1637</style><div class="image-wrapper
1638            img-text-align"><div
1639        id="91f41ba0-a0f4-11ea-93bb-b93edb1cf13c"
1640        class="filer-image-container
1641            
1642            
1643            
1644            
1645            
1646            
1647            "><a aria-label="Click here to access the Eva Education Program digitally for free on  PBS Learning Media. image link" class="image-link" href="https://www.pbslearningmedia.org/collection/eva-kor-documentary-and-educators-guide/"
1648        target="_blank"
1649        rel="noopener"><img loading="lazy"
1650                class="filer-image"
1651                style="max-width: 100%;"
1652                alt="Click here to access the Eva Education Program digitally for free on  PBS Learning Media."
1653                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/11fa82f437_new%20font%20collection.jpg"
1654                
1655                
1656                    
1657                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/11fa82f437_new%20font%20collection.jpg?resize=640x,no-scale-up 640w,
1658https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/11fa82f437_new%20font%20collection.jpg?resize=399x,no-scale-up 399w,
1659https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/11fa82f437_new%20font%20collection.jpg?resize=330x,no-scale-up 330w,
1660https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/11fa82f437_new%20font%20collection.jpg?resize=767x,no-scale-up 767w,
1661https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/11fa82f437_new%20font%20collection.jpg?resize=575x,no-scale-up 575w"
1662                    sizes="(min-width: 1200px) 640px,
1663 ((min-width: 992px) and (max-width: 1199px)) 399px,
1664 ((min-width: 768px) and (max-width: 991px)) 330px,
1665 ((min-width: 576px) and (max-width: 767px)) 767px,
1666 (max-width: 575px) 575px"
1667                
1668                /></a></div></div></div><div id="component-debcb610-a101-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
1669#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container:focus-within {
1670    overflow: visible;
1671}
1672
1673#component-debcb610-a101-11ea-93bb-b93edb1cf13c a:focus {
1674    overflow: visible;
1675    position: relative;
1676    z-index: 1;
1677    outline: 2px solid #ffffff;
1678    outline-offset: 2px;
1679    box-shadow: 0 0 0 4px #575757;
1680}
1681
1682#component-debcb610-a101-11ea-93bb-b93edb1cf13c .image-wrapper {
1683    text-align: center;
1684}
1685
1686#component-debcb610-a101-11ea-93bb-b93edb1cf13c .image-wrapper.img-text-align {
1687    text-align: center;
1688}
1689
1690#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container {
1691    text-align: center;
1692}
1693
1694#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container .image-link {
1695    display: block;
1696    height: 100%;
1697}
1698
1699#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container .filer-image {
1700    max-width: 100%;
1701}
1702
1703#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container .img-details {
1704    text-align: center;
1705    max-width: 100%;
1706    margin: auto;
1707}
1708
1709#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-left {
1710    margin: 0 auto 0 0;
1711}
1712
1713#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-right {
1714    margin: 0 0 0 auto;
1715}
1716
1717#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-top {
1718    padding-top: px;
1719}
1720
1721#component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-bottom {
1722    padding-bottom: px;
1723}
1724
1725@media (min-width: 1024px) {
1726    #component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-left {
1727        padding-left: px;
1728    }
1729
1730    #component-debcb610-a101-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-right {
1731        padding-right: px;
1732    }
1733}
1734
1735</style><div class="image-wrapper
1736            img-text-align"><div
1737        id="debcb610-a101-11ea-93bb-b93edb1cf13c"
1738        class="filer-image-container
1739            
1740            
1741            
1742            
1743            
1744            
1745            "><img loading="lazy"
1746                class="filer-image"
1747                style="max-width: 100%;"
1748                alt="Filer image"
1749                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/d3f1d05e2f_smallest%20pbs%20bar.jpg"
1750                
1751                
1752                    
1753                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/d3f1d05e2f_smallest%20pbs%20bar.jpg?resize=64
17530x,no-scale-up 640w,
1754https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/d3f1d05e2f_smallest%20pbs%20bar.jpg?resize=399x,no-scale-up 399w,
1755https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/d3f1d05e2f_smallest%20pbs%20bar.jpg?resize=330x,no-scale-up 330w,
1756https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/d3f1d05e2f_smallest%20pbs%20bar.jpg?resize=767x,no-scale-up 767w,
1757https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/d3f1d05e2f_smallest%20pbs%20bar.jpg?resize=575x,no-scale-up 575w"
1758                    sizes="(min-width: 1200px) 640px,
1759 ((min-width: 992px) and (max-width: 1199px)) 399px,
1760 ((min-width: 768px) and (max-width: 991px)) 330px,
1761 ((min-width: 576px) and (max-width: 767px)) 767px,
1762 (max-width: 575px) 575px"
1763                
1764                /></div></div></div></div></div></div></div><div class="row-fluid"><style type="text/css">
1765        
1766
1767#layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.layout-padding {
1768    padding: 0px 0px 0px 0px;
1769}
1770
1771@media (min-width: 1024px) {
1772    #layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.layout-padding {
1773        padding: 0px 0px 0px 0px;
1774    }
1775}
1776
1777#layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.has-background-image {
1778    background-image: url("");
1779}
1780
1781
1782@media (min-width: 1200px) {#layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-ee32487e-73eb-456e-b0f6-fc8fbc925553.container.has-background-image {background-image: url("575w");}}
1783
1784        </style><div id=""><div id="layout-ee32487e-73eb-456e-b0f6-fc8fbc925553"
1785                class="container
1786                
1787                
1788                
1789                
1790                
1791                 layout-padding "
1792                style=""><div id="column-ca01b980-a0ef-11ea-93bb-b93edb1cf13c"
1793                 class="span12 column-12
1794                 "><div id="component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
1795#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container:focus-within {
1796    overflow: visible;
1797}
1798
1799#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c a:focus {
1800    overflow: visible;
1801    position: relative;
1802    z-index: 1;
1803    outline: 2px solid #ffffff;
1804    outline-offset: 2px;
1805    box-shadow: 0 0 0 4px #575757;
1806}
1807
1808#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .image-wrapper {
1809    text-align: center;
1810}
1811
1812#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .image-wrapper.img-text-align {
1813    text-align: center;
1814}
1815
1816#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container {
1817    text-align: center;
1818}
1819
1820#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container .image-link {
1821    display: block;
1822    height: 100%;
1823}
1824
1825#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container .filer-image {
1826    max-width: 100%;
1827}
1828
1829#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container .img-details {
1830    text-align: center;
1831    max-width: 100%;
1832    margin: auto;
1833}
1834
1835#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-left {
1836    margin: 0 auto 0 0;
1837}
1838
1839#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container .img-details.img-aligned-right {
1840    margin: 0 0 0 auto;
1841}
1842
1843#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-top {
1844    padding-top: px;
1845}
1846
1847#component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-bottom {
1848    padding-bottom: px;
1849}
1850
1851@media (min-width: 1024px) {
1852    #component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-left {
1853        padding-left: px;
1854    }
1855
1856    #component-cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c .filer-image-container.img-padding-right {
1857        padding-right: px;
1858    }
1859}
1860
1861</style><div class="image-wrapper
1862            img-text-align"><div
1863        id="cdd30cd0-a0ef-11ea-93bb-b93edb1cf13c"
1864        class="filer-image-container
1865            
1866            
1867            
1868            
1869            
1870            
1871            "><img loading="lazy"
1872                class="filer-image"
1873                style="max-width: 100%;"
1874                alt="VIDEOS"
1875                src="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/2d9f255c2c_Videos%20Word%20Header.jpg"
1876                
1877                
1878                    
1879                    srcset="https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/2d9f255c2c_Videos%20Word%20Header.jpg?resize=1920x,no-scale-up 1920w,
1880https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/2d9f255c2c_Videos%20Word%20Header.jpg?resize=1199x,no-scale-up 1199w,
1881https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/2d9f255c2c_Videos%20Word%20Header.jpg?resize=991x,no-scale-up 991w,
1882https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/2d9f255c2c_Videos%20Word%20Header.jpg?resize=767x,no-scale-up 767w,
1883https://image.pbs.org/bento3-prod/thestoryofeva-bento-live-pbs/01%20MESSAGE/5.27.20/2d9f255c2c_Videos%20Word%20Header.jpg?resize=575x,no-scale-up 575w"
1884                    sizes="(min-width: 1200px) 1920px,
1885 ((min-width: 992px) and (max-width: 1199px)) 1199px,
1886 ((min-width: 768px) and (max-width: 991px)) 991px,
1887 ((min-width: 576px) and (max-width: 767px)) 767px,
1888 (max-width: 575px) 575px"
1889                
1890                /></div></div></div></div></div></div></div><div class="row-fluid"><style type="text/css">
1891        
1892
1893#layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.layout-padding {
1894    padding: 0px 0px 0px 0px;
1895}
1896
1897@media (min-width: 1024px) {
1898    #layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.layout-padding {
1899        padding: 0px 0px 0px 0px;
1900    }
1901}
1902
1903#layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.has-background-image {
1904    background-image: url("");
1905}
1906
1907
1908@media (min-width: 1200px) {#layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1.container.has-background-image {background-image: url("575w");}}
1909
1910        </style><div id=""><div id="layout-e9bd0ac4-ea5a-4226-872d-83cb925ad9d1"
1911                class="container
1912                
1913                
1914                
1915                
1916                
1917                 layout-padding "
1918                style=""><div id="column-e1154220-39c8-11e9-b20c-7b5069252681"
1919                 class="span4 column-4
1920                 "><div id="component-45f2b720-a04a-11ea-8060-eb8e37da56c5" class="component"><style type="text/css">
1921 #video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5.video-component {
1922    border: 1px solid #EEEEEE;
1923    background-color: #F5F5F5;
1924}
1925
1926#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-container {
1927    background-color: #F5F5F5;
1928    border-bottom: 1px solid #EEEEEE;
1929}
1930
1931#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-info {
1932    border-top: 1px solid #EEEEEE;
1933}
1934
1935#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 section {
1936    background-color: #F5F5F5;
1937}
1938
1939#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist__wrapper {
1940    border-left: 1px solid #EEEEEE;
1941    background-color: #F5F5F5;
1942}
1943
1944#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-item,
1945#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-body,
1946#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-info {
1947    background-color: #F5F5F5;
1948}
1949
1950#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-item-title {
1951    color: #575757;
1952}
1953
1954#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-item.selected-item .playlist-item-title,
1955#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-item:hover .playlist-item-title {
1956    color: #404040;
1957}
1958
1959#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-item.selected-item,
1960#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-item:hover {
1961    background-color: #EEEEEE;
1962}
1963
1964#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-header {
1965    background-color: #E6E6E6;
1966}
1967
1968#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-cta {
1969    border-color: #575757;
1970    color: #575757;
1971}
1972
1973#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-cta {
1974    color: #575757;
1975}
1976
1977#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-cta:hover,
1978#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-cta:focus {
1979    background-color: #404040;
1980    border-color: #404040;
1981    color: #F5F5F5;
1982}
1983
1984#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .video-cta:hover {
1985    text-decoration: underline;
1986}
1987
1988#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-body .playlist-item {
1989    /* Remove default button appearance in Firefox */
1990    appearance: none;
1991    -webkit-appearance: none;
1992    -moz-appearance: none;
1993    /* Add visible focus style for accessibility */
1994}
1995
1996#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .playlist-body .playlist-item:focus {
1997    outline: 2px solid #ffffff;
1998    outline-offset: -4px;
1999    box-shadow: inset 0 0 0 4px #575757;
2000    position: relative;
2001    z-index: 1;
2002}
2003
2004#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 button:focus,
2005#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 a:focus {
2006    overflow: visible;
2007    outline: 2px solid #ffffff;
2008    outline-offset: 2px;
2009    box-shadow: 0 0 0 4px #575757;
2010}
2011
2012#video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5 .pill-button-component:focus {
2013    outline: 2px solid #575757;
2014    outline-offset: 2px;
2015    box-shadow: 0 0 0 4px #ffffff;
2016}
2017
2018
2019
2020</style><div id='video-component_45f2b720-a04a-11ea-8060-eb8e37da56c5' class='video-component  column-4'><div class="video-container__wrapper"><!-- The <iframe> (and video player) will replace this <div> tag. --><div id='video-container_45f2b720-a04a-11ea-8060-eb8e37da56c5' class='video-container'></div><div class='video-info'><div class='title'>"Eva: A-7063" Impact</div></div></div></div></div><div id="component-de64bc60-2b60-11ea-a780-f5f0e97c77ca" class="component"><style type="text/css">
2021 #video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca.video-component {
2022    border: 1px solid #EEEEEE;
2023    background-color: #F5F5F5;
2024}
2025
2026#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-container {
2027    background-color: #F5F5F5;
2028    border-bottom: 1px solid #EEEEEE;
2029}
2030
2031#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-info {
2032    border-top: 1px solid #EEEEEE;
2033}
2034
2035#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca section {
2036    background-color: #F5F5F5;
2037}
2038
2039#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist__wrapper {
2040    border-left: 1px solid #EEEEEE;
2041    background-color: #F5F5F5;
2042}
2043
2044#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-item,
2045#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-body,
2046#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-info {
2047    background-color: #F5F5F5;
2048}
2049
2050#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-item-title {
2051    color: #575757;
2052}
2053
2054#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-item.selected-item .playlist-item-title,
2055#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-item:hover .playlist-item-title {
2056    color: #404040;
2057}
2058
2059#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-item.selected-item,
2060#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-item:hover {
2061    background-color: #EEEEEE;
2062}
2063
2064#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-header {
2065    background-color: #E6E6E6;
2066}
2067
2068#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-cta {
2069    border-color: #575757;
2070    color: #575757;
2071}
2072
2073#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-cta {
2074    color: #575757;
2075}
2076
2077#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-cta:hover,
2078#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-cta:focus {
2079    background-color: #404040;
2080    border-color: #404040;
2081    color: #F5F5F5;
2082}
2083
2084#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .video-cta:hover {
2085    text-decoration: underline;
2086}
2087
2088#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-body .playlist-item {
2089    /* Remove default button appearance in Firefox */
2090    appearance: none;
2091    -webkit-appearance: none;
2092    -moz-appearance: none;
2093    /* Add visible focus style for accessibility */
2094}
2095
2096#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .playlist-body .playlist-item:focus {
2097    outline: 2px solid #ffffff;
2098    outline-offset: -4px;
2099    box-shadow: inset 0 0 0 4px #575757;
2100    position: relative;
2101    z-index: 1;
2102}
2103
2104#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca button:focus,
2105#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca a:focus {
2106    overflow: visible;
2107    outline: 2px solid #ffffff;
2108    outline-offset: 2px;
2109    box-shadow: 0 0 0 4px #575757;
2110}
2111
2112#video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca .pill-button-component:focus {
2113    outline: 2px solid #575757;
2114    outline-offset: 2px;
2115    box-shadow: 0 0 0 4px #ffffff;
2116}
2117
2118
2119
2120</style><div id='video-component_de64bc60-2b60-11ea-a780-f5f0e97c77ca' class='video-component  column-4'><div class="video-container__wrapper"><!-- The <iframe> (and video player) will replace this <div> tag. --><div id='video-container_de64bc60-2b60-11ea-a780-f5f0e97c77ca' class='video-container'></div><div class='video-info'><div class='title'>Eva Outreach and Education Program</div></div></div></div></div></div><div id="column-87dbed45-1e4f-46ff-922d-8dae94db8c7f"
2121                 class="span4 column-4
2122                 "><div id="component-ee4ce510-39c8-11e9-b20c-7b5069252681" class="component"><style type="text/css">
2123 #video-component_ee4ce510-39c8-11e9-b20c-7b5069252681.video-component {
2124    border: 1px solid #EEEEEE;
2125    background-color: #F5F5F5;
2126}
2127
2128#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-container {
2129    background-color: #F5F5F5;
2130    border-bottom: 1px solid #EEEEEE;
2131}
2132
2133#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-info {
2134    border-top: 1px solid #EEEEEE;
2135}
2136
2137#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 section {
2138    background-color: #F5F5F5;
2139}
2140
2141#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist__wrapper {
2142    border-left: 1px solid #EEEEEE;
2143    background-color: #F5F5F5;
2144}
2145
2146#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-item,
2147#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-body,
2148#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-info {
2149    background-color: #F5F5F5;
2150}
2151
2152#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-item-title {
2153    color: #575757;
2154}
2155
2156#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-item.selected-item .playlist-item-title,
2157#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-item:hover .playlist-item-title {
2158    color: #404040;
2159}
2160
2161#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-item.selected-item,
2162#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-item:hover {
2163    background-color: #EEEEEE;
2164}
2165
2166#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-header {
2167    background-color: #E6E6E6;
2168}
2169
2170#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-cta {
2171    border-color: #575757;
2172    color: #575757;
2173}
2174
2175#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-cta {
2176    color: #575757;
2177}
2178
2179#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-cta:hover,
2180#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-cta:focus {
2181    background-color: #404040;
2182    border-color: #404040;
2183    color: #F5F5F5;
2184}
2185
2186#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .video-cta:hover {
2187    text-decoration: underline;
2188}
2189
2190#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-body .playlist-item {
2191    /* Remove default button appearance in Firefox */
2192    appearance: none;
2193    -webkit-appearance: none;
2194    -moz-appearance: none;
2195    /* Add visible focus style for accessibility */
2196}
2197
2198#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .playlist-body .playlist-item:focus {
2199    outline: 2px solid #ffffff;
2200    outline-offset: -4px;
2201    box-shadow: inset 0 0 0 4px #575757;
2202    position: relative;
2203    z-index: 1;
2204}
2205
2206#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 button:focus,
2207#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 a:focus {
2208    overflow: visible;
2209    outline: 2px solid #ffffff;
2210    outline-offset: 2px;
2211    box-shadow: 0 0 0 4px #575757;
2212}
2213
2214#video-component_ee4ce510-39c8-11e9-b20c-7b5069252681 .pill-button-component:focus {
2215    outline: 2px solid #575757;
2216    outline-offset: 2px;
2217    box-shadow: 0 0 0 4px #ffffff;
2218}
2219
2220
2221
2222</style><div id='video-component_ee4ce510-39c8-11e9-b20c-7b5069252681' class='video-component  column-4'><div class="video-container__wrapper"><!-- The <iframe> (and video player) will replace this <div> tag. --><div id='video-container_ee4ce510-39c8-11e9-b20c-7b5069252681' class='video-container'></div><div class='video-info'><div class='title'>Behind the Scenes</div></div></div></div></div><div id="component-f9d1a7e0-39c8-11e9-b20c-7b5069252681" class="component"><style type="text/css">
2223 #video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681.video-component {
2224    border: 1px solid #EEEEEE;
2225    background-color: #F5F5F5;
2226}
2227
2228#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-container {
2229    background-color: #F5F5F5;
2230    border-bottom: 1px solid #EEEEEE;
2231}
2232
2233#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-info {
2234    border-top: 1px solid #EEEEEE;
2235}
2236
2237#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 section {
2238    background-color: #F5F5F5;
2239}
2240
2241#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist__wrapper {
2242    border-left: 1px solid #EEEEEE;
2243    background-color: #F5F5F5;
2244}
2245
2246#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-item,
2247#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-body,
2248#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-info {
2249    background-color: #F5F5F5;
2250}
2251
2252#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-item-title {
2253    color: #575757;
2254}
2255
2256#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-item.selected-item .playlist-item-title,
2257#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-item:hover .playlist-item-title {
2258    color: #404040;
2259}
2260
2261#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-item.selected-item,
2262#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-item:hover {
2263    background-color: #EEEEEE;
2264}
2265
2266#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-header {
2267    background-color: #E6E6E6;
2268}
2269
2270#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-cta {
2271    border-color: #575757;
2272    color: #575757;
2273}
2274
2275#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-cta {
2276    color: #575757;
2277}
2278
2279#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-cta:hover,
2280#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-cta:focus {
2281    background-color: #404040;
2282    border-color: #404040;
2283    color: #F5F5F5;
2284}
2285
2286#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .video-cta:hover {
2287    text-decoration: underline;
2288}
2289
2290#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-body .playlist-item {
2291    /* Remove default button appearance in Firefox */
2292    appearance: none;
2293    -webkit-appearance: none;
2294    -moz-appearance: none;
2295    /* Add visible focus style for accessibility */
2296}
2297
2298#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .playlist-body .playlist-item:focus {
2299    outline: 2px solid #ffffff;
2300    outline-offset: -4px;
2301    box-shadow: inset 0 0 0 4px #575757;
2302    position: relative;
2303    z-index: 1;
2304}
2305
2306#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 button:focus,
2307#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 a:focus {
2308    overflow: visible;
2309    outline: 2px solid #ffffff;
2310    outline-offset: 2px;
2311    box-shadow: 0 0 0 4px #575757;
2312}
2313
2314#video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681 .pill-button-component:focus {
2315    outline: 2px solid #575757;
2316    outline-offset: 2px;
2317    box-shadow: 0 0 0 4px #ffffff;
2318}
2319
2320
2321
2322</style><div id='video-component_f9d1a7e0-39c8-11e9-b20c-7b5069252681' class='video-component  column-4'><div class="video-container__wrapper"><!-- The <iframe> (and video player) will replace this <div> tag. --><div id='video-container_f9d1a7e0-39c8-11e9-b20c-7b5069252681' class='video-container'></div><div class='video-info'><div class='title'>Eva's Impact on Sophie</div></div></div></div></div></div><div id="column-1d4d21a9-062f-47b4-8f28-ea8f0f1f6ce7"
2323                 class="span4 column-4
2324                 "><div id="component-fb5eca30-a0f0-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
2325 #video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c.video-component {
2326    border: 1px solid #EEEEEE;
2327    background-color: #F5F5F5;
2328}
2329
2330#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-container {
2331    background-color: #F5F5F5;
2332    border-bottom: 1px solid #EEEEEE;
2333}
2334
2335#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-info {
2336    border-top: 1px solid #EEEEEE;
2337}
2338
2339#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c section {
2340    background-color: #F5F5F5;
2341}
2342
2343#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist__wrapper {
2344    border-left: 1px solid #EEEEEE;
2345    background-color: #F5F5F5;
2346}
2347
2348#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-item,
2349#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-body,
2350#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-info {
2351    background-color: #F5F5F5;
2352}
2353
2354#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-item-title {
2355    color: #575757;
2356}
2357
2358#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-item.selected-item .playlist-item-title,
2359#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-item:hover .playlist-item-title {
2360    color: #404040;
2361}
2362
2363#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-item.selected-item,
2364#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-item:hover {
2365    background-color: #EEEEEE;
2366}
2367
2368#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-header {
2369    background-color: #E6E6E6;
2370}
2371
2372#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-cta {
2373    border-color: #575757;
2374    color: #575757;
2375}
2376
2377#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-cta {
2378    color: #575757;
2379}
2380
2381#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-cta:hover,
2382#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-cta:focus {
2383    background-color: #404040;
2384    border-color: #404040;
2385    color: #F5F5F5;
2386}
2387
2388#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .video-cta:hover {
2389    text-decoration: underline;
2390}
2391
2392#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-body .playlist-item {
2393    /* Remove default button appearance in Firefox */
2394    appearance: none;
2395    -webkit-appearance: none;
2396    -moz-appearance: none;
2397    /* Add visible focus style for accessibility */
2398}
2399
2400#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .playlist-body .playlist-item:focus {
2401    outline: 2px solid #ffffff;
2402    outline-offset: -4px;
2403    box-shadow: inset 0 0 0 4px #575757;
2404    position: relative;
2405    z-index: 1;
2406}
2407
2408#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c button:focus,
2409#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c a:focus {
2410    overflow: visible;
2411    outline: 2px solid #ffffff;
2412    outline-offset: 2px;
2413    box-shadow: 0 0 0 4px #575757;
2414}
2415
2416#video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c .pill-button-component:focus {
2417    outline: 2px solid #575757;
2418    outline-offset: 2px;
2419    box-shadow: 0 0 0 4px #ffffff;
2420}
2421
2422
2423
2424</style><div id='video-component_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c' class='video-component  column-4'><div class="video-container__wrapper"><!-- The <iframe> (and video player) will replace this <div> tag. --><div id='video-container_fb5eca30-a0f0-11ea-93bb-b93edb1cf13c' class='video-container'></div><div class='video-info'><div class='title'>Student Interviews</div></div></div></div></div><div id="component-fe1b5220-a0f0-11ea-93bb-b93edb1cf13c" class="component"><style type="text/css">
2425 #video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c.video-component {
2426    border: 1px solid #EEEEEE;
2427    background-color: #F5F5F5;
2428}
2429
2430#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-container {
2431    background-color: #F5F5F5;
2432    border-bottom: 1px solid #EEEEEE;
2433}
2434
2435#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-info {
2436    border-top: 1px solid #EEEEEE;
2437}
2438
2439#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c section {
2440    background-color: #F5F5F5;
2441}
2442
2443#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist__wrapper {
2444    border-left: 1px solid #EEEEEE;
2445    background-color: #F5F5F5;
2446}
2447
2448#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-item,
2449#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-body,
2450#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-info {
2451    background-color: #F5F5F5;
2452}
2453
2454#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-item-title {
2455    color: #575757;
2456}
2457
2458#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-item.selected-item .playlist-item-title,
2459#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-item:hover .playlist-item-title {
2460    color: #404040;
2461}
2462
2463#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-item.selected-item,
2464#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-item:hover {
2465    background-color: #EEEEEE;
2466}
2467
2468#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-header {
2469    background-color: #E6E6E6;
2470}
2471
2472#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-cta {
2473    border-color: #575757;
2474    color: #575757;
2475}
2476
2477#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-cta {
2478    color: #575757;
2479}
2480
2481#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-cta:hover,
2482#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-cta:focus {
2483    background-color: #404040;
2484    border-color: #404040;
2485    color: #F5F5F5;
2486}
2487
2488#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .video-cta:hover {
2489    text-decoration: underline;
2490}
2491
2492#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-body .playlist-item {
2493    /* Remove default button appearance in Firefox */
2494    appearance: none;
2495    -webkit-appearance: none;
2496    -moz-appearance: none;
2497    /* Add visible focus style for accessibility */
2498}
2499
2500#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .playlist-body .playlist-item:focus {
2501    outline: 2px solid #ffffff;
2502    outline-offset: -4px;
2503    box-shadow: inset 0 0 0 4px #575757;
2504    position: relative;
2505    z-index: 1;
2506}
2507
2508#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c button:focus,
2509#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c a:focus {
2510    overflow: visible;
2511    outline: 2px solid #ffffff;
2512    outline-offset: 2px;
2513    box-shadow: 0 0 0 4px #575757;
2514}
2515
2516#video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c .pill-button-component:focus {
2517    outline: 2px solid #575757;
2518    outline-offset: 2px;
2519    box-shadow: 0 0 0 4px #ffffff;
2520}
2521
2522
2523
2524</style><div id='video-component_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c' class='video-component  column-4'><div class="video-container__wrapper"><!-- The <iframe> (and video player) will replace this <div> tag. --><div id='video-container_fe1b5220-a0f0-11ea-93bb-b93edb1cf13c' class='video-container'></div><div class='video-info'><div class='title'>Eva Kor Peace Garden</div></div></div></div></div></div></div></div></div>
2525
2526
2527</div>
2528
2529
2530    
2531
2532
2533
2534    </div>
2535    </div>
2536    </main>
2537
2538
2539<footer><div class="row-fluid"><style type="text/css">
2540        
2541
2542#layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.layout-padding {
2543    padding: px 0px px 0px;
2544}
2545
2546@media (min-width: 1024px) {
2547    #layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.layout-padding {
2548        padding: px px px px;
2549    }
2550}
2551
2552#layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.has-background-image {
2553    background-image: url("");
2554}
2555
2556
2557@media (min-width: 1200px) {#layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.has-background-image {background-image: url("1920w");}}@media (min-width: 992px) and (max-width: 1199px) {#layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.has-background-image {background-image: url("1199w");}}@media (min-width: 768px) and (max-width: 991px) {#layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.has-background-image {background-image: url("991w");}}@media (min-width: 576px) and (max-width: 767px) {#layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.has-background-image {background-image: url("767w");}}@media (max-width: 575px) {#layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294.container.has-background-image {background-image: url("575w");}}
2558
2559        </style><div id=""><div id="layout-1eddc50a-47c8-4630-92b0-aa0b3b8e6294"
2560                class="container
2561                
2562                
2563                
2564                
2565                
2566                "
2567                style=""><div id="column-23cd1a20-05d6-46aa-bcd8-d46399c7a1f0"
2568                 class="span12 column-12
2569                 "><div id="component-1fd5e9e0-76f4-11e7-8733-9bad518e8b4c" class="component"><div style="width:100%;background-color:#222;color:#FFF;"><!-- outer --><div id="wfyi-custom-footer" class="container" style="margin: auto;max-width: 1280px;"><div style="float:right;width:225px;padding:8px 0;"><p style="text-align: center;color:#FFF;font-weight: 400;font-size:1.2em;">Follow The Story of Eva on</p><div style="width:126px;margin: auto;"><!-- https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/Icons/c72d2ffe2b_twitter-white_76x63.png --><span style="margin-right:8px;"><a href="https://twitter.com/thestoryofeva" target="_blank"><img style="width:38px;" src="/prod/filer_public/thestoryofeva-bento-live-pbs/Icons/c72d2ffe2b_twitter-white_76x63.png" alt="Twitter" /></a></span><!-- https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/Icons/8444793150_facebook-white_64x63.png --><span style="margin-right:10px;"><a href="https://www.facebook.com/TheStoryOfEva/" target="_blank"><img style="width:32px;" src="/prod/filer_public/thestoryofeva-bento-live-pbs/Icons/8444793150_facebook-white_64x63.png" alt="Facebook" /></a></span><!-- https://dc79r36mj3c9w.cloudfront.net/prod/filer_public/thestoryofeva-bento-live-pbs/Icons/8a76c86c9f_instagram-white_63x64.png --><span><a href="https://www.instagram.com/thestoryofeva/" target="_blank"><img style="width:32px;" src="/prod/filer_public/thestoryofeva-bento-live-pbs/Icons/8a76c86c9f_instagram-white_63x64.png" alt="Instagram" /></a></span></div></div><div id="flexi-links" style="clear:none;display: table;line-height: 0;content:"";"><div class="span12"><ul class="nav main"><li><a href="/" class="max12" style="color:#FFF;font-weight: 400;">
2569Home</a></li><li><a href="mailto:[email protected]?subject=The Story of Eva Web Site Contact" target="_blank" class="max12" style="color:#FFF;font-weight: 400;">Contact Us</a></li><li><a href="/screenings" class="max12" style="color:#FFF;font-weight: 400;">Screenings</a></li><li><a href="https://www.wfyi.org" target="_blank" class="max12" style="color:#FFF;font-weight: 400;">WFYI</a></li><li><a href="https://secure.wfyi.org/EvaItems/" target="_blank" class="max12" style="color:#FFF;font-weight: 400;">Online Store</a></li></ul></div><!-- div.span12 --></div><!-- div#flexi-links --><div id="flexi-copyright" style="clear:none;display: table;line-height: 0;content:"";"><div class="span12"><ul class="nav secondary clearfix"><li class="after" style="color:#858585;font-size:12px;">© 2017 WFYI &amp; Ted Green Films<br><small style="font-size:85%;color:#606060;font-size:10px;">WFYI Indinaapolis | 1630 N Meridian St, Indianapolis, IN 46202 | (317) 636-2020</small></li></ul></div><!-- div.span12 --></div><!-- div#flexi-copyright --></div><!-- div#wfyi-custom-footer.container --></div><!-- outer --></div></div></div></div></div></footer>
2570
2571
2572    
2573
2574
2575
2576
2577<script type="text/javascript">
2578    PBS = window.PBS || {};
2579    PBS.BentoConfig = PBS.BentoConfig || {};
2580    PBS.BentoConfig.baseURL = 'https://www.thestoryofeva.com/';
2581    PBS.BentoConfig.APIBaseURL = 'https://www.thestoryofeva.com/';
2582    PBS.BentoConfig.ItsPrefix = 'https://image.pbs.org/bento3-prod';
2583
2584</script>
2584
2585
2586<script type="text/javascript" src="https://bento.pbs.org/prod/3.150.0/staticfiles/dist/frontend/css/frontend_style.js" ></script>
vendor: 1 bytes, line 2586
2586
2587<script type="text/javascript" src="https://bento.pbs.org/prod/3.150.0/staticfiles/dist/frontend/js/frontend_js.js" ></script>
2587
2588
2589
2590<script type="text/javascript">
2591(function(PBS){
2592    PBS = PBS || {};
2593    PBS.snippets = PBS.snippets || {};
2594    PBS.snippets['7d6c0990-67ea-11e7-951e-3d73553d0d27'] = new PBS.Menu({
2595        component: document.getElementById('component-7d6c0990-67ea-11e7-951e-3d73553d0d27'),
2596        id: '7d6c0990-67ea-11e7-951e-3d73553d0d27'
2597    });
2598}(window.PBS));
2599
2600</script>
2600
2601
2602
2603<script type="text/javascript">
2604(function(PBS){
2605    PBS = PBS || {};
2606    PBS.snippets = PBS.snippets || {};
2607    PBS.snippets['page-content-disqus'] = new PBS.Disqus({
2608        disqus_shortname: "",
2609        show_disqus: false,
2610        page_url: "https://www.thestoryofeva.com/",
2611        page_id: 2825
2612    });
2613}(window.PBS));
2614</script>
2614
2615
2616<script>
2617        $(document).ready(function () {
2618            var currentPlaylist = playlistMapping['d67abb00-72c6-11ea-b321-218155bddf99'];
2619            var currentSettings = settingsMapping['d67abb00-72c6-11ea-b321-218155bddf99'];
2620            $('.playlist-item').on('click', function () {
2621                $(this).addClass('selected-item').siblings().removeClass('selected-item');
2622            });
2623            if (currentPlaylist[0].videoSource === 'cove') {
2624                loadMMVideo('d67abb00-72c6-11ea-b321-218155bddf99', 0, currentPlaylist, currentSettings, 'WFYI');
2625            }
2626        });
2627
2628        function displayMMInfoItem(type, item, metadataSection) {
2629            var tag = '';
2630
2631            var label = type && (type[0].toUpperCase() + type.slice(1));
2632            var tag = type !== 'runtime' ? label : '';
2633
2634            if (item) {
2635                $('<div class="additional-mm-info ' + type + '"></div>').appendTo(metadataSection);
2636                var mediaManagerInfoItem = $(metadataSection + ' .' + type);
2637                tag && mediaManagerInfoItem.html(label + ': ');
2638                mediaManagerInfoItem.append(item);
2639            }
2640        }
2641
2642        function fitMMVideo(elem) {
2643            var iFrame = elem;
2644            var aspectRatio = null;
2645            var actualPlayerWidth = iFrame.width();
2646            var topBarHeight = 0;
2647
2648
2649            if (iFrame.attr("width") != '100%') {
2650                //for backwards compatibility use hardcoded old values for player dimensions
2651                try {
2652                    var styleWidth = 512;
2653                    var styleHeight = 288;
2654                    aspectRatio = styleWidth / styleHeight;
2655
2656                    iFrame.css({
2657                        "max-width": styleWidth,
2658                        "max-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth,
2659                        "min-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth
2660                    });
2661                } catch (e) {
2662                }
2663            } else {
2664                // the new player with width=100% and height=100%
2665                try {
2666                    aspectRatio = 16 / 9;
2667
2668                    if (iFrame.attr('src').indexOf('topbar=true') != -1) {
2669                        topBarHeight = 40;
2670                    }
2671
2672                    iFrame.css({
2673                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
2674                    });
2675                    iFrame.parent().css({
2676                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
2677                    });
2678                } catch (e) {
2679                }
2680            }
2681        }
2682
2683        function loadVideoIframe(response, playerObject, callsign) {
2684            var currentSettings = settingsMapping['d67abb00-72c6-11ea-b321-218155bddf99'];
2685            template = response.player_code.template;
2686            var iframe = jQuery(template);
2687            iframe.attr('allow', 'encrypted-media');
2688            iframe.attr('title', 'Video player');
2689            /* WCAG 2.1 1.2.2: Ensure captions are enabled. The PBS partner player
2690               should have closed-caption tracks available by default. If captions
2691               are missing, content editors must provide them. */
2692
2693            if (callsign) {
2694                iframe.attr('src', function (i, e) {
2695                    return e += '&callsign=' + callsign;
2696                })
2697            }
2698            iframe.attr('src', function (i, e) {
2699                return e += '&endscreen=' + !!currentSettings.endScreen;
2700            })
2701            playerObject.html(iframe);
2702            fitMMVideo(iframe);
2703            iframe.on('load', function () {
2704                fitMMVideo(jQuery(this));
2705            });
2706        }
2707
2708        function loadVideoMetadata(currentSettings, item, metadataSection) {
2709            currentSettings.showTitle &&
2710            $(metadataSection + ' .title').html(item.title);
2711
2712            currentSettings.showContentChannel &&
2713            $(metadataSection + ' .channel').html(item.channel);
2714
2715            $(metadataSection + ' .additional-mm-info').remove();
2716            if (currentSettings.showAdditionalMediaManagerInfo) {
2717                var mediaManagerInfoTypes = ['runtime', 'published', 'expires', 'rating'];
2718                var mediaManagerInfoTypesLength = mediaManagerInfoTypes.length;
2719                for (var i = 0; i <= mediaManagerInfoTypesLength; i++) {
2720                    displayMMInfoItem(mediaManagerInfoTypes[i], item[mediaManagerInfoTypes[i]], metadataSection);
2721                }
2722            }
2723
2724            if (currentSettings.showDescription) {
2725                $(metadataSection + ' .description').remove();
2726                $('<p class="description"></p>').appendTo(metadataSection);
2727                $(metadataSection + ' .description').html(item.description);
2728            }
2729        }
2730
2731        function loadMMVideo(componentId, index, currentPlaylist, currentSettings, c
2731allsign) {
2732            var youtubeWrapper = '#youtube-wrapper_' + componentId;
2733            var videoContainer = '#video-container_' + componentId;
2734            var videoComponent = '#video-component_' + componentId;
2735            var videoContainerWrapper = videoComponent + ' .video-container__wrapper';
2736            var metadataSection = videoComponent + ' .video-info';
2737
2738            $(youtubeWrapper).remove();
2739            $(videoContainer).remove();
2740
2741            var videoContainerEl = document.createElement('div');
2742            videoContainerEl.id = 'video-container_' + componentId;
2743            videoContainerEl.className = 'video-container';
2744            $(videoContainerWrapper).prepend(videoContainerEl);
2745            var videoId = currentPlaylist[index].videoId;
2746            var title = currentPlaylist[index].title;
2747            var partnerPlayerUrl = currentPlaylist[index].partnerPlayerUrl;
2748            var APIBaseURL = PBS.BentoConfig.APIBaseURL || '/';
2749            var url = APIBaseURL + 'merlin_plugin/video_frame/';
2750            url += partnerPlayerUrl ? partnerPlayerUrl : videoId;
2751            if (callsign) {
2752                url += '/?callsign=' + callsign + '&title=' + title;
2753            }
2754            url += '/';
2755            $.ajax({
2756                url: url,
2757                dataType: 'json',
2758                success: function (response) {
2759                    var template, notAvailableImg;
2760                    var playerObject = $('#video-container_' + componentId);
2761                    var imgUrl = currentPlaylist[index].img.url;
2762
2763                    if (response.player_code) {
2764                        loadVideoIframe(response, playerObject, callsign);
2765                    } else {
2766                        var notAvailableVideo = $('<img />');
2767                        notAvailableVideo.attr('src', imgUrl);
2768                        notAvailableVideo.attr('alt', 'Video is not available');
2769                        playerObject.html($(notAvailableVideo));
2770                    }
2771
2772                    loadVideoMetadata(currentSettings, currentPlaylist[index], metadataSection);
2773
2774                },
2775                error: function (xhr, status, err) {
2776                    console.error(xhr, status, err.toString());
2777                }
2778            });
2779        }
2780    </script>
vendor: 1 bytes, line 2780
2780
2781<script>
2782    $(document).ready(function() {
2783        var currentPlaylist = playlistMapping['d67abb00-72c6-11ea-b321-218155bddf99'];
2784        var currentSettings = settingsMapping['d67abb00-72c6-11ea-b321-218155bddf99'];
2785
2786        window.youtubeIframeMap = window.youtubeIframeMap || {};
2787        if(currentPlaylist[0].videoSource === 'youtube') {
2788            if (typeof window.youtubeIframeMap === 'undefined') {
2789                window.youtubeIframeMap = {};
2790            }
2791            window.youtubeIframeMap['d67abb00-72c6-11ea-b321-218155bddf99'] = {
2792                'playlist': currentPlaylist,
2793                'settings': currentSettings,
2794            };
2795        }
2796
2797        //check if single video & no metadata
2798        if ((currentPlaylist.length === 1 || !currentSettings.showPlaylist) &&
2799            !currentSettings.showTitle &&
2800            !currentSettings.showContentChannel &&
2801            !currentSettings.showDescription &&
2802            !currentSettings.showAdditionalMediaManagerInfo){
2803            $('#video-component_' + 'd67abb00-72c6-11ea-b321-218155bddf99').css({border: 'none'});
2804        }
2805
2806        // This code loads the IFrame Player API code asynchronously.
2807        var scriptTag = document.getElementById("youtube_iframe_api");
2808        if(!scriptTag) {
2809            scriptTag = document.createElement('script');
2810            scriptTag.src = "https://www.youtube.com/iframe_api";
2811            scriptTag.id = "youtube_iframe_api";
2812            var firstScriptTag = document.getElementsByTagName('script')[0];
2813            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);
2814        }
2815    })
2816
2817    // This function creates an <iframe> (and YouTube player) after the API code downloads.
2818    function onYouTubeIframeAPIReady() {
2819        for (var componentId in window.youtubeIframeMap) {
2820             var currentPlaylist = window.youtubeIframeMap[componentId]['playlist'];
2821             var currentSettings = window.youtubeIframeMap[componentId]['settings'];
2822             loadYoutubeVideo(componentId, 0, currentPlaylist, currentSettings);
2823        }
2824    }
2825
2826    function loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings) {
2827        var player, playerVars;
2828        var videoComponent = '#video-component_' + componentId;
2829        var youtubeWrapper = document.createElement('div');
2830        youtubeWrapper.id = 'youtube-wrapper_' + componentId;
2831        youtubeWrapper.className = 'youtube-wrapper video-container';
2832
2833        $('#video-container_' + componentId).remove();
2834        $('#youtube-wrapper_' + componentId).remove();
2835        var videoContainerEl = document.createElement('div');
2836        videoContainerEl.id = 'video-container_' + componentId;
2837
2838        $(videoComponent + ' .video-container__wrapper').prepend(youtubeWrapper);
2839
2840        $(videoComponent + ' .youtube-wrapper').prepend(videoContainerEl);
2841
2842        playerVars = Object.assign({},
2843            { cc_load_policy: 1 },
2844            (currentPlaylist[index].rel === false) && { rel: 0 },
2845            (currentPlaylist[index].controls === false) && { controls: 0 },
2846            (currentPlaylist[index].fs === false) && { fs: 0 },
2847            (currentPlaylist[index].autoplay === true) && { autoplay: 1 },
2848            (currentPlaylist[index].start > 0) && { start: currentPlaylist[index].start },
2849            (currentPlaylist[index].end > 0  && currentPlaylist[index].start < currentPlaylist[index].end) && { end: currentPlaylist[index].end }
2850        );
2851
2852        player = new YT.Player('video-container_' + componentId, {
2853            videoId: currentPlaylist[index].videoId,
2854            playerVars
2855        });
2856
2857        currentSettings.showTitle &&
2858            $(videoComponent + ' .title').html(currentPlaylist[index].title);
2859
2860        currentSettings.showContentChannel &&
2861            $(videoComponent + ' .channel').html(currentPlaylist[index].channel);
2862
2863        currentSettings.showDescription &&
2864            $(videoComponent + ' .description').html(currentPlaylist[index].description);
2865
2866        $(videoComponent + ' .additional-mm-info').remove();
2867    }
2868</script>
vendor: 1 bytes, line 2868
2868
2869<script>
2870    
2871        var playlistJson = [
2872    {
2873        "id": "25e18393-0eb3-4a26-9e43-44b945f27a1b",
2874        "img": {
2875            "url": "http://image.pbs.org/video-assets/ZuA6TON-asset-mezzanine-16x9-hvmOb8C.png",
2876            "isDefault": false
2877        },
2878        "url": "http://pbs.org/video/new-trailer-pfmro9/",
2879        "title": "\"Eva: A-7063\" Trailer",
2880        "rating": "",
2881        "channel": "Eva A-7063",
2882        "expires": "",
2883        "runtime": "2:11",
2884        "videoId": "new-trailer-pfmro9",
2885        "published": "2017/10/05",
2886        "description": "Watch the \"Eva: A-7063\" trailer. DVDs are available for purchase at www.TheStoryofEva.com",
2887        "videoSource": "cove",
2888        "partnerPlayerUrl": "ZOg-4mp5fTDkCaeAgF3x7A==",
2889        "titlePlaceholder": "Title",
2890        "channelPlaceholder": "Content channel",
2891        "descriptionPlaceholder": "Description"
2892    }
2893];
2894        var settingsJson = {
2895    "showTitle": true,
2896    "showPlaylist": false,
2897    "playlistHeight": 4,
2898    "showDescription": false,
2899    "showContentChannel": false,
2900    "showAdditionalMediaManagerInfo": false
2901}
2902    
2903
2904
2905    function updatePlaylistHeaderTabindex(componentId) {
2906        var playlistHeader = document.getElementById('playlist-header_' + componentId);
2907        if (!playlistHeader) return;
2908        var caret = playlistHeader.querySelector('.dropdown-caret');
2909        if (window.innerWidth > 1023) {
2910            // On desktop with one-column layout, playlist header is not interactive
2911            if (caret && window.getComputedStyle(caret).display === 'none') {
2912                playlistHeader.disabled = true;
2913                playlistHeader.setAttribute('aria-disabled', 'true');
2914                playlistHeader.setAttribute('tabindex', '-1');
2915            } else {
2916                playlistHeader.disabled = false;
2917                playlistHeader.removeAttribute('aria-disabled');
2918                playlistHeader.setAttribute('tabindex', '0');
2919            }
2920        } else {
2921            playlistHeader.disabled = false;
2922            playlistHeader.removeAttribute('aria-disabled');
2923            playlistHeader.setAttribute('tabindex', '0');
2924        }
2925    }
2926    $(window).on('load', function(){
2927        resizePlaylist('d67abb00-72c6-11ea-b321-218155bddf99');
2928        updatePlaylistHeaderTabindex('d67abb00-72c6-11ea-b321-218155bddf99');
2929    });
2930    $(window).resize(function(){
2931        resizePlaylist('d67abb00-72c6-11ea-b321-218155bddf99');
2932        updatePlaylistHeaderTabindex('d67abb00-72c6-11ea-b321-218155bddf99');
2933    });
2934
2935    if (typeof window.playlistMapping === 'undefined') {
2936        window.playlistMapping = {};
2937    }
2938
2939    if (typeof window.settingsMapping === 'undefined') {
2940        window.settingsMapping = {};
2941    }
2942    window.playlistMapping['d67abb00-72c6-11ea-b321-218155bddf99'] = playlistJson;
2943    window.settingsMapping['d67abb00-72c6-11ea-b321-218155bddf99'] = settingsJson;
2944
2945    function resizePlaylist(componentId) {
2946        const videoComponent = $('#video-component_' + componentId);
2947        const playlistWrapper = videoComponent.find('.playlist__wrapper');
2948        const playlistBody = playlistWrapper.find('.playlist-body');
2949        const isSmallPlaylist = playlistWrapper.hasClass('playlist-sm');
2950        const isLargeWindow =  $(window).width() >= 1024;
2951        const isOneColWithPlaylist = videoComponent.hasClass('column-12');
2952        if (isOneColWithPlaylist) {
2953            if(isLargeWindow) {
2954                const mainVideoHeight = videoComponent.find('.video-container').outerHeight() +
2955                        videoComponent.find('.video-info').outerHeight() +
2956                        (videoComponent.find('.video-cta-container').outerHeight(true) || 0);
2957                const playlistHeaderHeight = $('#playlist-header_' + componentId).outerHeight();
2958
2959                playlistWrapper.css('height', mainVideoHeight + 'px');
2960                playlistBody.css('max-height', (mainVideoHeight - playlistHeaderHeight) + 'px');
2961            }
2962            else {
2963                playlistWrapper.css('height', 'auto');
2964                playlistBody.css('max-height', '400px');
2965            }
2966        }
2967        if(isSmallPlaylist){
2968            const playlistItemImgWrapper = playlistWrapper.find('.playlist-item-img-wrapper');
2969            const playlistItemInfo = playlistWrapper.find('.playlist-item-info');
2970            if(!isLargeWindow) {
2971                $(playlistItemImgWrapper).removeClass('span6');
2972                $(playlistItemInfo).removeClass('span6');
2973                $(playlistItemImgWrapper).addClass('span4');
2974                $(playlistItemInfo).addClass('span8');
2975            }
2976            else {
2977                $(playlistItemImgWrapper).removeClass('span4');
2978                $(playlistItemInfo).removeClass('span8');
2979                $(playlistItemImgWrapper).addClass('span6');
2980                $(playlistItemInfo).addClass('span6');
2981            }
2982        }
2983
2984    }
2985
2986    function selectPlaylistItem(componentId, index, videoSource) {
2987        var currentPlaylist = playlistMapping[componentId];
2988        var currentSettings = settingsMapping[componentId];
2989        switch(videoSource) {
2990            case 'cove':
2991                loadMMVideo(componentId, index, currentPlaylist, currentSettings);
2992                break;
2993            case 'youtube':
2994                loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings);
2995                break;
2996            default:
2997                loadDefault(componentId, index, currentPlaylist, currentSettings);
2998                break;
2999        }
3000
3001    }
3002
3003    function loadDefault(componentId, index, currentPlaylist, currentSettings) {
3004        var youtubeWrapper = '#youtube-wrapper_' + componentId;
3005        var videoContainer = '#video-container_' + componentId;
3006        var videoComponent = '#video-component_' + componentId;
3007
3008        $(youtubeWrapper).remove();
3009        $(videoContainer).remove();
3010
3011        var videoContainerEl = document.createElement('div');
3012        videoContainerEl.id = 'video-container_' + componentId;
3013        videoContainerEl.className = 'video-container';
3014        $(videoComponent + ' .video-container__wrapper').prepend(vi
3014deoContainerEl);
3015
3016        var defaultImg = document.createElement('img');
3017        defaultImg.alt = currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder;
3018        defaultImg.src = currentPlaylist[index].img.url;
3019        $(videoContainerEl).prepend(defaultImg);
3020
3021        currentSettings.showTitle &&
3022            $(videoComponent + ' .title').html(currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder);
3023
3024        currentSettings.showContentChannel &&
3025            $(videoComponent + ' .channel').html(currentPlaylist[index].channel||currentPlaylist[index].channelPlaceholder);
3026
3027        currentSettings.showDescription &&
3028            $(videoComponent + ' .description').html(currentPlaylist[index].description||currentPlaylist[index].descriptionPlaceholder);
3029
3030        $(videoComponent + ' .additional-mm-info').remove();
3031    }
3032
3033    function showCurrentIndex(index, componentId) {
3034        var itemsCount = $('#playlist-items-count_' + componentId);
3035        var currentItem = itemsCount.children('span');
3036        currentItem.text(index + '/');
3037    }
3038
3039    function togglePlaylist(componentId) {
3040        var playlistHeader = $('#playlist-header_' + componentId);
3041        // Do not toggle if the header is disabled
3042        if (playlistHeader.prop('disabled')) return;
3043        var caret = playlistHeader.find('.dropdown-caret');
3044        // Only toggle if the caret is visible (not just present in DOM)
3045        if (caret.length && caret.is(':visible')) {
3046            var playlistBody = $('#playlist-body_' + componentId);
3047            playlistBody.css('overflow', 'auto');
3048            playlistBody.slideToggle('slow', function(){ playlistBody.css('overflow','auto') });
3049            playlistHeader.find('i').toggleClass('fa-caret-up fa-caret-down');
3050            // Toggle aria-expanded for accessibility
3051            var isExpanded = playlistHeader.attr('aria-expanded') === 'true';
3052            playlistHeader.attr('aria-expanded', !isExpanded);
3053        }
3054    }
3055
3056</script>
vendor: 1 bytes, line 3056
3056
3057<script>
3058        $(document).ready(function () {
3059            var currentPlaylist = playlistMapping['45f2b720-a04a-11ea-8060-eb8e37da56c5'];
3060            var currentSettings = settingsMapping['45f2b720-a04a-11ea-8060-eb8e37da56c5'];
3061            $('.playlist-item').on('click', function () {
3062                $(this).addClass('selected-item').siblings().removeClass('selected-item');
3063            });
3064            if (currentPlaylist[0].videoSource === 'cove') {
3065                loadMMVideo('45f2b720-a04a-11ea-8060-eb8e37da56c5', 0, currentPlaylist, currentSettings, 'WFYI');
3066            }
3067        });
3068
3069        function displayMMInfoItem(type, item, metadataSection) {
3070            var tag = '';
3071
3072            var label = type && (type[0].toUpperCase() + type.slice(1));
3073            var tag = type !== 'runtime' ? label : '';
3074
3075            if (item) {
3076                $('<div class="additional-mm-info ' + type + '"></div>').appendTo(metadataSection);
3077                var mediaManagerInfoItem = $(metadataSection + ' .' + type);
3078                tag && mediaManagerInfoItem.html(label + ': ');
3079                mediaManagerInfoItem.append(item);
3080            }
3081        }
3082
3083        function fitMMVideo(elem) {
3084            var iFrame = elem;
3085            var aspectRatio = null;
3086            var actualPlayerWidth = iFrame.width();
3087            var topBarHeight = 0;
3088
3089
3090            if (iFrame.attr("width") != '100%') {
3091                //for backwards compatibility use hardcoded old values for player dimensions
3092                try {
3093                    var styleWidth = 512;
3094                    var styleHeight = 288;
3095                    aspectRatio = styleWidth / styleHeight;
3096
3097                    iFrame.css({
3098                        "max-width": styleWidth,
3099                        "max-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth,
3100                        "min-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth
3101                    });
3102                } catch (e) {
3103                }
3104            } else {
3105                // the new player with width=100% and height=100%
3106                try {
3107                    aspectRatio = 16 / 9;
3108
3109                    if (iFrame.attr('src').indexOf('topbar=true') != -1) {
3110                        topBarHeight = 40;
3111                    }
3112
3113                    iFrame.css({
3114                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
3115                    });
3116                    iFrame.parent().css({
3117                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
3118                    });
3119                } catch (e) {
3120                }
3121            }
3122        }
3123
3124        function loadVideoIframe(response, playerObject, callsign) {
3125            var currentSettings = settingsMapping['45f2b720-a04a-11ea-8060-eb8e37da56c5'];
3126            template = response.player_code.template;
3127            var iframe = jQuery(template);
3128            iframe.attr('allow', 'encrypted-media');
3129            iframe.attr('title', 'Video player');
3130            /* WCAG 2.1 1.2.2: Ensure captions are enabled. The PBS partner player
3131               should have closed-caption tracks available by default. If captions
3132               are missing, content editors must provide them. */
3133
3134            if (callsign) {
3135                iframe.attr('src', function (i, e) {
3136                    return e += '&callsign=' + callsign;
3137                })
3138            }
3139            iframe.attr('src', function (i, e) {
3140                return e += '&endscreen=' + !!currentSettings.endScreen;
3141            })
3142            playerObject.html(iframe);
3143            fitMMVideo(iframe);
3144            iframe.on('load', function () {
3145                fitMMVideo(jQuery(this));
3146            });
3147        }
3148
3149        function loadVideoMetadata(currentSettings, item, metadataSection) {
3150            currentSettings.showTitle &&
3151            $(metadataSection + ' .title').html(item.title);
3152
3153            currentSettings.showContentChannel &&
3154            $(metadataSection + ' .channel').html(item.channel);
3155
3156            $(metadataSection + ' .additional-mm-info').remove();
3157            if (currentSettings.showAdditionalMediaManagerInfo) {
3158                var mediaManagerInfoTypes = ['runtime', 'published', 'expires', 'rating'];
3159                var mediaManagerInfoTypesLength = mediaManagerInfoTypes.length;
3160                for (var i = 0; i <= mediaManagerInfoTypesLength; i++) {
3161                    displayMMInfoItem(mediaManagerInfoTypes[i], item[mediaManagerInfoTypes[i]], metadataSection);
3162                }
3163            }
3164
3165            if (currentSettings.showDescription) {
3166                $(metadataSection + ' .description').remove();
3167                $('<p class="description"></p>').appendTo(metadataSection);
3168                $(metadataSection + ' .description').html(item.description);
3169            }
3170        }
3171
3172        function loadMMVideo(componentId, index, currentPlaylist, currentSettings, c
3172allsign) {
3173            var youtubeWrapper = '#youtube-wrapper_' + componentId;
3174            var videoContainer = '#video-container_' + componentId;
3175            var videoComponent = '#video-component_' + componentId;
3176            var videoContainerWrapper = videoComponent + ' .video-container__wrapper';
3177            var metadataSection = videoComponent + ' .video-info';
3178
3179            $(youtubeWrapper).remove();
3180            $(videoContainer).remove();
3181
3182            var videoContainerEl = document.createElement('div');
3183            videoContainerEl.id = 'video-container_' + componentId;
3184            videoContainerEl.className = 'video-container';
3185            $(videoContainerWrapper).prepend(videoContainerEl);
3186            var videoId = currentPlaylist[index].videoId;
3187            var title = currentPlaylist[index].title;
3188            var partnerPlayerUrl = currentPlaylist[index].partnerPlayerUrl;
3189            var APIBaseURL = PBS.BentoConfig.APIBaseURL || '/';
3190            var url = APIBaseURL + 'merlin_plugin/video_frame/';
3191            url += partnerPlayerUrl ? partnerPlayerUrl : videoId;
3192            if (callsign) {
3193                url += '/?callsign=' + callsign + '&title=' + title;
3194            }
3195            url += '/';
3196            $.ajax({
3197                url: url,
3198                dataType: 'json',
3199                success: function (response) {
3200                    var template, notAvailableImg;
3201                    var playerObject = $('#video-container_' + componentId);
3202                    var imgUrl = currentPlaylist[index].img.url;
3203
3204                    if (response.player_code) {
3205                        loadVideoIframe(response, playerObject, callsign);
3206                    } else {
3207                        var notAvailableVideo = $('<img />');
3208                        notAvailableVideo.attr('src', imgUrl);
3209                        notAvailableVideo.attr('alt', 'Video is not available');
3210                        playerObject.html($(notAvailableVideo));
3211                    }
3212
3213                    loadVideoMetadata(currentSettings, currentPlaylist[index], metadataSection);
3214
3215                },
3216                error: function (xhr, status, err) {
3217                    console.error(xhr, status, err.toString());
3218                }
3219            });
3220        }
3221    </script>
vendor: 1 bytes, line 3221
3221
3222<script>
3223    $(document).ready(function() {
3224        var currentPlaylist = playlistMapping['45f2b720-a04a-11ea-8060-eb8e37da56c5'];
3225        var currentSettings = settingsMapping['45f2b720-a04a-11ea-8060-eb8e37da56c5'];
3226
3227        window.youtubeIframeMap = window.youtubeIframeMap || {};
3228        if(currentPlaylist[0].videoSource === 'youtube') {
3229            if (typeof window.youtubeIframeMap === 'undefined') {
3230                window.youtubeIframeMap = {};
3231            }
3232            window.youtubeIframeMap['45f2b720-a04a-11ea-8060-eb8e37da56c5'] = {
3233                'playlist': currentPlaylist,
3234                'settings': currentSettings,
3235            };
3236        }
3237
3238        //check if single video & no metadata
3239        if ((currentPlaylist.length === 1 || !currentSettings.showPlaylist) &&
3240            !currentSettings.showTitle &&
3241            !currentSettings.showContentChannel &&
3242            !currentSettings.showDescription &&
3243            !currentSettings.showAdditionalMediaManagerInfo){
3244            $('#video-component_' + '45f2b720-a04a-11ea-8060-eb8e37da56c5').css({border: 'none'});
3245        }
3246
3247        // This code loads the IFrame Player API code asynchronously.
3248        var scriptTag = document.getElementById("youtube_iframe_api");
3249        if(!scriptTag) {
3250            scriptTag = document.createElement('script');
3251            scriptTag.src = "https://www.youtube.com/iframe_api";
3252            scriptTag.id = "youtube_iframe_api";
3253            var firstScriptTag = document.getElementsByTagName('script')[0];
3254            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);
3255        }
3256    })
3257
3258    // This function creates an <iframe> (and YouTube player) after the API code downloads.
3259    function onYouTubeIframeAPIReady() {
3260        for (var componentId in window.youtubeIframeMap) {
3261             var currentPlaylist = window.youtubeIframeMap[componentId]['playlist'];
3262             var currentSettings = window.youtubeIframeMap[componentId]['settings'];
3263             loadYoutubeVideo(componentId, 0, currentPlaylist, currentSettings);
3264        }
3265    }
3266
3267    function loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings) {
3268        var player, playerVars;
3269        var videoComponent = '#video-component_' + componentId;
3270        var youtubeWrapper = document.createElement('div');
3271        youtubeWrapper.id = 'youtube-wrapper_' + componentId;
3272        youtubeWrapper.className = 'youtube-wrapper video-container';
3273
3274        $('#video-container_' + componentId).remove();
3275        $('#youtube-wrapper_' + componentId).remove();
3276        var videoContainerEl = document.createElement('div');
3277        videoContainerEl.id = 'video-container_' + componentId;
3278
3279        $(videoComponent + ' .video-container__wrapper').prepend(youtubeWrapper);
3280
3281        $(videoComponent + ' .youtube-wrapper').prepend(videoContainerEl);
3282
3283        playerVars = Object.assign({},
3284            { cc_load_policy: 1 },
3285            (currentPlaylist[index].rel === false) && { rel: 0 },
3286            (currentPlaylist[index].controls === false) && { controls: 0 },
3287            (currentPlaylist[index].fs === false) && { fs: 0 },
3288            (currentPlaylist[index].autoplay === true) && { autoplay: 1 },
3289            (currentPlaylist[index].start > 0) && { start: currentPlaylist[index].start },
3290            (currentPlaylist[index].end > 0  && currentPlaylist[index].start < currentPlaylist[index].end) && { end: currentPlaylist[index].end }
3291        );
3292
3293        player = new YT.Player('video-container_' + componentId, {
3294            videoId: currentPlaylist[index].videoId,
3295            playerVars
3296        });
3297
3298        currentSettings.showTitle &&
3299            $(videoComponent + ' .title').html(currentPlaylist[index].title);
3300
3301        currentSettings.showContentChannel &&
3302            $(videoComponent + ' .channel').html(currentPlaylist[index].channel);
3303
3304        currentSettings.showDescription &&
3305            $(videoComponent + ' .description').html(currentPlaylist[index].description);
3306
3307        $(videoComponent + ' .additional-mm-info').remove();
3308    }
3309</script>
vendor: 1 bytes, line 3309
3309
3310<script>
3311    
3312        var playlistJson = [
3313    {
3314        "id": "904b13d1-147d-4a46-9be1-9bd1fe58c410",
3315        "img": {
3316            "url": "https://image.pbs.org/video-assets/uqPtG4C-asset-mezzanine-16x9-MOXRp28.png",
3317            "isDefault": false
3318        },
3319        "url": "http://pbs.org/video/impact-eva-tegdp1/",
3320        "title": "\"Eva: A-7063\" Impact",
3321        "rating": "",
3322        "channel": "Eva A-7063",
3323        "expires": "",
3324        "runtime": "1:38",
3325        "videoId": "impact-eva-tegdp1",
3326        "published": "2019/02/25",
3327        "description": "What started as a film has become a movement.",
3328        "videoSource": "cove",
3329        "partnerPlayerUrl": "H9aOZmV8jnTyNaRVyHarag==",
3330        "titlePlaceholder": "Title",
3331        "channelPlaceholder": "Content channel",
3332        "descriptionPlaceholder": "Description"
3333    }
3334];
3335        var settingsJson = {
3336    "showTitle": true,
3337    "showPlaylist": false,
3338    "playlistHeight": 4,
3339    "showDescription": false,
3340    "showContentChannel": false,
3341    "showAdditionalMediaManagerInfo": false
3342}
3343    
3344
3345
3346    function updatePlaylistHeaderTabindex(componentId) {
3347        var playlistHeader = document.getElementById('playlist-header_' + componentId);
3348        if (!playlistHeader) return;
3349        var caret = playlistHeader.querySelector('.dropdown-caret');
3350        if (window.innerWidth > 1023) {
3351            // On desktop with one-column layout, playlist header is not interactive
3352            if (caret && window.getComputedStyle(caret).display === 'none') {
3353                playlistHeader.disabled = true;
3354                playlistHeader.setAttribute('aria-disabled', 'true');
3355                playlistHeader.setAttribute('tabindex', '-1');
3356            } else {
3357                playlistHeader.disabled = false;
3358                playlistHeader.removeAttribute('aria-disabled');
3359                playlistHeader.setAttribute('tabindex', '0');
3360            }
3361        } else {
3362            playlistHeader.disabled = false;
3363            playlistHeader.removeAttribute('aria-disabled');
3364            playlistHeader.setAttribute('tabindex', '0');
3365        }
3366    }
3367    $(window).on('load', function(){
3368        resizePlaylist('45f2b720-a04a-11ea-8060-eb8e37da56c5');
3369        updatePlaylistHeaderTabindex('45f2b720-a04a-11ea-8060-eb8e37da56c5');
3370    });
3371    $(window).resize(function(){
3372        resizePlaylist('45f2b720-a04a-11ea-8060-eb8e37da56c5');
3373        updatePlaylistHeaderTabindex('45f2b720-a04a-11ea-8060-eb8e37da56c5');
3374    });
3375
3376    if (typeof window.playlistMapping === 'undefined') {
3377        window.playlistMapping = {};
3378    }
3379
3380    if (typeof window.settingsMapping === 'undefined') {
3381        window.settingsMapping = {};
3382    }
3383    window.playlistMapping['45f2b720-a04a-11ea-8060-eb8e37da56c5'] = playlistJson;
3384    window.settingsMapping['45f2b720-a04a-11ea-8060-eb8e37da56c5'] = settingsJson;
3385
3386    function resizePlaylist(componentId) {
3387        const videoComponent = $('#video-component_' + componentId);
3388        const playlistWrapper = videoComponent.find('.playlist__wrapper');
3389        const playlistBody = playlistWrapper.find('.playlist-body');
3390        const isSmallPlaylist = playlistWrapper.hasClass('playlist-sm');
3391        const isLargeWindow =  $(window).width() >= 1024;
3392        const isOneColWithPlaylist = videoComponent.hasClass('column-12');
3393        if (isOneColWithPlaylist) {
3394            if(isLargeWindow) {
3395                const mainVideoHeight = videoComponent.find('.video-container').outerHeight() +
3396                        videoComponent.find('.video-info').outerHeight() +
3397                        (videoComponent.find('.video-cta-container').outerHeight(true) || 0);
3398                const playlistHeaderHeight = $('#playlist-header_' + componentId).outerHeight();
3399
3400                playlistWrapper.css('height', mainVideoHeight + 'px');
3401                playlistBody.css('max-height', (mainVideoHeight - playlistHeaderHeight) + 'px');
3402            }
3403            else {
3404                playlistWrapper.css('height', 'auto');
3405                playlistBody.css('max-height', '400px');
3406            }
3407        }
3408        if(isSmallPlaylist){
3409            const playlistItemImgWrapper = playlistWrapper.find('.playlist-item-img-wrapper');
3410            const playlistItemInfo = playlistWrapper.find('.playlist-item-info');
3411            if(!isLargeWindow) {
3412                $(playlistItemImgWrapper).removeClass('span6');
3413                $(playlistItemInfo).removeClass('span6');
3414                $(playlistItemImgWrapper).addClass('span4');
3415                $(playlistItemInfo).addClass('span8');
3416            }
3417            else {
3418                $(playlistItemImgWrapper).removeClass('span4');
3419                $(playlistItemInfo).removeClass('span8');
3420                $(playlistItemImgWrapper).addClass('span6');
3421                $(playlistItemInfo).addClass('span6');
3422            }
3423        }
3424
3425    }
3426
3427    function selectPlaylistItem(componentId, index, videoSource) {
3428        var currentPlaylist = playlistMapping[componentId];
3429        var currentSettings = settingsMapping[componentId];
3430        switch(videoSource) {
3431            case 'cove':
3432                loadMMVideo(componentId, index, currentPlaylist, currentSettings);
3433                break;
3434            case 'youtube':
3435                loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings);
3436                break;
3437            default:
3438                loadDefault(componentId, index, currentPlaylist, currentSettings);
3439                break;
3440        }
3441
3442    }
3443
3444    function loadDefault(componentId, index, currentPlaylist, currentSettings) {
3445        var youtubeWrapper = '#youtube-wrapper_' + componentId;
3446        var videoContainer = '#video-container_' + componentId;
3447        var videoComponent = '#video-component_' + componentId;
3448
3449        $(youtubeWrapper).remove();
3450        $(videoContainer).remove();
3451
3452        var videoContainerEl = document.createElement('div');
3453        videoContainerEl.id = 'video-container_' + componentId;
3454        videoContainerEl.className = 'video-container';
3455        $(videoComponent + ' .video-container__wrapper').prepend(vi
3455deoContainerEl);
3456
3457        var defaultImg = document.createElement('img');
3458        defaultImg.alt = currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder;
3459        defaultImg.src = currentPlaylist[index].img.url;
3460        $(videoContainerEl).prepend(defaultImg);
3461
3462        currentSettings.showTitle &&
3463            $(videoComponent + ' .title').html(currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder);
3464
3465        currentSettings.showContentChannel &&
3466            $(videoComponent + ' .channel').html(currentPlaylist[index].channel||currentPlaylist[index].channelPlaceholder);
3467
3468        currentSettings.showDescription &&
3469            $(videoComponent + ' .description').html(currentPlaylist[index].description||currentPlaylist[index].descriptionPlaceholder);
3470
3471        $(videoComponent + ' .additional-mm-info').remove();
3472    }
3473
3474    function showCurrentIndex(index, componentId) {
3475        var itemsCount = $('#playlist-items-count_' + componentId);
3476        var currentItem = itemsCount.children('span');
3477        currentItem.text(index + '/');
3478    }
3479
3480    function togglePlaylist(componentId) {
3481        var playlistHeader = $('#playlist-header_' + componentId);
3482        // Do not toggle if the header is disabled
3483        if (playlistHeader.prop('disabled')) return;
3484        var caret = playlistHeader.find('.dropdown-caret');
3485        // Only toggle if the caret is visible (not just present in DOM)
3486        if (caret.length && caret.is(':visible')) {
3487            var playlistBody = $('#playlist-body_' + componentId);
3488            playlistBody.css('overflow', 'auto');
3489            playlistBody.slideToggle('slow', function(){ playlistBody.css('overflow','auto') });
3490            playlistHeader.find('i').toggleClass('fa-caret-up fa-caret-down');
3491            // Toggle aria-expanded for accessibility
3492            var isExpanded = playlistHeader.attr('aria-expanded') === 'true';
3493            playlistHeader.attr('aria-expanded', !isExpanded);
3494        }
3495    }
3496
3497</script>
vendor: 1 bytes, line 3497
3497
3498<script>
3499        $(document).ready(function () {
3500            var currentPlaylist = playlistMapping['de64bc60-2b60-11ea-a780-f5f0e97c77ca'];
3501            var currentSettings = settingsMapping['de64bc60-2b60-11ea-a780-f5f0e97c77ca'];
3502            $('.playlist-item').on('click', function () {
3503                $(this).addClass('selected-item').siblings().removeClass('selected-item');
3504            });
3505            if (currentPlaylist[0].videoSource === 'cove') {
3506                loadMMVideo('de64bc60-2b60-11ea-a780-f5f0e97c77ca', 0, currentPlaylist, currentSettings, 'WFYI');
3507            }
3508        });
3509
3510        function displayMMInfoItem(type, item, metadataSection) {
3511            var tag = '';
3512
3513            var label = type && (type[0].toUpperCase() + type.slice(1));
3514            var tag = type !== 'runtime' ? label : '';
3515
3516            if (item) {
3517                $('<div class="additional-mm-info ' + type + '"></div>').appendTo(metadataSection);
3518                var mediaManagerInfoItem = $(metadataSection + ' .' + type);
3519                tag && mediaManagerInfoItem.html(label + ': ');
3520                mediaManagerInfoItem.append(item);
3521            }
3522        }
3523
3524        function fitMMVideo(elem) {
3525            var iFrame = elem;
3526            var aspectRatio = null;
3527            var actualPlayerWidth = iFrame.width();
3528            var topBarHeight = 0;
3529
3530
3531            if (iFrame.attr("width") != '100%') {
3532                //for backwards compatibility use hardcoded old values for player dimensions
3533                try {
3534                    var styleWidth = 512;
3535                    var styleHeight = 288;
3536                    aspectRatio = styleWidth / styleHeight;
3537
3538                    iFrame.css({
3539                        "max-width": styleWidth,
3540                        "max-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth,
3541                        "min-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth
3542                    });
3543                } catch (e) {
3544                }
3545            } else {
3546                // the new player with width=100% and height=100%
3547                try {
3548                    aspectRatio = 16 / 9;
3549
3550                    if (iFrame.attr('src').indexOf('topbar=true') != -1) {
3551                        topBarHeight = 40;
3552                    }
3553
3554                    iFrame.css({
3555                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
3556                    });
3557                    iFrame.parent().css({
3558                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
3559                    });
3560                } catch (e) {
3561                }
3562            }
3563        }
3564
3565        function loadVideoIframe(response, playerObject, callsign) {
3566            var currentSettings = settingsMapping['de64bc60-2b60-11ea-a780-f5f0e97c77ca'];
3567            template = response.player_code.template;
3568            var iframe = jQuery(template);
3569            iframe.attr('allow', 'encrypted-media');
3570            iframe.attr('title', 'Video player');
3571            /* WCAG 2.1 1.2.2: Ensure captions are enabled. The PBS partner player
3572               should have closed-caption tracks available by default. If captions
3573               are missing, content editors must provide them. */
3574
3575            if (callsign) {
3576                iframe.attr('src', function (i, e) {
3577                    return e += '&callsign=' + callsign;
3578                })
3579            }
3580            iframe.attr('src', function (i, e) {
3581                return e += '&endscreen=' + !!currentSettings.endScreen;
3582            })
3583            playerObject.html(iframe);
3584            fitMMVideo(iframe);
3585            iframe.on('load', function () {
3586                fitMMVideo(jQuery(this));
3587            });
3588        }
3589
3590        function loadVideoMetadata(currentSettings, item, metadataSection) {
3591            currentSettings.showTitle &&
3592            $(metadataSection + ' .title').html(item.title);
3593
3594            currentSettings.showContentChannel &&
3595            $(metadataSection + ' .channel').html(item.channel);
3596
3597            $(metadataSection + ' .additional-mm-info').remove();
3598            if (currentSettings.showAdditionalMediaManagerInfo) {
3599                var mediaManagerInfoTypes = ['runtime', 'published', 'expires', 'rating'];
3600                var mediaManagerInfoTypesLength = mediaManagerInfoTypes.length;
3601                for (var i = 0; i <= mediaManagerInfoTypesLength; i++) {
3602                    displayMMInfoItem(mediaManagerInfoTypes[i], item[mediaManagerInfoTypes[i]], metadataSection);
3603                }
3604            }
3605
3606            if (currentSettings.showDescription) {
3607                $(metadataSection + ' .description').remove();
3608                $('<p class="description"></p>').appendTo(metadataSection);
3609                $(metadataSection + ' .description').html(item.description);
3610            }
3611        }
3612
3613        function loadMMVideo(componentId, index, currentPlaylist, currentSettings, c
3613allsign) {
3614            var youtubeWrapper = '#youtube-wrapper_' + componentId;
3615            var videoContainer = '#video-container_' + componentId;
3616            var videoComponent = '#video-component_' + componentId;
3617            var videoContainerWrapper = videoComponent + ' .video-container__wrapper';
3618            var metadataSection = videoComponent + ' .video-info';
3619
3620            $(youtubeWrapper).remove();
3621            $(videoContainer).remove();
3622
3623            var videoContainerEl = document.createElement('div');
3624            videoContainerEl.id = 'video-container_' + componentId;
3625            videoContainerEl.className = 'video-container';
3626            $(videoContainerWrapper).prepend(videoContainerEl);
3627            var videoId = currentPlaylist[index].videoId;
3628            var title = currentPlaylist[index].title;
3629            var partnerPlayerUrl = currentPlaylist[index].partnerPlayerUrl;
3630            var APIBaseURL = PBS.BentoConfig.APIBaseURL || '/';
3631            var url = APIBaseURL + 'merlin_plugin/video_frame/';
3632            url += partnerPlayerUrl ? partnerPlayerUrl : videoId;
3633            if (callsign) {
3634                url += '/?callsign=' + callsign + '&title=' + title;
3635            }
3636            url += '/';
3637            $.ajax({
3638                url: url,
3639                dataType: 'json',
3640                success: function (response) {
3641                    var template, notAvailableImg;
3642                    var playerObject = $('#video-container_' + componentId);
3643                    var imgUrl = currentPlaylist[index].img.url;
3644
3645                    if (response.player_code) {
3646                        loadVideoIframe(response, playerObject, callsign);
3647                    } else {
3648                        var notAvailableVideo = $('<img />');
3649                        notAvailableVideo.attr('src', imgUrl);
3650                        notAvailableVideo.attr('alt', 'Video is not available');
3651                        playerObject.html($(notAvailableVideo));
3652                    }
3653
3654                    loadVideoMetadata(currentSettings, currentPlaylist[index], metadataSection);
3655
3656                },
3657                error: function (xhr, status, err) {
3658                    console.error(xhr, status, err.toString());
3659                }
3660            });
3661        }
3662    </script>
vendor: 1 bytes, line 3662
3662
3663<script>
3664    $(document).ready(function() {
3665        var currentPlaylist = playlistMapping['de64bc60-2b60-11ea-a780-f5f0e97c77ca'];
3666        var currentSettings = settingsMapping['de64bc60-2b60-11ea-a780-f5f0e97c77ca'];
3667
3668        window.youtubeIframeMap = window.youtubeIframeMap || {};
3669        if(currentPlaylist[0].videoSource === 'youtube') {
3670            if (typeof window.youtubeIframeMap === 'undefined') {
3671                window.youtubeIframeMap = {};
3672            }
3673            window.youtubeIframeMap['de64bc60-2b60-11ea-a780-f5f0e97c77ca'] = {
3674                'playlist': currentPlaylist,
3675                'settings': currentSettings,
3676            };
3677        }
3678
3679        //check if single video & no metadata
3680        if ((currentPlaylist.length === 1 || !currentSettings.showPlaylist) &&
3681            !currentSettings.showTitle &&
3682            !currentSettings.showContentChannel &&
3683            !currentSettings.showDescription &&
3684            !currentSettings.showAdditionalMediaManagerInfo){
3685            $('#video-component_' + 'de64bc60-2b60-11ea-a780-f5f0e97c77ca').css({border: 'none'});
3686        }
3687
3688        // This code loads the IFrame Player API code asynchronously.
3689        var scriptTag = document.getElementById("youtube_iframe_api");
3690        if(!scriptTag) {
3691            scriptTag = document.createElement('script');
3692            scriptTag.src = "https://www.youtube.com/iframe_api";
3693            scriptTag.id = "youtube_iframe_api";
3694            var firstScriptTag = document.getElementsByTagName('script')[0];
3695            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);
3696        }
3697    })
3698
3699    // This function creates an <iframe> (and YouTube player) after the API code downloads.
3700    function onYouTubeIframeAPIReady() {
3701        for (var componentId in window.youtubeIframeMap) {
3702             var currentPlaylist = window.youtubeIframeMap[componentId]['playlist'];
3703             var currentSettings = window.youtubeIframeMap[componentId]['settings'];
3704             loadYoutubeVideo(componentId, 0, currentPlaylist, currentSettings);
3705        }
3706    }
3707
3708    function loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings) {
3709        var player, playerVars;
3710        var videoComponent = '#video-component_' + componentId;
3711        var youtubeWrapper = document.createElement('div');
3712        youtubeWrapper.id = 'youtube-wrapper_' + componentId;
3713        youtubeWrapper.className = 'youtube-wrapper video-container';
3714
3715        $('#video-container_' + componentId).remove();
3716        $('#youtube-wrapper_' + componentId).remove();
3717        var videoContainerEl = document.createElement('div');
3718        videoContainerEl.id = 'video-container_' + componentId;
3719
3720        $(videoComponent + ' .video-container__wrapper').prepend(youtubeWrapper);
3721
3722        $(videoComponent + ' .youtube-wrapper').prepend(videoContainerEl);
3723
3724        playerVars = Object.assign({},
3725            { cc_load_policy: 1 },
3726            (currentPlaylist[index].rel === false) && { rel: 0 },
3727            (currentPlaylist[index].controls === false) && { controls: 0 },
3728            (currentPlaylist[index].fs === false) && { fs: 0 },
3729            (currentPlaylist[index].autoplay === true) && { autoplay: 1 },
3730            (currentPlaylist[index].start > 0) && { start: currentPlaylist[index].start },
3731            (currentPlaylist[index].end > 0  && currentPlaylist[index].start < currentPlaylist[index].end) && { end: currentPlaylist[index].end }
3732        );
3733
3734        player = new YT.Player('video-container_' + componentId, {
3735            videoId: currentPlaylist[index].videoId,
3736            playerVars
3737        });
3738
3739        currentSettings.showTitle &&
3740            $(videoComponent + ' .title').html(currentPlaylist[index].title);
3741
3742        currentSettings.showContentChannel &&
3743            $(videoComponent + ' .channel').html(currentPlaylist[index].channel);
3744
3745        currentSettings.showDescription &&
3746            $(videoComponent + ' .description').html(currentPlaylist[index].description);
3747
3748        $(videoComponent + ' .additional-mm-info').remove();
3749    }
3750</script>
vendor: 1 bytes, line 3750
3750
3751<script>
3752    
3753        var playlistJson = [
3754    {
3755        "id": "60cb6d08-4534-4ab0-962e-e92351915e88",
3756        "img": {
3757            "url": "https://image.pbs.org/video-assets/rAiKPzb-asset-mezzanine-16x9-lCuixat.png",
3758            "isDefault": false
3759        },
3760        "url": "http://pbs.org/video/eva-outreach-and-education-program-hxri1z/",
3761        "title": "Eva Outreach and Education Program",
3762        "rating": "",
3763        "channel": "Eva A-7063",
3764        "expires": "",
3765        "runtime": "2:18",
3766        "videoId": "eva-outreach-and-education-program-hxri1z",
3767        "published": "2019/12/30",
3768        "description": "Explore the work of the Eva Outreach and Education Program",
3769        "videoSource": "cove",
3770        "partnerPlayerUrl": "1yADora_2KIeudmp-Kd6XQ==",
3771        "titlePlaceholder": "Title",
3772        "channelPlaceholder": "Content channel",
3773        "descriptionPlaceholder": "Description"
3774    }
3775];
3776        var settingsJson = {
3777    "showTitle": true,
3778    "showPlaylist": false,
3779    "playlistHeight": 4,
3780    "showDescription": false,
3781    "showContentChannel": false,
3782    "showAdditionalMediaManagerInfo": false
3783}
3784    
3785
3786
3787    function updatePlaylistHeaderTabindex(componentId) {
3788        var playlistHeader = document.getElementById('playlist-header_' + componentId);
3789        if (!playlistHeader) return;
3790        var caret = playlistHeader.querySelector('.dropdown-caret');
3791        if (window.innerWidth > 1023) {
3792            // On desktop with one-column layout, playlist header is not interactive
3793            if (caret && window.getComputedStyle(caret).display === 'none') {
3794                playlistHeader.disabled = true;
3795                playlistHeader.setAttribute('aria-disabled', 'true');
3796                playlistHeader.setAttribute('tabindex', '-1');
3797            } else {
3798                playlistHeader.disabled = false;
3799                playlistHeader.removeAttribute('aria-disabled');
3800                playlistHeader.setAttribute('tabindex', '0');
3801            }
3802        } else {
3803            playlistHeader.disabled = false;
3804            playlistHeader.removeAttribute('aria-disabled');
3805            playlistHeader.setAttribute('tabindex', '0');
3806        }
3807    }
3808    $(window).on('load', function(){
3809        resizePlaylist('de64bc60-2b60-11ea-a780-f5f0e97c77ca');
3810        updatePlaylistHeaderTabindex('de64bc60-2b60-11ea-a780-f5f0e97c77ca');
3811    });
3812    $(window).resize(function(){
3813        resizePlaylist('de64bc60-2b60-11ea-a780-f5f0e97c77ca');
3814        updatePlaylistHeaderTabindex('de64bc60-2b60-11ea-a780-f5f0e97c77ca');
3815    });
3816
3817    if (typeof window.playlistMapping === 'undefined') {
3818        window.playlistMapping = {};
3819    }
3820
3821    if (typeof window.settingsMapping === 'undefined') {
3822        window.settingsMapping = {};
3823    }
3824    window.playlistMapping['de64bc60-2b60-11ea-a780-f5f0e97c77ca'] = playlistJson;
3825    window.settingsMapping['de64bc60-2b60-11ea-a780-f5f0e97c77ca'] = settingsJson;
3826
3827    function resizePlaylist(componentId) {
3828        const videoComponent = $('#video-component_' + componentId);
3829        const playlistWrapper = videoComponent.find('.playlist__wrapper');
3830        const playlistBody = playlistWrapper.find('.playlist-body');
3831        const isSmallPlaylist = playlistWrapper.hasClass('playlist-sm');
3832        const isLargeWindow =  $(window).width() >= 1024;
3833        const isOneColWithPlaylist = videoComponent.hasClass('column-12');
3834        if (isOneColWithPlaylist) {
3835            if(isLargeWindow) {
3836                const mainVideoHeight = videoComponent.find('.video-container').outerHeight() +
3837                        videoComponent.find('.video-info').outerHeight() +
3838                        (videoComponent.find('.video-cta-container').outerHeight(true) || 0);
3839                const playlistHeaderHeight = $('#playlist-header_' + componentId).outerHeight();
3840
3841                playlistWrapper.css('height', mainVideoHeight + 'px');
3842                playlistBody.css('max-height', (mainVideoHeight - playlistHeaderHeight) + 'px');
3843            }
3844            else {
3845                playlistWrapper.css('height', 'auto');
3846                playlistBody.css('max-height', '400px');
3847            }
3848        }
3849        if(isSmallPlaylist){
3850            const playlistItemImgWrapper = playlistWrapper.find('.playlist-item-img-wrapper');
3851            const playlistItemInfo = playlistWrapper.find('.playlist-item-info');
3852            if(!isLargeWindow) {
3853                $(playlistItemImgWrapper).removeClass('span6');
3854                $(playlistItemInfo).removeClass('span6');
3855                $(playlistItemImgWrapper).addClass('span4');
3856                $(playlistItemInfo).addClass('span8');
3857            }
3858            else {
3859                $(playlistItemImgWrapper).removeClass('span4');
3860                $(playlistItemInfo).removeClass('span8');
3861                $(playlistItemImgWrapper).addClass('span6');
3862                $(playlistItemInfo).addClass('span6');
3863            }
3864        }
3865
3866    }
3867
3868    function selectPlaylistItem(componentId, index, videoSource) {
3869        var currentPlaylist = playlistMapping[componentId];
3870        var currentSettings = settingsMapping[componentId];
3871        switch(videoSource) {
3872            case 'cove':
3873                loadMMVideo(componentId, index, currentPlaylist, currentSettings);
3874                break;
3875            case 'youtube':
3876                loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings);
3877                break;
3878            default:
3879                loadDefault(componentId, index, currentPlaylist, currentSettings);
3880                break;
3881        }
3882
3883    }
3884
3885    function loadDefault(componentId, index, currentPlaylist, currentSettings) {
3886        var youtubeWrapper = '#youtube-wrapper_' + componentId;
3887        var videoContainer = '#video-container_' + componentId;
3888        var videoComponent = '#video-component_' + componentId;
3889
3890        $(youtubeWrapper).remove();
3891        $(videoContainer).remove();
3892
3893        var videoContainerEl = document.createElement('div');
3894        videoContainerEl.id = 'video-container_' + componentId;
3895        videoContainerEl.className = 'video-container';
3896        $(videoComponent + ' .video-container__wrapper').prepend(vi
3896deoContainerEl);
3897
3898        var defaultImg = document.createElement('img');
3899        defaultImg.alt = currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder;
3900        defaultImg.src = currentPlaylist[index].img.url;
3901        $(videoContainerEl).prepend(defaultImg);
3902
3903        currentSettings.showTitle &&
3904            $(videoComponent + ' .title').html(currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder);
3905
3906        currentSettings.showContentChannel &&
3907            $(videoComponent + ' .channel').html(currentPlaylist[index].channel||currentPlaylist[index].channelPlaceholder);
3908
3909        currentSettings.showDescription &&
3910            $(videoComponent + ' .description').html(currentPlaylist[index].description||currentPlaylist[index].descriptionPlaceholder);
3911
3912        $(videoComponent + ' .additional-mm-info').remove();
3913    }
3914
3915    function showCurrentIndex(index, componentId) {
3916        var itemsCount = $('#playlist-items-count_' + componentId);
3917        var currentItem = itemsCount.children('span');
3918        currentItem.text(index + '/');
3919    }
3920
3921    function togglePlaylist(componentId) {
3922        var playlistHeader = $('#playlist-header_' + componentId);
3923        // Do not toggle if the header is disabled
3924        if (playlistHeader.prop('disabled')) return;
3925        var caret = playlistHeader.find('.dropdown-caret');
3926        // Only toggle if the caret is visible (not just present in DOM)
3927        if (caret.length && caret.is(':visible')) {
3928            var playlistBody = $('#playlist-body_' + componentId);
3929            playlistBody.css('overflow', 'auto');
3930            playlistBody.slideToggle('slow', function(){ playlistBody.css('overflow','auto') });
3931            playlistHeader.find('i').toggleClass('fa-caret-up fa-caret-down');
3932            // Toggle aria-expanded for accessibility
3933            var isExpanded = playlistHeader.attr('aria-expanded') === 'true';
3934            playlistHeader.attr('aria-expanded', !isExpanded);
3935        }
3936    }
3937
3938</script>
vendor: 1 bytes, line 3938
3938
3939<script>
3940        $(document).ready(function () {
3941            var currentPlaylist = playlistMapping['ee4ce510-39c8-11e9-b20c-7b5069252681'];
3942            var currentSettings = settingsMapping['ee4ce510-39c8-11e9-b20c-7b5069252681'];
3943            $('.playlist-item').on('click', function () {
3944                $(this).addClass('selected-item').siblings().removeClass('selected-item');
3945            });
3946            if (currentPlaylist[0].videoSource === 'cove') {
3947                loadMMVideo('ee4ce510-39c8-11e9-b20c-7b5069252681', 0, currentPlaylist, currentSettings, 'WFYI');
3948            }
3949        });
3950
3951        function displayMMInfoItem(type, item, metadataSection) {
3952            var tag = '';
3953
3954            var label = type && (type[0].toUpperCase() + type.slice(1));
3955            var tag = type !== 'runtime' ? label : '';
3956
3957            if (item) {
3958                $('<div class="additional-mm-info ' + type + '"></div>').appendTo(metadataSection);
3959                var mediaManagerInfoItem = $(metadataSection + ' .' + type);
3960                tag && mediaManagerInfoItem.html(label + ': ');
3961                mediaManagerInfoItem.append(item);
3962            }
3963        }
3964
3965        function fitMMVideo(elem) {
3966            var iFrame = elem;
3967            var aspectRatio = null;
3968            var actualPlayerWidth = iFrame.width();
3969            var topBarHeight = 0;
3970
3971
3972            if (iFrame.attr("width") != '100%') {
3973                //for backwards compatibility use hardcoded old values for player dimensions
3974                try {
3975                    var styleWidth = 512;
3976                    var styleHeight = 288;
3977                    aspectRatio = styleWidth / styleHeight;
3978
3979                    iFrame.css({
3980                        "max-width": styleWidth,
3981                        "max-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth,
3982                        "min-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth
3983                    });
3984                } catch (e) {
3985                }
3986            } else {
3987                // the new player with width=100% and height=100%
3988                try {
3989                    aspectRatio = 16 / 9;
3990
3991                    if (iFrame.attr('src').indexOf('topbar=true') != -1) {
3992                        topBarHeight = 40;
3993                    }
3994
3995                    iFrame.css({
3996                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
3997                    });
3998                    iFrame.parent().css({
3999                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
4000                    });
4001                } catch (e) {
4002                }
4003            }
4004        }
4005
4006        function loadVideoIframe(response, playerObject, callsign) {
4007            var currentSettings = settingsMapping['ee4ce510-39c8-11e9-b20c-7b5069252681'];
4008            template = response.player_code.template;
4009            var iframe = jQuery(template);
4010            iframe.attr('allow', 'encrypted-media');
4011            iframe.attr('title', 'Video player');
4012            /* WCAG 2.1 1.2.2: Ensure captions are enabled. The PBS partner player
4013               should have closed-caption tracks available by default. If captions
4014               are missing, content editors must provide them. */
4015
4016            if (callsign) {
4017                iframe.attr('src', function (i, e) {
4018                    return e += '&callsign=' + callsign;
4019                })
4020            }
4021            iframe.attr('src', function (i, e) {
4022                return e += '&endscreen=' + !!currentSettings.endScreen;
4023            })
4024            playerObject.html(iframe);
4025            fitMMVideo(iframe);
4026            iframe.on('load', function () {
4027                fitMMVideo(jQuery(this));
4028            });
4029        }
4030
4031        function loadVideoMetadata(currentSettings, item, metadataSection) {
4032            currentSettings.showTitle &&
4033            $(metadataSection + ' .title').html(item.title);
4034
4035            currentSettings.showContentChannel &&
4036            $(metadataSection + ' .channel').html(item.channel);
4037
4038            $(metadataSection + ' .additional-mm-info').remove();
4039            if (currentSettings.showAdditionalMediaManagerInfo) {
4040                var mediaManagerInfoTypes = ['runtime', 'published', 'expires', 'rating'];
4041                var mediaManagerInfoTypesLength = mediaManagerInfoTypes.length;
4042                for (var i = 0; i <= mediaManagerInfoTypesLength; i++) {
4043                    displayMMInfoItem(mediaManagerInfoTypes[i], item[mediaManagerInfoTypes[i]], metadataSection);
4044                }
4045            }
4046
4047            if (currentSettings.showDescription) {
4048                $(metadataSection + ' .description').remove();
4049                $('<p class="description"></p>').appendTo(metadataSection);
4050                $(metadataSection + ' .description').html(item.description);
4051            }
4052        }
4053
4054        function loadMMVideo(componentId, index, currentPlaylist, currentSettings, c
4054allsign) {
4055            var youtubeWrapper = '#youtube-wrapper_' + componentId;
4056            var videoContainer = '#video-container_' + componentId;
4057            var videoComponent = '#video-component_' + componentId;
4058            var videoContainerWrapper = videoComponent + ' .video-container__wrapper';
4059            var metadataSection = videoComponent + ' .video-info';
4060
4061            $(youtubeWrapper).remove();
4062            $(videoContainer).remove();
4063
4064            var videoContainerEl = document.createElement('div');
4065            videoContainerEl.id = 'video-container_' + componentId;
4066            videoContainerEl.className = 'video-container';
4067            $(videoContainerWrapper).prepend(videoContainerEl);
4068            var videoId = currentPlaylist[index].videoId;
4069            var title = currentPlaylist[index].title;
4070            var partnerPlayerUrl = currentPlaylist[index].partnerPlayerUrl;
4071            var APIBaseURL = PBS.BentoConfig.APIBaseURL || '/';
4072            var url = APIBaseURL + 'merlin_plugin/video_frame/';
4073            url += partnerPlayerUrl ? partnerPlayerUrl : videoId;
4074            if (callsign) {
4075                url += '/?callsign=' + callsign + '&title=' + title;
4076            }
4077            url += '/';
4078            $.ajax({
4079                url: url,
4080                dataType: 'json',
4081                success: function (response) {
4082                    var template, notAvailableImg;
4083                    var playerObject = $('#video-container_' + componentId);
4084                    var imgUrl = currentPlaylist[index].img.url;
4085
4086                    if (response.player_code) {
4087                        loadVideoIframe(response, playerObject, callsign);
4088                    } else {
4089                        var notAvailableVideo = $('<img />');
4090                        notAvailableVideo.attr('src', imgUrl);
4091                        notAvailableVideo.attr('alt', 'Video is not available');
4092                        playerObject.html($(notAvailableVideo));
4093                    }
4094
4095                    loadVideoMetadata(currentSettings, currentPlaylist[index], metadataSection);
4096
4097                },
4098                error: function (xhr, status, err) {
4099                    console.error(xhr, status, err.toString());
4100                }
4101            });
4102        }
4103    </script>
vendor: 1 bytes, line 4103
4103
4104<script>
4105    $(document).ready(function() {
4106        var currentPlaylist = playlistMapping['ee4ce510-39c8-11e9-b20c-7b5069252681'];
4107        var currentSettings = settingsMapping['ee4ce510-39c8-11e9-b20c-7b5069252681'];
4108
4109        window.youtubeIframeMap = window.youtubeIframeMap || {};
4110        if(currentPlaylist[0].videoSource === 'youtube') {
4111            if (typeof window.youtubeIframeMap === 'undefined') {
4112                window.youtubeIframeMap = {};
4113            }
4114            window.youtubeIframeMap['ee4ce510-39c8-11e9-b20c-7b5069252681'] = {
4115                'playlist': currentPlaylist,
4116                'settings': currentSettings,
4117            };
4118        }
4119
4120        //check if single video & no metadata
4121        if ((currentPlaylist.length === 1 || !currentSettings.showPlaylist) &&
4122            !currentSettings.showTitle &&
4123            !currentSettings.showContentChannel &&
4124            !currentSettings.showDescription &&
4125            !currentSettings.showAdditionalMediaManagerInfo){
4126            $('#video-component_' + 'ee4ce510-39c8-11e9-b20c-7b5069252681').css({border: 'none'});
4127        }
4128
4129        // This code loads the IFrame Player API code asynchronously.
4130        var scriptTag = document.getElementById("youtube_iframe_api");
4131        if(!scriptTag) {
4132            scriptTag = document.createElement('script');
4133            scriptTag.src = "https://www.youtube.com/iframe_api";
4134            scriptTag.id = "youtube_iframe_api";
4135            var firstScriptTag = document.getElementsByTagName('script')[0];
4136            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);
4137        }
4138    })
4139
4140    // This function creates an <iframe> (and YouTube player) after the API code downloads.
4141    function onYouTubeIframeAPIReady() {
4142        for (var componentId in window.youtubeIframeMap) {
4143             var currentPlaylist = window.youtubeIframeMap[componentId]['playlist'];
4144             var currentSettings = window.youtubeIframeMap[componentId]['settings'];
4145             loadYoutubeVideo(componentId, 0, currentPlaylist, currentSettings);
4146        }
4147    }
4148
4149    function loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings) {
4150        var player, playerVars;
4151        var videoComponent = '#video-component_' + componentId;
4152        var youtubeWrapper = document.createElement('div');
4153        youtubeWrapper.id = 'youtube-wrapper_' + componentId;
4154        youtubeWrapper.className = 'youtube-wrapper video-container';
4155
4156        $('#video-container_' + componentId).remove();
4157        $('#youtube-wrapper_' + componentId).remove();
4158        var videoContainerEl = document.createElement('div');
4159        videoContainerEl.id = 'video-container_' + componentId;
4160
4161        $(videoComponent + ' .video-container__wrapper').prepend(youtubeWrapper);
4162
4163        $(videoComponent + ' .youtube-wrapper').prepend(videoContainerEl);
4164
4165        playerVars = Object.assign({},
4166            { cc_load_policy: 1 },
4167            (currentPlaylist[index].rel === false) && { rel: 0 },
4168            (currentPlaylist[index].controls === false) && { controls: 0 },
4169            (currentPlaylist[index].fs === false) && { fs: 0 },
4170            (currentPlaylist[index].autoplay === true) && { autoplay: 1 },
4171            (currentPlaylist[index].start > 0) && { start: currentPlaylist[index].start },
4172            (currentPlaylist[index].end > 0  && currentPlaylist[index].start < currentPlaylist[index].end) && { end: currentPlaylist[index].end }
4173        );
4174
4175        player = new YT.Player('video-container_' + componentId, {
4176            videoId: currentPlaylist[index].videoId,
4177            playerVars
4178        });
4179
4180        currentSettings.showTitle &&
4181            $(videoComponent + ' .title').html(currentPlaylist[index].title);
4182
4183        currentSettings.showContentChannel &&
4184            $(videoComponent + ' .channel').html(currentPlaylist[index].channel);
4185
4186        currentSettings.showDescription &&
4187            $(videoComponent + ' .description').html(currentPlaylist[index].description);
4188
4189        $(videoComponent + ' .additional-mm-info').remove();
4190    }
4191</script>
vendor: 1 bytes, line 4191
4191
4192<script>
4193    
4194        var playlistJson = [
4195    {
4196        "id": "1718a704-1ede-44bb-aedc-82086cf43435",
4197        "img": {
4198            "url": "http://image.pbs.org/video-assets/QEyr7Rh-asset-mezzanine-16x9-OfWybHP.png",
4199            "isDefault": false
4200        },
4201        "url": "http://pbs.org/video/behind-scenes-cxflv6/",
4202        "title": "Behind the Scenes",
4203        "rating": "",
4204        "channel": "Eva A-7063",
4205        "expires": "",
4206        "runtime": "3:15",
4207        "videoId": "behind-scenes-cxflv6",
4208        "published": "2018/03/14",
4209        "description": "Introducing a behind-the-scenes look at the creation of \"Eva.\"",
4210        "videoSource": "cove",
4211        "partnerPlayerUrl": "8nQcwWuLrz-pVtxExLgZzw==",
4212        "titlePlaceholder": "Title",
4213        "channelPlaceholder": "Content channel",
4214        "descriptionPlaceholder": "Description"
4215    }
4216];
4217        var settingsJson = {
4218    "showTitle": true,
4219    "showPlaylist": false,
4220    "playlistHeight": 4,
4221    "showDescription": false,
4222    "showContentChannel": false,
4223    "showAdditionalMediaManagerInfo": false
4224}
4225    
4226
4227
4228    function updatePlaylistHeaderTabindex(componentId) {
4229        var playlistHeader = document.getElementById('playlist-header_' + componentId);
4230        if (!playlistHeader) return;
4231        var caret = playlistHeader.querySelector('.dropdown-caret');
4232        if (window.innerWidth > 1023) {
4233            // On desktop with one-column layout, playlist header is not interactive
4234            if (caret && window.getComputedStyle(caret).display === 'none') {
4235                playlistHeader.disabled = true;
4236                playlistHeader.setAttribute('aria-disabled', 'true');
4237                playlistHeader.setAttribute('tabindex', '-1');
4238            } else {
4239                playlistHeader.disabled = false;
4240                playlistHeader.removeAttribute('aria-disabled');
4241                playlistHeader.setAttribute('tabindex', '0');
4242            }
4243        } else {
4244            playlistHeader.disabled = false;
4245            playlistHeader.removeAttribute('aria-disabled');
4246            playlistHeader.setAttribute('tabindex', '0');
4247        }
4248    }
4249    $(window).on('load', function(){
4250        resizePlaylist('ee4ce510-39c8-11e9-b20c-7b5069252681');
4251        updatePlaylistHeaderTabindex('ee4ce510-39c8-11e9-b20c-7b5069252681');
4252    });
4253    $(window).resize(function(){
4254        resizePlaylist('ee4ce510-39c8-11e9-b20c-7b5069252681');
4255        updatePlaylistHeaderTabindex('ee4ce510-39c8-11e9-b20c-7b5069252681');
4256    });
4257
4258    if (typeof window.playlistMapping === 'undefined') {
4259        window.playlistMapping = {};
4260    }
4261
4262    if (typeof window.settingsMapping === 'undefined') {
4263        window.settingsMapping = {};
4264    }
4265    window.playlistMapping['ee4ce510-39c8-11e9-b20c-7b5069252681'] = playlistJson;
4266    window.settingsMapping['ee4ce510-39c8-11e9-b20c-7b5069252681'] = settingsJson;
4267
4268    function resizePlaylist(componentId) {
4269        const videoComponent = $('#video-component_' + componentId);
4270        const playlistWrapper = videoComponent.find('.playlist__wrapper');
4271        const playlistBody = playlistWrapper.find('.playlist-body');
4272        const isSmallPlaylist = playlistWrapper.hasClass('playlist-sm');
4273        const isLargeWindow =  $(window).width() >= 1024;
4274        const isOneColWithPlaylist = videoComponent.hasClass('column-12');
4275        if (isOneColWithPlaylist) {
4276            if(isLargeWindow) {
4277                const mainVideoHeight = videoComponent.find('.video-container').outerHeight() +
4278                        videoComponent.find('.video-info').outerHeight() +
4279                        (videoComponent.find('.video-cta-container').outerHeight(true) || 0);
4280                const playlistHeaderHeight = $('#playlist-header_' + componentId).outerHeight();
4281
4282                playlistWrapper.css('height', mainVideoHeight + 'px');
4283                playlistBody.css('max-height', (mainVideoHeight - playlistHeaderHeight) + 'px');
4284            }
4285            else {
4286                playlistWrapper.css('height', 'auto');
4287                playlistBody.css('max-height', '400px');
4288            }
4289        }
4290        if(isSmallPlaylist){
4291            const playlistItemImgWrapper = playlistWrapper.find('.playlist-item-img-wrapper');
4292            const playlistItemInfo = playlistWrapper.find('.playlist-item-info');
4293            if(!isLargeWindow) {
4294                $(playlistItemImgWrapper).removeClass('span6');
4295                $(playlistItemInfo).removeClass('span6');
4296                $(playlistItemImgWrapper).addClass('span4');
4297                $(playlistItemInfo).addClass('span8');
4298            }
4299            else {
4300                $(playlistItemImgWrapper).removeClass('span4');
4301                $(playlistItemInfo).removeClass('span8');
4302                $(playlistItemImgWrapper).addClass('span6');
4303                $(playlistItemInfo).addClass('span6');
4304            }
4305        }
4306
4307    }
4308
4309    function selectPlaylistItem(componentId, index, videoSource) {
4310        var currentPlaylist = playlistMapping[componentId];
4311        var currentSettings = settingsMapping[componentId];
4312        switch(videoSource) {
4313            case 'cove':
4314                loadMMVideo(componentId, index, currentPlaylist, currentSettings);
4315                break;
4316            case 'youtube':
4317                loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings);
4318                break;
4319            default:
4320                loadDefault(componentId, index, currentPlaylist, currentSettings);
4321                break;
4322        }
4323
4324    }
4325
4326    function loadDefault(componentId, index, currentPlaylist, currentSettings) {
4327        var youtubeWrapper = '#youtube-wrapper_' + componentId;
4328        var videoContainer = '#video-container_' + componentId;
4329        var videoComponent = '#video-component_' + componentId;
4330
4331        $(youtubeWrapper).remove();
4332        $(videoContainer).remove();
4333
4334        var videoContainerEl = document.createElement('div');
4335        videoContainerEl.id = 'video-container_' + componentId;
4336        videoContainerEl.className = 'video-container';
4337        $(videoComponent + ' .video-container__wrapper').prepend(vi
4337deoContainerEl);
4338
4339        var defaultImg = document.createElement('img');
4340        defaultImg.alt = currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder;
4341        defaultImg.src = currentPlaylist[index].img.url;
4342        $(videoContainerEl).prepend(defaultImg);
4343
4344        currentSettings.showTitle &&
4345            $(videoComponent + ' .title').html(currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder);
4346
4347        currentSettings.showContentChannel &&
4348            $(videoComponent + ' .channel').html(currentPlaylist[index].channel||currentPlaylist[index].channelPlaceholder);
4349
4350        currentSettings.showDescription &&
4351            $(videoComponent + ' .description').html(currentPlaylist[index].description||currentPlaylist[index].descriptionPlaceholder);
4352
4353        $(videoComponent + ' .additional-mm-info').remove();
4354    }
4355
4356    function showCurrentIndex(index, componentId) {
4357        var itemsCount = $('#playlist-items-count_' + componentId);
4358        var currentItem = itemsCount.children('span');
4359        currentItem.text(index + '/');
4360    }
4361
4362    function togglePlaylist(componentId) {
4363        var playlistHeader = $('#playlist-header_' + componentId);
4364        // Do not toggle if the header is disabled
4365        if (playlistHeader.prop('disabled')) return;
4366        var caret = playlistHeader.find('.dropdown-caret');
4367        // Only toggle if the caret is visible (not just present in DOM)
4368        if (caret.length && caret.is(':visible')) {
4369            var playlistBody = $('#playlist-body_' + componentId);
4370            playlistBody.css('overflow', 'auto');
4371            playlistBody.slideToggle('slow', function(){ playlistBody.css('overflow','auto') });
4372            playlistHeader.find('i').toggleClass('fa-caret-up fa-caret-down');
4373            // Toggle aria-expanded for accessibility
4374            var isExpanded = playlistHeader.attr('aria-expanded') === 'true';
4375            playlistHeader.attr('aria-expanded', !isExpanded);
4376        }
4377    }
4378
4379</script>
vendor: 1 bytes, line 4379
4379
4380<script>
4381        $(document).ready(function () {
4382            var currentPlaylist = playlistMapping['f9d1a7e0-39c8-11e9-b20c-7b5069252681'];
4383            var currentSettings = settingsMapping['f9d1a7e0-39c8-11e9-b20c-7b5069252681'];
4384            $('.playlist-item').on('click', function () {
4385                $(this).addClass('selected-item').siblings().removeClass('selected-item');
4386            });
4387            if (currentPlaylist[0].videoSource === 'cove') {
4388                loadMMVideo('f9d1a7e0-39c8-11e9-b20c-7b5069252681', 0, currentPlaylist, currentSettings, 'WFYI');
4389            }
4390        });
4391
4392        function displayMMInfoItem(type, item, metadataSection) {
4393            var tag = '';
4394
4395            var label = type && (type[0].toUpperCase() + type.slice(1));
4396            var tag = type !== 'runtime' ? label : '';
4397
4398            if (item) {
4399                $('<div class="additional-mm-info ' + type + '"></div>').appendTo(metadataSection);
4400                var mediaManagerInfoItem = $(metadataSection + ' .' + type);
4401                tag && mediaManagerInfoItem.html(label + ': ');
4402                mediaManagerInfoItem.append(item);
4403            }
4404        }
4405
4406        function fitMMVideo(elem) {
4407            var iFrame = elem;
4408            var aspectRatio = null;
4409            var actualPlayerWidth = iFrame.width();
4410            var topBarHeight = 0;
4411
4412
4413            if (iFrame.attr("width") != '100%') {
4414                //for backwards compatibility use hardcoded old values for player dimensions
4415                try {
4416                    var styleWidth = 512;
4417                    var styleHeight = 288;
4418                    aspectRatio = styleWidth / styleHeight;
4419
4420                    iFrame.css({
4421                        "max-width": styleWidth,
4422                        "max-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth,
4423                        "min-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth
4424                    });
4425                } catch (e) {
4426                }
4427            } else {
4428                // the new player with width=100% and height=100%
4429                try {
4430                    aspectRatio = 16 / 9;
4431
4432                    if (iFrame.attr('src').indexOf('topbar=true') != -1) {
4433                        topBarHeight = 40;
4434                    }
4435
4436                    iFrame.css({
4437                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
4438                    });
4439                    iFrame.parent().css({
4440                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
4441                    });
4442                } catch (e) {
4443                }
4444            }
4445        }
4446
4447        function loadVideoIframe(response, playerObject, callsign) {
4448            var currentSettings = settingsMapping['f9d1a7e0-39c8-11e9-b20c-7b5069252681'];
4449            template = response.player_code.template;
4450            var iframe = jQuery(template);
4451            iframe.attr('allow', 'encrypted-media');
4452            iframe.attr('title', 'Video player');
4453            /* WCAG 2.1 1.2.2: Ensure captions are enabled. The PBS partner player
4454               should have closed-caption tracks available by default. If captions
4455               are missing, content editors must provide them. */
4456
4457            if (callsign) {
4458                iframe.attr('src', function (i, e) {
4459                    return e += '&callsign=' + callsign;
4460                })
4461            }
4462            iframe.attr('src', function (i, e) {
4463                return e += '&endscreen=' + !!currentSettings.endScreen;
4464            })
4465            playerObject.html(iframe);
4466            fitMMVideo(iframe);
4467            iframe.on('load', function () {
4468                fitMMVideo(jQuery(this));
4469            });
4470        }
4471
4472        function loadVideoMetadata(currentSettings, item, metadataSection) {
4473            currentSettings.showTitle &&
4474            $(metadataSection + ' .title').html(item.title);
4475
4476            currentSettings.showContentChannel &&
4477            $(metadataSection + ' .channel').html(item.channel);
4478
4479            $(metadataSection + ' .additional-mm-info').remove();
4480            if (currentSettings.showAdditionalMediaManagerInfo) {
4481                var mediaManagerInfoTypes = ['runtime', 'published', 'expires', 'rating'];
4482                var mediaManagerInfoTypesLength = mediaManagerInfoTypes.length;
4483                for (var i = 0; i <= mediaManagerInfoTypesLength; i++) {
4484                    displayMMInfoItem(mediaManagerInfoTypes[i], item[mediaManagerInfoTypes[i]], metadataSection);
4485                }
4486            }
4487
4488            if (currentSettings.showDescription) {
4489                $(metadataSection + ' .description').remove();
4490                $('<p class="description"></p>').appendTo(metadataSection);
4491                $(metadataSection + ' .description').html(item.description);
4492            }
4493        }
4494
4495        function loadMMVideo(componentId, index, currentPlaylist, currentSettings, c
4495allsign) {
4496            var youtubeWrapper = '#youtube-wrapper_' + componentId;
4497            var videoContainer = '#video-container_' + componentId;
4498            var videoComponent = '#video-component_' + componentId;
4499            var videoContainerWrapper = videoComponent + ' .video-container__wrapper';
4500            var metadataSection = videoComponent + ' .video-info';
4501
4502            $(youtubeWrapper).remove();
4503            $(videoContainer).remove();
4504
4505            var videoContainerEl = document.createElement('div');
4506            videoContainerEl.id = 'video-container_' + componentId;
4507            videoContainerEl.className = 'video-container';
4508            $(videoContainerWrapper).prepend(videoContainerEl);
4509            var videoId = currentPlaylist[index].videoId;
4510            var title = currentPlaylist[index].title;
4511            var partnerPlayerUrl = currentPlaylist[index].partnerPlayerUrl;
4512            var APIBaseURL = PBS.BentoConfig.APIBaseURL || '/';
4513            var url = APIBaseURL + 'merlin_plugin/video_frame/';
4514            url += partnerPlayerUrl ? partnerPlayerUrl : videoId;
4515            if (callsign) {
4516                url += '/?callsign=' + callsign + '&title=' + title;
4517            }
4518            url += '/';
4519            $.ajax({
4520                url: url,
4521                dataType: 'json',
4522                success: function (response) {
4523                    var template, notAvailableImg;
4524                    var playerObject = $('#video-container_' + componentId);
4525                    var imgUrl = currentPlaylist[index].img.url;
4526
4527                    if (response.player_code) {
4528                        loadVideoIframe(response, playerObject, callsign);
4529                    } else {
4530                        var notAvailableVideo = $('<img />');
4531                        notAvailableVideo.attr('src', imgUrl);
4532                        notAvailableVideo.attr('alt', 'Video is not available');
4533                        playerObject.html($(notAvailableVideo));
4534                    }
4535
4536                    loadVideoMetadata(currentSettings, currentPlaylist[index], metadataSection);
4537
4538                },
4539                error: function (xhr, status, err) {
4540                    console.error(xhr, status, err.toString());
4541                }
4542            });
4543        }
4544    </script>
vendor: 1 bytes, line 4544
4544
4545<script>
4546    $(document).ready(function() {
4547        var currentPlaylist = playlistMapping['f9d1a7e0-39c8-11e9-b20c-7b5069252681'];
4548        var currentSettings = settingsMapping['f9d1a7e0-39c8-11e9-b20c-7b5069252681'];
4549
4550        window.youtubeIframeMap = window.youtubeIframeMap || {};
4551        if(currentPlaylist[0].videoSource === 'youtube') {
4552            if (typeof window.youtubeIframeMap === 'undefined') {
4553                window.youtubeIframeMap = {};
4554            }
4555            window.youtubeIframeMap['f9d1a7e0-39c8-11e9-b20c-7b5069252681'] = {
4556                'playlist': currentPlaylist,
4557                'settings': currentSettings,
4558            };
4559        }
4560
4561        //check if single video & no metadata
4562        if ((currentPlaylist.length === 1 || !currentSettings.showPlaylist) &&
4563            !currentSettings.showTitle &&
4564            !currentSettings.showContentChannel &&
4565            !currentSettings.showDescription &&
4566            !currentSettings.showAdditionalMediaManagerInfo){
4567            $('#video-component_' + 'f9d1a7e0-39c8-11e9-b20c-7b5069252681').css({border: 'none'});
4568        }
4569
4570        // This code loads the IFrame Player API code asynchronously.
4571        var scriptTag = document.getElementById("youtube_iframe_api");
4572        if(!scriptTag) {
4573            scriptTag = document.createElement('script');
4574            scriptTag.src = "https://www.youtube.com/iframe_api";
4575            scriptTag.id = "youtube_iframe_api";
4576            var firstScriptTag = document.getElementsByTagName('script')[0];
4577            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);
4578        }
4579    })
4580
4581    // This function creates an <iframe> (and YouTube player) after the API code downloads.
4582    function onYouTubeIframeAPIReady() {
4583        for (var componentId in window.youtubeIframeMap) {
4584             var currentPlaylist = window.youtubeIframeMap[componentId]['playlist'];
4585             var currentSettings = window.youtubeIframeMap[componentId]['settings'];
4586             loadYoutubeVideo(componentId, 0, currentPlaylist, currentSettings);
4587        }
4588    }
4589
4590    function loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings) {
4591        var player, playerVars;
4592        var videoComponent = '#video-component_' + componentId;
4593        var youtubeWrapper = document.createElement('div');
4594        youtubeWrapper.id = 'youtube-wrapper_' + componentId;
4595        youtubeWrapper.className = 'youtube-wrapper video-container';
4596
4597        $('#video-container_' + componentId).remove();
4598        $('#youtube-wrapper_' + componentId).remove();
4599        var videoContainerEl = document.createElement('div');
4600        videoContainerEl.id = 'video-container_' + componentId;
4601
4602        $(videoComponent + ' .video-container__wrapper').prepend(youtubeWrapper);
4603
4604        $(videoComponent + ' .youtube-wrapper').prepend(videoContainerEl);
4605
4606        playerVars = Object.assign({},
4607            { cc_load_policy: 1 },
4608            (currentPlaylist[index].rel === false) && { rel: 0 },
4609            (currentPlaylist[index].controls === false) && { controls: 0 },
4610            (currentPlaylist[index].fs === false) && { fs: 0 },
4611            (currentPlaylist[index].autoplay === true) && { autoplay: 1 },
4612            (currentPlaylist[index].start > 0) && { start: currentPlaylist[index].start },
4613            (currentPlaylist[index].end > 0  && currentPlaylist[index].start < currentPlaylist[index].end) && { end: currentPlaylist[index].end }
4614        );
4615
4616        player = new YT.Player('video-container_' + componentId, {
4617            videoId: currentPlaylist[index].videoId,
4618            playerVars
4619        });
4620
4621        currentSettings.showTitle &&
4622            $(videoComponent + ' .title').html(currentPlaylist[index].title);
4623
4624        currentSettings.showContentChannel &&
4625            $(videoComponent + ' .channel').html(currentPlaylist[index].channel);
4626
4627        currentSettings.showDescription &&
4628            $(videoComponent + ' .description').html(currentPlaylist[index].description);
4629
4630        $(videoComponent + ' .additional-mm-info').remove();
4631    }
4632</script>
vendor: 1 bytes, line 4632
4632
4633<script>
4634    
4635        var playlistJson = [
4636    {
4637        "id": "78634a00-004d-4f8f-921f-9270b97bf870",
4638        "img": {
4639            "url": "https://image.pbs.org/video-assets/nUHwtpK-asset-mezzanine-16x9-AhGMvJv.png",
4640            "isDefault": false
4641        },
4642        "url": "http://pbs.org/video/evas-impact-sophie-ow10mc/",
4643        "title": "Eva's Impact on Sophie",
4644        "rating": "",
4645        "channel": "Eva A-7063",
4646        "expires": "",
4647        "runtime": "3:58",
4648        "videoId": "evas-impact-sophie-ow10mc",
4649        "published": "2019/12/30",
4650        "description": "Meet Sophie, a high school sophomore who was inspired to take action after seeing \"Eva.\"",
4651        "videoSource": "cove",
4652        "partnerPlayerUrl": "RdxmxeKQBxpOW9ZMIiIB6g==",
4653        "titlePlaceholder": "Title",
4654        "channelPlaceholder": "Content channel",
4655        "descriptionPlaceholder": "Description"
4656    }
4657];
4658        var settingsJson = {
4659    "showTitle": true,
4660    "showPlaylist": false,
4661    "playlistHeight": 4,
4662    "showDescription": false,
4663    "showContentChannel": false,
4664    "showAdditionalMediaManagerInfo": false
4665}
4666    
4667
4668
4669    function updatePlaylistHeaderTabindex(componentId) {
4670        var playlistHeader = document.getElementById('playlist-header_' + componentId);
4671        if (!playlistHeader) return;
4672        var caret = playlistHeader.querySelector('.dropdown-caret');
4673        if (window.innerWidth > 1023) {
4674            // On desktop with one-column layout, playlist header is not interactive
4675            if (caret && window.getComputedStyle(caret).display === 'none') {
4676                playlistHeader.disabled = true;
4677                playlistHeader.setAttribute('aria-disabled', 'true');
4678                playlistHeader.setAttribute('tabindex', '-1');
4679            } else {
4680                playlistHeader.disabled = false;
4681                playlistHeader.removeAttribute('aria-disabled');
4682                playlistHeader.setAttribute('tabindex', '0');
4683            }
4684        } else {
4685            playlistHeader.disabled = false;
4686            playlistHeader.removeAttribute('aria-disabled');
4687            playlistHeader.setAttribute('tabindex', '0');
4688        }
4689    }
4690    $(window).on('load', function(){
4691        resizePlaylist('f9d1a7e0-39c8-11e9-b20c-7b5069252681');
4692        updatePlaylistHeaderTabindex('f9d1a7e0-39c8-11e9-b20c-7b5069252681');
4693    });
4694    $(window).resize(function(){
4695        resizePlaylist('f9d1a7e0-39c8-11e9-b20c-7b5069252681');
4696        updatePlaylistHeaderTabindex('f9d1a7e0-39c8-11e9-b20c-7b5069252681');
4697    });
4698
4699    if (typeof window.playlistMapping === 'undefined') {
4700        window.playlistMapping = {};
4701    }
4702
4703    if (typeof window.settingsMapping === 'undefined') {
4704        window.settingsMapping = {};
4705    }
4706    window.playlistMapping['f9d1a7e0-39c8-11e9-b20c-7b5069252681'] = playlistJson;
4707    window.settingsMapping['f9d1a7e0-39c8-11e9-b20c-7b5069252681'] = settingsJson;
4708
4709    function resizePlaylist(componentId) {
4710        const videoComponent = $('#video-component_' + componentId);
4711        const playlistWrapper = videoComponent.find('.playlist__wrapper');
4712        const playlistBody = playlistWrapper.find('.playlist-body');
4713        const isSmallPlaylist = playlistWrapper.hasClass('playlist-sm');
4714        const isLargeWindow =  $(window).width() >= 1024;
4715        const isOneColWithPlaylist = videoComponent.hasClass('column-12');
4716        if (isOneColWithPlaylist) {
4717            if(isLargeWindow) {
4718                const mainVideoHeight = videoComponent.find('.video-container').outerHeight() +
4719                        videoComponent.find('.video-info').outerHeight() +
4720                        (videoComponent.find('.video-cta-container').outerHeight(true) || 0);
4721                const playlistHeaderHeight = $('#playlist-header_' + componentId).outerHeight();
4722
4723                playlistWrapper.css('height', mainVideoHeight + 'px');
4724                playlistBody.css('max-height', (mainVideoHeight - playlistHeaderHeight) + 'px');
4725            }
4726            else {
4727                playlistWrapper.css('height', 'auto');
4728                playlistBody.css('max-height', '400px');
4729            }
4730        }
4731        if(isSmallPlaylist){
4732            const playlistItemImgWrapper = playlistWrapper.find('.playlist-item-img-wrapper');
4733            const playlistItemInfo = playlistWrapper.find('.playlist-item-info');
4734            if(!isLargeWindow) {
4735                $(playlistItemImgWrapper).removeClass('span6');
4736                $(playlistItemInfo).removeClass('span6');
4737                $(playlistItemImgWrapper).addClass('span4');
4738                $(playlistItemInfo).addClass('span8');
4739            }
4740            else {
4741                $(playlistItemImgWrapper).removeClass('span4');
4742                $(playlistItemInfo).removeClass('span8');
4743                $(playlistItemImgWrapper).addClass('span6');
4744                $(playlistItemInfo).addClass('span6');
4745            }
4746        }
4747
4748    }
4749
4750    function selectPlaylistItem(componentId, index, videoSource) {
4751        var currentPlaylist = playlistMapping[componentId];
4752        var currentSettings = settingsMapping[componentId];
4753        switch(videoSource) {
4754            case 'cove':
4755                loadMMVideo(componentId, index, currentPlaylist, currentSettings);
4756                break;
4757            case 'youtube':
4758                loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings);
4759                break;
4760            default:
4761                loadDefault(componentId, index, currentPlaylist, currentSettings);
4762                break;
4763        }
4764
4765    }
4766
4767    function loadDefault(componentId, index, currentPlaylist, currentSettings) {
4768        var youtubeWrapper = '#youtube-wrapper_' + componentId;
4769        var videoContainer = '#video-container_' + componentId;
4770        var videoComponent = '#video-component_' + componentId;
4771
4772        $(youtubeWrapper).remove();
4773        $(videoContainer).remove();
4774
4775        var videoContainerEl = document.createElement('div');
4776        videoContainerEl.id = 'video-container_' + componentId;
4777        videoContainerEl.className = 'video-container';
4778        $(videoComponent + ' .video-container__wrapper').prepend(vi
4778deoContainerEl);
4779
4780        var defaultImg = document.createElement('img');
4781        defaultImg.alt = currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder;
4782        defaultImg.src = currentPlaylist[index].img.url;
4783        $(videoContainerEl).prepend(defaultImg);
4784
4785        currentSettings.showTitle &&
4786            $(videoComponent + ' .title').html(currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder);
4787
4788        currentSettings.showContentChannel &&
4789            $(videoComponent + ' .channel').html(currentPlaylist[index].channel||currentPlaylist[index].channelPlaceholder);
4790
4791        currentSettings.showDescription &&
4792            $(videoComponent + ' .description').html(currentPlaylist[index].description||currentPlaylist[index].descriptionPlaceholder);
4793
4794        $(videoComponent + ' .additional-mm-info').remove();
4795    }
4796
4797    function showCurrentIndex(index, componentId) {
4798        var itemsCount = $('#playlist-items-count_' + componentId);
4799        var currentItem = itemsCount.children('span');
4800        currentItem.text(index + '/');
4801    }
4802
4803    function togglePlaylist(componentId) {
4804        var playlistHeader = $('#playlist-header_' + componentId);
4805        // Do not toggle if the header is disabled
4806        if (playlistHeader.prop('disabled')) return;
4807        var caret = playlistHeader.find('.dropdown-caret');
4808        // Only toggle if the caret is visible (not just present in DOM)
4809        if (caret.length && caret.is(':visible')) {
4810            var playlistBody = $('#playlist-body_' + componentId);
4811            playlistBody.css('overflow', 'auto');
4812            playlistBody.slideToggle('slow', function(){ playlistBody.css('overflow','auto') });
4813            playlistHeader.find('i').toggleClass('fa-caret-up fa-caret-down');
4814            // Toggle aria-expanded for accessibility
4815            var isExpanded = playlistHeader.attr('aria-expanded') === 'true';
4816            playlistHeader.attr('aria-expanded', !isExpanded);
4817        }
4818    }
4819
4820</script>
vendor: 1 bytes, line 4820
4820
4821<script>
4822        $(document).ready(function () {
4823            var currentPlaylist = playlistMapping['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'];
4824            var currentSettings = settingsMapping['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'];
4825            $('.playlist-item').on('click', function () {
4826                $(this).addClass('selected-item').siblings().removeClass('selected-item');
4827            });
4828            if (currentPlaylist[0].videoSource === 'cove') {
4829                loadMMVideo('fb5eca30-a0f0-11ea-93bb-b93edb1cf13c', 0, currentPlaylist, currentSettings, 'WFYI');
4830            }
4831        });
4832
4833        function displayMMInfoItem(type, item, metadataSection) {
4834            var tag = '';
4835
4836            var label = type && (type[0].toUpperCase() + type.slice(1));
4837            var tag = type !== 'runtime' ? label : '';
4838
4839            if (item) {
4840                $('<div class="additional-mm-info ' + type + '"></div>').appendTo(metadataSection);
4841                var mediaManagerInfoItem = $(metadataSection + ' .' + type);
4842                tag && mediaManagerInfoItem.html(label + ': ');
4843                mediaManagerInfoItem.append(item);
4844            }
4845        }
4846
4847        function fitMMVideo(elem) {
4848            var iFrame = elem;
4849            var aspectRatio = null;
4850            var actualPlayerWidth = iFrame.width();
4851            var topBarHeight = 0;
4852
4853
4854            if (iFrame.attr("width") != '100%') {
4855                //for backwards compatibility use hardcoded old values for player dimensions
4856                try {
4857                    var styleWidth = 512;
4858                    var styleHeight = 288;
4859                    aspectRatio = styleWidth / styleHeight;
4860
4861                    iFrame.css({
4862                        "max-width": styleWidth,
4863                        "max-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth,
4864                        "min-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth
4865                    });
4866                } catch (e) {
4867                }
4868            } else {
4869                // the new player with width=100% and height=100%
4870                try {
4871                    aspectRatio = 16 / 9;
4872
4873                    if (iFrame.attr('src').indexOf('topbar=true') != -1) {
4874                        topBarHeight = 40;
4875                    }
4876
4877                    iFrame.css({
4878                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
4879                    });
4880                    iFrame.parent().css({
4881                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
4882                    });
4883                } catch (e) {
4884                }
4885            }
4886        }
4887
4888        function loadVideoIframe(response, playerObject, callsign) {
4889            var currentSettings = settingsMapping['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'];
4890            template = response.player_code.template;
4891            var iframe = jQuery(template);
4892            iframe.attr('allow', 'encrypted-media');
4893            iframe.attr('title', 'Video player');
4894            /* WCAG 2.1 1.2.2: Ensure captions are enabled. The PBS partner player
4895               should have closed-caption tracks available by default. If captions
4896               are missing, content editors must provide them. */
4897
4898            if (callsign) {
4899                iframe.attr('src', function (i, e) {
4900                    return e += '&callsign=' + callsign;
4901                })
4902            }
4903            iframe.attr('src', function (i, e) {
4904                return e += '&endscreen=' + !!currentSettings.endScreen;
4905            })
4906            playerObject.html(iframe);
4907            fitMMVideo(iframe);
4908            iframe.on('load', function () {
4909                fitMMVideo(jQuery(this));
4910            });
4911        }
4912
4913        function loadVideoMetadata(currentSettings, item, metadataSection) {
4914            currentSettings.showTitle &&
4915            $(metadataSection + ' .title').html(item.title);
4916
4917            currentSettings.showContentChannel &&
4918            $(metadataSection + ' .channel').html(item.channel);
4919
4920            $(metadataSection + ' .additional-mm-info').remove();
4921            if (currentSettings.showAdditionalMediaManagerInfo) {
4922                var mediaManagerInfoTypes = ['runtime', 'published', 'expires', 'rating'];
4923                var mediaManagerInfoTypesLength = mediaManagerInfoTypes.length;
4924                for (var i = 0; i <= mediaManagerInfoTypesLength; i++) {
4925                    displayMMInfoItem(mediaManagerInfoTypes[i], item[mediaManagerInfoTypes[i]], metadataSection);
4926                }
4927            }
4928
4929            if (currentSettings.showDescription) {
4930                $(metadataSection + ' .description').remove();
4931                $('<p class="description"></p>').appendTo(metadataSection);
4932                $(metadataSection + ' .description').html(item.description);
4933            }
4934        }
4935
4936        function loadMMVideo(componentId, index, currentPlaylist, currentSettings, c
4936allsign) {
4937            var youtubeWrapper = '#youtube-wrapper_' + componentId;
4938            var videoContainer = '#video-container_' + componentId;
4939            var videoComponent = '#video-component_' + componentId;
4940            var videoContainerWrapper = videoComponent + ' .video-container__wrapper';
4941            var metadataSection = videoComponent + ' .video-info';
4942
4943            $(youtubeWrapper).remove();
4944            $(videoContainer).remove();
4945
4946            var videoContainerEl = document.createElement('div');
4947            videoContainerEl.id = 'video-container_' + componentId;
4948            videoContainerEl.className = 'video-container';
4949            $(videoContainerWrapper).prepend(videoContainerEl);
4950            var videoId = currentPlaylist[index].videoId;
4951            var title = currentPlaylist[index].title;
4952            var partnerPlayerUrl = currentPlaylist[index].partnerPlayerUrl;
4953            var APIBaseURL = PBS.BentoConfig.APIBaseURL || '/';
4954            var url = APIBaseURL + 'merlin_plugin/video_frame/';
4955            url += partnerPlayerUrl ? partnerPlayerUrl : videoId;
4956            if (callsign) {
4957                url += '/?callsign=' + callsign + '&title=' + title;
4958            }
4959            url += '/';
4960            $.ajax({
4961                url: url,
4962                dataType: 'json',
4963                success: function (response) {
4964                    var template, notAvailableImg;
4965                    var playerObject = $('#video-container_' + componentId);
4966                    var imgUrl = currentPlaylist[index].img.url;
4967
4968                    if (response.player_code) {
4969                        loadVideoIframe(response, playerObject, callsign);
4970                    } else {
4971                        var notAvailableVideo = $('<img />');
4972                        notAvailableVideo.attr('src', imgUrl);
4973                        notAvailableVideo.attr('alt', 'Video is not available');
4974                        playerObject.html($(notAvailableVideo));
4975                    }
4976
4977                    loadVideoMetadata(currentSettings, currentPlaylist[index], metadataSection);
4978
4979                },
4980                error: function (xhr, status, err) {
4981                    console.error(xhr, status, err.toString());
4982                }
4983            });
4984        }
4985    </script>
vendor: 1 bytes, line 4985
4985
4986<script>
4987    $(document).ready(function() {
4988        var currentPlaylist = playlistMapping['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'];
4989        var currentSettings = settingsMapping['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'];
4990
4991        window.youtubeIframeMap = window.youtubeIframeMap || {};
4992        if(currentPlaylist[0].videoSource === 'youtube') {
4993            if (typeof window.youtubeIframeMap === 'undefined') {
4994                window.youtubeIframeMap = {};
4995            }
4996            window.youtubeIframeMap['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'] = {
4997                'playlist': currentPlaylist,
4998                'settings': currentSettings,
4999            };
5000        }
5001
5002        //check if single video & no metadata
5003        if ((currentPlaylist.length === 1 || !currentSettings.showPlaylist) &&
5004            !currentSettings.showTitle &&
5005            !currentSettings.showContentChannel &&
5006            !currentSettings.showDescription &&
5007            !currentSettings.showAdditionalMediaManagerInfo){
5008            $('#video-component_' + 'fb5eca30-a0f0-11ea-93bb-b93edb1cf13c').css({border: 'none'});
5009        }
5010
5011        // This code loads the IFrame Player API code asynchronously.
5012        var scriptTag = document.getElementById("youtube_iframe_api");
5013        if(!scriptTag) {
5014            scriptTag = document.createElement('script');
5015            scriptTag.src = "https://www.youtube.com/iframe_api";
5016            scriptTag.id = "youtube_iframe_api";
5017            var firstScriptTag = document.getElementsByTagName('script')[0];
5018            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);
5019        }
5020    })
5021
5022    // This function creates an <iframe> (and YouTube player) after the API code downloads.
5023    function onYouTubeIframeAPIReady() {
5024        for (var componentId in window.youtubeIframeMap) {
5025             var currentPlaylist = window.youtubeIframeMap[componentId]['playlist'];
5026             var currentSettings = window.youtubeIframeMap[componentId]['settings'];
5027             loadYoutubeVideo(componentId, 0, currentPlaylist, currentSettings);
5028        }
5029    }
5030
5031    function loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings) {
5032        var player, playerVars;
5033        var videoComponent = '#video-component_' + componentId;
5034        var youtubeWrapper = document.createElement('div');
5035        youtubeWrapper.id = 'youtube-wrapper_' + componentId;
5036        youtubeWrapper.className = 'youtube-wrapper video-container';
5037
5038        $('#video-container_' + componentId).remove();
5039        $('#youtube-wrapper_' + componentId).remove();
5040        var videoContainerEl = document.createElement('div');
5041        videoContainerEl.id = 'video-container_' + componentId;
5042
5043        $(videoComponent + ' .video-container__wrapper').prepend(youtubeWrapper);
5044
5045        $(videoComponent + ' .youtube-wrapper').prepend(videoContainerEl);
5046
5047        playerVars = Object.assign({},
5048            { cc_load_policy: 1 },
5049            (currentPlaylist[index].rel === false) && { rel: 0 },
5050            (currentPlaylist[index].controls === false) && { controls: 0 },
5051            (currentPlaylist[index].fs === false) && { fs: 0 },
5052            (currentPlaylist[index].autoplay === true) && { autoplay: 1 },
5053            (currentPlaylist[index].start > 0) && { start: currentPlaylist[index].start },
5054            (currentPlaylist[index].end > 0  && currentPlaylist[index].start < currentPlaylist[index].end) && { end: currentPlaylist[index].end }
5055        );
5056
5057        player = new YT.Player('video-container_' + componentId, {
5058            videoId: currentPlaylist[index].videoId,
5059            playerVars
5060        });
5061
5062        currentSettings.showTitle &&
5063            $(videoComponent + ' .title').html(currentPlaylist[index].title);
5064
5065        currentSettings.showContentChannel &&
5066            $(videoComponent + ' .channel').html(currentPlaylist[index].channel);
5067
5068        currentSettings.showDescription &&
5069            $(videoComponent + ' .description').html(currentPlaylist[index].description);
5070
5071        $(videoComponent + ' .additional-mm-info').remove();
5072    }
5073</script>
vendor: 1 bytes, line 5073
5073
5074<script>
5075    
5076        var playlistJson = [
5077    {
5078        "id": "6b255eae-eeee-4294-90d1-02b90cee7ec0",
5079        "img": {
5080            "url": "https://image.pbs.org/video-assets/kHaQ8Tn-asset-mezzanine-16x9-wzpeUl1.jpg",
5081            "isDefault": false
5082        },
5083        "url": "http://pbs.org/video/peace-learning-center-xonqvn/",
5084        "title": "Student Interviews",
5085        "rating": "",
5086        "channel": "Eva A-7063",
5087        "expires": "",
5088        "runtime": "1:49",
5089        "videoId": "peace-learning-center-xonqvn",
5090        "published": "2019/03/25",
5091        "description": "Students at Peace Learning Center react to Eva Kor's story.",
5092        "videoSource": "cove",
5093        "partnerPlayerUrl": "wZalZBDeoIovlnU8Wwn3zA==",
5094        "titlePlaceholder": "Title",
5095        "channelPlaceholder": "Content channel",
5096        "descriptionPlaceholder": "Description"
5097    }
5098];
5099        var settingsJson = {
5100    "showTitle": true,
5101    "showPlaylist": false,
5102    "playlistHeight": 4,
5103    "showDescription": false,
5104    "showContentChannel": false,
5105    "showAdditionalMediaManagerInfo": false
5106}
5107    
5108
5109
5110    function updatePlaylistHeaderTabindex(componentId) {
5111        var playlistHeader = document.getElementById('playlist-header_' + componentId);
5112        if (!playlistHeader) return;
5113        var caret = playlistHeader.querySelector('.dropdown-caret');
5114        if (window.innerWidth > 1023) {
5115            // On desktop with one-column layout, playlist header is not interactive
5116            if (caret && window.getComputedStyle(caret).display === 'none') {
5117                playlistHeader.disabled = true;
5118                playlistHeader.setAttribute('aria-disabled', 'true');
5119                playlistHeader.setAttribute('tabindex', '-1');
5120            } else {
5121                playlistHeader.disabled = false;
5122                playlistHeader.removeAttribute('aria-disabled');
5123                playlistHeader.setAttribute('tabindex', '0');
5124            }
5125        } else {
5126            playlistHeader.disabled = false;
5127            playlistHeader.removeAttribute('aria-disabled');
5128            playlistHeader.setAttribute('tabindex', '0');
5129        }
5130    }
5131    $(window).on('load', function(){
5132        resizePlaylist('fb5eca30-a0f0-11ea-93bb-b93edb1cf13c');
5133        updatePlaylistHeaderTabindex('fb5eca30-a0f0-11ea-93bb-b93edb1cf13c');
5134    });
5135    $(window).resize(function(){
5136        resizePlaylist('fb5eca30-a0f0-11ea-93bb-b93edb1cf13c');
5137        updatePlaylistHeaderTabindex('fb5eca30-a0f0-11ea-93bb-b93edb1cf13c');
5138    });
5139
5140    if (typeof window.playlistMapping === 'undefined') {
5141        window.playlistMapping = {};
5142    }
5143
5144    if (typeof window.settingsMapping === 'undefined') {
5145        window.settingsMapping = {};
5146    }
5147    window.playlistMapping['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'] = playlistJson;
5148    window.settingsMapping['fb5eca30-a0f0-11ea-93bb-b93edb1cf13c'] = settingsJson;
5149
5150    function resizePlaylist(componentId) {
5151        const videoComponent = $('#video-component_' + componentId);
5152        const playlistWrapper = videoComponent.find('.playlist__wrapper');
5153        const playlistBody = playlistWrapper.find('.playlist-body');
5154        const isSmallPlaylist = playlistWrapper.hasClass('playlist-sm');
5155        const isLargeWindow =  $(window).width() >= 1024;
5156        const isOneColWithPlaylist = videoComponent.hasClass('column-12');
5157        if (isOneColWithPlaylist) {
5158            if(isLargeWindow) {
5159                const mainVideoHeight = videoComponent.find('.video-container').outerHeight() +
5160                        videoComponent.find('.video-info').outerHeight() +
5161                        (videoComponent.find('.video-cta-container').outerHeight(true) || 0);
5162                const playlistHeaderHeight = $('#playlist-header_' + componentId).outerHeight();
5163
5164                playlistWrapper.css('height', mainVideoHeight + 'px');
5165                playlistBody.css('max-height', (mainVideoHeight - playlistHeaderHeight) + 'px');
5166            }
5167            else {
5168                playlistWrapper.css('height', 'auto');
5169                playlistBody.css('max-height', '400px');
5170            }
5171        }
5172        if(isSmallPlaylist){
5173            const playlistItemImgWrapper = playlistWrapper.find('.playlist-item-img-wrapper');
5174            const playlistItemInfo = playlistWrapper.find('.playlist-item-info');
5175            if(!isLargeWindow) {
5176                $(playlistItemImgWrapper).removeClass('span6');
5177                $(playlistItemInfo).removeClass('span6');
5178                $(playlistItemImgWrapper).addClass('span4');
5179                $(playlistItemInfo).addClass('span8');
5180            }
5181            else {
5182                $(playlistItemImgWrapper).removeClass('span4');
5183                $(playlistItemInfo).removeClass('span8');
5184                $(playlistItemImgWrapper).addClass('span6');
5185                $(playlistItemInfo).addClass('span6');
5186            }
5187        }
5188
5189    }
5190
5191    function selectPlaylistItem(componentId, index, videoSource) {
5192        var currentPlaylist = playlistMapping[componentId];
5193        var currentSettings = settingsMapping[componentId];
5194        switch(videoSource) {
5195            case 'cove':
5196                loadMMVideo(componentId, index, currentPlaylist, currentSettings);
5197                break;
5198            case 'youtube':
5199                loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings);
5200                break;
5201            default:
5202                loadDefault(componentId, index, currentPlaylist, currentSettings);
5203                break;
5204        }
5205
5206    }
5207
5208    function loadDefault(componentId, index, currentPlaylist, currentSettings) {
5209        var youtubeWrapper = '#youtube-wrapper_' + componentId;
5210        var videoContainer = '#video-container_' + componentId;
5211        var videoComponent = '#video-component_' + componentId;
5212
5213        $(youtubeWrapper).remove();
5214        $(videoContainer).remove();
5215
5216        var videoContainerEl = document.createElement('div');
5217        videoContainerEl.id = 'video-container_' + componentId;
5218        videoContainerEl.className = 'video-container';
5219        $(videoComponent + ' .video-container__wrapper').prepend(vi
5219deoContainerEl);
5220
5221        var defaultImg = document.createElement('img');
5222        defaultImg.alt = currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder;
5223        defaultImg.src = currentPlaylist[index].img.url;
5224        $(videoContainerEl).prepend(defaultImg);
5225
5226        currentSettings.showTitle &&
5227            $(videoComponent + ' .title').html(currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder);
5228
5229        currentSettings.showContentChannel &&
5230            $(videoComponent + ' .channel').html(currentPlaylist[index].channel||currentPlaylist[index].channelPlaceholder);
5231
5232        currentSettings.showDescription &&
5233            $(videoComponent + ' .description').html(currentPlaylist[index].description||currentPlaylist[index].descriptionPlaceholder);
5234
5235        $(videoComponent + ' .additional-mm-info').remove();
5236    }
5237
5238    function showCurrentIndex(index, componentId) {
5239        var itemsCount = $('#playlist-items-count_' + componentId);
5240        var currentItem = itemsCount.children('span');
5241        currentItem.text(index + '/');
5242    }
5243
5244    function togglePlaylist(componentId) {
5245        var playlistHeader = $('#playlist-header_' + componentId);
5246        // Do not toggle if the header is disabled
5247        if (playlistHeader.prop('disabled')) return;
5248        var caret = playlistHeader.find('.dropdown-caret');
5249        // Only toggle if the caret is visible (not just present in DOM)
5250        if (caret.length && caret.is(':visible')) {
5251            var playlistBody = $('#playlist-body_' + componentId);
5252            playlistBody.css('overflow', 'auto');
5253            playlistBody.slideToggle('slow', function(){ playlistBody.css('overflow','auto') });
5254            playlistHeader.find('i').toggleClass('fa-caret-up fa-caret-down');
5255            // Toggle aria-expanded for accessibility
5256            var isExpanded = playlistHeader.attr('aria-expanded') === 'true';
5257            playlistHeader.attr('aria-expanded', !isExpanded);
5258        }
5259    }
5260
5261</script>
vendor: 1 bytes, line 5261
5261
5262<script>
5263        $(document).ready(function () {
5264            var currentPlaylist = playlistMapping['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'];
5265            var currentSettings = settingsMapping['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'];
5266            $('.playlist-item').on('click', function () {
5267                $(this).addClass('selected-item').siblings().removeClass('selected-item');
5268            });
5269            if (currentPlaylist[0].videoSource === 'cove') {
5270                loadMMVideo('fe1b5220-a0f0-11ea-93bb-b93edb1cf13c', 0, currentPlaylist, currentSettings, 'WFYI');
5271            }
5272        });
5273
5274        function displayMMInfoItem(type, item, metadataSection) {
5275            var tag = '';
5276
5277            var label = type && (type[0].toUpperCase() + type.slice(1));
5278            var tag = type !== 'runtime' ? label : '';
5279
5280            if (item) {
5281                $('<div class="additional-mm-info ' + type + '"></div>').appendTo(metadataSection);
5282                var mediaManagerInfoItem = $(metadataSection + ' .' + type);
5283                tag && mediaManagerInfoItem.html(label + ': ');
5284                mediaManagerInfoItem.append(item);
5285            }
5286        }
5287
5288        function fitMMVideo(elem) {
5289            var iFrame = elem;
5290            var aspectRatio = null;
5291            var actualPlayerWidth = iFrame.width();
5292            var topBarHeight = 0;
5293
5294
5295            if (iFrame.attr("width") != '100%') {
5296                //for backwards compatibility use hardcoded old values for player dimensions
5297                try {
5298                    var styleWidth = 512;
5299                    var styleHeight = 288;
5300                    aspectRatio = styleWidth / styleHeight;
5301
5302                    iFrame.css({
5303                        "max-width": styleWidth,
5304                        "max-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth,
5305                        "min-height": actualPlayerWidth * styleHeight / styleWidth > styleHeight ? styleHeight : actualPlayerWidth * styleHeight / styleWidth
5306                    });
5307                } catch (e) {
5308                }
5309            } else {
5310                // the new player with width=100% and height=100%
5311                try {
5312                    aspectRatio = 16 / 9;
5313
5314                    if (iFrame.attr('src').indexOf('topbar=true') != -1) {
5315                        topBarHeight = 40;
5316                    }
5317
5318                    iFrame.css({
5319                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
5320                    });
5321                    iFrame.parent().css({
5322                        "height": actualPlayerWidth / aspectRatio + topBarHeight,
5323                    });
5324                } catch (e) {
5325                }
5326            }
5327        }
5328
5329        function loadVideoIframe(response, playerObject, callsign) {
5330            var currentSettings = settingsMapping['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'];
5331            template = response.player_code.template;
5332            var iframe = jQuery(template);
5333            iframe.attr('allow', 'encrypted-media');
5334            iframe.attr('title', 'Video player');
5335            /* WCAG 2.1 1.2.2: Ensure captions are enabled. The PBS partner player
5336               should have closed-caption tracks available by default. If captions
5337               are missing, content editors must provide them. */
5338
5339            if (callsign) {
5340                iframe.attr('src', function (i, e) {
5341                    return e += '&callsign=' + callsign;
5342                })
5343            }
5344            iframe.attr('src', function (i, e) {
5345                return e += '&endscreen=' + !!currentSettings.endScreen;
5346            })
5347            playerObject.html(iframe);
5348            fitMMVideo(iframe);
5349            iframe.on('load', function () {
5350                fitMMVideo(jQuery(this));
5351            });
5352        }
5353
5354        function loadVideoMetadata(currentSettings, item, metadataSection) {
5355            currentSettings.showTitle &&
5356            $(metadataSection + ' .title').html(item.title);
5357
5358            currentSettings.showContentChannel &&
5359            $(metadataSection + ' .channel').html(item.channel);
5360
5361            $(metadataSection + ' .additional-mm-info').remove();
5362            if (currentSettings.showAdditionalMediaManagerInfo) {
5363                var mediaManagerInfoTypes = ['runtime', 'published', 'expires', 'rating'];
5364                var mediaManagerInfoTypesLength = mediaManagerInfoTypes.length;
5365                for (var i = 0; i <= mediaManagerInfoTypesLength; i++) {
5366                    displayMMInfoItem(mediaManagerInfoTypes[i], item[mediaManagerInfoTypes[i]], metadataSection);
5367                }
5368            }
5369
5370            if (currentSettings.showDescription) {
5371                $(metadataSection + ' .description').remove();
5372                $('<p class="description"></p>').appendTo(metadataSection);
5373                $(metadataSection + ' .description').html(item.description);
5374            }
5375        }
5376
5377        function loadMMVideo(componentId, index, currentPlaylist, currentSettings, c
5377allsign) {
5378            var youtubeWrapper = '#youtube-wrapper_' + componentId;
5379            var videoContainer = '#video-container_' + componentId;
5380            var videoComponent = '#video-component_' + componentId;
5381            var videoContainerWrapper = videoComponent + ' .video-container__wrapper';
5382            var metadataSection = videoComponent + ' .video-info';
5383
5384            $(youtubeWrapper).remove();
5385            $(videoContainer).remove();
5386
5387            var videoContainerEl = document.createElement('div');
5388            videoContainerEl.id = 'video-container_' + componentId;
5389            videoContainerEl.className = 'video-container';
5390            $(videoContainerWrapper).prepend(videoContainerEl);
5391            var videoId = currentPlaylist[index].videoId;
5392            var title = currentPlaylist[index].title;
5393            var partnerPlayerUrl = currentPlaylist[index].partnerPlayerUrl;
5394            var APIBaseURL = PBS.BentoConfig.APIBaseURL || '/';
5395            var url = APIBaseURL + 'merlin_plugin/video_frame/';
5396            url += partnerPlayerUrl ? partnerPlayerUrl : videoId;
5397            if (callsign) {
5398                url += '/?callsign=' + callsign + '&title=' + title;
5399            }
5400            url += '/';
5401            $.ajax({
5402                url: url,
5403                dataType: 'json',
5404                success: function (response) {
5405                    var template, notAvailableImg;
5406                    var playerObject = $('#video-container_' + componentId);
5407                    var imgUrl = currentPlaylist[index].img.url;
5408
5409                    if (response.player_code) {
5410                        loadVideoIframe(response, playerObject, callsign);
5411                    } else {
5412                        var notAvailableVideo = $('<img />');
5413                        notAvailableVideo.attr('src', imgUrl);
5414                        notAvailableVideo.attr('alt', 'Video is not available');
5415                        playerObject.html($(notAvailableVideo));
5416                    }
5417
5418                    loadVideoMetadata(currentSettings, currentPlaylist[index], metadataSection);
5419
5420                },
5421                error: function (xhr, status, err) {
5422                    console.error(xhr, status, err.toString());
5423                }
5424            });
5425        }
5426    </script>
vendor: 1 bytes, line 5426
5426
5427<script>
5428    $(document).ready(function() {
5429        var currentPlaylist = playlistMapping['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'];
5430        var currentSettings = settingsMapping['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'];
5431
5432        window.youtubeIframeMap = window.youtubeIframeMap || {};
5433        if(currentPlaylist[0].videoSource === 'youtube') {
5434            if (typeof window.youtubeIframeMap === 'undefined') {
5435                window.youtubeIframeMap = {};
5436            }
5437            window.youtubeIframeMap['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'] = {
5438                'playlist': currentPlaylist,
5439                'settings': currentSettings,
5440            };
5441        }
5442
5443        //check if single video & no metadata
5444        if ((currentPlaylist.length === 1 || !currentSettings.showPlaylist) &&
5445            !currentSettings.showTitle &&
5446            !currentSettings.showContentChannel &&
5447            !currentSettings.showDescription &&
5448            !currentSettings.showAdditionalMediaManagerInfo){
5449            $('#video-component_' + 'fe1b5220-a0f0-11ea-93bb-b93edb1cf13c').css({border: 'none'});
5450        }
5451
5452        // This code loads the IFrame Player API code asynchronously.
5453        var scriptTag = document.getElementById("youtube_iframe_api");
5454        if(!scriptTag) {
5455            scriptTag = document.createElement('script');
5456            scriptTag.src = "https://www.youtube.com/iframe_api";
5457            scriptTag.id = "youtube_iframe_api";
5458            var firstScriptTag = document.getElementsByTagName('script')[0];
5459            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);
5460        }
5461    })
5462
5463    // This function creates an <iframe> (and YouTube player) after the API code downloads.
5464    function onYouTubeIframeAPIReady() {
5465        for (var componentId in window.youtubeIframeMap) {
5466             var currentPlaylist = window.youtubeIframeMap[componentId]['playlist'];
5467             var currentSettings = window.youtubeIframeMap[componentId]['settings'];
5468             loadYoutubeVideo(componentId, 0, currentPlaylist, currentSettings);
5469        }
5470    }
5471
5472    function loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings) {
5473        var player, playerVars;
5474        var videoComponent = '#video-component_' + componentId;
5475        var youtubeWrapper = document.createElement('div');
5476        youtubeWrapper.id = 'youtube-wrapper_' + componentId;
5477        youtubeWrapper.className = 'youtube-wrapper video-container';
5478
5479        $('#video-container_' + componentId).remove();
5480        $('#youtube-wrapper_' + componentId).remove();
5481        var videoContainerEl = document.createElement('div');
5482        videoContainerEl.id = 'video-container_' + componentId;
5483
5484        $(videoComponent + ' .video-container__wrapper').prepend(youtubeWrapper);
5485
5486        $(videoComponent + ' .youtube-wrapper').prepend(videoContainerEl);
5487
5488        playerVars = Object.assign({},
5489            { cc_load_policy: 1 },
5490            (currentPlaylist[index].rel === false) && { rel: 0 },
5491            (currentPlaylist[index].controls === false) && { controls: 0 },
5492            (currentPlaylist[index].fs === false) && { fs: 0 },
5493            (currentPlaylist[index].autoplay === true) && { autoplay: 1 },
5494            (currentPlaylist[index].start > 0) && { start: currentPlaylist[index].start },
5495            (currentPlaylist[index].end > 0  && currentPlaylist[index].start < currentPlaylist[index].end) && { end: currentPlaylist[index].end }
5496        );
5497
5498        player = new YT.Player('video-container_' + componentId, {
5499            videoId: currentPlaylist[index].videoId,
5500            playerVars
5501        });
5502
5503        currentSettings.showTitle &&
5504            $(videoComponent + ' .title').html(currentPlaylist[index].title);
5505
5506        currentSettings.showContentChannel &&
5507            $(videoComponent + ' .channel').html(currentPlaylist[index].channel);
5508
5509        currentSettings.showDescription &&
5510            $(videoComponent + ' .description').html(currentPlaylist[index].description);
5511
5512        $(videoComponent + ' .additional-mm-info').remove();
5513    }
5514</script>
vendor: 1 bytes, line 5514
5514
5515<script>
5516    
5517        var playlistJson = [
5518    {
5519        "id": "4caaf37c-b396-4edb-b563-8f23752a9a87",
5520        "img": {
5521            "url": "https://image.pbs.org/video-assets/4cbaxDP-asset-mezzanine-16x9-oG5RXFS.png",
5522            "isDefault": false
5523        },
5524        "url": "http://pbs.org/video/evas-garden-phrapl/",
5525        "title": "Eva Kor Peace Garden",
5526        "rating": "",
5527        "channel": "Eva A-7063",
5528        "expires": "",
5529        "runtime": "1:11",
5530        "videoId": "evas-garden-phrapl",
5531        "published": "2019/02/25",
5532        "description": "Students from across Indianapolis helped plant a peace garden in honor of Eva Mozes Kor.",
5533        "videoSource": "cove",
5534        "partnerPlayerUrl": "SoqHDWZCPdaxBgNOq4Ub9A==",
5535        "titlePlaceholder": "Title",
5536        "channelPlaceholder": "Content channel",
5537        "descriptionPlaceholder": "Description"
5538    }
5539];
5540        var settingsJson = {
5541    "showTitle": true,
5542    "showPlaylist": false,
5543    "playlistHeight": 4,
5544    "showDescription": false,
5545    "showContentChannel": false,
5546    "showAdditionalMediaManagerInfo": false
5547}
5548    
5549
5550
5551    function updatePlaylistHeaderTabindex(componentId) {
5552        var playlistHeader = document.getElementById('playlist-header_' + componentId);
5553        if (!playlistHeader) return;
5554        var caret = playlistHeader.querySelector('.dropdown-caret');
5555        if (window.innerWidth > 1023) {
5556            // On desktop with one-column layout, playlist header is not interactive
5557            if (caret && window.getComputedStyle(caret).display === 'none') {
5558                playlistHeader.disabled = true;
5559                playlistHeader.setAttribute('aria-disabled', 'true');
5560                playlistHeader.setAttribute('tabindex', '-1');
5561            } else {
5562                playlistHeader.disabled = false;
5563                playlistHeader.removeAttribute('aria-disabled');
5564                playlistHeader.setAttribute('tabindex', '0');
5565            }
5566        } else {
5567            playlistHeader.disabled = false;
5568            playlistHeader.removeAttribute('aria-disabled');
5569            playlistHeader.setAttribute('tabindex', '0');
5570        }
5571    }
5572    $(window).on('load', function(){
5573        resizePlaylist('fe1b5220-a0f0-11ea-93bb-b93edb1cf13c');
5574        updatePlaylistHeaderTabindex('fe1b5220-a0f0-11ea-93bb-b93edb1cf13c');
5575    });
5576    $(window).resize(function(){
5577        resizePlaylist('fe1b5220-a0f0-11ea-93bb-b93edb1cf13c');
5578        updatePlaylistHeaderTabindex('fe1b5220-a0f0-11ea-93bb-b93edb1cf13c');
5579    });
5580
5581    if (typeof window.playlistMapping === 'undefined') {
5582        window.playlistMapping = {};
5583    }
5584
5585    if (typeof window.settingsMapping === 'undefined') {
5586        window.settingsMapping = {};
5587    }
5588    window.playlistMapping['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'] = playlistJson;
5589    window.settingsMapping['fe1b5220-a0f0-11ea-93bb-b93edb1cf13c'] = settingsJson;
5590
5591    function resizePlaylist(componentId) {
5592        const videoComponent = $('#video-component_' + componentId);
5593        const playlistWrapper = videoComponent.find('.playlist__wrapper');
5594        const playlistBody = playlistWrapper.find('.playlist-body');
5595        const isSmallPlaylist = playlistWrapper.hasClass('playlist-sm');
5596        const isLargeWindow =  $(window).width() >= 1024;
5597        const isOneColWithPlaylist = videoComponent.hasClass('column-12');
5598        if (isOneColWithPlaylist) {
5599            if(isLargeWindow) {
5600                const mainVideoHeight = videoComponent.find('.video-container').outerHeight() +
5601                        videoComponent.find('.video-info').outerHeight() +
5602                        (videoComponent.find('.video-cta-container').outerHeight(true) || 0);
5603                const playlistHeaderHeight = $('#playlist-header_' + componentId).outerHeight();
5604
5605                playlistWrapper.css('height', mainVideoHeight + 'px');
5606                playlistBody.css('max-height', (mainVideoHeight - playlistHeaderHeight) + 'px');
5607            }
5608            else {
5609                playlistWrapper.css('height', 'auto');
5610                playlistBody.css('max-height', '400px');
5611            }
5612        }
5613        if(isSmallPlaylist){
5614            const playlistItemImgWrapper = playlistWrapper.find('.playlist-item-img-wrapper');
5615            const playlistItemInfo = playlistWrapper.find('.playlist-item-info');
5616            if(!isLargeWindow) {
5617                $(playlistItemImgWrapper).removeClass('span6');
5618                $(playlistItemInfo).removeClass('span6');
5619                $(playlistItemImgWrapper).addClass('span4');
5620                $(playlistItemInfo).addClass('span8');
5621            }
5622            else {
5623                $(playlistItemImgWrapper).removeClass('span4');
5624                $(playlistItemInfo).removeClass('span8');
5625                $(playlistItemImgWrapper).addClass('span6');
5626                $(playlistItemInfo).addClass('span6');
5627            }
5628        }
5629
5630    }
5631
5632    function selectPlaylistItem(componentId, index, videoSource) {
5633        var currentPlaylist = playlistMapping[componentId];
5634        var currentSettings = settingsMapping[componentId];
5635        switch(videoSource) {
5636            case 'cove':
5637                loadMMVideo(componentId, index, currentPlaylist, currentSettings);
5638                break;
5639            case 'youtube':
5640                loadYoutubeVideo(componentId, index, currentPlaylist, currentSettings);
5641                break;
5642            default:
5643                loadDefault(componentId, index, currentPlaylist, currentSettings);
5644                break;
5645        }
5646
5647    }
5648
5649    function loadDefault(componentId, index, currentPlaylist, currentSettings) {
5650        var youtubeWrapper = '#youtube-wrapper_' + componentId;
5651        var videoContainer = '#video-container_' + componentId;
5652        var videoComponent = '#video-component_' + componentId;
5653
5654        $(youtubeWrapper).remove();
5655        $(videoContainer).remove();
5656
5657        var videoContainerEl = document.createElement('div');
5658        videoContainerEl.id = 'video-container_' + componentId;
5659        videoContainerEl.className = 'video-container';
5660        $(videoComponent + ' .video-container__wrapper').prepend(vi
5660deoContainerEl);
5661
5662        var defaultImg = document.createElement('img');
5663        defaultImg.alt = currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder;
5664        defaultImg.src = currentPlaylist[index].img.url;
5665        $(videoContainerEl).prepend(defaultImg);
5666
5667        currentSettings.showTitle &&
5668            $(videoComponent + ' .title').html(currentPlaylist[index].title||currentPlaylist[index].titlePlaceholder);
5669
5670        currentSettings.showContentChannel &&
5671            $(videoComponent + ' .channel').html(currentPlaylist[index].channel||currentPlaylist[index].channelPlaceholder);
5672
5673        currentSettings.showDescription &&
5674            $(videoComponent + ' .description').html(currentPlaylist[index].description||currentPlaylist[index].descriptionPlaceholder);
5675
5676        $(videoComponent + ' .additional-mm-info').remove();
5677    }
5678
5679    function showCurrentIndex(index, componentId) {
5680        var itemsCount = $('#playlist-items-count_' + componentId);
5681        var currentItem = itemsCount.children('span');
5682        currentItem.text(index + '/');
5683    }
5684
5685    function togglePlaylist(componentId) {
5686        var playlistHeader = $('#playlist-header_' + componentId);
5687        // Do not toggle if the header is disabled
5688        if (playlistHeader.prop('disabled')) return;
5689        var caret = playlistHeader.find('.dropdown-caret');
5690        // Only toggle if the caret is visible (not just present in DOM)
5691        if (caret.length && caret.is(':visible')) {
5692            var playlistBody = $('#playlist-body_' + componentId);
5693            playlistBody.css('overflow', 'auto');
5694            playlistBody.slideToggle('slow', function(){ playlistBody.css('overflow','auto') });
5695            playlistHeader.find('i').toggleClass('fa-caret-up fa-caret-down');
5696            // Toggle aria-expanded for accessibility
5697            var isExpanded = playlistHeader.attr('aria-expanded') === 'true';
5698            playlistHeader.attr('aria-expanded', !isExpanded);
5699        }
5700    }
5701
5702</script>
5702
5703
5704
5705</body>
5706</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.