PageSourceSearch

https://sullivan-uneligneimaginaire.ca/capsules/

html sullivan-uneligneimaginaire.ca collected 2026-10-08 01:45:57 UTC 87,859 bytes, 1,414 lines download raw bytes

1<!DOCTYPE html>
2<html lang="fr-CA">
3<head>
4	<meta charset="UTF-8" />
5	
6	<meta name="HandheldFriendly" content="True">
7	<meta name="MobileOptimized" content="320">
8	<meta name="viewport" content="width=device-width" />
9	<meta name="format-detection" content="telephone=no">
10
11	<title>Vidéos | Françoise Sullivan</title>
12	<link rel="profile" href="http://gmpg.org/xfn/11" />
13	
14		<meta name='robots' content='max-image-preview:large' />
15<link rel="alternate" href="https://sullivan-uneligneimaginaire.ca/capsules/" hreflang="fr" />
16<link rel="alternate" href="https://sullivan-uneligneimaginaire.ca/en/capsules/" hreflang="en" />
17<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://sullivan-uneligneimaginaire.ca/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsullivan-uneligneimaginaire.ca%2Fcapsules%2F" />
18<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://sullivan-uneligneimaginaire.ca/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsullivan-uneligneimaginaire.ca%2Fcapsules%2F&#038;format=xml" />
19<style id="wp-img-auto-sizes-contain-inline-css">
20img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
21/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
22</style>
23<style id="wp-emoji-styles-inline-css">
24
25	img.wp-smiley, img.emoji {
26		display: inline !important;
27		border: none !important;
28		box-shadow: none !important;
29		height: 1em !important;
30		width: 1em !important;
31		margin: 0 0.07em !important;
32		vertical-align: -0.1em !important;
33		background: none !important;
34		padding: 0 !important;
35	}
36/*# sourceURL=wp-emoji-styles-inline-css */
37</style>
38<style id="wp-block-library-inline-css">
39:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
39--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
40/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
41</style>
42<style id="classic-theme-styles-inline-css">
43/*! This file is auto-generated */
44.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
45/*# sourceURL=/wp-includes/css/classic-themes.min.css */
46</style>
47<style id="wp-block-styles-placeholder-inline-css">
48:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the block styles printed at wp_footer." }
49/*# sourceURL=wp-block-styles-placeholder-inline-css */
50</style>
51<style id="wp-global-styles-placeholder-inline-css">
52:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the global-styles printed at wp_footer." }
53/*# sourceURL=wp-global-styles-placeholder-inline-css */
54</style>
55<link rel='stylesheet' id='style-css-css' href='https://sullivan-uneligneimaginaire.ca/wp-content/themes/francoise-sullivan/style.css?ver=1.4.13' media='all' />
56<script id="theme_strings-js-after">
57var theme_strings = {
58    "close": "Fermer"
59};
60//# sourceURL=theme_strings-js-after
61</script>
vendor: 1 bytes, line 61
61
62<script id="theme_settings-js-after">
63var theme_settings = {
64    "version": "1.4.13",
65    "is_wp": true,
66    "is_dev": false,
67    "is_debug": false,
68    "is_logged_in": false,
69    "url": "https:\/\/sullivan-uneligneimaginaire.ca\/capsules",
70    "home_url": "https:\/\/sullivan-uneligneimaginaire.ca",
71    "page_title": "Vidéos",
72    "images": "https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/themes\/francoise-sullivan\/assets\/images\/",
73    "scripts": "https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/themes\/francoise-sullivan\/assets\/js\/dist\/",
74    "styles": "https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/themes\/francoise-sullivan\/",
75    "cookie_prefix": "francoise-sullivan_"
76};
77//# sourceURL=theme_settings-js-after
78</script>
vendor: 1 bytes, line 78
78
79<script id="app-js-js" defer src="https://sullivan-uneligneimaginaire.ca/wp-content/themes/francoise-sullivan/assets/js/dist/app.js?ver=1.4.13"></script>
79
80<link rel="https://api.w.org/" href="https://sullivan-uneligneimaginaire.ca/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://sullivan-uneligneimaginaire.ca/wp-json/wp/v2/pages/50" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://sullivan-uneligneimaginaire.ca/xmlrpc.php?rsd" />
81<meta name="generator" content="WordPress 7.1.3" />
82<link rel="canonical" href="https://sullivan-uneligneimaginaire.ca/capsules/" />
83<link rel='shortlink' href='https://sullivan-uneligneimaginaire.ca/?p=50' />
84		<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 66 bytes, lines 84-85
84
85		<script async src="https://www.googletagmanager.com/gtag/js?id=
85G-RDJ21EFQ4P
vendor: 14 bytes, lines 85-86
85"></script>
86		
86<script>
87			
vendor: 139 bytes, lines 87-90
87window.dataLayer = window.dataLayer || [];
88			function gtag(){dataLayer.push(arguments);}
89			gtag('js', new Date());
90						gtag('config', '
90G-RDJ21EFQ4P
vendor: 9 bytes, lines 90-91
90');
91					
91</script>
91
92			<meta property="og:title" content="Vid&eacute;os | Fran&ccedil;oise Sullivan">
93	<meta name="twitter:title" content="Vid&eacute;os | Fran&ccedil;oise Sullivan">
94	<meta name="description" content="L&rsquo;exposition virtuelle Une ligne imaginaire s&rsquo;int&eacute;resse aux &oelig;uvres r&eacute;alis&eacute;es par Fran&ccedil;oise Sullivan pendant les ann&eacute;es 1970, alors qu&rsquo;elle d&eacute;couvre de nouveaux courants artistiques comme l&rsquo;art conceptuel et l&rsquo;arte povera.  ">
95	<meta name="twitter:description" content="L&rsquo;exposition virtuelle Une ligne imaginaire s&rsquo;int&eacute;resse aux &oelig;uvres r&eacute;alis&eacute;es par Fran&ccedil;oise Sullivan pendant les ann&eacute;es 1970, alors qu&rsquo;elle d&eacute;couvre de nouveaux courants artistiques comme l&rsquo;art conceptuel et l&rsquo;arte povera.  ">
96	<meta property="og:description" content="L&rsquo;exposition virtuelle Une ligne imaginaire s&rsquo;int&eacute;resse aux &oelig;uvres r&eacute;alis&eacute;es par Fran&ccedil;oise Sullivan pendant les ann&eacute;es 1970, alors qu&rsquo;elle d&eacute;couvre de nouveaux courants artistiques comme l&rsquo;art conceptuel et l&rsquo;arte povera.  ">
97	<meta property="og:url" content="https://sullivan-uneligneimaginaire.ca/capsules">
98	<meta property="og:type" content="website">
99	<meta property="og:image" content="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/04/FS-Shareable-April2023-1600x900c50x50-0q.jpg?ver=1.4.13">
100	<meta property="og:image:type" content="image/jpeg">
101	<meta property="og:image:width" content="1600">
102	<meta property="og:image:height" content="900">
103	<meta name="twitter:card" content="summary_large_image">
104	<meta property="twitter:image" content="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/04/FS-Shareable-April2023-1600x900c50x50-0q.jpg?ver=1.4.13">
105	<meta property="twitter:image:src" content="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/04/FS-Shareable-April2023-1600x900c50x50-0q.jpg?ver=1.4.13">
106	<meta property="twitter:image:width" content="1600">
107	<meta property="twitter:image:height" content="900">    
107<script id="website-element-fallback">
108        var Web = Web || {};
109        var X   = Web.Element = Web.Element || function (){ Web.x=Web.x||[]; Web.x.push(arguments); };
110    </script>
110
111    <link rel="icon" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/01/FS_Favicon_2023-1-150x150.png" sizes="32x32" />
112<link rel="icon" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/01/FS_Favicon_2023-1-300x300.png" sizes="192x192" />
113<link rel="apple-touch-icon" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/01/FS_Favicon_2023-1-300x300.png" />
114<meta name="msapplication-TileImage" content="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/01/FS_Favicon_2023-1-300x300.png" />
115</head>
116
117<body class="wp-singular wp-theme-francoise-sullivan is-env-live page page-basic">
118	<div class="site">
119		<div>
120			<header class="site-head"><div class="site-head--left alt-links when-desktop">
121    <div class="menu-left-fr-container"><ul id="menu-left-fr" class="menu" unstyled><li id="menu-item-58" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-58"><a href="https://sullivan-uneligneimaginaire.ca/chronologie/"><span>Chronologie</span></a></li>
122<li id="menu-item-59" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-59"><a href="https://sullivan-uneligneimaginaire.ca/themes/"><span>Thèmes</span></a></li>
123</ul></div></div>
124<div class="site-head--center site-head--title alt-links">
125    <h1>
126        <span class="when-desktop"><a href="https://sullivan-uneligneimaginaire.ca/" class="home-link">Françoise Sullivan<br>Une ligne imaginaire</a></span>
127        <span class="when-mobile">Vidéos</span>
128    </h1>
129
130    </div>
131<div class="site-head--right alt-links">
132    <div class="site-head--right-content when-desktop">
133        <div class="menu-right-fr-container"><ul id="menu-right-fr" class="menu" unstyled><li id="menu-item-60" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-60"><a href="https://sullivan-uneligneimaginaire.ca/information/"><span>Information</span></a></li>
134<li id="menu-item-61" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-50 current_page_item menu-item-61"><a href="https://sullivan-uneligneimaginaire.ca/capsules/" aria-current="page"><span>Vidéos</span></a></li>
135</ul></div>
136        <nav class="languages"><ul unstyled class="languages--list">	<li class="languages--item"><a href="https://sullivan-uneligneimaginaire.ca/en/capsules/" class="languages--link">En</a></li></ul></nav>    
137    </div>
138    <div class="when-mobile">
139        <button unstyled open="menu">Menu</button>
140    </div>
141</div></header>
142			<nav hidden is="container/overlay" data-alias="site-menu" data-animation="fade" data-duration="100" data-toggle-selector="[open=&quot;menu&quot;]" class="alt-links site-menu"><h2 element="insideTop"><a href="https://sullivan-uneligneimaginaire.ca/" class="home-link">Françoise Sullivan<br>Une ligne imaginaire</a></h2>
143
144<ul id="menu-mobile" class="menu" unstyled><li id="menu-item-236" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-236"><a href="https://sullivan-uneligneimaginaire.ca/"><span>Accueil</span></a></li>
145<li id="menu-item-237" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-237"><a href="https://sullivan-uneligneimaginaire.ca/chronologie/"><span>Chronologie</span></a></li>
146<li id="menu-item-238" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-238"><a href="https://sullivan-uneligneimaginaire.ca/themes/"><span>Thèmes</span></a></li>
147<li id="menu-item-239" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-239"><a href="https://sullivan-uneligneimaginaire.ca/information/"><span>Information</span></a></li>
148<li id="menu-item-240" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-50 current_page_item menu-item-240"><a href="https://sullivan-uneligneimaginaire.ca/capsules/" aria-current="page"><span>Vidéos</span></a></li>
149</ul><nav class="languages"><ul unstyled class="languages--list">	<li class="languages--item"><a href="https://sullivan-uneligneimaginaire.ca/en/capsules/" class="languages--link">En</a></li></ul></nav></nav>
150		</div>
151
152		<main class="site-main" rich>
153
154    <div class="block block-video-group"><h2 class="block-video-group--heading">Vidéos d&rsquo;expert·e·s</h2>
155<div class="block-video-group--content">
156            <a id="video0" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/louise-dery-clip-3-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-3-vf-stf.mp4" class="image is-landscape image--link"><figure role="none" class="image--figure">
157<div class="image--wrap"><img decoding="async" alt="FS-ExpertVids-1" width="1200" height="800" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-1.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
158<figcaption class="image--caption">Louise Déry &#8211; Archives et œuvres</figcaption>
159</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video0" class="item-video"><h2 element="insideTop">Louise Déry &#8211; Archives et œuvres</h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
160<div class="media-player--wrap media-player--inner" style="position:relative;">
161<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
162<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-3-vf-stf.mp4"></video></div>
163<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
163ail is-background is-landscape media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-1.jpg?ver=1.4.13&#039;);"></div>
164</div>
165<button class="media-player--icon" type="button" name="toggle-play" unstyled>
166            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_0" class="image is-square image--source image--media img"><title id="svg_title_0">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
167        <div class="media-player--controls">
168            <div class="media-player--controls-top">
169                <div class="media-player--controls-left">
170                    <button unstyled name="toggle-play">
171                        <span class="when-paused">Jouer</span>
172                        <span class="when-playing" hidden>Pause</span>
173                    </button>
174                    <div class="time">
175                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
176                    </div>
177                </div>
178
179                <div class="media-player--controls-right">
180                    <button unstyled name="toggle-mute">
181                        <span class="when-unmuted">Muet</span>
182                        <span class="when-muted" hidden>Rétablir le son</span>
183                    </button>
184                    <button unstyled name="toggle-fullscreen">
185                        <span class="when-isnt-fullscreen">Plein écran</span>
186                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
187                    </button>
188                </div>
189            </div>
190            <div x-el="progress" class="media-player--controls-progress">
191                <span></span>
192            </div>
193        </div>
194</div></figure></div>
195            <a id="video1" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/louise-dery-clip-4-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-4-vf-stf.mp4" class="image is-portrait image--link"><figure role="none" class="image--figure">
196<div class="image--wrap"><img decoding="async" alt="2017_Sullivan_publication_couverture-550x704-1" width="550" height="704" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/2017_Sullivan_publication_couverture-550x704-1.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
197<figcaption class="image--caption">Louise Déry &#8211; L&rsquo;importance de Françoise Sullivan dans l&rsquo;histoire </figcaption>
198</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video1" class="item-video"><h2 element="insideTop">Louise Déry &#8211; L&rsquo;importance de Françoise Sullivan dans l&rsquo;histoire </h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
199<div class="media-player--wrap media-player--inner" style="position:relative;">
200<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
201<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-4-vf-stf.mp4"></video></div>
202<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
202ail is-background is-portrait media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/2017_Sullivan_publication_couverture-550x704-1.jpg?ver=1.4.13&#039;);"></div>
203</div>
204<button class="media-player--icon" type="button" name="toggle-play" unstyled>
205            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_1" class="image is-square image--source image--media img"><title id="svg_title_1">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
206        <div class="media-player--controls">
207            <div class="media-player--controls-top">
208                <div class="media-player--controls-left">
209                    <button unstyled name="toggle-play">
210                        <span class="when-paused">Jouer</span>
211                        <span class="when-playing" hidden>Pause</span>
212                    </button>
213                    <div class="time">
214                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
215                    </div>
216                </div>
217
218                <div class="media-player--controls-right">
219                    <button unstyled name="toggle-mute">
220                        <span class="when-unmuted">Muet</span>
221                        <span class="when-muted" hidden>Rétablir le son</span>
222                    </button>
223                    <button unstyled name="toggle-fullscreen">
224                        <span class="when-isnt-fullscreen">Plein écran</span>
225                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
226                    </button>
227                </div>
228            </div>
229            <div x-el="progress" class="media-player--controls-progress">
230                <span></span>
231            </div>
232        </div>
233</div></figure></div>
234            <a id="video2" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/louise-dery-clip-2-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-2-vf-stf.mp4" class="image is-landscape image--link"><figure role="none" class="image--figure">
235<div class="image--wrap"><img decoding="async" alt="FS-ExpertVids-3" width="1200" height="800" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-3.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
236<figcaption class="image--caption">Louise Déry &#8211; Les années 1970, l&rsquo;art conceptuel et l&rsquo;Italie</figcaption>
237</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video2" class="item-video"><h2 element="insideTop">Louise Déry &#8211; Les années 1970, l&rsquo;art conceptuel et l&rsquo;Italie</h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
238<div class="media-player--wrap media-player--inner" style="position:relative;">
239<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
240<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-2-vf-stf.mp4"></video></div>
241<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
241ail is-background is-landscape media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-3.jpg?ver=1.4.13&#039;);"></div>
242</div>
243<button class="media-player--icon" type="button" name="toggle-play" unstyled>
244            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_2" class="image is-square image--source image--media img"><title id="svg_title_2">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
245        <div class="media-player--controls">
246            <div class="media-player--controls-top">
247                <div class="media-player--controls-left">
248                    <button unstyled name="toggle-play">
249                        <span class="when-paused">Jouer</span>
250                        <span class="when-playing" hidden>Pause</span>
251                    </button>
252                    <div class="time">
253                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
254                    </div>
255                </div>
256
257                <div class="media-player--controls-right">
258                    <button unstyled name="toggle-mute">
259                        <span class="when-unmuted">Muet</span>
260                        <span class="when-muted" hidden>Rétablir le son</span>
261                    </button>
262                    <button unstyled name="toggle-fullscreen">
263                        <span class="when-isnt-fullscreen">Plein écran</span>
264                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
265                    </button>
266                </div>
267            </div>
268            <div x-el="progress" class="media-player--controls-progress">
269                <span></span>
270            </div>
271        </div>
272</div></figure></div>
273            <a id="video3" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/louise-dery-clip-1-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-1-vf-stf.mp4" class="image is-landscape image--link"><figure role="none" class="image--figure">
274<div class="image--wrap"><img decoding="async" alt="FS-ExpertVids-4" width="1200" height="800" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-4.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
275<figcaption class="image--caption">Louise Déry &#8211; Les enjeux de la recherche </figcaption>
276</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video3" class="item-video"><h2 element="insideTop">Louise Déry &#8211; Les enjeux de la recherche </h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
277<div class="media-player--wrap media-player--inner" style="position:relative;">
278<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
279<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/louise-dery-clip-1-vf-stf.mp4"></video></div>
280<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
280ail is-background is-landscape media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-4.jpg?ver=1.4.13&#039;);"></div>
281</div>
282<button class="media-player--icon" type="button" name="toggle-play" unstyled>
283            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_3" class="image is-square image--source image--media img"><title id="svg_title_3">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
284        <div class="media-player--controls">
285            <div class="media-player--controls-top">
286                <div class="media-player--controls-left">
287                    <button unstyled name="toggle-play">
288                        <span class="when-paused">Jouer</span>
289                        <span class="when-playing" hidden>Pause</span>
290                    </button>
291                    <div class="time">
292                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
293                    </div>
294                </div>
295
296                <div class="media-player--controls-right">
297                    <button unstyled name="toggle-mute">
298                        <span class="when-unmuted">Muet</span>
299                        <span class="when-muted" hidden>Rétablir le son</span>
300                    </button>
301                    <button unstyled name="toggle-fullscreen">
302                        <span class="when-isnt-fullscreen">Plein écran</span>
303                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
304                    </button>
305                </div>
306            </div>
307            <div x-el="progress" class="media-player--controls-progress">
308                <span></span>
309            </div>
310        </div>
311</div></figure></div>
312            <a id="video4" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/didier-morelli-clip-2-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/didier-morelli-clip-2-vf-stf.mp4" class="image is-landscape image--link"><figure role="none" class="image--figure">
313<div class="image--wrap"><img decoding="async" alt="FS-ExpertVids-5" width="1200" height="800" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-5.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
314<figcaption class="image--caption">Didier Morelli &#8211; Documenter le geste performatif </figcaption>
315</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video4" class="item-video"><h2 element="insideTop">Didier Morelli &#8211; Documenter le geste performatif </h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
316<div class="media-player--wrap media-player--inner" style="position:relative;">
317<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
318<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/didier-morelli-clip-2-vf-stf.mp4"></video></div>
319<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
319ail is-background is-landscape media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-5.jpg?ver=1.4.13&#039;);"></div>
320</div>
321<button class="media-player--icon" type="button" name="toggle-play" unstyled>
322            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_4" class="image is-square image--source image--media img"><title id="svg_title_4">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
323        <div class="media-player--controls">
324            <div class="media-player--controls-top">
325                <div class="media-player--controls-left">
326                    <button unstyled name="toggle-play">
327                        <span class="when-paused">Jouer</span>
328                        <span class="when-playing" hidden>Pause</span>
329                    </button>
330                    <div class="time">
331                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
332                    </div>
333                </div>
334
335                <div class="media-player--controls-right">
336                    <button unstyled name="toggle-mute">
337                        <span class="when-unmuted">Muet</span>
338                        <span class="when-muted" hidden>Rétablir le son</span>
339                    </button>
340                    <button unstyled name="toggle-fullscreen">
341                        <span class="when-isnt-fullscreen">Plein écran</span>
342                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
343                    </button>
344                </div>
345            </div>
346            <div x-el="progress" class="media-player--controls-progress">
347                <span></span>
348            </div>
349        </div>
350</div></figure></div>
351            <a id="video5" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/didier-morelli-clip-1-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/didier-morelli-clip-1-vf-stf.mp4" class="image is-landscape image--link"><figure role="none" class="image--figure">
352<div class="image--wrap"><img decoding="async" alt="FS-ExpertVids-6" width="1200" height="800" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-6.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
353<figcaption class="image--caption">Didier Morelli &#8211; Une pratique interdisciplinaire </figcaption>
354</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video5" class="item-video"><h2 element="insideTop">Didier Morelli &#8211; Une pratique interdisciplinaire </h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
355<div class="media-player--wrap media-player--inner" style="position:relative;">
356<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
357<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/didier-morelli-clip-1-vf-stf.mp4"></video></div>
358<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
358ail is-background is-landscape media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-6.jpg?ver=1.4.13&#039;);"></div>
359</div>
360<button class="media-player--icon" type="button" name="toggle-play" unstyled>
361            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_5" class="image is-square image--source image--media img"><title id="svg_title_5">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
362        <div class="media-player--controls">
363            <div class="media-player--controls-top">
364                <div class="media-player--controls-left">
365                    <button unstyled name="toggle-play">
366                        <span class="when-paused">Jouer</span>
367                        <span class="when-playing" hidden>Pause</span>
368                    </button>
369                    <div class="time">
370                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
371                    </div>
372                </div>
373
374                <div class="media-player--controls-right">
375                    <button unstyled name="toggle-mute">
376                        <span class="when-unmuted">Muet</span>
377                        <span class="when-muted" hidden>Rétablir le son</span>
378                    </button>
379                    <button unstyled name="toggle-fullscreen">
380                        <span class="when-isnt-fullscreen">Plein écran</span>
381                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
382                    </button>
383                </div>
384            </div>
385            <div x-el="progress" class="media-player--controls-progress">
386                <span></span>
387            </div>
388        </div>
389</div></figure></div>
390            <a id="video6" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/claude-gosselin-clip-2-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/claude-gosselin-clip-2-vf-stf.mp4" class="image is-landscape image--link"><figure role="none" class="image--figure">
391<div class="image--wrap"><img decoding="async" alt="FS-ExpertVids-7" width="1200" height="800" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-7.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
392<figcaption class="image--caption">Claude Gosselin &#8211; Le processus créatif </figcaption>
393</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video6" class="item-video"><h2 element="insideTop">Claude Gosselin &#8211; Le processus créatif </h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
394<div class="media-player--wrap media-player--inner" style="position:relative;">
395<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
396<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/claude-gosselin-clip-2-vf-stf.mp4"></video></div>
397<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
397ail is-background is-landscape media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-7.jpg?ver=1.4.13&#039;);"></div>
398</div>
399<button class="media-player--icon" type="button" name="toggle-play" unstyled>
400            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_6" class="image is-square image--source image--media img"><title id="svg_title_6">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
401        <div class="media-player--controls">
402            <div class="media-player--controls-top">
403                <div class="media-player--controls-left">
404                    <button unstyled name="toggle-play">
405                        <span class="when-paused">Jouer</span>
406                        <span class="when-playing" hidden>Pause</span>
407                    </button>
408                    <div class="time">
409                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
410                    </div>
411                </div>
412
413                <div class="media-player--controls-right">
414                    <button unstyled name="toggle-mute">
415                        <span class="when-unmuted">Muet</span>
416                        <span class="when-muted" hidden>Rétablir le son</span>
417                    </button>
418                    <button unstyled name="toggle-fullscreen">
419                        <span class="when-isnt-fullscreen">Plein écran</span>
420                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
421                    </button>
422                </div>
423            </div>
424            <div x-el="progress" class="media-player--controls-progress">
425                <span></span>
426            </div>
427        </div>
428</div></figure></div>
429            <a id="video7" track="{&quot;action&quot;:&quot;zoom-media&quot;,&quot;category&quot;:&quot;Page: Vid\u00e9os&quot;,&quot;label&quot;:&quot;https:\/\/sullivan-uneligneimaginaire.ca\/wp-content\/uploads\/2023\/03\/claude-gosselin-clip-1-vf-stf.mp4&quot;}" href="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/claude-gosselin-clip-1-vf-stf.mp4" class="image is-landscape image--link"><figure role="none" class="image--figure">
430<div class="image--wrap"><img decoding="async" alt="FS-ExpertVids-8" width="1200" height="800" loading="lazy" lazy src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-8.jpg?ver=1.4.13" onload="this.removeAttribute(&quot;lazy&quot;)" class="image--source image--media img" /></div>
431<figcaption class="image--caption">Claude Gosselin &#8211; La rétrospective de 1981 </figcaption>
432</figure></a><div hidden is="container/overlay.video" data-root="body" data-animation="fade" data-open-selector="#video7" class="item-video"><h2 element="insideTop">Claude Gosselin &#8211; La rétrospective de 1981 </h2><figure x="media-player" role="none" data-type="video" data-thumbnail="true" data-provider="native" data-single="true" data-autofocus="false" data-autoplay="false" data-loop="false" data-controls="false" data-lazy="true" class="media-player is-responsive is-video"><div class="media-player--outer">
433<div class="media-player--wrap media-player--inner" style="position:relative;">
434<div class="media-player--spacer" style="padding-bottom:var(--media-aspect-ratio, 75%);"></div>
435<div x-el="media" class="media-player--media" style="position:absolute; top:0; left:0; width:100%; height:100%;"><video x-el="player" preload="none" playsinline width="100%" height="100%" src="https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/claude-gosselin-clip-1-vf-stf.mp4"></video></div>
436<div x-el="thumbnail" role="button" tabindex="0" aria-label="Play video" class="media-player--thumbn
436ail is-background is-landscape media-player--thumbnail--source media-player--thumbnail--media img media-player--thumbnail--background" style="background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; background-image:url(&#039;https://sullivan-uneligneimaginaire.ca/wp-content/uploads/2023/03/FS-ExpertVids-8.jpg?ver=1.4.13&#039;);"></div>
437</div>
438<button class="media-player--icon" type="button" name="toggle-play" unstyled>
439            <svg width="98" role="img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 98 98" aria-labelledby="svg_title_7" class="image is-square image--source image--media img"><title id="svg_title_7">play</title><path shape="circle" d="M49.45 96.7999C75.8493 96.7999 97.25 75.3992 97.25 49C97.25 22.6007 75.8493 1.19995 49.45 1.19995C23.0508 1.19995 1.65002 22.6007 1.65002 49C1.65002 75.3992 23.0508 96.7999 49.45 96.7999Z" fill="white" stroke-miterlimit="10"></path> <path shape="triangle" d="M69.85 47.9L40.05 30.7C39.25 30.2 38.25 30.8 38.25 31.8V66.2C38.25 67.1 39.25 67.7 40.05 67.3L69.85 50.1C70.75 49.6 70.75 48.4 69.85 47.9Z" fill="black"></path></svg>        </button>
440        <div class="media-player--controls">
441            <div class="media-player--controls-top">
442                <div class="media-player--controls-left">
443                    <button unstyled name="toggle-play">
444                        <span class="when-paused">Jouer</span>
445                        <span class="when-playing" hidden>Pause</span>
446                    </button>
447                    <div class="time">
448                        <span x-el="time">0:00</span>/<span x-el="duration">0:00</span>
449                    </div>
450                </div>
451
452                <div class="media-player--controls-right">
453                    <button unstyled name="toggle-mute">
454                        <span class="when-unmuted">Muet</span>
455                        <span class="when-muted" hidden>Rétablir le son</span>
456                    </button>
457                    <button unstyled name="toggle-fullscreen">
458                        <span class="when-isnt-fullscreen">Plein écran</span>
459                        <span class="when-is-fullscreen" hidden>Quitter plein écran</span>
460                    </button>
461                </div>
462            </div>
463            <div x-el="progress" class="media-player--controls-progress">
464                <span></span>
465            </div>
466        </div>
467</div></figure></div>
468    </div></div>
469		</main>
470	</div>
471
472	<div is="cursor" hidden>
473		<span cursor="mosaic">Ouvrir</span>
474		<span cursor="zoom-in">Ouvrir</span>
475		<span cursor="zoom-out">Fermer</span>
476	</div>
477
478	
479	<div hidden is="container/overlay" data-alias="site-gdpr" data-open="true" data-hide="fs_gdpr" data-storage="cookie" data-expire="30days" data-position="false" data-action-attr="action" data-hide-selector="[close]" class="site-gdpr"><div class="site-gdpr--message">
480    <p>Le site utilise des cookies</p>
481</div>
482<div class="site-gdpr--actions">
483    <button close unstyled>Accepter</button>    <button action="reject" unstyled>Rejeter</button></div></div>
484<script type="speculationrules">
485{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/francoise-sullivan/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
486</script>
vendor: 1 bytes, line 486
486
487<script>Web.Element(function ImageFocus (utils){
488		// TODO Features for ImageFocus
489		// [ ] add tabindex to the thumbnail, make the video not tab-able, on click on the thumbnail, then be able to tab on the video
490
491		this.$is   = false;
492		this.items = [];
493
494		// private functions -------------------------------------------------------
495		function _val (el, prop, fallback){
496			var v = el.style.getPropertyValue(prop);
497			return v === '' ? (fallback||0) : parseFloat(v);
498		};
499
500		function _calc (imageSize, imageRatio, boxSize, boxRatio){
501			var scale = imageSize / boxSize;
502			// var ratio = ((imageRatio + (0.5 - boxRatio)/scale - 0.5) * scale / (scale - 1)) + 0.5);
503			var ratio = ((imageRatio + (0.5 - boxRatio) - 0.5) + 0.5);
504			return isNaN(ratio) ? '' : ratio * 100 + '%';
505		};
506
507		// init -------------------------------------------------------------------- 
508		this.init = function (){
509			this.cache();
510		};
511
512		this.cache = function (forced){
513			var ctx = this;
514
515			utils.dom.get.all('[focus]', function (el){
516				var type   = el.getAttribute('focus') || 'object';
517				var parent = type === 'background' ? el : el.parentNode;
518
519				var item = {
520					'type'   : type,
521					'node'   : el,
522					'src'	 : type === 'background' ? el.style.backgroundImage : el.getAttribute('src'),
523					'parent' : parent,
524					'focusX' : _val(el, '--focus-x', 0.5),
525					'focusY' : _val(el, '--focus-y', 0.5),
526					'originX': _val(el, '--origin-x', 0.5),
527					'originY': _val(el, '--origin-y', 0.5),
528					'imageW' : _val(el, '--media-width'),
529					'imageH' : _val(el, '--media-height'),
530					'width'  : 0,
531					'height' : 0
532				};
533
534				ctx.items.push(item);
535
536				utils.dom.attrs(el, {
537					'focus' 	: '',
538					'focused' 	: true,
539				});
540			});
541
542			this.render(forced);
543		};
544
545		this.render = function (forced){
546			this.each(this.items, function (item){
547				item.width  = item.parent.clientWidth;
548				item.height = item.parent.clientHeight;
549				item.x      = _calc(item.imageW, item.focusX, item.width, item.originX);
550				item.y      = _calc(item.imageH, item.focusY, item.height, item.originY);
551
552				var ratio 	  = Math.max(item.width / item.imageW, item.height / item.imageH);
553				var cw 		  = (item.imageW * ratio) | 0;
554				var ch 		  = (item.imageH * ratio) | 0;
555				var overflowX = cw > item.width;
556				var overflowY = ch > item.height;
557
558				utils.dom.style(item.node, {
559					'--box-w': item.width,
560					'--box-h': item.height,
561				}, forced);
562
563				utils.dom.classnames(item.node, {
564					'is-overflow-x' : overflowX,
565					'is-overflow-y' : overflowY,
566				});
567
568				if (item.type === 'background'){
569					utils.dom.style(item.node, {
570						'background-position-x': item.x,
571						'background-position-y': item.y,
572					}, forced);
573				}else{
574					utils.dom.style(item.node, {
575						'object-position': item.x + ' ' + item.y,
576					}, forced);
577				}
578			});
579		};
580
581		this.refresh = function (){
582			this.cache(true);
583		};
584
585		// events ------------------------------------------------------------------
586		this.onResize = function (){
587			this.render();
588		};
589
590		this.onLoad = function (){
591			this.render();
592		};
593	});</script>
vendor: 1 bytes, line 593
593
594<script>Web.Element(function MediaPlayer (utils){
595		this.$alias  = 'media-player';
596		this.$style = {
597			'\&'                  						: 'position:relative;',
598			'\&--thumbnail'       						: 'cursor:pointer; background-size:cover; background-position:center; z-index:2; transition:opacity 0.2s;',
599			'\&--media > *'								: 'vertical-align:top;',
600			// responsive ------------------------------------------------------
601			'\&.is-responsive'							: 'width:100%;',
602			'\&.is-responsive \&--media'				: 'position:absolute; top:0; left:0; width:100%; height:100%;',
603			'\&.is-responsive \&--media > *'			: 'width:100%; height:100%;',
604			'\&.is-responsive \&--thumbnail'			: 'position:absolute; top:0; left:0; width:100%; height:100%;',
605			// fullscreen ------------------------------------------------------
606			'\&[fullscreen] \&--outer'					: 'display:flex; flex-direction:column; height:100%;',
607			'\&[fullscreen] \&--inner'					: 'margin-top:auto; margin-bottom:auto; height:100%;',
608			'\&[fullscreen]	\&--media'					: 'height:100%;',
609			// state: controls -------------------------------------------------
610			'\&[status="playing"] .when-paused'			: 'display:none;',
611			'\&:not([status="playing"]) .when-playing'	: 'display:none;',
612			'\&[mute] .when-unmuted'					: 'display:none;',
613			'\&:not([mute]) .when-muted'				: 'display:none;',
614			'\&[fullscreen] .when-isnt-fullscreen'		: 'display:none;',
615			'\&:not([fullscreen]) .when-is-fullscreen'	: 'display:none;',
616			// state -----------------------------------------------------------
617			'\&.has-no-controls'						: 'cursor:pointer;',
618			'\&:not(.has-thumbnail) \&--thumbnail'		: 'opacity:0; pointer-events:none;',
619		};
620
621		// consts --------------------------------------------------------------
622		var CLASSES = {
623			HAS_THUMBNAIL  : 'has-thumbnail',
624			HAS_NO_CONTROLS: 'has-no-controls',
625			IS_LOADING 	   : 'is-loading',
626		};
627		var STATUS = {
628			READY  : 'ready',
629			PLAYING: 'playing',
630			PAUSED : 'paused',
631			ENDED  : 'ended',
632		};
633		var SOURCES = {
634			YOUTUBE: 'youtube',
635			VIMEO  : 'vimeo',
636			NATIVE : 'native',
637		};
638
639		// Proxy ---------------------------------------------------------------
640		var youtube_api   = false;
641		var youtube_queue = [];
642
643		var YoutubePlayer = function (ctx, iframe, ticker){
644			youtube_queue.push(this);
645
646			// variables -------------------------------------------------------
647			var self       = this;
648			var player     = null;
649			var currentSrc = '';
650			var isMounted  = false;
651
652			// init ------------------------------------------------------------
653			this.init = function (){
654				if (window.YT && window.YT.Player){
655					this.mount();
656				}else if (!youtube_api){
657					youtube_api = true;
658					utils.require('//www.youtube.com/iframe_api');
659				}
660			};
661
662			// events ----------------------------------------------------------
663			function onReady (e){
664				player = e.target;
665				// utils.dom.remove(iframe);	// remove the old iframe
666				ctx.ready(true);
667			};
668
669			function onStateChange (e){
670				if (e.data == YT.PlayerState.PLAYING){
671					ticker.start();
672					ctx.status(STATUS.PLAYING);
673				}else if (e.data == YT.PlayerState.PAUSED){
674					ticker.stop();
675					ctx.status(STATUS.PAUSED, 1500); // when seeking, youtube pauses the video
676				}else if (e.data == YT.PlayerState.ENDED){
677					ticker.stop();
678					ctx.status(STATUS.ENDED);
679				}
680			};
681			
682			// methods ---------------------------------------------------------
683			this.mount = function (){
684				// it's been mounted already, iOS tries many times
685				if (isMounted) return;
686				isMounted = true;
687
688				var url = currentSrc = iframe.getAttribute('src') || '';
689				var id  = url.match(/((?:v=([^&?]+))|(?:youtu\.be\/([^&?]+)))|(?:\/embed\/([^\/&?]+))/);
690				var id  = id[4] || id[3] || id[2];
691
692				var wrap = document.createElement('div');
693				utils.dom.add(wrap, 'after', iframe);
694				utils.dom.remove(iframe);
695
696				new YT.Player(wrap, {
697					'videoId'	: id,			
698					'playerVars': {
699						'enablejsapi'    : 1,
700						'showinfo'       : 0,
701						'modestbranding' : 1,
702						'playsinline'    : 1,
703						'mute'           : ctx.data.mute ? 1 : 0,
704						'autoplay'       : ctx.data.autoplay ? 1 : 0,
705						'controls'       : ctx.data.controls ? 1 : 0,
706						'iv_load_policy' : 3,
707						'origin'         : location.origin,
708						'widget_referrer': location.href,
709						'wmode'          : "opaque",
710						'allow'          : 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture',
711					},
712					'events'	: {
713						'onStateChange'	: onStateChange,
714						'onReady' 		: onReady,
715					},
716				});
717			};
718
719			this.play = function (){
720				player.playVideo();
721			};
722
723			this.pause = function (){
724				player.pauseVideo();
725			};
726
727			this.stop = function (){
728				player.stopVideo();
729                player.currentTime = 0;
730			};
731
732			this.seek = function (v){
733				player.seekTo(v);
734			};
735
736			this.mute = function (v){
737				if (v === false) 	player.unMute();
738		        else 				player.mute();
739			};
740
741			this.time = function (){
742				return player.getCurrentTime() || 0;
743			};
744
745			this.duration = function (){
746				return player.getDuration();
747			};
748
749			this.source = function (){
750				return currentSrc;
751			};
752
753			this.init();
754		};
755
756		var VimeoPlayer = function (ctx, iframe, ticker){
757			// variables -------------------------------------------------------
758			var self      = this;
759			var player    = null;
760			var time      = null;
761			var duration  = null;
762			var isMounted = false;
763			var currentSrc= '';
764
765			// init ------------------------------------------------------------
766			this.init = function (){
767				utils.require('//player.vimeo.com/api/player.js', {'ctx':this, 'callback':this.mount});
768			};
769
770			// events ----------------------------------------------------------
771			function onReady (){
772				player.getDuration().then(function (s){
773					duration = s;
774					ctx.ready(true);
775				});
776			};
777			function onPlay (){
778				ticker.start();
779				ctx.status(STATUS.PLAYING);
780			};
781			function onPause (){
782				ticker.stop();
783				ctx.status(STATUS.PAUSED);
784			};
785			function onEnd (){
786				ticker.stop();
787				ctx.status(STATUS.ENDED);
788			};
789			function onProgress (e){
790				time = e.seconds;
791			};
792
793			// methods ---------------------------------------------------------
794			this.mount = function (callback){
795				function _done (){ ctx.apply(callback); };
796				
797				// it's been mounted already, iOS tries many times
798				if (isMounted) return _done();
799				isMounted = true;
800				
801				var url = currentSrc = iframe.getAttribute('src') || '';
802				var id  = url.match(/(?:video\/([^\/?#]+))(?:\?h\=([^&]+))?/);  			// player.vimeo.com/video/{{ id }}?h={{ hash }}
803				id  = id ? id : url.match(/(?:vimeo\.com\/([^\/?#]+)(?:\/([^\/\?#]+))?)/);	// vimeo.com/{{ id }}/{{ hash }}
804				
805				var hash= id[2] || '';
806				id = id[1] || '';
807				
808				player = new Vimeo.Player(iframe, {'id':id});
809				player.on('loaded', function (){ onReady.call(self); _done(); });
810				player.on('play', onPlay.bind(this));
811				player.on('pause', onPause.bind(this));
812				player.on('ended', onEnd.bind(this));
813				player.on('timeupdate', onProgress.bind(this)); // get first data onLoad (for the duration)...
814
815				// @fix, sometimes the "loaded" event doesn't trigger
816				// player.on('loaded', onReady.bind(this));
817                // player.on('play', onPlay.bind(this));
818                // player.on('pause', onPause.bind(this));
819                // player.on('ended', onEnd.bind(this));
820			};
821
822			this.play = function (){
823				player && player.play();
824			};
825
826			this.pause = function (){
827				player && player.pause();
828			};
829
830			this.stop = function (){
831				if (player){
832					player.pause();
833					player.setCurrentTime(0);
834				}
835			};
836
837			this.seek = function (v){
838				player.setCurrentTime(v);
839			};
840
841			this.mute = function (v){
842				_warn('TODO Vimeo muting');
843
844				if (v === false){
845
846				}else{
847					
848				}
849			};
850
851			this.time = function (){
852            	return time || 0;
853			};
854
855			this.duration = function (){
856				return duration || 0;
857			};
858
859			this.source = function (){
860				return currentSrc;
861			};
862
863			this.init();
864		};
865
866		var NativePlayer = function (ctx, el, ticker){
867			// variables -------------------------------------------------------
868			var self      = this;
869			var player    = el;
870			var isReady   = false;
871			var isLoading = false;
872
873			// init ------------------------------------------------------------
874			this.init = function (){
875				utils.dom.on(player, 'play', onPlay);
876				utils.dom.on(player, 'pause', onPause);
877				utils.dom.on(player, 'seeked', onSeeked);
878				utils.dom.on(player, 'ended', onEnd);
879				
880				if (!player.hasAttribute('controls')){
881					utils.dom.on(player, 'click', onClick);
882				}
883				
884				if (player.readyState == 0){
885					utils.dom.on(player, 'progress loadeddata', {'ctx':this}, onReady);
886
887					(player.preload == 'none') && utils.dom.on(ctx.el, 'visible mousemove mouseenter touchstart', {'once':true, 'ctx':this}, function (e){
888						this.load();
889					});
890				}else{
891					// @fix need a mini delay for things to work properly
892					setTimeout(function (){
893						isReady = true;
894						ctx.ready(true);
895					}, 10);
896				}
897			};
898
899			// events ----------------------------------------------------------
900			function onReady (e){
901				if (isReady) return;
902
903				if (e.type === 'loadeddata' || e.target.readyState !== 0){
904					isReady   = true;
905					isLoading = false;
906					utils.dom.removeClass(ctx.el, CLASSES.IS_LOADING);
907					ctx.ready(true);
908				}
909			}
910			function onPlay (){
911				ticker.start();
912				ctx.status(STATUS.PLAYING);
913			}
914			function onSeeked (){
915				// this.play();
916			}
917			function onPause (){
918				ticker.stop();
919				ctx.status(STATUS.PAUSED);
920			}
921			function onEnd (){
922				ticker.stop();
923				ctx.status(STATUS.ENDED);
924			}
925			function onClick (){
926				if (ctx.data.autoplay || ctx.data.loop){
927					_info('The video is set to autoplay or loop');
928					return;
929				}
930				if (ctx._status === STATUS.PLAYING){
931					ctx.pause();
932				}else{
933					ctx.play();
934				}
935			}
936
937			// methods ---------------------------------------------------------			
938			this.load = function (){
939				if (isLoading || isReady) return;
940				isLoading = true;
941				player.load();
942				utils.dom.addClass(ctx.el, CLASSES.IS_LOADING);
943			};
944
945			this.play = function (){
946				player && player.play();
947			};
948
949			this.pause = function (){
950				player && player.pause();
951			};
952
953			this.stop = function (){
954				if (player){
955					player.pause();
956					player.currentTime = 0;
957				}
958			};
959
960			this.seek = function (v){
961				player.currentTime = v || 0;
962			};
963
964			this.mute = function (v){
965				if (v === false){
966					player.muted = false;
967				}else{
968					player.muted = true;
969				}
970			}
971
972			this.time = function (){
973            	return player.currentTime || 0;
974			};
975
976			this.duration = function (){
977				return player.duration || 0;
978			};
979
980			this.source = function (){
981				return player.currentSrc;
982			};
983
984			this.init();
985		};
986
987		// Helpers -------------------------------------------------------------
988		var Fullscreen = function (ctx){
989			var fullscreenEnabled;
990			var fullscreenElement;
991			var requestFullscreen;
992			var exitFullscreen;
993			var fullscreenchange;
994			
995			var video = ctx.el;
996			var iOS   = false;
997
998			if ('fullscreenEnabled' in document){
999				fullscreenEnabled = 'fullscreenEnabled';
1000				fullscreenElement = 'fullscreenElement';
1001				requestFullscreen = 'requestFullscreen';
1002				exitFullscreen    = 'exitFullscreen';
1003				fullscreenchange  = 'fullscreenchange';
1004			}else if ('webkitFullscreenEnabled' in document){
1005				fullscreenEnabled = 'webkitFullscreenEnabled';
1006				fullscreenElement = 'webkitFullscreenElement';
1007				requestFullscreen = 'webkitRequestFullScreen';
1008				exitFullscreen    = 'webkitExitFullscreen';			
1009				fullscreenchange  = 'webkitfullscreenchange';
1010			}else if ('mozFullscreenEnabled' in document){
1011				fullscreenEnabled = 'mozFullScreenEnabled';
1012				fullscreenElement = 'mozFullScreenElement';
1013				requestFullscreen = 'mozRequestFullScreen';
1014				exitFullscreen    = 'mozCancelFullScreen';
1015				fullscreenchange  = 'mozfullscreenchange';
1016			}else if ('msFullscreenEnabled' in document){
1017				fullscreenEnabled = 'msFullscreenEnabled';
1018				fullscreenElement = 'msFullscreenElement';
1019				requestFullscreen = 'msRequestFullscreen';
1020				exitFullscreen    = 'msExitFullscreen';
1021				fullscreenchange  = 'MSFullscreenChange';
1022			}else{
1023				// probably iOS
1024				video 			  = utils.dom.get('video', {'ctx':ctx.el});
1025				iOS 			  = true;
1026				fullscreenEnabled = true;
1027				fullscreenElement = 'webkitCurrentFullScreenElement';
1028				requestFullscreen = 'webkitEnterFullscreen';
1029				exitFullscreen    = 'webkitCancelFullScreen';
1030				fullscreenchange  = 'webkitfullscreenchange';
1031
1032				// not supported
1033				if (!video[requestFullscreen]){
1034					return function (){ console.warn('Fullscreen isn\'t supported'); };
1035				}
1036			}
1037
1038			if (!fullscreenEnabled) return false;
1039
1040			var isFullscreen = false;
1041			var el           = ctx.el;
1042			var ticker 		 = iOS ? utils.fn.tick({'now':false, 'wait':300}, _change) : null;
1043			
1044			utils.dom.event(document, fullscreenchange, _change);
1045
1046			var self = function (v){
1047				v = v === false ? false : true;
1048				if (v) 	_open();
1049				else	_close();
1050			};
1051
1052			function _change (){
1053				// iOS event for fullscreen change doenst work, we're using a ticker instead
1054				if (iOS){
1055					if (!video.webkitDisplayingFullscreen){
1056						_close();
1057						return false;
1058					}
1059				}else{
1060					!document[fullscreenElement] && _close();
1061				}
1062			}
1063
1064			function _open (){
1065				if (isFullscreen) return;
1066		
1067				video[requestFullscreen]();
1068				el.setAttribute('fullscreen', '');
1069
1070				ticker && ticker.start();
1071
1072				self.open = isFullscreen = true;
1073
1074				ctx.trigger('fullscreen-open');
1075			}
1076			
1077			function _close (){
1078				if (!isFullscreen) return;
1079
1080				document[fullscreenElement] && document[exitFullscreen]();
1081				el.removeAttribute('fullscreen');
1082
1083				self.open = isFullscreen = false;
1084
1085				ctx.trigger('fullscreen-close');
1086			}
1087
1088			return self;
1089		};
1090
1091		// Youtube -------------------------------------------------------------
1092		var old = window.onYouTubeIframeAPIReady;
1093		window.onYouTubeIframeAPIReady = function (){
1094			// make sure we don't skip other references to "onYouTubeIframeAPIReady"
1095			old && old();
1096			for (var i in youtube_queue) youtube_queue[i].mount();
1097		};
1098
1099		// private functions ---------------------------------------------------
1100		this._active = function (){
1101			return !!(this.player && this._status);
1102		};
1103
1104		// init ---------------------------------------------------------------- 
1105		this._muted         = false;
1106		this.__status       = null;
1107		this._isReady       = false;
1108		this._readyCallback = null;
1109
1110		this.init = function (data){
1111			var iframe = this.els.iframe = utils.dom.get('iframe, video, audio', {'ctx':this.el});
1112			var ticker = utils.fn.tick({'ctx':this, 'wait':300, 'now':false}, ticker_onTick);
1113
1114			if (this.data.provider === SOURCES.YOUTUBE){
1115				this.player = new YoutubePlayer(this, iframe, ticker);
1116			}else if (this.data.provider === SOURCES.VIMEO){
1117				this.player = new VimeoPlayer(this, iframe, ticker);
1118			}else if (this.data.provider === SOURCES.NATIVE){
1119				this.player = new NativePlayer(this, iframe, ticker);
1120			}else{
1121				// other external types of custom players
1122			}
1123
1124			if (data.autoplay || data.mute){
1125				this._muted = true; // do not trigger the event on init
1126				this.mute(true);
1127			}
1128
1129			// TODO add more type of interaction, dynamic...
1130			// TODO check if using "hidden" would simplify this code. Might actually not be necessary
1131			// this.els.media && (this.els.media.style.display = '');
1132						
1133			this.fullscreen = this.data.type === 'video' ? new Fullscreen(this) : function (){};
1134
1135			this.thumb(true);
1136		};
1137
1138		this.render = function (){
1139			if (!this.player) return;
1140				
1141			var time     = this.player.time();
1142			var duration = this.player.duration();
1143			var ratio 	 = time / duration;
1144
1145			time     = utils.nbr.toTime(time);
1146			duration = utils.nbr.toTime(duration);
1147
1148			if (this.els.time){
1149				this.els.time.innerHTML = time;
1150			}
1151			if (this.els.duration){
1152				this.els.duration.innerHTML = duration;
1153			}
1154			
1155			!this._isSeeking && utils.dom.style(this.el, {
1156				'--progress' : ratio || 0,
1157			});
1158		};
1159
1160		this.status = function (status, delay){
1161			if (
1162				status === this._status ||
1163				status === this.__status
1164			) return;
1165			
1166			// extra failproof. iOS triggers the same status many times
1167			this.__status = status;
1168
1169			if (status === STATUS.READY){
1170				this.els.iframe = utils.dom.get('iframe, video, audio', {'ctx':this.el});
1171				
1172				// The status changeds before the video was ready
1173				if (!this._status){
1174					this._status = status;
1175					this.data.thumbnail && this.thumb(true);
1176					this.render();
1177				}else{
1178					return;
1179				}
1180			}
1181			
1182			if (status === STATUS.PLAYING){
1183				// pause the currently playing video
1184				if (this.data.single && this.$static.playing && this.$static.playing !== this){
1185					this.$static.playing.pause();
1186				}
1187
1188				this.watching(true, 1500);
1189				this.focus(true);
1190
1191				this.$static.playing = this;
1192			}else if (status === STATUS.PAUSED || status === STATUS.ENDED){
1193				// @info mini fix, the pause triggers the play automatically if there's no "pause" in between
1194				this.wait(300, function (){
1195					this.watching(false);
1196					this.focus(false);
1197					this.render();
1198				});
1199			}
1200
1201			// delay for showing the thumbnail when pausing
1202			clearTimeout(this.timeout);
1203			this.timeout = this.wait(delay || 0, function (){
1204				if (status === STATUS.PLAYING){
1205					this.thumb(false);
1206				}else if (status === STATUS.PAUSED || status === STATUS.ENDED){
1207					this.thumb(true);					
1208				}
1209
1210				this._status = status;
1211				this.el.setAttribute('status', status);
1212			});
1213		};
1214
1215		this.thumb = function (show, focus){
1216			if (show){
1217				utils.dom.addClass(this.el, CLASSES.HAS_THUMBNAIL);
1218				this.els.iframe.setAttribute('tabindex', '-1');
1219
1220				if (this.els.thumbnail){
1221					this.data.thumbnail = true;
1222				}
1223			}else{
1224				this.data.thumbnail = false;
1225				utils.dom.removeClass(this.el, CLASSES.HAS_THUMBNAIL);
1226			}
1227		};
1228
1229		this.focus = function (focus){
1230			// focus on the iframe 
1231			if (focus){
1232				this.els.thumbnail && this.els.thumbnail.setAttribute('tabindex', '-1');
1233				this.els.iframe.setAttribute('tabindex', '0');
1234				this.data.autofocus && this.els.iframe.focus();
1235			// focus on the thumbnail (if it exists)
1236			}else if (this.els.thumbnail && this.els.thumbnail.getAttribute('tabindex') != '0'){
1237				this.els.iframe.setAttribute('tabindex', '-1');
1238				this.els.thumbnail.setAttribute('tabindex', '0');
1239				this.data.autofocus && this.els.thumbnail.focus();
1240			}
1241		};
1242
1243		this.ready = function (v){
1244			this.player.load && this.player.load();
1245
1246			if (utils.is.fn(v)){
1247				this._readyCallback = v;
1248			}else if (utils.is.bool(v)){
1249				this._isReady = v;
1250				this.status(STATUS.READY);
1251			}
1252
1253			if (this._isReady){
1254				utils.dom.removeClass(this.el, CLASSES.IS_LOADING);
1255				this.apply(this._readyCallback);
1256			}else{
1257				utils.dom.addClass(this.el, CLASSES.IS_LOADING);
1258			}
1259		};
1260
1261		// used for distraction free player (eg. when [watching] is there, hide the controls)
1262		this.watching = function (v, timeout){
1263			// TODO remove "watching" when tabbing or using the keyboard, to make it more accessible
1264
1265			if (utils.is.bool(v)){
1266				if (v === this.isWatching){
1267					return v;
1268				}
1269
1270				var self = this;
1271				function _set (){
1272					if (self._status !== STATUS.PLAYING){
1273						v = false;
1274					}
1275
1276					if (v)	self.el.setAttribute('watching', '');
1277					else	self.el.removeAttribute('watching');
1278
1279					self.isWatching = !!v;
1280				}
1281
1282				clearTimeout(this.moveTimeout);
1283				if (timeout){
1284					this.moveTimeout = this.wait(timeout, _set);
1285				}else{
1286					_set();
1287				}
1288			}
1289			return this.isWatching;
1290		};
1291
1292		// events --------------------------------------------------------------
1293		function ticker_onTick (e){
1294			this.render();
1295
1296			// trigger
1297			this.trigger('tick', {
1298				'time'    : this.time(),
1299				'duration': this.duration(),
1300				'progress': (this.time() / this.duration()) || 0,
1301			});
1302		};
1303		
1304		this.play_onTap 		= function (){ this.play(); };
1305		this.pause_onTap 		= function (){ this.pause(); };
1306		this.stop_onTap 		= function (){ this.stop(); };
1307		this.togglePlay_onTap 	= function (){ (this._status === STATUS.PLAYING) ? this.pause() : this.play(); };
1308
1309		this.mute_onTap 		= function (){ this.mute(); };
1310		this.unmute_onTap 		= function (){ this.mute(false); };
1311		this.toggleMute_onTap 	= function (){ this.mute(!this._muted); };
1312
1313		this.toggleFullscreen_onTap = function (){ 
1314			this.fullscreen(!this.fullscreen.open);
1315		};
1316
1317		this.progress_onClickDrag = function (e){
1318			if (e.isEnd){
1319				this._isSeeking = false;
1320				this.watching(true, 1500);
1321				this.ratio(e.ratioX);
1322			}else{
1323				this.watching(false);
1324				this._isSeeking = true;
1325				utils.dom.style(this.el, {'--progress':e.ratioX});
1326			}
1327		};
1328
1329		this.thumbnail_onTap = function (){
1330			this.thumb(false);
1331			this.play();
1332		};
1333
1334		this.onMousemove = function (e){
1335			if (this._status !== STATUS.PLAYING) return;
1336			this.watching(false);
1337			this.watching(true, 1500);
1338		};
1339
1340		// method --------------------------------------------------------------
1341		this.play = function (){
1342			// make sure it's mounted
1343			this.ready(function (){
1344				this.status(STATUS.PLAYING);
1345				this.player.play();
1346				this.trigger('play');
1347			});
1348		};
1349
1350		this.pause = function (){
1351			if (!this._active()) return;
1352			this.status(STATUS.PAUSED);
1353			this.player.pause();
1354			this.trigger('pause');
1355		};
1356
1357		this.stop = function (){
1358			if (!this._active()) return;
1359			this.focus(false);
1360			this.status(STATUS.ENDED);
1361			this.player.stop();
1362			this.trigger('stop');
1363		};
1364
1365		this.mute = function (v){
1366			v = (v === false ? false : true);
1367
1368			this.player.mute(v);
1369			
1370			if (v){
1371				this.el.setAttribute('mute', '');				
1372			}else{
1373				this.el.removeAttribute('mute');
1374			}
1375			
1376			// trigger event
1377			if (this._muted != v){
1378				if (v)	this.trigger('mute');
1379				else 	this.trigger('unmute');
1380			}
1381
1382			this._muted = v;
1383		};
1384
1385		this.ratio = function (v){
1386			this.ready(function (){
1387				this.seek(v * this.duration());			
1388			});
1389		};
1390
1391		this.seek = function (v){
1392			this.ready(function (){
1393				this.player.seek(v);				
1394				// this.play(); // automatically play when seeking
1395			});
1396		};
1397
1398		this.time = function (){
1399			return this.player.time();
1400		};
1401
1402		this.duration = function (){
1403			return this.player.duration();
1404		};
1405
1406		this.source = function (){
1407			return this.player.source && this.player.source();
1408		}
1409	});</script>
1409<style id="global-styles-inline-css">
1410:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
1410--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
1410.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
1411/*# sourceURL=global-styles-inline-css */
1412</style>
1413</body>
1414</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.